neko-ui 2.15.1 → 2.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/avatar/group.js +2 -2
- package/es/avatar/index.js +2 -2
- package/es/back-top/index.js +2 -2
- package/es/basic-config/index.d.ts +1 -0
- package/es/basic-config/index.js +2 -2
- package/es/button/index.js +2 -2
- package/es/button/style.js +2 -2
- package/es/capture-screen/index.js +10 -10
- package/es/carousel/index.js +2 -2
- package/es/checkbox/index.js +2 -2
- package/es/code/copy-icon.js +2 -2
- package/es/code/index.js +3 -3
- package/es/code/worker.js +2 -2
- package/es/color-palette/index.js +2 -2
- package/es/color-picker/index.js +2 -2
- package/es/cron/begin-interval.js +2 -2
- package/es/cron/day.js +2 -2
- package/es/cron/hour.js +2 -2
- package/es/cron/index.js +2 -2
- package/es/cron/item.js +2 -2
- package/es/cron/minute.js +2 -2
- package/es/cron/month.js +2 -2
- package/es/cron/period.js +2 -2
- package/es/cron/second.js +2 -2
- package/es/cron/some.js +2 -2
- package/es/cron/week.js +2 -2
- package/es/cron/year.js +2 -2
- package/es/date-picker/date.js +2 -2
- package/es/date-picker/index.js +3 -3
- package/es/date-picker/month.js +2 -2
- package/es/date-picker/panel.js +2 -2
- package/es/date-picker/time.js +2 -2
- package/es/date-picker/year.js +2 -2
- package/es/dropdown/index.js +2 -2
- package/es/empty/index.js +2 -2
- package/es/from-schema/index.js +2 -2
- package/es/get-options/index.js +2 -2
- package/es/glass-panel/index.js +2 -2
- package/es/highlight-text/index.js +2 -2
- package/es/icon/index.js +2 -2
- package/es/img/index.js +2 -2
- package/es/img/lazy.js +2 -2
- package/es/index.d.ts +1 -6
- package/es/index.js +1 -1
- package/es/input/index.js +2 -2
- package/es/input-number/index.js +2 -2
- package/es/marquee/index.d.ts +1 -0
- package/es/marquee/index.js +2 -2
- package/es/md/index.js +2 -2
- package/es/md/worker.js +2 -2
- package/es/menu/index.js +2 -2
- package/es/modal/hooks.js +2 -2
- package/es/modal/index.js +2 -2
- package/es/modal/posi.js +2 -2
- package/es/modal/store.js +2 -2
- package/es/notification/notification.js +2 -2
- package/es/notification/queque.js +2 -2
- package/es/pagination/index.js +2 -2
- package/es/popover/index.js +2 -2
- package/es/provider/index.js +2 -2
- package/es/qrcode/index.d.ts +1 -0
- package/es/qrcode/index.js +4 -4
- package/es/qrcode/qrcode.js +61 -61
- package/es/radio/index.js +2 -2
- package/es/segmented/index.js +2 -2
- package/es/select/index.js +3 -3
- package/es/skeleton/index.js +2 -2
- package/es/spin/index.js +2 -2
- package/es/switch/index.js +2 -2
- package/es/table/index.js +3 -3
- package/es/tabs/index.js +2 -2
- package/es/tag/index.js +2 -2
- package/es/theme/index.js +3 -3
- package/es/tree/index.js +2 -2
- package/es/tree/type.d.ts +1 -0
- package/es/tree/type.js +1 -1
- package/es/typography/index.js +2 -2
- package/es/utils/index.js +2 -2
- package/lib/avatar/group.js +2 -2
- package/lib/avatar/index.js +2 -2
- package/lib/back-top/index.js +2 -2
- package/lib/basic-config/index.d.ts +1 -0
- package/lib/basic-config/index.js +2 -2
- package/lib/button/index.js +2 -2
- package/lib/button/style.js +2 -2
- package/lib/capture-screen/index.js +10 -10
- package/lib/carousel/index.js +2 -2
- package/lib/checkbox/index.js +2 -2
- package/lib/code/copy-icon.js +2 -2
- package/lib/code/index.js +3 -3
- package/lib/code/worker.js +2 -2
- package/lib/color-palette/index.js +2 -2
- package/lib/color-picker/index.js +2 -2
- package/lib/cron/begin-interval.js +2 -2
- package/lib/cron/day.js +2 -2
- package/lib/cron/hour.js +2 -2
- package/lib/cron/index.js +2 -2
- package/lib/cron/item.js +2 -2
- package/lib/cron/minute.js +2 -2
- package/lib/cron/month.js +2 -2
- package/lib/cron/period.js +2 -2
- package/lib/cron/second.js +2 -2
- package/lib/cron/some.js +2 -2
- package/lib/cron/week.js +2 -2
- package/lib/cron/year.js +2 -2
- package/lib/date-picker/date.js +2 -2
- package/lib/date-picker/dayjs.js +1 -1
- package/lib/date-picker/index.js +3 -3
- package/lib/date-picker/month.js +2 -2
- package/lib/date-picker/panel.js +2 -2
- package/lib/date-picker/time.js +2 -2
- package/lib/date-picker/year.js +2 -2
- package/lib/dropdown/index.js +2 -2
- package/lib/empty/index.js +2 -2
- package/lib/from-schema/index.js +2 -2
- package/lib/get-options/index.js +2 -2
- package/lib/glass-panel/index.js +2 -2
- package/lib/highlight-text/index.js +2 -2
- package/lib/icon/index.js +2 -2
- package/lib/img/index.js +2 -2
- package/lib/img/lazy.js +2 -2
- package/lib/index.d.ts +1 -6
- package/lib/index.js +1 -1
- package/lib/input/index.js +2 -2
- package/lib/input-number/index.js +2 -2
- package/lib/marquee/index.d.ts +1 -0
- package/lib/marquee/index.js +2 -2
- package/lib/md/index.js +2 -2
- package/lib/md/worker.js +2 -2
- package/lib/menu/index.js +2 -2
- package/lib/modal/hooks.js +2 -2
- package/lib/modal/index.js +2 -2
- package/lib/modal/posi.js +2 -2
- package/lib/modal/store.js +2 -2
- package/lib/notification/notification.js +2 -2
- package/lib/notification/queque.js +2 -2
- package/lib/pagination/index.js +2 -2
- package/lib/popover/index.js +2 -2
- package/lib/provider/index.js +2 -2
- package/lib/qrcode/index.d.ts +1 -0
- package/lib/qrcode/index.js +4 -4
- package/lib/qrcode/qrcode.js +61 -61
- package/lib/radio/index.js +2 -2
- package/lib/segmented/index.js +2 -2
- package/lib/select/index.js +3 -3
- package/lib/skeleton/index.js +2 -2
- package/lib/spin/index.js +2 -2
- package/lib/switch/index.js +2 -2
- package/lib/table/index.js +3 -3
- package/lib/tabs/index.js +2 -2
- package/lib/tag/index.js +2 -2
- package/lib/theme/index.js +3 -3
- package/lib/tree/index.js +2 -2
- package/lib/tree/type.d.ts +1 -0
- package/lib/tree/type.js +1 -1
- package/lib/typography/index.js +2 -2
- package/lib/utils/index.js +2 -2
- package/package.json +5 -14
- package/umd/app-resource.json +0 -1
- package/umd/index.js +0 -5001
- package/umd/site.webmanifest +0 -1
package/lib/popover/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(exports,"__esModule",{value:true});exports.defaultProps=exports["default"]=exports.TriggerOption=exports.Placement=void 0;var _web=require("solid-js/web");var _solidJs=require("solid-js");var _common=require("@moneko/common");var _css=require("@moneko/css");var _solidElement=require("solid-element");var _basicConfig=require("../basic-config");var _empty=_interopRequireDefault(require("../empty"));var _theme=_interopRequireWildcard(require("../theme"));var _style=require("./style");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f)}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f})(e,t)}function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}var _tmpl$=/*#__PURE__*/(0,_web.template)(`<style>`),_tmpl$2=/*#__PURE__*/(0,_web.template)(`<style> `),_tmpl$3=/*#__PURE__*/(0,_web.template)(`<span>`),_tmpl$4=/*#__PURE__*/(0,_web.template)(`<div>`);function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){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 _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _defineAccessor(e,r,n,t){var c={configurable:!0,enumerable:!0};return c[e]=t,Object.defineProperty(r,n,c)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}var TriggerOption=exports.TriggerOption=/*#__PURE__*/function(TriggerOption){/** 鼠标移入 */TriggerOption["hover"]="hover";/** 点击 */TriggerOption["click"]="click";/** 右键 */TriggerOption["contextMenu"]="contextMenu";/** 无 */TriggerOption["none"]="none";return TriggerOption}({});var Placement=exports.Placement=/*#__PURE__*/function(Placement){/** 左下 */Placement["bottomLeft"]="bottomLeft";/** 下 */Placement["bottom"]="bottom";/** 右下 */Placement["bottomRight"]="bottomRight";/** 左上 */Placement["topLeft"]="topLeft";/** 上 */Placement["top"]="top";/** 右上 */Placement["topRight"]="topRight";/** 左 */Placement["left"]="left";/** 右 */Placement["right"]="right";return Placement}({});function Popover(props){var isDark=_theme["default"].isDark,baseStyle=_theme["default"].baseStyle;var mp=(0,_solidJs.mergeProps)({trigger:"hover"},props);var _splitProps=(0,_solidJs.splitProps)(mp,["class","css","popupClass","popupCss","size","trigger","open","disabled","onOpenChange","dropdownMatchSelectWidth","destroyInactive","arrow","placement","getPopupContainer","children","content","encodeUri"]),_splitProps2=_slicedToArray(_splitProps,1),local=_splitProps2[0];var ref;var childRef;var closeTimer;var _createSignal=(0,_solidJs.createSignal)(null),_createSignal2=_slicedToArray(_createSignal,2),open=_createSignal2[0],setOpen=_createSignal2[1];var _createSignal3=(0,_solidJs.createSignal)({}),_createSignal4=_slicedToArray(_createSignal3,2),posi=_createSignal4[0],setPosi=_createSignal4[1];var _createSignal5=(0,_solidJs.createSignal)(false),_createSignal6=_slicedToArray(_createSignal5,2),up=_createSignal6[0],setUp=_createSignal6[1];var _createSignal7=(0,_solidJs.createSignal)(""),_createSignal8=_slicedToArray(_createSignal7,2),width=_createSignal8[0],setWidth=_createSignal8[1];(0,_solidJs.createEffect)(function(){if(local.open!==void 0){setOpen(local.open)}});function openChange(next){if(!local.disabled){if(local.onOpenChange){local.onOpenChange(next)}if(local.open===void 0){setOpen(next)}}}function exit(){if(open()===false){setOpen(null);openChange(null)}}(0,_solidJs.createEffect)(function(){if(open()&&local.dropdownMatchSelectWidth&&childRef){setWidth(".portal {width: ".concat(childRef.offsetWidth,"px;}"))}});function close(e){clearTimeout(closeTimer);closeTimer=setTimeout(function(){clearTimeout(closeTimer);if(e.target&&e.target.getAttribute("handle-closed")==="false"){return}var isContains=(0,_common.isElementInside)(e.target,ref);if(open()&&!isContains||isContains&&e.type!=="mousedown"){openChange(false)}},local.trigger==="hover"?300:0)}var portalTimer;var showPortal=function showPortal(e){clearTimeout(portalTimer);portalTimer=setTimeout(function(){clearTimeout(portalTimer);if(!ref||!childRef||!e&&local.trigger==="contextMenu"){return}if((e===null||e===void 0?void 0:e.type)==="scroll"&&local.trigger==="contextMenu"){openChange(false);return}var elRect=childRef.getBoundingClientRect();var portalRect=ref.getBoundingClientRect();var offsetX=portalRect.width/2-elRect.width/2;var margin=window.innerHeight-elRect.bottom;var _placement=local.placement;var _isBottom=!(_placement!==null&&_placement!==void 0&&_placement.startsWith("top"))&&margin>ref.offsetHeight*0.8&&margin>elRect.top||(_placement===null||_placement===void 0?void 0:_placement.startsWith("bottom"));var arrowHeight=local.arrow?8:4;var _posi={};switch(local.placement){case"bottomLeft":case"left":case"topLeft":_posi.left=elRect.left;_posi["--x"]=-portalRect.width/2+16;break;case"bottomRight":case"right":case"topRight":_posi.left=elRect.right-portalRect.width;_posi["--x"]=portalRect.width/2-16;break;case"bottom":case"top":default:_posi.left=Math.abs(offsetX>elRect.left?elRect.left:elRect.left-offsetX);_posi["--x"]=-(_posi.left-elRect.left+offsetX);break}if(_isBottom){_posi.top=elRect.bottom+arrowHeight}else{_posi.bottom=window.innerHeight-elRect.top+arrowHeight}setPosi(function(prev){return(0,_common.isEqual)(prev,_posi)?prev:_posi});setUp(function(prev){return prev===!_isBottom?prev:!_isBottom})},32)};function handleOpen(e){clearTimeout(closeTimer);e.stopPropagation();if(local.trigger==="contextMenu"&&e.type==="contextmenu"){e.preventDefault();setPosi(function(prev){return _objectSpread(_objectSpread({},prev),{},_defineProperty({left:e.clientX,top:e.clientY},"--x",-((ref===null||ref===void 0?void 0:ref.getBoundingClientRect().width)||0)/2+16))})}openChange(true)}var container=(0,_solidJs.createMemo)(function(){if((0,_common.isFunction)(local.getPopupContainer)){return local.getPopupContainer(childRef)}return document.body});var childrenProps=(0,_solidJs.createMemo)(function(){var _props={};var openEvent={click:"on:mousedown",hover:"on:mouseenter",contextMenu:"on:contextmenu",none:void 0};var closeEvent={hover:"on:mouseleave",click:void 0,contextMenu:void 0,none:void 0};var openFn=openEvent[local.trigger];var closeFn=closeEvent[local.trigger];Object.assign(_props,openFn&&_defineProperty({},openFn,handleOpen),closeFn&&_defineProperty({},closeFn,close));return _props});var portalStyle=(0,_solidJs.createMemo)(function(){var p=posi();return".portal {".concat(Object.keys(p).map(function(k){return"".concat(k,":").concat(p[k],"px;")}).join(""),"z-index: 99999;}")});var portalCls=(0,_solidJs.createMemo)(function(){return(0,_css.cx)("portal",local.arrow&&"arrow","".concat(open()?"in":"out","-").concat(up()?"up":"down"),local.size,local.popupClass)});var hostStyle=(0,_solidJs.createMemo)(function(){return":host {--popover-bg: ".concat(isDark()?"#1f1f1f":"var(--component-bg)",";--popover-shadow-color: rgb(0 0 0 / 5%);position: absolute;}")});(0,_solidJs.createEffect)(function(){if(open()){showPortal();window.addEventListener("scroll",showPortal,{passive:_common.passiveSupported})}(0,_solidJs.onCleanup)(function(){window.removeEventListener("scroll",showPortal,false)})});(0,_solidJs.onMount)(function(){if(local.trigger!=="none"){document.documentElement.addEventListener("mousedown",close,false)}});(0,_solidJs.onCleanup)(function(){clearTimeout(closeTimer);document.documentElement.removeEventListener("mousedown",close,false)});return[function(){var _el$=_tmpl$();_el$.textContent=_style.popoverCss;return _el$}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return local.css},get children(){var _el$2=_tmpl$2(),_el$3=_el$2.firstChild;(0,_web.effect)(function(){return _el$3.data=(0,_css.css)(local.css)});return _el$2}}),function(){var _el$4=_tmpl$3();var _ref$=childRef;typeof _ref$==="function"?(0,_web.use)(_ref$,_el$4):childRef=_el$4;(0,_web.spread)(_el$4,(0,_web.mergeProps)(_defineAccessor("get",{},"class",function(){return(0,_css.cx)("popover",local.size,local["class"])}),childrenProps),false,true);(0,_web.insert)(_el$4,function(){return local.children});return _el$4}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return open()!==null||!local.destroyInactive},get children(){return(0,_web.createComponent)(_web.Portal,{useShadow:true,get mount(){return container()},get children(){return[function(){var _el$5=_tmpl$2(),_el$6=_el$5.firstChild;(0,_web.effect)(function(){return _el$6.data=baseStyle()});return _el$5}(),function(){var _el$7=_tmpl$();_el$7.textContent=_style.portalCss;return _el$7}(),function(){var _el$8=_tmpl$2(),_el$9=_el$8.firstChild;(0,_web.effect)(function(){return _el$9.data=hostStyle()});return _el$8}(),function(){var _el$0=_tmpl$2(),_el$1=_el$0.firstChild;(0,_web.effect)(function(){return _el$1.data=portalStyle()});return _el$0}(),function(){var _el$10=_tmpl$2(),_el$11=_el$10.firstChild;(0,_web.effect)(function(){return _el$11.data=width()});return _el$10}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return local.popupCss},get children(){var _el$12=_tmpl$2(),_el$13=_el$12.firstChild;(0,_web.effect)(function(){return _el$13.data=(0,_css.css)(local.popupCss)});return _el$12}}),function(){var _el$14=_tmpl$4();(0,_web.addEventListener)(_el$14,"animationend",exit);var _ref$2=ref;typeof _ref$2==="function"?(0,_web.use)(_ref$2,_el$14):ref=_el$14;(0,_web.spread)(_el$14,(0,_web.mergeProps)(_defineAccessor("get",{},"class",function(){return portalCls()}),childrenProps),false,true);(0,_web.insert)(_el$14,(0,_web.createComponent)(_solidJs.Show,{get when(){return!!local.content},get fallback(){return(0,_web.createComponent)(_empty["default"],{})},get children(){return(0,_web.createComponent)(_solidJs.Show,{get when(){return typeof local.content==="string"},get fallback(){return(0,_web.memo)(function(){return local.content})},get children(){var _el$15=_tmpl$4();(0,_web.effect)(function(){return _el$15.innerHTML=local.encodeUri?decodeURIComponent(local.content):local.content});return _el$15}})}}));return _el$14}()]}})}})]}var defaultProps=exports.defaultProps={"class":void 0,css:void 0,content:void 0,getPopupContainer:void 0,trigger:void 0,open:void 0,onOpenChange:void 0,popupClass:void 0,popupCss:void 0,destroyInactive:true,disabled:void 0,arrow:void 0,placement:void 0,dropdownMatchSelectWidth:void 0,encodeUri:void 0};Popover.registry=function(){(0,_solidElement.customElement)("n-popover",defaultProps,function(_,opt){var baseStyle=_theme["default"].baseStyle;var el=opt.element;var props=(0,_solidJs.mergeProps)({onOpenChange:function onOpenChange(next){el.dispatchEvent(new CustomEvent("openchange",{detail:next}))},children:_toConsumableArray(el.childNodes.values())},_);(0,_solidJs.createEffect)(function(){(0,_basicConfig.clearAttribute)(el,["content","popupCss","css"])});return[function(){var _el$16=_tmpl$();_el$16.textContent=_theme.inline;return _el$16}(),function(){var _el$17=_tmpl$2(),_el$18=_el$17.firstChild;(0,_web.effect)(function(){return _el$18.data=baseStyle()});return _el$17}(),(0,_web.createComponent)(Popover,props)]})};var _default=exports["default"]=Popover;
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2ViIiwicmVxdWlyZSIsIl9zb2xpZEpzIiwiX2NvbW1vbiIsIl9jc3MiLCJfc29saWRFbGVtZW50IiwiX2Jhc2ljQ29uZmlnIiwiX2VtcHR5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl90aGVtZSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3N0eWxlIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfdG1wbCQiLCJ0ZW1wbGF0ZSIsIl90bXBsJDIiLCJfdG1wbCQzIiwiX3RtcGwkNCIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9kZWZpbmVBY2Nlc3NvciIsImMiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsIndyaXRhYmxlIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJhIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJsIiwidSIsIm5leHQiLCJkb25lIiwiVHJpZ2dlck9wdGlvbiIsImV4cG9ydHMiLCJQbGFjZW1lbnQiLCJQb3BvdmVyIiwicHJvcHMiLCJpc0RhcmsiLCJ0aGVtZSIsImJhc2VTdHlsZSIsIm1wIiwibWVyZ2VQcm9wcyIsInRyaWdnZXIiLCJfc3BsaXRQcm9wcyIsInNwbGl0UHJvcHMiLCJfc3BsaXRQcm9wczIiLCJsb2NhbCIsInJlZiIsImNoaWxkUmVmIiwiY2xvc2VUaW1lciIsIl9jcmVhdGVTaWduYWwiLCJjcmVhdGVTaWduYWwiLCJfY3JlYXRlU2lnbmFsMiIsIm9wZW4iLCJzZXRPcGVuIiwiX2NyZWF0ZVNpZ25hbDMiLCJfY3JlYXRlU2lnbmFsNCIsInBvc2kiLCJzZXRQb3NpIiwiX2NyZWF0ZVNpZ25hbDUiLCJfY3JlYXRlU2lnbmFsNiIsInVwIiwic2V0VXAiLCJfY3JlYXRlU2lnbmFsNyIsIl9jcmVhdGVTaWduYWw4Iiwid2lkdGgiLCJzZXRXaWR0aCIsImNyZWF0ZUVmZmVjdCIsIm9wZW5DaGFuZ2UiLCJkaXNhYmxlZCIsIm9uT3BlbkNoYW5nZSIsImV4aXQiLCJkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgiLCJjb25jYXQiLCJvZmZzZXRXaWR0aCIsImNsb3NlIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsInRhcmdldCIsImdldEF0dHJpYnV0ZSIsImlzQ29udGFpbnMiLCJpc0VsZW1lbnRJbnNpZGUiLCJ0eXBlIiwicG9ydGFsVGltZXIiLCJzaG93UG9ydGFsIiwiZWxSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicG9ydGFsUmVjdCIsIm9mZnNldFgiLCJtYXJnaW4iLCJ3aW5kb3ciLCJpbm5lckhlaWdodCIsImJvdHRvbSIsIl9wbGFjZW1lbnQiLCJwbGFjZW1lbnQiLCJfaXNCb3R0b20iLCJzdGFydHNXaXRoIiwib2Zmc2V0SGVpZ2h0IiwidG9wIiwiYXJyb3dIZWlnaHQiLCJhcnJvdyIsIl9wb3NpIiwibGVmdCIsInJpZ2h0IiwiTWF0aCIsImFicyIsInByZXYiLCJpc0VxdWFsIiwiaGFuZGxlT3BlbiIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiY2xpZW50WCIsImNsaWVudFkiLCJjb250YWluZXIiLCJjcmVhdGVNZW1vIiwiaXNGdW5jdGlvbiIsImdldFBvcHVwQ29udGFpbmVyIiwiZG9jdW1lbnQiLCJib2R5IiwiY2hpbGRyZW5Qcm9wcyIsIl9wcm9wcyIsIm9wZW5FdmVudCIsImNsaWNrIiwiaG92ZXIiLCJjb250ZXh0TWVudSIsIm5vbmUiLCJjbG9zZUV2ZW50Iiwib3BlbkZuIiwiY2xvc2VGbiIsImFzc2lnbiIsInBvcnRhbFN0eWxlIiwicCIsIm1hcCIsImsiLCJqb2luIiwicG9ydGFsQ2xzIiwiY3giLCJzaXplIiwicG9wdXBDbGFzcyIsImhvc3RTdHlsZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicGFzc2l2ZVN1cHBvcnRlZCIsIm9uQ2xlYW51cCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbk1vdW50IiwiZG9jdW1lbnRFbGVtZW50IiwiX2VsJCIsInRleHRDb250ZW50IiwicG9wb3ZlckNzcyIsImNyZWF0ZUNvbXBvbmVudCIsIlNob3ciLCJ3aGVuIiwiY3NzIiwiY2hpbGRyZW4iLCJfZWwkMiIsIl9lbCQzIiwiZmlyc3RDaGlsZCIsImVmZmVjdCIsImRhdGEiLCJfZWwkNCIsIl9yZWYkIiwidXNlIiwic3ByZWFkIiwiaW5zZXJ0IiwiZGVzdHJveUluYWN0aXZlIiwiUG9ydGFsIiwidXNlU2hhZG93IiwibW91bnQiLCJfZWwkNSIsIl9lbCQ2IiwiX2VsJDciLCJwb3J0YWxDc3MiLCJfZWwkOCIsIl9lbCQ5IiwiX2VsJDAiLCJfZWwkMSIsIl9lbCQxMCIsIl9lbCQxMSIsInBvcHVwQ3NzIiwiX2VsJDEyIiwiX2VsJDEzIiwiX2VsJDE0IiwiX3JlZiQyIiwiY29udGVudCIsImZhbGxiYWNrIiwibWVtbyIsIl9lbCQxNSIsImlubmVySFRNTCIsImVuY29kZVVyaSIsImRlY29kZVVSSUNvbXBvbmVudCIsImRlZmF1bHRQcm9wcyIsInJlZ2lzdHJ5IiwiY3VzdG9tRWxlbWVudCIsIl8iLCJvcHQiLCJlbCIsImVsZW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJjaGlsZE5vZGVzIiwidmFsdWVzIiwiY2xlYXJBdHRyaWJ1dGUiLCJfZWwkMTYiLCJpbmxpbmUiLCJfZWwkMTciLCJfZWwkMTgiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcG9wb3Zlci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlRWZmZWN0LFxuICBjcmVhdGVNZW1vLFxuICBjcmVhdGVTaWduYWwsXG4gIG1lcmdlUHJvcHMsXG4gIG9uQ2xlYW51cCxcbiAgb25Nb3VudCxcbiAgU2hvdyxcbiAgc3BsaXRQcm9wcyxcbn0gZnJvbSAnc29saWQtanMnO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSAnc29saWQtanMvd2ViJztcbmltcG9ydCB7IGlzRWxlbWVudEluc2lkZSwgaXNFcXVhbCwgaXNGdW5jdGlvbiwgcGFzc2l2ZVN1cHBvcnRlZCB9IGZyb20gJ0Btb25la28vY29tbW9uJztcbmltcG9ydCB7IGNzcywgY3ggfSBmcm9tICdAbW9uZWtvL2Nzcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnc29saWQtZWxlbWVudCc7XG5cbmltcG9ydCB0eXBlIHsgQmFzaWNDb25maWcsIEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBjbGVhckF0dHJpYnV0ZSwgdHlwZSBKU1hFbGVtZW50IH0gZnJvbSAnLi4vYmFzaWMtY29uZmlnJztcbmltcG9ydCBFbXB0eSBmcm9tICcuLi9lbXB0eSc7XG5pbXBvcnQgdGhlbWUsIHsgaW5saW5lIH0gZnJvbSAnLi4vdGhlbWUnO1xuXG5pbXBvcnQgeyBwb3BvdmVyQ3NzLCBwb3J0YWxDc3MgfSBmcm9tICcuL3N0eWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyUHJvcHMge1xuICAvKiog6Ieq5a6a5LmJ57G75ZCNICovXG4gIGNsYXNzPzogc3RyaW5nO1xuICAvKiog6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIGNzcz86IHN0cmluZztcbiAgLyoqIOWGheWuuSAqL1xuICBjb250ZW50PzogSlNYRWxlbWVudCB8ICgoKSA9PiBKU1hFbGVtZW50KTtcbiAgLyoqIOaMgui9veWIsOaMh+WumueahOWFg+e0oO+8jOWAvOS4uuS4gOS4qui/lOWbnuWvueW6lCBET00g5YWD57SgIOm7mOiupCBkb2N1bWVudC5ib2R5ICovXG4gIGdldFBvcHVwQ29udGFpbmVyPzogKG5vZGU/OiBIVE1MRWxlbWVudCB8IG51bGwpID0+IEhUTUxFbGVtZW50O1xuICAvKiog6Kem5Y+R6KGM5Li6XG4gICAqIEBkZWZhdWx0ICdob3ZlcidcbiAgICovXG4gIHRyaWdnZXI/OiBrZXlvZiB0eXBlb2YgVHJpZ2dlck9wdGlvbjtcbiAgLyoqIOaJk+W8gOWGheWuueawlOazoSAqL1xuICBvcGVuPzogYm9vbGVhbiB8IG51bGw7XG4gIC8qKiDlhoXlrrnmiZPlvIDlhbPpl63ml7bnmoTlm57osIPmlrnms5UgKi9cbiAgb25PcGVuQ2hhbmdlPzogKG9wZW46IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkO1xuICAvKiog5rCU5rOh55qE6Ieq5a6a5LmJ57G75ZCNICovXG4gIHBvcHVwQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiDmsJTms6HnmoToh6rlrprkuYnmoLflvI/ooaggKi9cbiAgcG9wdXBDc3M/OiBzdHJpbmc7XG4gIC8qKiDlhbPpl63lkI7mmK/lkKbplIDmr4EgICovXG4gIGRlc3Ryb3lJbmFjdGl2ZT86IGJvb2xlYW47XG4gIC8qKiDkuI3lj6/nlKjnirbmgIEgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIOa3u+WKoOS4gOS4queureWktOaYvuekuiAgKi9cbiAgYXJyb3c/OiBib29sZWFuO1xuICAvKiog5oyH5a6a5rCU5rOh5pi+56S655qE5pa55ZCRICovXG4gIHBsYWNlbWVudD86IGtleW9mIHR5cGVvZiBQbGFjZW1lbnQ7XG4gIC8qKiDmsJTms6Hlrr3luqbkuI7op6blj5Fkb23kuIDoh7QgICovXG4gIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aD86IGJvb2xlYW47XG4gIC8qKiDlsLrlr7hcbiAgICogQGRlZmF1bHQgJ25vcm1hbCdcbiAgICovXG4gIHNpemU/OiBCYXNpY0NvbmZpZ1snc2l6ZSddO1xuICBjaGlsZHJlbj86IEpTWEVsZW1lbnQ7XG4gIC8qKiBjb250ZW50IOS4uiBlbmNvZGVVUklDb21wb25lbnQg5a2X56ym5LiyICovXG4gIGVuY29kZVVyaT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIFRyaWdnZXJPcHRpb24ge1xuICAvKiog6byg5qCH56e75YWlICovXG4gIGhvdmVyID0gJ2hvdmVyJyxcbiAgLyoqIOeCueWHuyAqL1xuICBjbGljayA9ICdjbGljaycsXG4gIC8qKiDlj7PplK4gKi9cbiAgY29udGV4dE1lbnUgPSAnY29udGV4dE1lbnUnLFxuICAvKiog5pegICovXG4gIG5vbmUgPSAnbm9uZScsXG59XG5cbmV4cG9ydCBlbnVtIFBsYWNlbWVudCB7XG4gIC8qKiDlt6bkuIsgKi9cbiAgYm90dG9tTGVmdCA9ICdib3R0b21MZWZ0JyxcbiAgLyoqIOS4iyAqL1xuICBib3R0b20gPSAnYm90dG9tJyxcbiAgLyoqIOWPs+S4iyAqL1xuICBib3R0b21SaWdodCA9ICdib3R0b21SaWdodCcsXG4gIC8qKiDlt6bkuIogKi9cbiAgdG9wTGVmdCA9ICd0b3BMZWZ0JyxcbiAgLyoqIOS4iiAqL1xuICB0b3AgPSAndG9wJyxcbiAgLyoqIOWPs+S4iiAqL1xuICB0b3BSaWdodCA9ICd0b3BSaWdodCcsXG4gIC8qKiDlt6YgKi9cbiAgbGVmdCA9ICdsZWZ0JyxcbiAgLyoqIOWPsyAqL1xuICByaWdodCA9ICdyaWdodCcsXG59XG5cbmludGVyZmFjZSBQb3NpIHtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xuICByaWdodD86IG51bWJlcjtcbiAgYm90dG9tPzogbnVtYmVyO1xuICAnLS14Jz86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEV2ZW50TWFwIHtcbiAgY2xpY2s/OiBzdHJpbmc7XG4gIGhvdmVyPzogc3RyaW5nO1xuICBjb250ZXh0TWVudT86IHN0cmluZztcbiAgbm9uZT86IG5ldmVyO1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBQb3BvdmVyKHByb3BzOiBQb3BvdmVyUHJvcHMpIHtcbiAgY29uc3QgeyBpc0RhcmssIGJhc2VTdHlsZSB9ID0gdGhlbWU7XG4gIGNvbnN0IG1wID0gbWVyZ2VQcm9wcyhcbiAgICB7XG4gICAgICB0cmlnZ2VyOiAnaG92ZXInLFxuICAgIH0sXG4gICAgcHJvcHMsXG4gICk7XG4gIGNvbnN0IFtsb2NhbF0gPSBzcGxpdFByb3BzKG1wLCBbXG4gICAgJ2NsYXNzJyxcbiAgICAnY3NzJyxcbiAgICAncG9wdXBDbGFzcycsXG4gICAgJ3BvcHVwQ3NzJyxcbiAgICAnc2l6ZScsXG4gICAgJ3RyaWdnZXInLFxuICAgICdvcGVuJyxcbiAgICAnZGlzYWJsZWQnLFxuICAgICdvbk9wZW5DaGFuZ2UnLFxuICAgICdkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgnLFxuICAgICdkZXN0cm95SW5hY3RpdmUnLFxuICAgICdhcnJvdycsXG4gICAgJ3BsYWNlbWVudCcsXG4gICAgJ2dldFBvcHVwQ29udGFpbmVyJyxcbiAgICAnY2hpbGRyZW4nLFxuICAgICdjb250ZW50JyxcbiAgICAnZW5jb2RlVXJpJyxcbiAgXSk7XG4gIGxldCByZWY6IEhUTUxEaXZFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBsZXQgY2hpbGRSZWY6IEhUTUxTcGFuRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IGNsb3NlVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IHVuZGVmaW5lZDtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gY3JlYXRlU2lnbmFsPGJvb2xlYW4gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3Bvc2ksIHNldFBvc2ldID0gY3JlYXRlU2lnbmFsPFBvc2k+KHt9KTtcbiAgY29uc3QgW3VwLCBzZXRVcF0gPSBjcmVhdGVTaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbd2lkdGgsIHNldFdpZHRoXSA9IGNyZWF0ZVNpZ25hbCgnJyk7XG5cbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9jYWwub3BlbiAhPT0gdm9pZCAwKSB7XG4gICAgICBzZXRPcGVuKGxvY2FsLm9wZW4pO1xuICAgIH1cbiAgfSk7XG4gIGZ1bmN0aW9uIG9wZW5DaGFuZ2UobmV4dDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICBpZiAoIWxvY2FsLmRpc2FibGVkKSB7XG4gICAgICBpZiAobG9jYWwub25PcGVuQ2hhbmdlKSB7XG4gICAgICAgIGxvY2FsLm9uT3BlbkNoYW5nZShuZXh0KTtcbiAgICAgIH1cbiAgICAgIGlmIChsb2NhbC5vcGVuID09PSB2b2lkIDApIHtcbiAgICAgICAgc2V0T3BlbihuZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gZXhpdCgpIHtcbiAgICBpZiAob3BlbigpID09PSBmYWxzZSkge1xuICAgICAgc2V0T3BlbihudWxsKTtcbiAgICAgIG9wZW5DaGFuZ2UobnVsbCk7XG4gICAgfVxuICB9XG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4oKSAmJiBsb2NhbC5kcm9wZG93bk1hdGNoU2VsZWN0V2lkdGggJiYgY2hpbGRSZWYpIHtcbiAgICAgIHNldFdpZHRoKGAucG9ydGFsIHt3aWR0aDogJHtjaGlsZFJlZi5vZmZzZXRXaWR0aH1weDt9YCk7XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBjbG9zZShlOiBNb3VzZUV2ZW50IHwgRXZlbnQpIHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgY2xvc2VUaW1lciA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dChjbG9zZVRpbWVyKTtcbiAgICAgICAgaWYgKGUudGFyZ2V0ICYmIChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCdoYW5kbGUtY2xvc2VkJykgPT09ICdmYWxzZScpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNDb250YWlucyA9IGlzRWxlbWVudEluc2lkZShlLnRhcmdldCBhcyBFbGVtZW50LCByZWYpO1xuXG4gICAgICAgIGlmICgob3BlbigpICYmICFpc0NvbnRhaW5zKSB8fCAoaXNDb250YWlucyAmJiBlLnR5cGUgIT09ICdtb3VzZWRvd24nKSkge1xuICAgICAgICAgIG9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbG9jYWwudHJpZ2dlciA9PT0gJ2hvdmVyJyA/IDMwMCA6IDAsXG4gICAgKTtcbiAgfVxuICBsZXQgcG9ydGFsVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgc2hvd1BvcnRhbCA9IGZ1bmN0aW9uIChlPzogRXZlbnQpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQocG9ydGFsVGltZXIpO1xuICAgIHBvcnRhbFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQocG9ydGFsVGltZXIpO1xuICAgICAgaWYgKCFyZWYgfHwgIWNoaWxkUmVmIHx8ICghZSAmJiBsb2NhbC50cmlnZ2VyID09PSAnY29udGV4dE1lbnUnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoZT8udHlwZSA9PT0gJ3Njcm9sbCcgJiYgbG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51Jykge1xuICAgICAgICBvcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZWxSZWN0ID0gY2hpbGRSZWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBwb3J0YWxSZWN0ID0gcmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3Qgb2Zmc2V0WCA9IHBvcnRhbFJlY3Qud2lkdGggLyAyIC0gZWxSZWN0LndpZHRoIC8gMjtcbiAgICAgIGNvbnN0IG1hcmdpbiA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGVsUmVjdC5ib3R0b207XG4gICAgICBjb25zdCBfcGxhY2VtZW50ID0gbG9jYWwucGxhY2VtZW50O1xuXG4gICAgICBjb25zdCBfaXNCb3R0b20gPVxuICAgICAgICAoIV9wbGFjZW1lbnQ/LnN0YXJ0c1dpdGgoJ3RvcCcpICYmXG4gICAgICAgICAgbWFyZ2luID4gcmVmLm9mZnNldEhlaWdodCAqIDAuOCAmJlxuICAgICAgICAgIG1hcmdpbiA+IGVsUmVjdC50b3ApIHx8XG4gICAgICAgIF9wbGFjZW1lbnQ/LnN0YXJ0c1dpdGgoJ2JvdHRvbScpO1xuICAgICAgY29uc3QgYXJyb3dIZWlnaHQgPSBsb2NhbC5hcnJvdyA/IDggOiA0O1xuICAgICAgY29uc3QgX3Bvc2k6IFBvc2kgPSB7fTtcblxuICAgICAgc3dpdGNoIChsb2NhbC5wbGFjZW1lbnQpIHtcbiAgICAgICAgY2FzZSAnYm90dG9tTGVmdCc6XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBjYXNlICd0b3BMZWZ0JzpcbiAgICAgICAgICBfcG9zaS5sZWZ0ID0gZWxSZWN0LmxlZnQ7XG4gICAgICAgICAgX3Bvc2lbJy0teCddID0gLXBvcnRhbFJlY3Qud2lkdGggLyAyICsgMTY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbVJpZ2h0JzpcbiAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBjYXNlICd0b3BSaWdodCc6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IGVsUmVjdC5yaWdodCAtIHBvcnRhbFJlY3Qud2lkdGg7XG4gICAgICAgICAgX3Bvc2lbJy0teCddID0gcG9ydGFsUmVjdC53aWR0aCAvIDIgLSAxNjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBfcG9zaS5sZWZ0ID0gTWF0aC5hYnMob2Zmc2V0WCA+IGVsUmVjdC5sZWZ0ID8gZWxSZWN0LmxlZnQgOiBlbFJlY3QubGVmdCAtIG9mZnNldFgpO1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IC0oX3Bvc2kubGVmdCAtIGVsUmVjdC5sZWZ0ICsgb2Zmc2V0WCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoX2lzQm90dG9tKSB7XG4gICAgICAgIF9wb3NpLnRvcCA9IGVsUmVjdC5ib3R0b20gKyBhcnJvd0hlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF9wb3NpLmJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGVsUmVjdC50b3AgKyBhcnJvd0hlaWdodDtcbiAgICAgIH1cbiAgICAgIHNldFBvc2koKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIGlzRXF1YWwocHJldiwgX3Bvc2kpID8gcHJldiA6IF9wb3NpO1xuICAgICAgfSk7XG4gICAgICBzZXRVcCgocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gcHJldiA9PT0gIV9pc0JvdHRvbSA/IHByZXYgOiAhX2lzQm90dG9tO1xuICAgICAgfSk7XG4gICAgfSwgMzIpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGhhbmRsZU9wZW4oZTogTW91c2VFdmVudCkge1xuICAgIGNsZWFyVGltZW91dChjbG9zZVRpbWVyKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmIChsb2NhbC50cmlnZ2VyID09PSAnY29udGV4dE1lbnUnICYmIGUudHlwZSA9PT0gJ2NvbnRleHRtZW51Jykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgc2V0UG9zaSgocHJldikgPT4gKHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgbGVmdDogZS5jbGllbnRYLFxuICAgICAgICB0b3A6IGUuY2xpZW50WSxcbiAgICAgICAgWyctLXgnXTogLShyZWY/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIHx8IDApIC8gMiArIDE2LFxuICAgICAgfSkpO1xuICAgIH1cbiAgICBvcGVuQ2hhbmdlKHRydWUpO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzRnVuY3Rpb24obG9jYWwuZ2V0UG9wdXBDb250YWluZXIpKSB7XG4gICAgICByZXR1cm4gbG9jYWwuZ2V0UG9wdXBDb250YWluZXIoY2hpbGRSZWYpO1xuICAgIH1cbiAgICByZXR1cm4gZG9jdW1lbnQuYm9keTtcbiAgfSk7XG4gIGNvbnN0IGNoaWxkcmVuUHJvcHMgPSBjcmVhdGVNZW1vKCgpID0+IHtcbiAgICBjb25zdCBfcHJvcHM6IFBhcnRpYWw8UmVjb3JkPGtleW9mIEV2ZW50TWFwLCB2b2lkPj4gPSB7fTtcblxuICAgIGNvbnN0IG9wZW5FdmVudDogRXZlbnRNYXAgPSB7XG4gICAgICBjbGljazogJ29uOm1vdXNlZG93bicsXG4gICAgICBob3ZlcjogJ29uOm1vdXNlZW50ZXInLFxuICAgICAgY29udGV4dE1lbnU6ICdvbjpjb250ZXh0bWVudScsXG4gICAgICBub25lOiB2b2lkIDAsXG4gICAgfTtcbiAgICBjb25zdCBjbG9zZUV2ZW50OiBFdmVudE1hcCA9IHtcbiAgICAgIGhvdmVyOiAnb246bW91c2VsZWF2ZScsXG4gICAgICBjbGljazogdm9pZCAwLFxuICAgICAgY29udGV4dE1lbnU6IHZvaWQgMCxcbiAgICAgIG5vbmU6IHZvaWQgMCxcbiAgICB9O1xuXG4gICAgY29uc3Qgb3BlbkZuID0gb3BlbkV2ZW50W2xvY2FsLnRyaWdnZXJdO1xuICAgIGNvbnN0IGNsb3NlRm4gPSBjbG9zZUV2ZW50W2xvY2FsLnRyaWdnZXJdO1xuXG4gICAgT2JqZWN0LmFzc2lnbihcbiAgICAgIF9wcm9wcyxcbiAgICAgIG9wZW5GbiAmJiB7XG4gICAgICAgIFtvcGVuRm5dOiBoYW5kbGVPcGVuLFxuICAgICAgfSxcbiAgICAgIGNsb3NlRm4gJiYge1xuICAgICAgICBbY2xvc2VGbl06IGNsb3NlLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIF9wcm9wcztcbiAgfSk7XG5cbiAgY29uc3QgcG9ydGFsU3R5bGUgPSBjcmVhdGVNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwID0gcG9zaSgpO1xuXG4gICAgcmV0dXJuIGAucG9ydGFsIHske09iamVjdC5rZXlzKHApXG4gICAgICAubWFwKChrKSA9PiBgJHtrfToke3BbayBhcyBrZXlvZiBQb3NpXX1weDtgKVxuICAgICAgLmpvaW4oJycpfXotaW5kZXg6IDk5OTk5O31gO1xuICB9KTtcbiAgY29uc3QgcG9ydGFsQ2xzID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGN4KFxuICAgICAgJ3BvcnRhbCcsXG4gICAgICBsb2NhbC5hcnJvdyAmJiAnYXJyb3cnLFxuICAgICAgYCR7b3BlbigpID8gJ2luJyA6ICdvdXQnfS0ke3VwKCkgPyAndXAnIDogJ2Rvd24nfWAsXG4gICAgICBsb2NhbC5zaXplLFxuICAgICAgbG9jYWwucG9wdXBDbGFzcyxcbiAgICApO1xuICB9KTtcbiAgY29uc3QgaG9zdFN0eWxlID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGA6aG9zdCB7LS1wb3BvdmVyLWJnOiAke1xuICAgICAgaXNEYXJrKCkgPyAnIzFmMWYxZicgOiAndmFyKC0tY29tcG9uZW50LWJnKSdcbiAgICB9Oy0tcG9wb3Zlci1zaGFkb3ctY29sb3I6IHJnYigwIDAgMCAvIDUlKTtwb3NpdGlvbjogYWJzb2x1dGU7fWA7XG4gIH0pO1xuXG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4oKSkge1xuICAgICAgc2hvd1BvcnRhbCgpO1xuXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgc2hvd1BvcnRhbCwge1xuICAgICAgICBwYXNzaXZlOiBwYXNzaXZlU3VwcG9ydGVkLFxuICAgICAgfSk7XG4gICAgfVxuICAgIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgc2hvd1BvcnRhbCwgZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcbiAgb25Nb3VudCgoKSA9PiB7XG4gICAgaWYgKGxvY2FsLnRyaWdnZXIgIT09ICdub25lJykge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGNsb3NlLCBmYWxzZSk7XG4gICAgfVxuICB9KTtcbiAgb25DbGVhbnVwKCgpID0+IHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGNsb3NlLCBmYWxzZSk7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17cG9wb3ZlckNzc30gLz5cbiAgICAgIDxTaG93IHdoZW49e2xvY2FsLmNzc30+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKGxvY2FsLmNzcyl9IC8+XG4gICAgICA8L1Nob3c+XG4gICAgICA8c3BhbiByZWY9e2NoaWxkUmVmfSBjbGFzcz17Y3goJ3BvcG92ZXInLCBsb2NhbC5zaXplLCBsb2NhbC5jbGFzcyl9IHsuLi5jaGlsZHJlblByb3BzKCl9PlxuICAgICAgICB7bG9jYWwuY2hpbGRyZW59XG4gICAgICA8L3NwYW4+XG4gICAgICA8U2hvdyB3aGVuPXtvcGVuKCkgIT09IG51bGwgfHwgIWxvY2FsLmRlc3Ryb3lJbmFjdGl2ZX0+XG4gICAgICAgIDxQb3J0YWwgdXNlU2hhZG93IG1vdW50PXtjb250YWluZXIoKX0+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtiYXNlU3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcnRhbENzc30gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2hvc3RTdHlsZSgpfSAvPlxuICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17cG9ydGFsU3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3dpZHRoKCl9IC8+XG4gICAgICAgICAgPFNob3cgd2hlbj17bG9jYWwucG9wdXBDc3N9PlxuICAgICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtjc3MobG9jYWwucG9wdXBDc3MpfSAvPlxuICAgICAgICAgIDwvU2hvdz5cbiAgICAgICAgICA8ZGl2IHJlZj17cmVmfSBvbjphbmltYXRpb25lbmQ9e2V4aXR9IGNsYXNzPXtwb3J0YWxDbHMoKX0gey4uLmNoaWxkcmVuUHJvcHMoKX0+XG4gICAgICAgICAgICA8U2hvdyB3aGVuPXshIWxvY2FsLmNvbnRlbnR9IGZhbGxiYWNrPXs8RW1wdHkgLz59PlxuICAgICAgICAgICAgICA8U2hvdyB3aGVuPXt0eXBlb2YgbG9jYWwuY29udGVudCA9PT0gJ3N0cmluZyd9IGZhbGxiYWNrPXs8Pntsb2NhbC5jb250ZW50fTwvPn0+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbGlkL25vLWlubmVyaHRtbFxuICAgICAgICAgICAgICAgICAgaW5uZXJIVE1MPXtcbiAgICAgICAgICAgICAgICAgICAgbG9jYWwuZW5jb2RlVXJpXG4gICAgICAgICAgICAgICAgICAgICAgPyBkZWNvZGVVUklDb21wb25lbnQobG9jYWwuY29udGVudCBhcyBzdHJpbmcpXG4gICAgICAgICAgICAgICAgICAgICAgOiAobG9jYWwuY29udGVudCBhcyBzdHJpbmcpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TaG93PlxuICAgICAgICAgICAgPC9TaG93PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1BvcnRhbD5cbiAgICAgIDwvU2hvdz5cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgUG9wb3ZlckVsZW1lbnQgPSBDdXN0b21FbGVtZW50PFBvcG92ZXJQcm9wcywgJ29uT3BlbkNoYW5nZSc+O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBjbGFzczogdm9pZCAwLFxuICBjc3M6IHZvaWQgMCxcbiAgY29udGVudDogdm9pZCAwLFxuICBnZXRQb3B1cENvbnRhaW5lcjogdm9pZCAwLFxuICB0cmlnZ2VyOiB2b2lkIDAsXG4gIG9wZW46IHZvaWQgMCxcbiAgb25PcGVuQ2hhbmdlOiB2b2lkIDAsXG4gIHBvcHVwQ2xhc3M6IHZvaWQgMCxcbiAgcG9wdXBDc3M6IHZvaWQgMCxcbiAgZGVzdHJveUluYWN0aXZlOiB0cnVlLFxuICBkaXNhYmxlZDogdm9pZCAwLFxuICBhcnJvdzogdm9pZCAwLFxuICBwbGFjZW1lbnQ6IHZvaWQgMCxcbiAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoOiB2b2lkIDAsXG4gIGVuY29kZVVyaTogdm9pZCAwLFxufTtcblBvcG92ZXIucmVnaXN0cnkgPSAoKSA9PiB7XG4gIGN1c3RvbUVsZW1lbnQ8UG9wb3ZlclByb3BzPignbi1wb3BvdmVyJywgZGVmYXVsdFByb3BzLCAoXywgb3B0KSA9PiB7XG4gICAgY29uc3QgeyBiYXNlU3R5bGUgfSA9IHRoZW1lO1xuICAgIGNvbnN0IGVsID0gb3B0LmVsZW1lbnQ7XG4gICAgY29uc3QgcHJvcHMgPSBtZXJnZVByb3BzKFxuICAgICAge1xuICAgICAgICBvbk9wZW5DaGFuZ2UobmV4dDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgICBlbC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdvcGVuY2hhbmdlJywge1xuICAgICAgICAgICAgICBkZXRhaWw6IG5leHQsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogWy4uLmVsLmNoaWxkTm9kZXMudmFsdWVzKCldLFxuICAgICAgfSxcbiAgICAgIF8sXG4gICAgKTtcblxuICAgIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjbGVhckF0dHJpYnV0ZShlbCwgWydjb250ZW50JywgJ3BvcHVwQ3NzJywgJ2NzcyddKTtcbiAgICB9KTtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtpbmxpbmV9IC8+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICAgIDxQb3BvdmVyIHsuLi5wcm9wc30gLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH0pO1xufTtcbmV4cG9ydCBkZWZhdWx0IFBvcG92ZXI7XG4iXSwibWFwcGluZ3MiOiIrYUFVQSxJQUFBQSxJQUFBLENBQUFDLE9BQUEsaUJBVkEsSUFBQUMsUUFBQSxDQUFBRCxPQUFBLGFBV0EsSUFBQUUsT0FBQSxDQUFBRixPQUFBLG1CQUNBLElBQUFHLElBQUEsQ0FBQUgsT0FBQSxnQkFDQSxJQUFBSSxhQUFBLENBQUFKLE9BQUEsa0JBR0EsSUFBQUssWUFBQSxDQUFBTCxPQUFBLG9CQUNBLElBQUFNLE1BQUEsQ0FBQUMsc0JBQUEsQ0FBQVAsT0FBQSxjQUNBLElBQUFRLE1BQUEsQ0FBQUMsdUJBQUEsQ0FBQVQsT0FBQSxjQUVBLElBQUFVLE1BQUEsQ0FBQVYsT0FBQSxZQUFnRCxTQUFBUyx3QkFBQUUsQ0FBQSxDQUFBQyxDQUFBLHdCQUFBQyxPQUFBLEtBQUFDLENBQUEsS0FBQUQsT0FBQSxDQUFBRSxDQUFBLEtBQUFGLE9B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
|
|
1
|
+
"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(exports,"__esModule",{value:true});exports.defaultProps=exports["default"]=exports.TriggerOption=exports.Placement=void 0;var _web=require("solid-js/web");var _solidJs=require("solid-js");var _common=require("@moneko/common");var _css=require("@moneko/css");var _solidElement=require("solid-element");var _basicConfig=require("../basic-config");var _empty=_interopRequireDefault(require("../empty"));var _theme=_interopRequireWildcard(require("../theme"));var _style=require("./style");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f)}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f})(e,t)}function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}var _tmpl$=/*#__PURE__*/(0,_web.template)(`<style>`),_tmpl$2=/*#__PURE__*/(0,_web.template)(`<style> `),_tmpl$3=/*#__PURE__*/(0,_web.template)(`<span>`),_tmpl$4=/*#__PURE__*/(0,_web.template)(`<div>`);function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){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 _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _defineAccessor(e,r,n,t){var c={configurable:!0,enumerable:!0};return c[e]=t,Object.defineProperty(r,n,c)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}var TriggerOption=exports.TriggerOption=/*#__PURE__*/function(TriggerOption){/** 鼠标移入 */TriggerOption["hover"]="hover";/** 点击 */TriggerOption["click"]="click";/** 右键 */TriggerOption["contextMenu"]="contextMenu";/** 无 */TriggerOption["none"]="none";return TriggerOption}({});var Placement=exports.Placement=/*#__PURE__*/function(Placement){/** 左下 */Placement["bottomLeft"]="bottomLeft";/** 下 */Placement["bottom"]="bottom";/** 右下 */Placement["bottomRight"]="bottomRight";/** 左上 */Placement["topLeft"]="topLeft";/** 上 */Placement["top"]="top";/** 右上 */Placement["topRight"]="topRight";/** 左 */Placement["left"]="left";/** 右 */Placement["right"]="right";return Placement}({});function Popover(props){var isDark=_theme["default"].isDark,baseStyle=_theme["default"].baseStyle;var mp=(0,_solidJs.mergeProps)({trigger:"hover"},props);var _splitProps=(0,_solidJs.splitProps)(mp,["class","css","popupClass","popupCss","size","trigger","open","disabled","onOpenChange","dropdownMatchSelectWidth","destroyInactive","arrow","placement","getPopupContainer","children","content","encodeUri"]),_splitProps2=_slicedToArray(_splitProps,1),local=_splitProps2[0];var ref;var childRef;var closeTimer;var _createSignal=(0,_solidJs.createSignal)(null),_createSignal2=_slicedToArray(_createSignal,2),open=_createSignal2[0],setOpen=_createSignal2[1];var _createSignal3=(0,_solidJs.createSignal)({}),_createSignal4=_slicedToArray(_createSignal3,2),posi=_createSignal4[0],setPosi=_createSignal4[1];var _createSignal5=(0,_solidJs.createSignal)(false),_createSignal6=_slicedToArray(_createSignal5,2),up=_createSignal6[0],setUp=_createSignal6[1];var _createSignal7=(0,_solidJs.createSignal)(""),_createSignal8=_slicedToArray(_createSignal7,2),width=_createSignal8[0],setWidth=_createSignal8[1];(0,_solidJs.createEffect)(function(){if(local.open!==void 0){setOpen(local.open);}});function openChange(next){if(!local.disabled){if(local.onOpenChange){local.onOpenChange(next);}if(local.open===void 0){setOpen(next);}}}function exit(){if(open()===false){setOpen(null);openChange(null);}}(0,_solidJs.createEffect)(function(){if(open()&&local.dropdownMatchSelectWidth&&childRef){setWidth(".portal {width: ".concat(childRef.offsetWidth,"px;}"));}});function close(e){clearTimeout(closeTimer);closeTimer=setTimeout(function(){clearTimeout(closeTimer);if(e.target&&e.target.getAttribute("handle-closed")==="false"){return;}var isContains=(0,_common.isElementInside)(e.target,ref);if(open()&&!isContains||isContains&&e.type!=="mousedown"){openChange(false);}},local.trigger==="hover"?300:0);}var portalTimer;var showPortal=function showPortal(e){clearTimeout(portalTimer);portalTimer=setTimeout(function(){clearTimeout(portalTimer);if(!ref||!childRef||!e&&local.trigger==="contextMenu"){return;}if((e===null||e===void 0?void 0:e.type)==="scroll"&&local.trigger==="contextMenu"){openChange(false);return;}var elRect=childRef.getBoundingClientRect();var portalRect=ref.getBoundingClientRect();var offsetX=portalRect.width/2-elRect.width/2;var margin=window.innerHeight-elRect.bottom;var _placement=local.placement;var _isBottom=!(_placement!==null&&_placement!==void 0&&_placement.startsWith("top"))&&margin>ref.offsetHeight*0.8&&margin>elRect.top||(_placement===null||_placement===void 0?void 0:_placement.startsWith("bottom"));var arrowHeight=local.arrow?8:4;var _posi={};switch(local.placement){case"bottomLeft":case"left":case"topLeft":_posi.left=elRect.left;_posi["--x"]=-portalRect.width/2+16;break;case"bottomRight":case"right":case"topRight":_posi.left=elRect.right-portalRect.width;_posi["--x"]=portalRect.width/2-16;break;case"bottom":case"top":default:_posi.left=Math.abs(offsetX>elRect.left?elRect.left:elRect.left-offsetX);_posi["--x"]=-(_posi.left-elRect.left+offsetX);break;}if(_isBottom){_posi.top=elRect.bottom+arrowHeight;}else{_posi.bottom=window.innerHeight-elRect.top+arrowHeight;}setPosi(function(prev){return(0,_common.isEqual)(prev,_posi)?prev:_posi;});setUp(function(prev){return prev===!_isBottom?prev:!_isBottom;});},32);};function handleOpen(e){clearTimeout(closeTimer);e.stopPropagation();if(local.trigger==="contextMenu"&&e.type==="contextmenu"){e.preventDefault();setPosi(function(prev){return _objectSpread(_objectSpread({},prev),{},_defineProperty({left:e.clientX,top:e.clientY},"--x",-((ref===null||ref===void 0?void 0:ref.getBoundingClientRect().width)||0)/2+16))});}openChange(true);}var container=(0,_solidJs.createMemo)(function(){if((0,_common.isFunction)(local.getPopupContainer)){return local.getPopupContainer(childRef);}return document.body;});var childrenProps=(0,_solidJs.createMemo)(function(){var _props={};var openEvent={click:"on:mousedown",hover:"on:mouseenter",contextMenu:"on:contextmenu",none:void 0};var closeEvent={hover:"on:mouseleave",click:void 0,contextMenu:void 0,none:void 0};var openFn=openEvent[local.trigger];var closeFn=closeEvent[local.trigger];Object.assign(_props,openFn&&_defineProperty({},openFn,handleOpen),closeFn&&_defineProperty({},closeFn,close));return _props;});var portalStyle=(0,_solidJs.createMemo)(function(){var p=posi();return".portal {".concat(Object.keys(p).map(function(k){return"".concat(k,":").concat(p[k],"px;")}).join(""),"z-index: 99999;}");});var portalCls=(0,_solidJs.createMemo)(function(){return(0,_css.cx)("portal",local.arrow&&"arrow","".concat(open()?"in":"out","-").concat(up()?"up":"down"),local.size,local.popupClass);});var hostStyle=(0,_solidJs.createMemo)(function(){return":host {--popover-bg: ".concat(isDark()?"#1f1f1f":"var(--component-bg)",";--popover-shadow-color: rgb(0 0 0 / 5%);position: absolute;}");});(0,_solidJs.createEffect)(function(){if(open()){showPortal();window.addEventListener("scroll",showPortal,{passive:_common.passiveSupported});}(0,_solidJs.onCleanup)(function(){window.removeEventListener("scroll",showPortal,false);});});(0,_solidJs.onMount)(function(){if(local.trigger!=="none"){document.documentElement.addEventListener("mousedown",close,false);}});(0,_solidJs.onCleanup)(function(){clearTimeout(closeTimer);document.documentElement.removeEventListener("mousedown",close,false);});return[function(){var _el$=_tmpl$();_el$.textContent=_style.popoverCss;return _el$}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return local.css},get children(){var _el$2=_tmpl$2(),_el$3=_el$2.firstChild;(0,_web.effect)(function(){return _el$3.data=(0,_css.css)(local.css)});return _el$2}}),function(){var _el$4=_tmpl$3();var _ref$=childRef;typeof _ref$==="function"?(0,_web.use)(_ref$,_el$4):childRef=_el$4;(0,_web.spread)(_el$4,(0,_web.mergeProps)(_defineAccessor("get",{},"class",function(){return(0,_css.cx)("popover",local.size,local["class"])}),childrenProps),false,true);(0,_web.insert)(_el$4,function(){return local.children});return _el$4}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return open()!==null||!local.destroyInactive},get children(){return(0,_web.createComponent)(_web.Portal,{useShadow:true,get mount(){return container()},get children(){return[function(){var _el$5=_tmpl$2(),_el$6=_el$5.firstChild;(0,_web.effect)(function(){return _el$6.data=baseStyle()});return _el$5}(),function(){var _el$7=_tmpl$();_el$7.textContent=_style.portalCss;return _el$7}(),function(){var _el$8=_tmpl$2(),_el$9=_el$8.firstChild;(0,_web.effect)(function(){return _el$9.data=hostStyle()});return _el$8}(),function(){var _el$0=_tmpl$2(),_el$1=_el$0.firstChild;(0,_web.effect)(function(){return _el$1.data=portalStyle()});return _el$0}(),function(){var _el$10=_tmpl$2(),_el$11=_el$10.firstChild;(0,_web.effect)(function(){return _el$11.data=width()});return _el$10}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return local.popupCss},get children(){var _el$12=_tmpl$2(),_el$13=_el$12.firstChild;(0,_web.effect)(function(){return _el$13.data=(0,_css.css)(local.popupCss)});return _el$12}}),function(){var _el$14=_tmpl$4();(0,_web.addEventListener)(_el$14,"animationend",exit);var _ref$2=ref;typeof _ref$2==="function"?(0,_web.use)(_ref$2,_el$14):ref=_el$14;(0,_web.spread)(_el$14,(0,_web.mergeProps)(_defineAccessor("get",{},"class",function(){return portalCls()}),childrenProps),false,true);(0,_web.insert)(_el$14,(0,_web.createComponent)(_solidJs.Show,{get when(){return!!local.content},get fallback(){return(0,_web.createComponent)(_empty["default"],{})},get children(){return(0,_web.createComponent)(_solidJs.Show,{get when(){return typeof local.content==="string"},get fallback(){return(0,_web.memo)(function(){return local.content})},get children(){var _el$15=_tmpl$4();(0,_web.effect)(function(){return _el$15.innerHTML=local.encodeUri?decodeURIComponent(local.content):local.content});return _el$15}})}}));return _el$14}()]}})}})];}var defaultProps=exports.defaultProps={"class":void 0,css:void 0,content:void 0,getPopupContainer:void 0,trigger:void 0,open:void 0,onOpenChange:void 0,popupClass:void 0,popupCss:void 0,destroyInactive:true,disabled:void 0,arrow:void 0,placement:void 0,dropdownMatchSelectWidth:void 0,encodeUri:void 0};Popover.registry=function(){(0,_solidElement.customElement)("n-popover",defaultProps,function(_,opt){var baseStyle=_theme["default"].baseStyle;var el=opt.element;var props=(0,_solidJs.mergeProps)({onOpenChange:function onOpenChange(next){el.dispatchEvent(new CustomEvent("openchange",{detail:next}));},children:_toConsumableArray(el.childNodes.values())},_);(0,_solidJs.createEffect)(function(){(0,_basicConfig.clearAttribute)(el,["content","popupCss","css"]);});return[function(){var _el$16=_tmpl$();_el$16.textContent=_theme.inline;return _el$16}(),function(){var _el$17=_tmpl$2(),_el$18=_el$17.firstChild;(0,_web.effect)(function(){return _el$18.data=baseStyle()});return _el$17}(),(0,_web.createComponent)(Popover,props)];});};var _default=exports["default"]=Popover;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2ViIiwicmVxdWlyZSIsIl9zb2xpZEpzIiwiX2NvbW1vbiIsIl9jc3MiLCJfc29saWRFbGVtZW50IiwiX2Jhc2ljQ29uZmlnIiwiX2VtcHR5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl90aGVtZSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3N0eWxlIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfdG1wbCQiLCJ0ZW1wbGF0ZSIsIl90bXBsJDIiLCJfdG1wbCQzIiwiX3RtcGwkNCIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9kZWZpbmVBY2Nlc3NvciIsImMiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsIndyaXRhYmxlIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJhIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJsIiwidSIsIm5leHQiLCJkb25lIiwiVHJpZ2dlck9wdGlvbiIsImV4cG9ydHMiLCJQbGFjZW1lbnQiLCJQb3BvdmVyIiwicHJvcHMiLCJpc0RhcmsiLCJ0aGVtZSIsImJhc2VTdHlsZSIsIm1wIiwibWVyZ2VQcm9wcyIsInRyaWdnZXIiLCJfc3BsaXRQcm9wcyIsInNwbGl0UHJvcHMiLCJfc3BsaXRQcm9wczIiLCJsb2NhbCIsInJlZiIsImNoaWxkUmVmIiwiY2xvc2VUaW1lciIsIl9jcmVhdGVTaWduYWwiLCJjcmVhdGVTaWduYWwiLCJfY3JlYXRlU2lnbmFsMiIsIm9wZW4iLCJzZXRPcGVuIiwiX2NyZWF0ZVNpZ25hbDMiLCJfY3JlYXRlU2lnbmFsNCIsInBvc2kiLCJzZXRQb3NpIiwiX2NyZWF0ZVNpZ25hbDUiLCJfY3JlYXRlU2lnbmFsNiIsInVwIiwic2V0VXAiLCJfY3JlYXRlU2lnbmFsNyIsIl9jcmVhdGVTaWduYWw4Iiwid2lkdGgiLCJzZXRXaWR0aCIsImNyZWF0ZUVmZmVjdCIsIm9wZW5DaGFuZ2UiLCJkaXNhYmxlZCIsIm9uT3BlbkNoYW5nZSIsImV4aXQiLCJkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgiLCJjb25jYXQiLCJvZmZzZXRXaWR0aCIsImNsb3NlIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsInRhcmdldCIsImdldEF0dHJpYnV0ZSIsImlzQ29udGFpbnMiLCJpc0VsZW1lbnRJbnNpZGUiLCJ0eXBlIiwicG9ydGFsVGltZXIiLCJzaG93UG9ydGFsIiwiZWxSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicG9ydGFsUmVjdCIsIm9mZnNldFgiLCJtYXJnaW4iLCJ3aW5kb3ciLCJpbm5lckhlaWdodCIsImJvdHRvbSIsIl9wbGFjZW1lbnQiLCJwbGFjZW1lbnQiLCJfaXNCb3R0b20iLCJzdGFydHNXaXRoIiwib2Zmc2V0SGVpZ2h0IiwidG9wIiwiYXJyb3dIZWlnaHQiLCJhcnJvdyIsIl9wb3NpIiwibGVmdCIsInJpZ2h0IiwiTWF0aCIsImFicyIsInByZXYiLCJpc0VxdWFsIiwiaGFuZGxlT3BlbiIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiY2xpZW50WCIsImNsaWVudFkiLCJjb250YWluZXIiLCJjcmVhdGVNZW1vIiwiaXNGdW5jdGlvbiIsImdldFBvcHVwQ29udGFpbmVyIiwiZG9jdW1lbnQiLCJib2R5IiwiY2hpbGRyZW5Qcm9wcyIsIl9wcm9wcyIsIm9wZW5FdmVudCIsImNsaWNrIiwiaG92ZXIiLCJjb250ZXh0TWVudSIsIm5vbmUiLCJjbG9zZUV2ZW50Iiwib3BlbkZuIiwiY2xvc2VGbiIsImFzc2lnbiIsInBvcnRhbFN0eWxlIiwicCIsIm1hcCIsImsiLCJqb2luIiwicG9ydGFsQ2xzIiwiY3giLCJzaXplIiwicG9wdXBDbGFzcyIsImhvc3RTdHlsZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicGFzc2l2ZVN1cHBvcnRlZCIsIm9uQ2xlYW51cCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbk1vdW50IiwiZG9jdW1lbnRFbGVtZW50IiwiX2VsJCIsInRleHRDb250ZW50IiwicG9wb3ZlckNzcyIsImNyZWF0ZUNvbXBvbmVudCIsIlNob3ciLCJ3aGVuIiwiY3NzIiwiY2hpbGRyZW4iLCJfZWwkMiIsIl9lbCQzIiwiZmlyc3RDaGlsZCIsImVmZmVjdCIsImRhdGEiLCJfZWwkNCIsIl9yZWYkIiwidXNlIiwic3ByZWFkIiwiaW5zZXJ0IiwiZGVzdHJveUluYWN0aXZlIiwiUG9ydGFsIiwidXNlU2hhZG93IiwibW91bnQiLCJfZWwkNSIsIl9lbCQ2IiwiX2VsJDciLCJwb3J0YWxDc3MiLCJfZWwkOCIsIl9lbCQ5IiwiX2VsJDAiLCJfZWwkMSIsIl9lbCQxMCIsIl9lbCQxMSIsInBvcHVwQ3NzIiwiX2VsJDEyIiwiX2VsJDEzIiwiX2VsJDE0IiwiX3JlZiQyIiwiY29udGVudCIsImZhbGxiYWNrIiwibWVtbyIsIl9lbCQxNSIsImlubmVySFRNTCIsImVuY29kZVVyaSIsImRlY29kZVVSSUNvbXBvbmVudCIsImRlZmF1bHRQcm9wcyIsInJlZ2lzdHJ5IiwiY3VzdG9tRWxlbWVudCIsIl8iLCJvcHQiLCJlbCIsImVsZW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJjaGlsZE5vZGVzIiwidmFsdWVzIiwiY2xlYXJBdHRyaWJ1dGUiLCJfZWwkMTYiLCJpbmxpbmUiLCJfZWwkMTciLCJfZWwkMTgiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcG9wb3Zlci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlRWZmZWN0LFxuICBjcmVhdGVNZW1vLFxuICBjcmVhdGVTaWduYWwsXG4gIG1lcmdlUHJvcHMsXG4gIG9uQ2xlYW51cCxcbiAgb25Nb3VudCxcbiAgU2hvdyxcbiAgc3BsaXRQcm9wcyxcbn0gZnJvbSAnc29saWQtanMnO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSAnc29saWQtanMvd2ViJztcbmltcG9ydCB7IGlzRWxlbWVudEluc2lkZSwgaXNFcXVhbCwgaXNGdW5jdGlvbiwgcGFzc2l2ZVN1cHBvcnRlZCB9IGZyb20gJ0Btb25la28vY29tbW9uJztcbmltcG9ydCB7IGNzcywgY3ggfSBmcm9tICdAbW9uZWtvL2Nzcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnc29saWQtZWxlbWVudCc7XG5cbmltcG9ydCB0eXBlIHsgQmFzaWNDb25maWcsIEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBjbGVhckF0dHJpYnV0ZSwgdHlwZSBKU1hFbGVtZW50IH0gZnJvbSAnLi4vYmFzaWMtY29uZmlnJztcbmltcG9ydCBFbXB0eSBmcm9tICcuLi9lbXB0eSc7XG5pbXBvcnQgdGhlbWUsIHsgaW5saW5lIH0gZnJvbSAnLi4vdGhlbWUnO1xuXG5pbXBvcnQgeyBwb3BvdmVyQ3NzLCBwb3J0YWxDc3MgfSBmcm9tICcuL3N0eWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyUHJvcHMge1xuICAvKiog6Ieq5a6a5LmJ57G75ZCNICovXG4gIGNsYXNzPzogc3RyaW5nO1xuICAvKiog6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIGNzcz86IHN0cmluZztcbiAgLyoqIOWGheWuuSAqL1xuICBjb250ZW50PzogSlNYRWxlbWVudCB8ICgoKSA9PiBKU1hFbGVtZW50KTtcbiAgLyoqIOaMgui9veWIsOaMh+WumueahOWFg+e0oO+8jOWAvOS4uuS4gOS4qui/lOWbnuWvueW6lCBET00g5YWD57SgIOm7mOiupCBkb2N1bWVudC5ib2R5ICovXG4gIGdldFBvcHVwQ29udGFpbmVyPzogKG5vZGU/OiBIVE1MRWxlbWVudCB8IG51bGwpID0+IEhUTUxFbGVtZW50O1xuICAvKiog6Kem5Y+R6KGM5Li6XG4gICAqIEBkZWZhdWx0ICdob3ZlcidcbiAgICovXG4gIHRyaWdnZXI/OiBrZXlvZiB0eXBlb2YgVHJpZ2dlck9wdGlvbjtcbiAgLyoqIOaJk+W8gOWGheWuueawlOazoSAqL1xuICBvcGVuPzogYm9vbGVhbiB8IG51bGw7XG4gIC8qKiDlhoXlrrnmiZPlvIDlhbPpl63ml7bnmoTlm57osIPmlrnms5UgKi9cbiAgb25PcGVuQ2hhbmdlPzogKG9wZW46IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkO1xuICAvKiog5rCU5rOh55qE6Ieq5a6a5LmJ57G75ZCNICovXG4gIHBvcHVwQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiDmsJTms6HnmoToh6rlrprkuYnmoLflvI/ooaggKi9cbiAgcG9wdXBDc3M/OiBzdHJpbmc7XG4gIC8qKiDlhbPpl63lkI7mmK/lkKbplIDmr4EgICovXG4gIGRlc3Ryb3lJbmFjdGl2ZT86IGJvb2xlYW47XG4gIC8qKiDkuI3lj6/nlKjnirbmgIEgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIOa3u+WKoOS4gOS4queureWktOaYvuekuiAgKi9cbiAgYXJyb3c/OiBib29sZWFuO1xuICAvKiog5oyH5a6a5rCU5rOh5pi+56S655qE5pa55ZCRICovXG4gIHBsYWNlbWVudD86IGtleW9mIHR5cGVvZiBQbGFjZW1lbnQ7XG4gIC8qKiDmsJTms6Hlrr3luqbkuI7op6blj5Fkb23kuIDoh7QgICovXG4gIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aD86IGJvb2xlYW47XG4gIC8qKiDlsLrlr7hcbiAgICogQGRlZmF1bHQgJ25vcm1hbCdcbiAgICovXG4gIHNpemU/OiBCYXNpY0NvbmZpZ1snc2l6ZSddO1xuICBjaGlsZHJlbj86IEpTWEVsZW1lbnQ7XG4gIC8qKiBjb250ZW50IOS4uiBlbmNvZGVVUklDb21wb25lbnQg5a2X56ym5LiyICovXG4gIGVuY29kZVVyaT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIFRyaWdnZXJPcHRpb24ge1xuICAvKiog6byg5qCH56e75YWlICovXG4gIGhvdmVyID0gJ2hvdmVyJyxcbiAgLyoqIOeCueWHuyAqL1xuICBjbGljayA9ICdjbGljaycsXG4gIC8qKiDlj7PplK4gKi9cbiAgY29udGV4dE1lbnUgPSAnY29udGV4dE1lbnUnLFxuICAvKiog5pegICovXG4gIG5vbmUgPSAnbm9uZScsXG59XG5cbmV4cG9ydCBlbnVtIFBsYWNlbWVudCB7XG4gIC8qKiDlt6bkuIsgKi9cbiAgYm90dG9tTGVmdCA9ICdib3R0b21MZWZ0JyxcbiAgLyoqIOS4iyAqL1xuICBib3R0b20gPSAnYm90dG9tJyxcbiAgLyoqIOWPs+S4iyAqL1xuICBib3R0b21SaWdodCA9ICdib3R0b21SaWdodCcsXG4gIC8qKiDlt6bkuIogKi9cbiAgdG9wTGVmdCA9ICd0b3BMZWZ0JyxcbiAgLyoqIOS4iiAqL1xuICB0b3AgPSAndG9wJyxcbiAgLyoqIOWPs+S4iiAqL1xuICB0b3BSaWdodCA9ICd0b3BSaWdodCcsXG4gIC8qKiDlt6YgKi9cbiAgbGVmdCA9ICdsZWZ0JyxcbiAgLyoqIOWPsyAqL1xuICByaWdodCA9ICdyaWdodCcsXG59XG5cbmludGVyZmFjZSBQb3NpIHtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xuICByaWdodD86IG51bWJlcjtcbiAgYm90dG9tPzogbnVtYmVyO1xuICAnLS14Jz86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEV2ZW50TWFwIHtcbiAgY2xpY2s/OiBzdHJpbmc7XG4gIGhvdmVyPzogc3RyaW5nO1xuICBjb250ZXh0TWVudT86IHN0cmluZztcbiAgbm9uZT86IG5ldmVyO1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBQb3BvdmVyKHByb3BzOiBQb3BvdmVyUHJvcHMpIHtcbiAgY29uc3QgeyBpc0RhcmssIGJhc2VTdHlsZSB9ID0gdGhlbWU7XG4gIGNvbnN0IG1wID0gbWVyZ2VQcm9wcyhcbiAgICB7XG4gICAgICB0cmlnZ2VyOiAnaG92ZXInLFxuICAgIH0sXG4gICAgcHJvcHMsXG4gICk7XG4gIGNvbnN0IFtsb2NhbF0gPSBzcGxpdFByb3BzKG1wLCBbXG4gICAgJ2NsYXNzJyxcbiAgICAnY3NzJyxcbiAgICAncG9wdXBDbGFzcycsXG4gICAgJ3BvcHVwQ3NzJyxcbiAgICAnc2l6ZScsXG4gICAgJ3RyaWdnZXInLFxuICAgICdvcGVuJyxcbiAgICAnZGlzYWJsZWQnLFxuICAgICdvbk9wZW5DaGFuZ2UnLFxuICAgICdkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgnLFxuICAgICdkZXN0cm95SW5hY3RpdmUnLFxuICAgICdhcnJvdycsXG4gICAgJ3BsYWNlbWVudCcsXG4gICAgJ2dldFBvcHVwQ29udGFpbmVyJyxcbiAgICAnY2hpbGRyZW4nLFxuICAgICdjb250ZW50JyxcbiAgICAnZW5jb2RlVXJpJyxcbiAgXSk7XG4gIGxldCByZWY6IEhUTUxEaXZFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBsZXQgY2hpbGRSZWY6IEhUTUxTcGFuRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IGNsb3NlVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IHVuZGVmaW5lZDtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gY3JlYXRlU2lnbmFsPGJvb2xlYW4gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3Bvc2ksIHNldFBvc2ldID0gY3JlYXRlU2lnbmFsPFBvc2k+KHt9KTtcbiAgY29uc3QgW3VwLCBzZXRVcF0gPSBjcmVhdGVTaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbd2lkdGgsIHNldFdpZHRoXSA9IGNyZWF0ZVNpZ25hbCgnJyk7XG5cbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9jYWwub3BlbiAhPT0gdm9pZCAwKSB7XG4gICAgICBzZXRPcGVuKGxvY2FsLm9wZW4pO1xuICAgIH1cbiAgfSk7XG4gIGZ1bmN0aW9uIG9wZW5DaGFuZ2UobmV4dDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICBpZiAoIWxvY2FsLmRpc2FibGVkKSB7XG4gICAgICBpZiAobG9jYWwub25PcGVuQ2hhbmdlKSB7XG4gICAgICAgIGxvY2FsLm9uT3BlbkNoYW5nZShuZXh0KTtcbiAgICAgIH1cbiAgICAgIGlmIChsb2NhbC5vcGVuID09PSB2b2lkIDApIHtcbiAgICAgICAgc2V0T3BlbihuZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gZXhpdCgpIHtcbiAgICBpZiAob3BlbigpID09PSBmYWxzZSkge1xuICAgICAgc2V0T3BlbihudWxsKTtcbiAgICAgIG9wZW5DaGFuZ2UobnVsbCk7XG4gICAgfVxuICB9XG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4oKSAmJiBsb2NhbC5kcm9wZG93bk1hdGNoU2VsZWN0V2lkdGggJiYgY2hpbGRSZWYpIHtcbiAgICAgIHNldFdpZHRoKGAucG9ydGFsIHt3aWR0aDogJHtjaGlsZFJlZi5vZmZzZXRXaWR0aH1weDt9YCk7XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBjbG9zZShlOiBNb3VzZUV2ZW50IHwgRXZlbnQpIHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgY2xvc2VUaW1lciA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dChjbG9zZVRpbWVyKTtcbiAgICAgICAgaWYgKGUudGFyZ2V0ICYmIChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCdoYW5kbGUtY2xvc2VkJykgPT09ICdmYWxzZScpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNDb250YWlucyA9IGlzRWxlbWVudEluc2lkZShlLnRhcmdldCBhcyBFbGVtZW50LCByZWYpO1xuXG4gICAgICAgIGlmICgob3BlbigpICYmICFpc0NvbnRhaW5zKSB8fCAoaXNDb250YWlucyAmJiBlLnR5cGUgIT09ICdtb3VzZWRvd24nKSkge1xuICAgICAgICAgIG9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbG9jYWwudHJpZ2dlciA9PT0gJ2hvdmVyJyA/IDMwMCA6IDAsXG4gICAgKTtcbiAgfVxuICBsZXQgcG9ydGFsVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgc2hvd1BvcnRhbCA9IGZ1bmN0aW9uIChlPzogRXZlbnQpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQocG9ydGFsVGltZXIpO1xuICAgIHBvcnRhbFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQocG9ydGFsVGltZXIpO1xuICAgICAgaWYgKCFyZWYgfHwgIWNoaWxkUmVmIHx8ICghZSAmJiBsb2NhbC50cmlnZ2VyID09PSAnY29udGV4dE1lbnUnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoZT8udHlwZSA9PT0gJ3Njcm9sbCcgJiYgbG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51Jykge1xuICAgICAgICBvcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZWxSZWN0ID0gY2hpbGRSZWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBwb3J0YWxSZWN0ID0gcmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3Qgb2Zmc2V0WCA9IHBvcnRhbFJlY3Qud2lkdGggLyAyIC0gZWxSZWN0LndpZHRoIC8gMjtcbiAgICAgIGNvbnN0IG1hcmdpbiA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGVsUmVjdC5ib3R0b207XG4gICAgICBjb25zdCBfcGxhY2VtZW50ID0gbG9jYWwucGxhY2VtZW50O1xuXG4gICAgICBjb25zdCBfaXNCb3R0b20gPVxuICAgICAgICAoIV9wbGFjZW1lbnQ/LnN0YXJ0c1dpdGgoJ3RvcCcpICYmXG4gICAgICAgICAgbWFyZ2luID4gcmVmLm9mZnNldEhlaWdodCAqIDAuOCAmJlxuICAgICAgICAgIG1hcmdpbiA+IGVsUmVjdC50b3ApIHx8XG4gICAgICAgIF9wbGFjZW1lbnQ/LnN0YXJ0c1dpdGgoJ2JvdHRvbScpO1xuICAgICAgY29uc3QgYXJyb3dIZWlnaHQgPSBsb2NhbC5hcnJvdyA/IDggOiA0O1xuICAgICAgY29uc3QgX3Bvc2k6IFBvc2kgPSB7fTtcblxuICAgICAgc3dpdGNoIChsb2NhbC5wbGFjZW1lbnQpIHtcbiAgICAgICAgY2FzZSAnYm90dG9tTGVmdCc6XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBjYXNlICd0b3BMZWZ0JzpcbiAgICAgICAgICBfcG9zaS5sZWZ0ID0gZWxSZWN0LmxlZnQ7XG4gICAgICAgICAgX3Bvc2lbJy0teCddID0gLXBvcnRhbFJlY3Qud2lkdGggLyAyICsgMTY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbVJpZ2h0JzpcbiAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBjYXNlICd0b3BSaWdodCc6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IGVsUmVjdC5yaWdodCAtIHBvcnRhbFJlY3Qud2lkdGg7XG4gICAgICAgICAgX3Bvc2lbJy0teCddID0gcG9ydGFsUmVjdC53aWR0aCAvIDIgLSAxNjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBfcG9zaS5sZWZ0ID0gTWF0aC5hYnMob2Zmc2V0WCA+IGVsUmVjdC5sZWZ0ID8gZWxSZWN0LmxlZnQgOiBlbFJlY3QubGVmdCAtIG9mZnNldFgpO1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IC0oX3Bvc2kubGVmdCAtIGVsUmVjdC5sZWZ0ICsgb2Zmc2V0WCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoX2lzQm90dG9tKSB7XG4gICAgICAgIF9wb3NpLnRvcCA9IGVsUmVjdC5ib3R0b20gKyBhcnJvd0hlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF9wb3NpLmJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGVsUmVjdC50b3AgKyBhcnJvd0hlaWdodDtcbiAgICAgIH1cbiAgICAgIHNldFBvc2koKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIGlzRXF1YWwocHJldiwgX3Bvc2kpID8gcHJldiA6IF9wb3NpO1xuICAgICAgfSk7XG4gICAgICBzZXRVcCgocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gcHJldiA9PT0gIV9pc0JvdHRvbSA/IHByZXYgOiAhX2lzQm90dG9tO1xuICAgICAgfSk7XG4gICAgfSwgMzIpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGhhbmRsZU9wZW4oZTogTW91c2VFdmVudCkge1xuICAgIGNsZWFyVGltZW91dChjbG9zZVRpbWVyKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmIChsb2NhbC50cmlnZ2VyID09PSAnY29udGV4dE1lbnUnICYmIGUudHlwZSA9PT0gJ2NvbnRleHRtZW51Jykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgc2V0UG9zaSgocHJldikgPT4gKHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgbGVmdDogZS5jbGllbnRYLFxuICAgICAgICB0b3A6IGUuY2xpZW50WSxcbiAgICAgICAgWyctLXgnXTogLShyZWY/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIHx8IDApIC8gMiArIDE2LFxuICAgICAgfSkpO1xuICAgIH1cbiAgICBvcGVuQ2hhbmdlKHRydWUpO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzRnVuY3Rpb24obG9jYWwuZ2V0UG9wdXBDb250YWluZXIpKSB7XG4gICAgICByZXR1cm4gbG9jYWwuZ2V0UG9wdXBDb250YWluZXIoY2hpbGRSZWYpO1xuICAgIH1cbiAgICByZXR1cm4gZG9jdW1lbnQuYm9keTtcbiAgfSk7XG4gIGNvbnN0IGNoaWxkcmVuUHJvcHMgPSBjcmVhdGVNZW1vKCgpID0+IHtcbiAgICBjb25zdCBfcHJvcHM6IFBhcnRpYWw8UmVjb3JkPGtleW9mIEV2ZW50TWFwLCB2b2lkPj4gPSB7fTtcblxuICAgIGNvbnN0IG9wZW5FdmVudDogRXZlbnRNYXAgPSB7XG4gICAgICBjbGljazogJ29uOm1vdXNlZG93bicsXG4gICAgICBob3ZlcjogJ29uOm1vdXNlZW50ZXInLFxuICAgICAgY29udGV4dE1lbnU6ICdvbjpjb250ZXh0bWVudScsXG4gICAgICBub25lOiB2b2lkIDAsXG4gICAgfTtcbiAgICBjb25zdCBjbG9zZUV2ZW50OiBFdmVudE1hcCA9IHtcbiAgICAgIGhvdmVyOiAnb246bW91c2VsZWF2ZScsXG4gICAgICBjbGljazogdm9pZCAwLFxuICAgICAgY29udGV4dE1lbnU6IHZvaWQgMCxcbiAgICAgIG5vbmU6IHZvaWQgMCxcbiAgICB9O1xuXG4gICAgY29uc3Qgb3BlbkZuID0gb3BlbkV2ZW50W2xvY2FsLnRyaWdnZXJdO1xuICAgIGNvbnN0IGNsb3NlRm4gPSBjbG9zZUV2ZW50W2xvY2FsLnRyaWdnZXJdO1xuXG4gICAgT2JqZWN0LmFzc2lnbihcbiAgICAgIF9wcm9wcyxcbiAgICAgIG9wZW5GbiAmJiB7XG4gICAgICAgIFtvcGVuRm5dOiBoYW5kbGVPcGVuLFxuICAgICAgfSxcbiAgICAgIGNsb3NlRm4gJiYge1xuICAgICAgICBbY2xvc2VGbl06IGNsb3NlLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIF9wcm9wcztcbiAgfSk7XG5cbiAgY29uc3QgcG9ydGFsU3R5bGUgPSBjcmVhdGVNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwID0gcG9zaSgpO1xuXG4gICAgcmV0dXJuIGAucG9ydGFsIHske09iamVjdC5rZXlzKHApXG4gICAgICAubWFwKChrKSA9PiBgJHtrfToke3BbayBhcyBrZXlvZiBQb3NpXX1weDtgKVxuICAgICAgLmpvaW4oJycpfXotaW5kZXg6IDk5OTk5O31gO1xuICB9KTtcbiAgY29uc3QgcG9ydGFsQ2xzID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGN4KFxuICAgICAgJ3BvcnRhbCcsXG4gICAgICBsb2NhbC5hcnJvdyAmJiAnYXJyb3cnLFxuICAgICAgYCR7b3BlbigpID8gJ2luJyA6ICdvdXQnfS0ke3VwKCkgPyAndXAnIDogJ2Rvd24nfWAsXG4gICAgICBsb2NhbC5zaXplLFxuICAgICAgbG9jYWwucG9wdXBDbGFzcyxcbiAgICApO1xuICB9KTtcbiAgY29uc3QgaG9zdFN0eWxlID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGA6aG9zdCB7LS1wb3BvdmVyLWJnOiAke1xuICAgICAgaXNEYXJrKCkgPyAnIzFmMWYxZicgOiAndmFyKC0tY29tcG9uZW50LWJnKSdcbiAgICB9Oy0tcG9wb3Zlci1zaGFkb3ctY29sb3I6IHJnYigwIDAgMCAvIDUlKTtwb3NpdGlvbjogYWJzb2x1dGU7fWA7XG4gIH0pO1xuXG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4oKSkge1xuICAgICAgc2hvd1BvcnRhbCgpO1xuXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgc2hvd1BvcnRhbCwge1xuICAgICAgICBwYXNzaXZlOiBwYXNzaXZlU3VwcG9ydGVkLFxuICAgICAgfSk7XG4gICAgfVxuICAgIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgc2hvd1BvcnRhbCwgZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcbiAgb25Nb3VudCgoKSA9PiB7XG4gICAgaWYgKGxvY2FsLnRyaWdnZXIgIT09ICdub25lJykge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGNsb3NlLCBmYWxzZSk7XG4gICAgfVxuICB9KTtcbiAgb25DbGVhbnVwKCgpID0+IHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGNsb3NlLCBmYWxzZSk7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17cG9wb3ZlckNzc30gLz5cbiAgICAgIDxTaG93IHdoZW49e2xvY2FsLmNzc30+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKGxvY2FsLmNzcyl9IC8+XG4gICAgICA8L1Nob3c+XG4gICAgICA8c3BhbiByZWY9e2NoaWxkUmVmfSBjbGFzcz17Y3goJ3BvcG92ZXInLCBsb2NhbC5zaXplLCBsb2NhbC5jbGFzcyl9IHsuLi5jaGlsZHJlblByb3BzKCl9PlxuICAgICAgICB7bG9jYWwuY2hpbGRyZW59XG4gICAgICA8L3NwYW4+XG4gICAgICA8U2hvdyB3aGVuPXtvcGVuKCkgIT09IG51bGwgfHwgIWxvY2FsLmRlc3Ryb3lJbmFjdGl2ZX0+XG4gICAgICAgIDxQb3J0YWwgdXNlU2hhZG93IG1vdW50PXtjb250YWluZXIoKX0+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtiYXNlU3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcnRhbENzc30gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2hvc3RTdHlsZSgpfSAvPlxuICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17cG9ydGFsU3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3dpZHRoKCl9IC8+XG4gICAgICAgICAgPFNob3cgd2hlbj17bG9jYWwucG9wdXBDc3N9PlxuICAgICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtjc3MobG9jYWwucG9wdXBDc3MpfSAvPlxuICAgICAgICAgIDwvU2hvdz5cbiAgICAgICAgICA8ZGl2IHJlZj17cmVmfSBvbjphbmltYXRpb25lbmQ9e2V4aXR9IGNsYXNzPXtwb3J0YWxDbHMoKX0gey4uLmNoaWxkcmVuUHJvcHMoKX0+XG4gICAgICAgICAgICA8U2hvdyB3aGVuPXshIWxvY2FsLmNvbnRlbnR9IGZhbGxiYWNrPXs8RW1wdHkgLz59PlxuICAgICAgICAgICAgICA8U2hvdyB3aGVuPXt0eXBlb2YgbG9jYWwuY29udGVudCA9PT0gJ3N0cmluZyd9IGZhbGxiYWNrPXs8Pntsb2NhbC5jb250ZW50fTwvPn0+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbGlkL25vLWlubmVyaHRtbFxuICAgICAgICAgICAgICAgICAgaW5uZXJIVE1MPXtcbiAgICAgICAgICAgICAgICAgICAgbG9jYWwuZW5jb2RlVXJpXG4gICAgICAgICAgICAgICAgICAgICAgPyBkZWNvZGVVUklDb21wb25lbnQobG9jYWwuY29udGVudCBhcyBzdHJpbmcpXG4gICAgICAgICAgICAgICAgICAgICAgOiAobG9jYWwuY29udGVudCBhcyBzdHJpbmcpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TaG93PlxuICAgICAgICAgICAgPC9TaG93PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1BvcnRhbD5cbiAgICAgIDwvU2hvdz5cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgUG9wb3ZlckVsZW1lbnQgPSBDdXN0b21FbGVtZW50PFBvcG92ZXJQcm9wcywgJ29uT3BlbkNoYW5nZSc+O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBjbGFzczogdm9pZCAwLFxuICBjc3M6IHZvaWQgMCxcbiAgY29udGVudDogdm9pZCAwLFxuICBnZXRQb3B1cENvbnRhaW5lcjogdm9pZCAwLFxuICB0cmlnZ2VyOiB2b2lkIDAsXG4gIG9wZW46IHZvaWQgMCxcbiAgb25PcGVuQ2hhbmdlOiB2b2lkIDAsXG4gIHBvcHVwQ2xhc3M6IHZvaWQgMCxcbiAgcG9wdXBDc3M6IHZvaWQgMCxcbiAgZGVzdHJveUluYWN0aXZlOiB0cnVlLFxuICBkaXNhYmxlZDogdm9pZCAwLFxuICBhcnJvdzogdm9pZCAwLFxuICBwbGFjZW1lbnQ6IHZvaWQgMCxcbiAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoOiB2b2lkIDAsXG4gIGVuY29kZVVyaTogdm9pZCAwLFxufTtcblBvcG92ZXIucmVnaXN0cnkgPSAoKSA9PiB7XG4gIGN1c3RvbUVsZW1lbnQ8UG9wb3ZlclByb3BzPignbi1wb3BvdmVyJywgZGVmYXVsdFByb3BzLCAoXywgb3B0KSA9PiB7XG4gICAgY29uc3QgeyBiYXNlU3R5bGUgfSA9IHRoZW1lO1xuICAgIGNvbnN0IGVsID0gb3B0LmVsZW1lbnQ7XG4gICAgY29uc3QgcHJvcHMgPSBtZXJnZVByb3BzKFxuICAgICAge1xuICAgICAgICBvbk9wZW5DaGFuZ2UobmV4dDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgICBlbC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdvcGVuY2hhbmdlJywge1xuICAgICAgICAgICAgICBkZXRhaWw6IG5leHQsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogWy4uLmVsLmNoaWxkTm9kZXMudmFsdWVzKCldLFxuICAgICAgfSxcbiAgICAgIF8sXG4gICAgKTtcblxuICAgIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjbGVhckF0dHJpYnV0ZShlbCwgWydjb250ZW50JywgJ3BvcHVwQ3NzJywgJ2NzcyddKTtcbiAgICB9KTtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtpbmxpbmV9IC8+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICAgIDxQb3BvdmVyIHsuLi5wcm9wc30gLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH0pO1xufTtcbmV4cG9ydCBkZWZhdWx0IFBvcG92ZXI7XG4iXSwibWFwcGluZ3MiOiIrYUFVQSxJQUFBQSxJQUFBLENBQUFDLE9BQUEsaUJBVkEsSUFBQUMsUUFBQSxDQUFBRCxPQUFBLGFBV0EsSUFBQUUsT0FBQSxDQUFBRixPQUFBLG1CQUNBLElBQUFHLElBQUEsQ0FBQUgsT0FBQSxnQkFDQSxJQUFBSSxhQUFBLENBQUFKLE9BQUEsa0JBR0EsSUFBQUssWUFBQSxDQUFBTCxPQUFBLG9CQUNBLElBQUFNLE1BQUEsQ0FBQUMsc0JBQUEsQ0FBQVAsT0FBQSxjQUNBLElBQUFRLE1BQUEsQ0FBQUMsdUJBQUEsQ0FBQVQsT0FBQSxjQUVBLElBQUFVLE1BQUEsQ0FBQVYsT0FBQSxZQUFnRCxTQUFBUyx3QkFBQUUsQ0FBQSxDQUFBQyxDQUFBLHdCQUFBQyxPQUFBLEtBQUFDLENBQUEsS0FBQUQsT0FBQSxDQUFBRSxDQUFBLEtBQUFGLE9B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
|
package/lib/provider/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _web=require("solid-js/web");var _solidJs=require("solid-js");var _solidElement=require("solid-element");var _theme=_interopRequireDefault(require("../theme"));function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}var _tmpl$=/*#__PURE__*/(0,_web.template)(`<style> `),_tmpl$2=/*#__PURE__*/(0,_web.template)(`<slot>`);function Provider(props){var baseStyle=_theme["default"].baseStyle,scheme=_theme["default"].scheme,setScheme=_theme["default"].setScheme;(0,_solidJs.createEffect)(function(){var _props$onScheme;(_props$onScheme=props.onScheme)===null||_props$onScheme===void 0||_props$onScheme.call(props,scheme())});(0,_solidJs.createEffect)(function(){if(props.scheme){setScheme(props.scheme)}});return[function(){var _el$=_tmpl$(),_el$2=_el$.firstChild;(0,_web.effect)(function(){return _el$2.data=baseStyle()});return _el$}(),function(){var _el$3=_tmpl$2();_el$3._$owner=(0,_web.getOwner)();return _el$3}()]}Provider.registry=function(){(0,_solidElement.customElement)("n-provider",function(_,opt){(0,_solidElement.noShadowDOM)();var el=opt.element;var props=(0,_solidJs.mergeProps)({onScheme:function onScheme(scheme){el.dispatchEvent(new CustomEvent("scheme",{detail:scheme}))}},_);return(0,_web.createComponent)(Provider,props)})};var _default=exports["default"]=Provider;
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc29saWRKcyIsInJlcXVpcmUiLCJfc29saWRFbGVtZW50IiwiX3RoZW1lIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImUiLCJfX2VzTW9kdWxlIiwiX3RtcGwkIiwiX3dlYiIsInRlbXBsYXRlIiwiX3RtcGwkMiIsIlByb3ZpZGVyIiwicHJvcHMiLCJiYXNlU3R5bGUiLCJ0aGVtZSIsInNjaGVtZSIsInNldFNjaGVtZSIsImNyZWF0ZUVmZmVjdCIsIl9wcm9wcyRvblNjaGVtZSIsIm9uU2NoZW1lIiwiY2FsbCIsIl9lbCQiLCJfZWwkMiIsImZpcnN0Q2hpbGQiLCJlZmZlY3QiLCJkYXRhIiwiX2VsJDMiLCJfJG93bmVyIiwiZ2V0T3duZXIiLCJyZWdpc3RyeSIsImN1c3RvbUVsZW1lbnQiLCJfIiwib3B0Iiwibm9TaGFkb3dET00iLCJlbCIsImVsZW1lbnQiLCJtZXJnZVByb3BzIiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiY3JlYXRlQ29tcG9uZW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm92aWRlci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRWZmZWN0LCBtZXJnZVByb3BzIH0gZnJvbSAnc29saWQtanMnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgbm9TaGFkb3dET00gfSBmcm9tICdzb2xpZC1lbGVtZW50JztcblxuaW1wb3J0IHR5cGUgeyBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHR5cGUgeyBKU1hFbGVtZW50IH0gZnJvbSAnLi4vYmFzaWMtY29uZmlnJztcbmltcG9ydCB0aGVtZSwgeyBDb2xvclNjaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcblxuZnVuY3Rpb24gUHJvdmlkZXIocHJvcHM6IFByb3ZpZGVyUHJvcHMpIHtcbiAgY29uc3QgeyBiYXNlU3R5bGUsIHNjaGVtZSwgc2V0U2NoZW1lIH0gPSB0aGVtZTtcblxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIHByb3BzLm9uU2NoZW1lPy4oc2NoZW1lKCkpO1xuICB9KTtcbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJvcHMuc2NoZW1lKSB7XG4gICAgICBzZXRTY2hlbWUocHJvcHMuc2NoZW1lKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Jhc2VTdHlsZSgpfSAvPlxuICAgICAgPHNsb3QgLz5cbiAgICA8Lz5cbiAgKTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXJQcm9wcyB7XG4gIC8qKiDkuLvpopgsIOetieWQjOS6juS9v+eUqCBzZXRTY2hlbWVcbiAgICogQGRlZmF1bHQgJ2F1dG8nXG4gICAqL1xuICBzY2hlbWU/OiBrZXlvZiB0eXBlb2YgQ29sb3JTY2hlbWU7XG4gIC8qKiDljIXoo7nnmoTlrZDpobkgKi9cbiAgY2hpbGRyZW4/OiBKU1hFbGVtZW50O1xuICAvKiog5ZON5bqUIHNjaGVtZSDlj5jljJYgKi9cbiAgb25TY2hlbWU/KHNjaGVtZToga2V5b2YgdHlwZW9mIENvbG9yU2NoZW1lKTogdm9pZDtcbn1cbmV4cG9ydCB0eXBlIFByb3ZpZGVyRWxlbWVudCA9IEN1c3RvbUVsZW1lbnQ8UHJvdmlkZXJQcm9wcywgJ29uU2NoZW1lJz47XG5cblByb3ZpZGVyLnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PFByb3ZpZGVyUHJvcHM+KCduLXByb3ZpZGVyJywgKF8sIG9wdCkgPT4ge1xuICAgIG5vU2hhZG93RE9NKCk7XG4gICAgY29uc3QgZWwgPSBvcHQuZWxlbWVudDtcbiAgICBjb25zdCBwcm9wcyA9IG1lcmdlUHJvcHMoXG4gICAgICB7XG4gICAgICAgIG9uU2NoZW1lKHNjaGVtZToga2V5b2YgdHlwZW9mIENvbG9yU2NoZW1lKSB7XG4gICAgICAgICAgZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnc2NoZW1lJywge1xuICAgICAgICAgICAgICBkZXRhaWw6IHNjaGVtZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgXyxcbiAgICApO1xuXG4gICAgcmV0dXJuIDxQcm92aWRlciB7Li4ucHJvcHN9IC8+
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _web=require("solid-js/web");var _solidJs=require("solid-js");var _solidElement=require("solid-element");var _theme=_interopRequireDefault(require("../theme"));function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}var _tmpl$=/*#__PURE__*/(0,_web.template)(`<style> `),_tmpl$2=/*#__PURE__*/(0,_web.template)(`<slot>`);function Provider(props){var baseStyle=_theme["default"].baseStyle,scheme=_theme["default"].scheme,setScheme=_theme["default"].setScheme;(0,_solidJs.createEffect)(function(){var _props$onScheme;(_props$onScheme=props.onScheme)===null||_props$onScheme===void 0||_props$onScheme.call(props,scheme());});(0,_solidJs.createEffect)(function(){if(props.scheme){setScheme(props.scheme);}});return[function(){var _el$=_tmpl$(),_el$2=_el$.firstChild;(0,_web.effect)(function(){return _el$2.data=baseStyle()});return _el$}(),function(){var _el$3=_tmpl$2();_el$3._$owner=(0,_web.getOwner)();return _el$3}()];}Provider.registry=function(){(0,_solidElement.customElement)("n-provider",function(_,opt){(0,_solidElement.noShadowDOM)();var el=opt.element;var props=(0,_solidJs.mergeProps)({onScheme:function onScheme(scheme){el.dispatchEvent(new CustomEvent("scheme",{detail:scheme}));}},_);return(0,_web.createComponent)(Provider,props);});};var _default=exports["default"]=Provider;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc29saWRKcyIsInJlcXVpcmUiLCJfc29saWRFbGVtZW50IiwiX3RoZW1lIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImUiLCJfX2VzTW9kdWxlIiwiX3RtcGwkIiwiX3dlYiIsInRlbXBsYXRlIiwiX3RtcGwkMiIsIlByb3ZpZGVyIiwicHJvcHMiLCJiYXNlU3R5bGUiLCJ0aGVtZSIsInNjaGVtZSIsInNldFNjaGVtZSIsImNyZWF0ZUVmZmVjdCIsIl9wcm9wcyRvblNjaGVtZSIsIm9uU2NoZW1lIiwiY2FsbCIsIl9lbCQiLCJfZWwkMiIsImZpcnN0Q2hpbGQiLCJlZmZlY3QiLCJkYXRhIiwiX2VsJDMiLCJfJG93bmVyIiwiZ2V0T3duZXIiLCJyZWdpc3RyeSIsImN1c3RvbUVsZW1lbnQiLCJfIiwib3B0Iiwibm9TaGFkb3dET00iLCJlbCIsImVsZW1lbnQiLCJtZXJnZVByb3BzIiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiY3JlYXRlQ29tcG9uZW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm92aWRlci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRWZmZWN0LCBtZXJnZVByb3BzIH0gZnJvbSAnc29saWQtanMnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgbm9TaGFkb3dET00gfSBmcm9tICdzb2xpZC1lbGVtZW50JztcblxuaW1wb3J0IHR5cGUgeyBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHR5cGUgeyBKU1hFbGVtZW50IH0gZnJvbSAnLi4vYmFzaWMtY29uZmlnJztcbmltcG9ydCB0aGVtZSwgeyBDb2xvclNjaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcblxuZnVuY3Rpb24gUHJvdmlkZXIocHJvcHM6IFByb3ZpZGVyUHJvcHMpIHtcbiAgY29uc3QgeyBiYXNlU3R5bGUsIHNjaGVtZSwgc2V0U2NoZW1lIH0gPSB0aGVtZTtcblxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIHByb3BzLm9uU2NoZW1lPy4oc2NoZW1lKCkpO1xuICB9KTtcbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJvcHMuc2NoZW1lKSB7XG4gICAgICBzZXRTY2hlbWUocHJvcHMuc2NoZW1lKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Jhc2VTdHlsZSgpfSAvPlxuICAgICAgPHNsb3QgLz5cbiAgICA8Lz5cbiAgKTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXJQcm9wcyB7XG4gIC8qKiDkuLvpopgsIOetieWQjOS6juS9v+eUqCBzZXRTY2hlbWVcbiAgICogQGRlZmF1bHQgJ2F1dG8nXG4gICAqL1xuICBzY2hlbWU/OiBrZXlvZiB0eXBlb2YgQ29sb3JTY2hlbWU7XG4gIC8qKiDljIXoo7nnmoTlrZDpobkgKi9cbiAgY2hpbGRyZW4/OiBKU1hFbGVtZW50O1xuICAvKiog5ZON5bqUIHNjaGVtZSDlj5jljJYgKi9cbiAgb25TY2hlbWU/KHNjaGVtZToga2V5b2YgdHlwZW9mIENvbG9yU2NoZW1lKTogdm9pZDtcbn1cbmV4cG9ydCB0eXBlIFByb3ZpZGVyRWxlbWVudCA9IEN1c3RvbUVsZW1lbnQ8UHJvdmlkZXJQcm9wcywgJ29uU2NoZW1lJz47XG5cblByb3ZpZGVyLnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PFByb3ZpZGVyUHJvcHM+KCduLXByb3ZpZGVyJywgKF8sIG9wdCkgPT4ge1xuICAgIG5vU2hhZG93RE9NKCk7XG4gICAgY29uc3QgZWwgPSBvcHQuZWxlbWVudDtcbiAgICBjb25zdCBwcm9wcyA9IG1lcmdlUHJvcHMoXG4gICAgICB7XG4gICAgICAgIG9uU2NoZW1lKHNjaGVtZToga2V5b2YgdHlwZW9mIENvbG9yU2NoZW1lKSB7XG4gICAgICAgICAgZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnc2NoZW1lJywge1xuICAgICAgICAgICAgICBkZXRhaWw6IHNjaGVtZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgXyxcbiAgICApO1xuXG4gICAgcmV0dXJuIDxQcm92aWRlciB7Li4ucHJvcHN9IC8+O1xuICB9KTtcbn07XG5leHBvcnQgZGVmYXVsdCBQcm92aWRlcjtcbiJdLCJtYXBwaW5ncyI6ImlJQUFBLElBQUFBLFFBQUEsQ0FBQUMsT0FBQSxhQUNBLElBQUFDLGFBQUEsQ0FBQUQsT0FBQSxrQkFJQSxJQUFBRSxNQUFBLENBQUFDLHNCQUFBLENBQUFILE9BQUEsY0FBOEMsU0FBQUcsdUJBQUFDLENBQUEsU0FBQUEsQ0FBQSxFQUFBQSxDQUFBLENBQUFDLFVBQUEsQ0FBQUQsQ0FBQSxZQUFBQSxDQUFBLE1BQUFFLE1BQUEsaUJBQUFDLElBQUEsQ0FBQUMsUUFBQSxjQUFBQyxPQUFBLGlCQUFBRixJQUFBLENBQUFDLFFBQUEsWUFFOUMsUUFBUyxDQUFBRSxRQUFRQSxDQUFDQyxLQUFvQixDQUFFLENBQ3RDLEdBQVEsQ0FBQUMsU0FBUyxDQUF3QkMsaUJBQUssQ0FBdENELFNBQVMsQ0FBRUUsTUFBTSxDQUFnQkQsaUJBQUssQ0FBM0JDLE1BQU0sQ0FBRUMsU0FBUyxDQUFLRixpQkFBSyxDQUFuQkUsU0FBUyxDQUVwQyxHQUFBQyxxQkFBWSxFQUFDLFVBQU0sS0FBQUMsZUFBQSxDQUNqQixDQUFBQSxlQUFBLENBQUFOLEtBQUssQ0FBQ08sUUFBUSxVQUFBRCxlQUFBLFdBQWRBLGVBQUEsQ0FBQUUsSUFBQSxDQUFBUixLQUFLLENBQVlHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FDNUIsQ0FBQyxDQUFDLENBQ0YsR0FBQUUscUJBQVksRUFBQyxVQUFNLENBQ2pCLEdBQUlMLEtBQUssQ0FBQ0csTUFBTSxDQUFFLENBQ2hCQyxTQUFTLENBQUNKLEtBQUssQ0FBQ0csTUFBTSxDQUFDLENBQ3pCLENBQ0YsQ0FBQyxDQUFDLENBQ0Ysc0JBQUFNLElBQUEsQ0FBQWQsTUFBQSxHQUFBZSxLQUFBLENBQUFELElBQUEsQ0FBQUUsVUFBQSxJQUFBZixJQUFBLENBQUFnQixNQUFBLG9CQUFBRixLQUFBLENBQUFHLElBQUEsQ0FFd0JaLFNBQVMsQ0FBQyxDQUFDLFVBQUFRLElBQUEsbUJBQUFLLEtBQUEsQ0FBQWhCLE9BQUEsRUFBQWdCLENBQUEsTUFBQUMsT0FBQSxJQUFBbkIsSUFBQSxDQUFBb0IsUUFBQSxXQUFBRixLQUFBLEtBSXJDLENBYUFmLFFBQVEsQ0FBQ2tCLFFBQVEsQ0FBRyxVQUFNLENBQ3hCLEdBQUFDLDJCQUFhLEVBQWdCLFlBQVksQ0FBRSxTQUFDQyxDQUFDLENBQUVDLEdBQUcsQ0FBSyxDQUNyRCxHQUFBQyx5QkFBVyxFQUFDLENBQUMsQ0FDYixHQUFNLENBQUFDLEVBQUUsQ0FBR0YsR0FBRyxDQUFDRyxPQUFPLENBQ3RCLEdBQU0sQ0FBQXZCLEtBQUssQ0FBRyxHQUFBd0IsbUJBQVUsRUFDdEIsQ0FDRWpCLFFBQVEsU0FBUixDQUFBQSxRQUFRQSxDQUFDSixNQUFnQyxDQUFFLENBQ3pDbUIsRUFBRSxDQUFDRyxhQUFhLENBQ2QsR0FBSSxDQUFBQyxXQUFXLENBQUMsUUFBUSxDQUFFLENBQ3hCQyxNQUFNLENBQUV4QixNQUNWLENBQUMsQ0FDSCxDQUFDLENBQ0gsQ0FDRixDQUFDLENBQ0RnQixDQUNGLENBQUMsQ0FFRCxTQUFBdkIsSUFBQSxDQUFBZ0MsZUFBQSxFQUFRN0IsUUFBUSxDQUFLQyxLQUFLLEVBQzVCLENBQUMsQ0FBQyxDQUNKLENBQUMsQ0FBQyxJQUFBNkIsUUFBQSxDQUFBQyxPQUFBLFlBQ2EvQixRQUFRIiwiaWdub3JlTGlzdCI6W119
|
package/lib/qrcode/index.d.ts
CHANGED
package/lib/qrcode/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(exports,"__esModule",{value:true});exports.defaultProps=exports["default"]=void 0;var _web=require("solid-js/web");var _solidJs=require("solid-js");var _solidElement=require("solid-element");var _basicConfig=require("../basic-config");var _theme=_interopRequireWildcard(require("../theme"));var _qrcode=require("./qrcode");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f)}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f})(e,t)}var _tmpl$=/*#__PURE__*/(0,_web.template)(`<svg><image preserveAspectRatio="xMidYMid meet"></svg>`,false,true,false),_tmpl$2=/*#__PURE__*/(0,_web.template)(`<svg xmlns=http://www.w3.org/2000/svg stroke=none shape-rendering=crispEdges role=img><path></path><path>`),_tmpl$3=/*#__PURE__*/(0,_web.template)(`<canvas role=img>`),_tmpl$4=/*#__PURE__*/(0,_web.template)(`<style>`);function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}var QRCode=function QRCode(_props){var isDark=_theme["default"].isDark;var cvs;var svg;var img;var normal=(0,_solidJs.mergeProps)({size:160,iconSize:7,border:1,ecl:"m",type:"svg"},_props);var _splitProps=(0,_solidJs.splitProps)(normal,["value","border","size","type","minVersion","maxVersion","mask","boostEcc","ecl","bgColor","color","iconSize","shape"]),_splitProps2=_slicedToArray(_splitProps,2),props=_splitProps2[0],other=_splitProps2[1];var eccMap={l:_qrcode.Ecc.get("LOW"),m:_qrcode.Ecc.get("MEDIUM"),q:_qrcode.Ecc.get("QUARTILE"),h:_qrcode.Ecc.get("HIGH")};(0,_solidJs.createEffect)(function(prev){isDark();// 响应主题模式
|
|
2
2
|
var segs=(0,_qrcode.makeSegments)(props.value);var qr=(0,_qrcode.encodeSegments)(segs,eccMap[props.ecl],props.minVersion,props.maxVersion,props.mask,props.boostEcc);var styles;if(props.type==="canvas"){if(props.size<=0||props.border<0||!cvs)throw new RangeError("Value out of range");var scale=props.size/(qr.size+props.border*2);var radius=scale/2;// 半径
|
|
3
3
|
cvs.width=props.size;cvs.height=props.size;styles=window.getComputedStyle(cvs);var ctx=cvs.getContext("2d");var color=props.color||(prev===null||prev===void 0?void 0:prev.color)||styles.color;var bgColor=props.bgColor||(prev===null||prev===void 0?void 0:prev.bg)||styles.backgroundColor;ctx.clearRect(0,0,props.size,props.size);ctx.fillStyle=bgColor;ctx.fillRect(0,0,props.size,props.size);ctx.fillStyle=color;for(var y=-props.border;y<qr.size+props.border;y++){var ypos=(y+props.border)*scale;for(var x=-props.border;x<qr.size+props.border;x++){if(qr.getModule(x,y)){var xpos=(x+props.border)*scale;switch(props.shape){case"circle":ctx.beginPath();ctx.arc(xpos+radius,ypos+radius,radius,0,Math.PI*2);ctx.fill();break;case"heart":ctx.beginPath();ctx.moveTo(xpos+radius,ypos+scale/4);ctx.bezierCurveTo(xpos+scale*0.1,ypos-scale*0.2,xpos-scale*0.3,ypos+scale*0.6,xpos+radius,ypos+scale);ctx.bezierCurveTo(xpos+scale*1.3,ypos+scale*0.6,xpos+scale*0.9,ypos-scale*0.2,xpos+radius,ypos+scale/4);ctx.closePath();ctx.fill();break;case"rhombus":ctx.beginPath();ctx.moveTo(xpos+radius,ypos);ctx.lineTo(xpos+scale,ypos+radius);ctx.lineTo(xpos+radius,ypos+scale);ctx.lineTo(xpos,ypos+radius);ctx.closePath();ctx.fill();break;case"rect":default:// 避免由于小数位带来的间隔问题
|
|
4
|
-
ctx.fillRect(Math.floor(xpos),Math.floor(ypos),Math.ceil(scale),Math.ceil(scale));break}}}}// 恢复缩放
|
|
4
|
+
ctx.fillRect(Math.floor(xpos),Math.floor(ypos),Math.ceil(scale),Math.ceil(scale));break;}}}}// 恢复缩放
|
|
5
5
|
// ctx.restore();
|
|
6
6
|
// 如果有图标,则绘制到中心
|
|
7
|
-
if(other.icon){if(!img){img=new Image(props.iconSize,props.iconSize)}img.src=other.icon;img.onload=function(){var offset=(props.size+props.border*scale-props.iconSize)/2;ctx.drawImage(img,offset,offset,props.iconSize,props.iconSize)}}}else{if(props.border<0){throw new RangeError("Border must be non-negative")}var parts=[];for(var _y=0;_y<qr.size;_y++){for(var _x=0;_x<qr.size;_x++){if(qr.getModule(_x,_y)){switch(props.shape){case"circle":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border+0.5," m -0.5, 0 a 0.5,0.5 0 1,0 1,0 a 0.5,0.5 0 1,0 -1,0"));break;case"rhombus":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border," L").concat(_x+props.border+1,",").concat(_y+props.border+0.5," L").concat(_x+props.border+0.5,",").concat(_y+props.border+1," L").concat(_x+props.border,",").concat(_y+props.border+0.5," Z"));break;case"heart":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border+0.25," C").concat(_x+props.border+0.1,",").concat(_y+props.border-0.2," ").concat(_x+props.border-0.3,",").concat(_y+props.border+0.6," ").concat(_x+props.border+0.5,",").concat(_y+props.border+1," C").concat(_x+props.border+1.3,",").concat(_y+props.border+0.6," ").concat(_x+props.border+0.9,",").concat(_y+props.border-0.2," ").concat(_x+props.border+0.5,",").concat(_y+props.border+0.25," Z"));break;case"rect":default:parts.push("M".concat(_x+props.border,",").concat(_y+props.border,"h1v1h-1z"));break}}}}var paths=svg===null||svg===void 0?void 0:svg.querySelectorAll("path");var box_size=qr.size+props.border*2;svg===null||svg===void 0||svg.setAttribute("viewBox","0 0 ".concat(box_size," ").concat(box_size));styles=window.getComputedStyle(svg);if(paths.length>0){paths[0].setAttribute("d","M0,0 h".concat(box_size,"v").concat(box_size,"H0z"));paths[0].setAttribute("fill",props.bgColor||(prev===null||prev===void 0?void 0:prev.bg)||styles.backgroundColor);paths[1].setAttribute("d",parts.join(" "));paths[1].setAttribute("fill",props.color||(prev===null||prev===void 0?void 0:prev.color)||styles.color)}// icon
|
|
8
|
-
var icon=svg===null||svg===void 0?void 0:svg.querySelector("image");if(icon){var offset="".concat((qr.size+props.border*2-props.iconSize)/2);icon.setAttribute("x",offset);icon.setAttribute("y",offset);icon.setAttribute("width","".concat(props.iconSize));icon.setAttribute("height","".concat(props.iconSize))}}return{color:styles.color,bg:styles.backgroundColor}});return(0,_web.createComponent)(_solidJs.Show,{get when(){return props.type==="svg"},get fallback(){return function(){var _el$5=_tmpl$3();var _ref$2=cvs;typeof _ref$2==="function"?(0,_web.use)(_ref$2,_el$5):cvs=_el$5;return _el$5}()},get children(){var _el$=_tmpl$2(),_el$2=_el$.firstChild,_el$3=_el$2.nextSibling;var _ref$=svg;typeof _ref$==="function"?(0,_web.use)(_ref$,_el$):svg=_el$;(0,_web.insert)(_el$,(0,_web.createComponent)(_solidJs.Show,{get when(){return other.icon},get children(){var _el$4=_tmpl$();(0,_web.effect)(function(){return(0,_web.setAttribute)(_el$4,"href",other.icon)});return _el$4}}),null);(0,_web.effect)(function(_p$){var _v$=props.size,_v$2=props.size;_v$!==_p$.e&&(0,_web.setAttribute)(_el$,"width",_p$.e=_v$);_v$2!==_p$.t&&(0,_web.setAttribute)(_el$,"height",_p$.t=_v$2);return _p$},{e:undefined,t:undefined});return _el$}})};var defaultProps=exports.defaultProps={value:"",icon:void 0,color:void 0,bgColor:void 0,size:void 0,iconSize:void 0,ecl:void 0,minVersion:void 0,maxVersion:void 0,mask:void 0,boostEcc:false,border:void 0,type:void 0,shape:void 0};QRCode.registry=function(){(0,_solidElement.customElement)("n-qrcode",defaultProps,function(props,opt){var el=opt.element;(0,_solidJs.createEffect)(function(){(0,_basicConfig.clearAttribute)(el,["value","icon"])});return[function(){var _el$6=_tmpl$4();_el$6.textContent=_theme.inline;return _el$6}(),(0,_web.createComponent)(QRCode,props)]})};var _default=exports["default"]=QRCode;
|
|
9
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc29saWRKcyIsInJlcXVpcmUiLCJfc29saWRFbGVtZW50IiwiX2Jhc2ljQ29uZmlnIiwiX3RoZW1lIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcXJjb2RlIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfdG1wbCQiLCJfd2ViIiwidGVtcGxhdGUiLCJfdG1wbCQyIiwiX3RtcGwkMyIsIl90bXBsJDQiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJhIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsImxlbmd0aCIsImwiLCJTeW1ib2wiLCJpdGVyYXRvciIsInUiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImlzQXJyYXkiLCJRUkNvZGUiLCJfcHJvcHMiLCJpc0RhcmsiLCJ0aGVtZSIsImN2cyIsInN2ZyIsImltZyIsIm5vcm1hbCIsIm1lcmdlUHJvcHMiLCJzaXplIiwiaWNvblNpemUiLCJib3JkZXIiLCJlY2wiLCJ0eXBlIiwiX3NwbGl0UHJvcHMiLCJzcGxpdFByb3BzIiwiX3NwbGl0UHJvcHMyIiwicHJvcHMiLCJvdGhlciIsImVjY01hcCIsIkVjYyIsIm0iLCJxIiwiaCIsImNyZWF0ZUVmZmVjdCIsInByZXYiLCJzZWdzIiwibWFrZVNlZ21lbnRzIiwicXIiLCJlbmNvZGVTZWdtZW50cyIsIm1pblZlcnNpb24iLCJtYXhWZXJzaW9uIiwibWFzayIsImJvb3N0RWNjIiwic3R5bGVzIiwiUmFuZ2VFcnJvciIsInNjYWxlIiwicmFkaXVzIiwid2lkdGgiLCJoZWlnaHQiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwiY3R4IiwiZ2V0Q29udGV4dCIsImNvbG9yIiwiYmdDb2xvciIsImJnIiwiYmFja2dyb3VuZENvbG9yIiwiY2xlYXJSZWN0IiwiZmlsbFN0eWxlIiwiZmlsbFJlY3QiLCJ5IiwieXBvcyIsIngiLCJnZXRNb2R1bGUiLCJ4cG9zIiwic2hhcGUiLCJiZWdpblBhdGgiLCJhcmMiLCJNYXRoIiwiUEkiLCJmaWxsIiwibW92ZVRvIiwiYmV6aWVyQ3VydmVUbyIsImNsb3NlUGF0aCIsImxpbmVUbyIsImZsb29yIiwiY2VpbCIsImljb24iLCJJbWFnZSIsInNyYyIsIm9ubG9hZCIsIm9mZnNldCIsImRyYXdJbWFnZSIsInBhcnRzIiwiY29uY2F0IiwicGF0aHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiYm94X3NpemUiLCJzZXRBdHRyaWJ1dGUiLCJqb2luIiwicXVlcnlTZWxlY3RvciIsImNyZWF0ZUNvbXBvbmVudCIsIlNob3ciLCJ3aGVuIiwiZmFsbGJhY2siLCJfZWwkNSIsIl9yZWYkMiIsInVzZSIsImNoaWxkcmVuIiwiX2VsJCIsIl9lbCQyIiwiZmlyc3RDaGlsZCIsIl9lbCQzIiwibmV4dFNpYmxpbmciLCJfcmVmJCIsImluc2VydCIsIl9lbCQ0IiwiZWZmZWN0IiwiX3AkIiwiX3YkIiwiX3YkMiIsInVuZGVmaW5lZCIsImRlZmF1bHRQcm9wcyIsImV4cG9ydHMiLCJyZWdpc3RyeSIsImN1c3RvbUVsZW1lbnQiLCJvcHQiLCJlbCIsImVsZW1lbnQiLCJjbGVhckF0dHJpYnV0ZSIsIl9lbCQ2IiwidGV4dENvbnRlbnQiLCJpbmxpbmUiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcXJjb2RlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFZmZlY3QsIEpTWCwgbWVyZ2VQcm9wcywgU2hvdywgc3BsaXRQcm9wcyB9IGZyb20gJ3NvbGlkLWpzJztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdzb2xpZC1lbGVtZW50JztcblxuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lLCB7IGlubGluZSB9IGZyb20gJy4uL3RoZW1lJztcblxuaW1wb3J0IHsgRWNjLCBlbmNvZGVTZWdtZW50cywgdHlwZSBJbnRSYW5nZSwgbWFrZVNlZ21lbnRzIH0gZnJvbSAnLi9xcmNvZGUnO1xuZXhwb3J0IHR5cGUgeyBJbnRSYW5nZSB9IGZyb20gJy4vcXJjb2RlJztcbmV4cG9ydCBpbnRlcmZhY2UgUXJDb2RlUHJvcHMge1xuICAvKiog6Ieq5a6a5LmJ57G75ZCNICovXG4gIGNsYXNzPzogc3RyaW5nO1xuICBzdHlsZT86IHN0cmluZyB8IEpTWC5DU1NQcm9wZXJ0aWVzO1xuICAvKiog5LqM57u056CB5YC8ICovXG4gIHZhbHVlOiBzdHJpbmc7XG4gIC8qKiDkuoznu7TnoIHmqKHlnZfnmoTpopzoibIgKi9cbiAgY29sb3I/OiBzdHJpbmc7XG4gIC8qKiDkuoznu7TnoIHog4zmma/oibIgKi9cbiAgYmdDb2xvcj86IHN0cmluZztcbiAgLyoqXG4gICAqIOS6jOe7tOeggeWwuuWvuFxuICAgKiBAZGVmYXVsdCAxNTBcbiAgICovXG4gIHNpemU/OiBudW1iZXI7XG4gIC8qKiDnuqDplJnnrYnnuqc7IOWIhuWIq+WvueW6lDcl44CBMTUl44CBMjUl44CBMzAl55qE5pWw5o2u57qg6ZSZ6IO95YqbXG4gICAqIEBkZWZhdWx0ICdtJ1xuICAgKi9cbiAgZWNsPzogJ2wnIHwgJ20nIHwgJ3EnIHwgJ2gnO1xuICAvKipcbiAgICog5pSv5oyB55qEUVLnoIHmqKHlnosy5qCH5YeG5pyA5bCP54mI5pysXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIG1pblZlcnNpb24/OiBJbnRSYW5nZTwxLCA0MT47XG4gIC8qKlxuICAgKiDmlK/mjIHnmoRRUueggeaooeWeizLmoIflh4bmnIDlpKfniYjmnKxcbiAgICogQGRlZmF1bHQgNDBcbiAgICovXG4gIG1heFZlcnNpb24/OiBJbnRSYW5nZTwxLCA0MT47XG4gIC8qKlxuICAgKiDmjqnnoIHmqKHlvI87IOS4uiAtMSDml7bvvIzooajnpLroh6rliqjpgInmi6lcbiAgICogQGRlZmF1bHQgLTFcbiAgICovXG4gIG1hc2s/OiAtMSB8IEludFJhbmdlPDAsIDg+O1xuICAvKipcbiAgICog5Zyo5pWw5o2u5LuN54S26YCC5ZCI5b2T5YmN54mI5pys5Y+355qE5oOF5Ya15LiL5o+Q6auY57qg6ZSZ57qn5YirXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGJvb3N0RWNjPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOaooeWdl+WkluWbtOeahOi+ueahhuWuveW6pu+8iOaooeWdl+WNleS9je+8jOmdnuWDj+e0oO+8iVxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBib3JkZXI/OiBJbnRSYW5nZTwxLCAxMDE+O1xuICAvKipcbiAgICog5riy5p+T5pa55byPXG4gICAqIEBkZWZhdWx0ICdzdmcnXG4gICAqL1xuICB0eXBlPzogJ3N2ZycgfCAnY2FudmFzJztcbiAgLyoqXG4gICAqIOS6jOe7tOeggeWbvuagh1xuICAgKi9cbiAgaWNvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIOS6jOe7tOeggeWbvuagh+WwuuWvuFxuICAgKiBAZGVmYXVsdCA3XG4gICAqL1xuICBpY29uU2l6ZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIOaooeWdl+W9oueKtlxuICAgKiBAZGVmYXVsdCAncmVjdCdcbiAgICogQHNpbmNlIDIuOS4xXG4gICAqL1xuICBzaGFwZT86ICdyZWN0JyB8ICdyaG9tYnVzJyB8ICdoZWFydCcgfCAnY2lyY2xlJztcbn1cbmNvbnN0IFFSQ29kZSA9IChfcHJvcHM6IFFyQ29kZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgaXNEYXJrIH0gPSB0aGVtZTtcbiAgbGV0IGN2czogSFRNTENhbnZhc0VsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGxldCBzdmc6IFNWR1NWR0VsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGxldCBpbWc6IEhUTUxJbWFnZUVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IG5vcm1hbCA9IG1lcmdlUHJvcHMoXG4gICAge1xuICAgICAgc2l6ZTogMTYwLFxuICAgICAgaWNvblNpemU6IDcsXG4gICAgICBib3JkZXI6IDEsXG4gICAgICBlY2w6ICdtJyBhcyBjb25zdCxcbiAgICAgIHR5cGU6ICdzdmcnIGFzIGNvbnN0LFxuICAgIH0sXG4gICAgX3Byb3BzLFxuICApO1xuICBjb25zdCBbcHJvcHMsIG90aGVyXSA9IHNwbGl0UHJvcHMobm9ybWFsLCBbXG4gICAgJ3ZhbHVlJyxcbiAgICAnYm9yZGVyJyxcbiAgICAnc2l6ZScsXG4gICAgJ3R5cGUnLFxuICAgICdtaW5WZXJzaW9uJyxcbiAgICAnbWF4VmVyc2lvbicsXG4gICAgJ21hc2snLFxuICAgICdib29zdEVjYycsXG4gICAgJ2VjbCcsXG4gICAgJ2JnQ29sb3InLFxuICAgICdjb2xvcicsXG4gICAgJ2ljb25TaXplJyxcbiAgICAnc2hhcGUnLFxuICBdKTtcbiAgY29uc3QgZWNjTWFwID0ge1xuICAgIGw6IEVjYy5nZXQoJ0xPVycpLFxuICAgIG06IEVjYy5nZXQoJ01FRElVTScpLFxuICAgIHE6IEVjYy5nZXQoJ1FVQVJUSUxFJyksXG4gICAgaDogRWNjLmdldCgnSElHSCcpLFxuICB9O1xuXG4gIGNyZWF0ZUVmZmVjdCgocHJldj86IHsgY29sb3I/OiBzdHJpbmc7IGJnPzogc3RyaW5nIH0pID0+IHtcbiAgICBpc0RhcmsoKTsgLy8g5ZON5bqU5Li76aKY5qih5byPXG4gICAgY29uc3Qgc2VncyA9IG1ha2VTZWdtZW50cyhwcm9wcy52YWx1ZSk7XG4gICAgY29uc3QgcXIgPSBlbmNvZGVTZWdtZW50cyhcbiAgICAgIHNlZ3MsXG4gICAgICBlY2NNYXBbcHJvcHMuZWNsXSxcbiAgICAgIHByb3BzLm1pblZlcnNpb24sXG4gICAgICBwcm9wcy5tYXhWZXJzaW9uLFxuICAgICAgcHJvcHMubWFzayxcbiAgICAgIHByb3BzLmJvb3N0RWNjLFxuICAgICk7XG4gICAgbGV0IHN0eWxlczogQ1NTU3R5bGVEZWNsYXJhdGlvbjtcblxuICAgIGlmIChwcm9wcy50eXBlID09PSAnY2FudmFzJykge1xuICAgICAgaWYgKHByb3BzLnNpemUgPD0gMCB8fCBwcm9wcy5ib3JkZXIgPCAwIHx8ICFjdnMpIHRocm93IG5ldyBSYW5nZUVycm9yKCdWYWx1ZSBvdXQgb2YgcmFuZ2UnKTtcbiAgICAgIGNvbnN0IHNjYWxlID0gcHJvcHMuc2l6ZSAvIChxci5zaXplICsgcHJvcHMuYm9yZGVyICogMik7XG4gICAgICBjb25zdCByYWRpdXMgPSBzY2FsZSAvIDI7IC8vIOWNiuW+hFxuXG4gICAgICBjdnMud2lkdGggPSBwcm9wcy5zaXplO1xuICAgICAgY3ZzLmhlaWdodCA9IHByb3BzLnNpemU7XG4gICAgICBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjdnMgYXMgdW5rbm93biBhcyBFbGVtZW50KTtcbiAgICAgIGNvbnN0IGN0eCA9IGN2cy5nZXRDb250ZXh0KCcyZCcpIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgICAgIGNvbnN0IGNvbG9yID0gcHJvcHMuY29sb3IgfHwgcHJldj8uY29sb3IgfHwgc3R5bGVzLmNvbG9yO1xuICAgICAgY29uc3QgYmdDb2xvciA9IHByb3BzLmJnQ29sb3IgfHwgcHJldj8uYmcgfHwgc3R5bGVzLmJhY2tncm91bmRDb2xvcjtcblxuICAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCBwcm9wcy5zaXplLCBwcm9wcy5zaXplKTtcbiAgICAgIGN0eC5maWxsU3R5bGUgPSBiZ0NvbG9yO1xuICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIHByb3BzLnNpemUsIHByb3BzLnNpemUpO1xuICAgICAgY3R4LmZpbGxTdHlsZSA9IGNvbG9yO1xuICAgICAgZm9yIChsZXQgeSA9IC1wcm9wcy5ib3JkZXI7IHkgPCBxci5zaXplICsgcHJvcHMuYm9yZGVyOyB5KyspIHtcbiAgICAgICAgY29uc3QgeXBvcyA9ICh5ICsgcHJvcHMuYm9yZGVyKSAqIHNjYWxlO1xuXG4gICAgICAgIGZvciAobGV0IHggPSAtcHJvcHMuYm9yZGVyOyB4IDwgcXIuc2l6ZSArIHByb3BzLmJvcmRlcjsgeCsrKSB7XG4gICAgICAgICAgaWYgKHFyLmdldE1vZHVsZSh4LCB5KSkge1xuICAgICAgICAgICAgY29uc3QgeHBvcyA9ICh4ICsgcHJvcHMuYm9yZGVyKSAqIHNjYWxlO1xuXG4gICAgICAgICAgICBzd2l0Y2ggKHByb3BzLnNoYXBlKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ2NpcmNsZSc6XG4gICAgICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICAgICAgICAgIGN0eC5hcmMoeHBvcyArIHJhZGl1cywgeXBvcyArIHJhZGl1cywgcmFkaXVzLCAwLCBNYXRoLlBJICogMik7XG4gICAgICAgICAgICAgICAgY3R4LmZpbGwoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAnaGVhcnQnOlxuICAgICAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgICAgICAgICAgICBjdHgubW92ZVRvKHhwb3MgKyByYWRpdXMsIHlwb3MgKyBzY2FsZSAvIDQpO1xuICAgICAgICAgICAgICAgIGN0eC5iZXppZXJDdXJ2ZVRvKFxuICAgICAgICAgICAgICAgICAgeHBvcyArIHNjYWxlICogMC4xLFxuICAgICAgICAgICAgICAgICAgeXBvcyAtIHNjYWxlICogMC4yLFxuICAgICAgICAgICAgICAgICAgeHBvcyAtIHNjYWxlICogMC4zLFxuICAgICAgICAgICAgICAgICAgeXBvcyArIHNjYWxlICogMC42LFxuICAgICAgICAgICAgICAgICAgeHBvcyArIHJhZGl1cyxcbiAgICAgICAgICAgICAgICAgIHlwb3MgKyBzY2FsZSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGN0eC5iZXppZXJDdXJ2ZVRvKFxuICAgICAgICAgICAgICAgICAgeHBvcyArIHNjYWxlICogMS4zLFxuICAgICAgICAgICAgICAgICAgeXBvcyArIHNjYWxlICogMC42LFxuICAgICAgICAgICAgICAgICAgeHBvcyArIHNjYWxlICogMC45LFxuICAgICAgICAgICAgICAgICAgeXBvcyAtIHNjYWxlICogMC4yLFxuICAgICAgICAgICAgICAgICAgeHBvcyArIHJhZGl1cyxcbiAgICAgICAgICAgICAgICAgIHlwb3MgKyBzY2FsZSAvIDQsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBjdHguY2xvc2VQYXRoKCk7XG4gICAgICAgICAgICAgICAgY3R4LmZpbGwoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAncmhvbWJ1cyc6XG4gICAgICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICAgICAgICAgIGN0eC5tb3ZlVG8oeHBvcyArIHJhZGl1cywgeXBvcyk7XG4gICAgICAgICAgICAgICAgY3R4LmxpbmVUbyh4cG9zICsgc2NhbGUsIHlwb3MgKyByYWRpdXMpO1xuICAgICAgICAgICAgICAgIGN0eC5saW5lVG8oeHBvcyArIHJhZGl1cywgeXBvcyArIHNjYWxlKTtcbiAgICAgICAgICAgICAgICBjdHgubGluZVRvKHhwb3MsIHlwb3MgKyByYWRpdXMpO1xuICAgICAgICAgICAgICAgIGN0eC5jbG9zZVBhdGgoKTtcbiAgICAgICAgICAgICAgICBjdHguZmlsbCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdyZWN0JzpcbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAvLyDpgb/lhY3nlLHkuo7lsI/mlbDkvY3luKbmnaXnmoTpl7TpmpTpl67pophcbiAgICAgICAgICAgICAgICBjdHguZmlsbFJlY3QoXG4gICAgICAgICAgICAgICAgICBNYXRoLmZsb29yKHhwb3MpLFxuICAgICAgICAgICAgICAgICAgTWF0aC5mbG9vcih5cG9zKSxcbiAgICAgICAgICAgICAgICAgIE1hdGguY2VpbChzY2FsZSksXG4gICAgICAgICAgICAgICAgICBNYXRoLmNlaWwoc2NhbGUpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyDmgaLlpI3nvKnmlL5cbiAgICAgIC8vIGN0eC5yZXN0b3JlKCk7XG4gICAgICAvLyDlpoLmnpzmnInlm77moIfvvIzliJnnu5jliLbliLDkuK3lv4NcbiAgICAgIGlmIChvdGhlci5pY29uKSB7XG4gICAgICAgIGlmICghaW1nKSB7XG4gICAgICAgICAgaW1nID0gbmV3IEltYWdlKHByb3BzLmljb25TaXplLCBwcm9wcy5pY29uU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaW1nLnNyYyA9IG90aGVyLmljb247XG4gICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gKHByb3BzLnNpemUgKyBwcm9wcy5ib3JkZXIgKiBzY2FsZSAtIHByb3BzLmljb25TaXplKSAvIDI7XG5cbiAgICAgICAgICBjdHguZHJhd0ltYWdlKGltZyEsIG9mZnNldCwgb2Zmc2V0LCBwcm9wcy5pY29uU2l6ZSwgcHJvcHMuaWNvblNpemUpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocHJvcHMuYm9yZGVyIDwgMCkge1xuICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQm9yZGVyIG11c3QgYmUgbm9uLW5lZ2F0aXZlJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcblxuICAgICAgZm9yIChsZXQgeSA9IDA7IHkgPCBxci5zaXplOyB5KyspIHtcbiAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCBxci5zaXplOyB4KyspIHtcbiAgICAgICAgICBpZiAocXIuZ2V0TW9kdWxlKHgsIHkpKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHByb3BzLnNoYXBlKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ2NpcmNsZSc6XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgICAgIGBNJHt4ICsgcHJvcHMuYm9yZGVyICsgMC41fSwke1xuICAgICAgICAgICAgICAgICAgICB5ICsgcHJvcHMuYm9yZGVyICsgMC41XG4gICAgICAgICAgICAgICAgICB9IG0gLTAuNSwgMCBhIDAuNSwwLjUgMCAxLDAgMSwwIGEgMC41LDAuNSAwIDEsMCAtMSwwYCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdyaG9tYnVzJzpcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgYE0ke3ggKyBwcm9wcy5ib3JkZXIgKyAwLjV9LCR7eSArIHByb3BzLmJvcmRlcn0gTCR7eCArIHByb3BzLmJvcmRlciArIDF9LCR7XG4gICAgICAgICAgICAgICAgICAgIHkgKyBwcm9wcy5ib3JkZXIgKyAwLjVcbiAgICAgICAgICAgICAgICAgIH0gTCR7eCArIHByb3BzLmJvcmRlciArIDAuNX0sJHt5ICsgcHJvcHMuYm9yZGVyICsgMX0gTCR7eCArIHByb3BzLmJvcmRlcn0sJHtcbiAgICAgICAgICAgICAgICAgICAgeSArIHByb3BzLmJvcmRlciArIDAuNVxuICAgICAgICAgICAgICAgICAgfSBaYCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdoZWFydCc6XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgICAgIGBNJHt4ICsgcHJvcHMuYm9yZGVyICsgMC41fSwke3kgKyBwcm9wcy5ib3JkZXIgKyAwLjI1fSBDJHtcbiAgICAgICAgICAgICAgICAgICAgeCArIHByb3BzLmJvcmRlciArIDAuMVxuICAgICAgICAgICAgICAgICAgfSwke3kgKyBwcm9wcy5ib3JkZXIgLSAwLjJ9ICR7eCArIHByb3BzLmJvcmRlciAtIDAuM30sJHt5ICsgcHJvcHMuYm9yZGVyICsgMC42fSAke1xuICAgICAgICAgICAgICAgICAgICB4ICsgcHJvcHMuYm9yZGVyICsgMC41XG4gICAgICAgICAgICAgICAgICB9LCR7eSArIHByb3BzLmJvcmRlciArIDF9IEMke3ggKyBwcm9wcy5ib3JkZXIgKyAxLjN9LCR7eSArIHByb3BzLmJvcmRlciArIDAuNn0gJHtcbiAgICAgICAgICAgICAgICAgICAgeCArIHByb3BzLmJvcmRlciArIDAuOVxuICAgICAgICAgICAgICAgICAgfSwke3kgKyBwcm9wcy5ib3JkZXIgLSAwLjJ9ICR7eCArIHByb3BzLmJvcmRlciArIDAuNX0sJHtcbiAgICAgICAgICAgICAgICAgICAgeSArIHByb3BzLmJvcmRlciArIDAuMjVcbiAgICAgICAgICAgICAgICAgIH0gWmAsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAncmVjdCc6XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChgTSR7eCArIHByb3BzLmJvcmRlcn0sJHt5ICsgcHJvcHMuYm9yZGVyfWgxdjFoLTF6YCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBwYXRocyA9IHN2Zz8ucXVlcnlTZWxlY3RvckFsbCgncGF0aCcpIGFzIHVua25vd24gYXMgU1ZHUGF0aEVsZW1lbnRbXTtcbiAgICAgIGNvbnN0IGJveF9zaXplID0gcXIuc2l6ZSArIHByb3BzLmJvcmRlciAqIDI7XG5cbiAgICAgIHN2Zz8uc2V0QXR0cmlidXRlKCd2aWV3Qm94JywgYDAgMCAke2JveF9zaXplfSAke2JveF9zaXplfWApO1xuICAgICAgc3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoc3ZnIGFzIHVua25vd24gYXMgRWxlbWVudCk7XG4gICAgICBpZiAocGF0aHMubGVuZ3RoID4gMCkge1xuICAgICAgICBwYXRoc1swXS5zZXRBdHRyaWJ1dGUoJ2QnLCBgTTAsMCBoJHtib3hfc2l6ZX12JHtib3hfc2l6ZX1IMHpgKTtcbiAgICAgICAgcGF0aHNbMF0uc2V0QXR0cmlidXRlKCdmaWxsJywgcHJvcHMuYmdDb2xvciB8fCBwcmV2Py5iZyB8fCBzdHlsZXMuYmFja2dyb3VuZENvbG9yKTtcbiAgICAgICAgcGF0aHNbMV0uc2V0QXR0cmlidXRlKCdkJywgcGFydHMuam9pbignICcpKTtcbiAgICAgICAgcGF0aHNbMV0uc2V0QXR0cmlidXRlKCdmaWxsJywgcHJvcHMuY29sb3IgfHwgcHJldj8uY29sb3IgfHwgc3R5bGVzLmNvbG9yKTtcbiAgICAgIH1cbiAgICAgIC8vIGljb25cbiAgICAgIGNvbnN0IGljb24gPSBzdmc/LnF1ZXJ5U2VsZWN0b3IoJ2ltYWdlJyk7XG5cbiAgICAgIGlmIChpY29uKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IGAkeyhxci5zaXplICsgcHJvcHMuYm9yZGVyICogMiAtIHByb3BzLmljb25TaXplKSAvIDJ9YDtcblxuICAgICAgICBpY29uLnNldEF0dHJpYnV0ZSgneCcsIG9mZnNldCk7XG4gICAgICAgIGljb24uc2V0QXR0cmlidXRlKCd5Jywgb2Zmc2V0KTtcbiAgICAgICAgaWNvbi5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7cHJvcHMuaWNvblNpemV9YCk7XG4gICAgICAgIGljb24uc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBgJHtwcm9wcy5pY29uU2l6ZX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IHN0eWxlcy5jb2xvcixcbiAgICAgIGJnOiBzdHlsZXMuYmFja2dyb3VuZENvbG9yLFxuICAgIH07XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPFNob3cgd2hlbj17cHJvcHMudHlwZSA9PT0gJ3N2Zyd9IGZhbGxiYWNrPXs8Y2FudmFzIHJlZj17Y3ZzfSByb2xlPVwiaW1nXCIgLz59PlxuICAgICAgPHN2Z1xuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgc3Ryb2tlPVwibm9uZVwiXG4gICAgICAgIHdpZHRoPXtwcm9wcy5zaXplfVxuICAgICAgICBoZWlnaHQ9e3Byb3BzLnNpemV9XG4gICAgICAgIHJlZj17c3ZnfVxuICAgICAgICBzaGFwZS1yZW5kZXJpbmc9XCJjcmlzcEVkZ2VzXCJcbiAgICAgICAgcm9sZT1cImltZ1wiXG4gICAgICA+XG4gICAgICAgIDxwYXRoIC8+XG4gICAgICAgIDxwYXRoIC8+XG4gICAgICAgIDxTaG93IHdoZW49e290aGVyLmljb259PlxuICAgICAgICAgIDxpbWFnZSBocmVmPXtvdGhlci5pY29ufSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiIC8+XG4gICAgICAgIDwvU2hvdz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvU2hvdz5cbiAgKTtcbn07XG5cbmV4cG9ydCB0eXBlIFFyQ29kZUVsZW1lbnQgPSBDdXN0b21FbGVtZW50PFFyQ29kZVByb3BzPjtcbmV4cG9ydCBjb25zdCBkZWZhdWx0UHJvcHM6IFFyQ29kZVByb3BzID0ge1xuICB2YWx1ZTogJycsXG4gIGljb246IHZvaWQgMCxcbiAgY29sb3I6IHZvaWQgMCxcbiAgYmdDb2xvcjogdm9pZCAwLFxuICBzaXplOiB2b2lkIDAsXG4gIGljb25TaXplOiB2b2lkIDAsXG4gIGVjbDogdm9pZCAwLFxuICBtaW5WZXJzaW9uOiB2b2lkIDAsXG4gIG1heFZlcnNpb246IHZvaWQgMCxcbiAgbWFzazogdm9pZCAwLFxuICBib29zdEVjYzogZmFsc2UsXG4gIGJvcmRlcjogdm9pZCAwLFxuICB0eXBlOiB2b2lkIDAsXG4gIHNoYXBlOiB2b2lkIDAsXG59O1xuXG5RUkNvZGUucmVnaXN0cnkgPSAoKSA9PiB7XG4gIGN1c3RvbUVsZW1lbnQ8UXJDb2RlUHJvcHM+KCduLXFyY29kZScsIGRlZmF1bHRQcm9wcywgKHByb3BzLCBvcHQpID0+IHtcbiAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuXG4gICAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNsZWFyQXR0cmlidXRlKGVsLCBbJ3ZhbHVlJywgJ2ljb24nXSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17aW5saW5lfSAvPlxuICAgICAgICA8UVJDb2RlIHsuLi5wcm9wc30gLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH0pO1xufTtcbmV4cG9ydCBkZWZhdWx0IFFSQ29kZTtcbiJdLCJtYXBwaW5ncyI6IndhQUFBLElBQUFBLFFBQUEsQ0FBQUMsT0FBQSxhQUNBLElBQUFDLGFBQUEsQ0FBQUQsT0FBQSxrQkFFQSxJQUFBRSxZQUFBLENBQUFGLE9BQUEsb0JBQ0EsSUFBQUcsTUFBQSxDQUFBQyx1QkFBQSxDQUFBSixPQUFBLGNBRUEsSUFBQUssT0FBQSxDQUFBTCxPQUFBLGFBQTRFLFNBQUFJLHdCQUFBRSxDQUFBLENBQUFDLENBQUEsd0JBQUFDLE9BQUEsS0FBQUMsQ0FBQSxLQUFBRCxPQUFBLENBQUFFLENBQUEsS0FBQUYsT0FBQSxRQUFBSix1QkFBQSxVQUFBQSx3QkFBQUUsQ0FBQSxDQUFBQyxDQUFBLE1BQUFBLENBQUEsRUFBQUQsQ0FBQSxFQUFBQSxDQUFBLENBQUFLLFVBQUEsUUFBQUwsQ0FBQSxLQUFBTSxDQUFBLENBQUFDLENBQUEsQ0FBQUMsQ0FBQSxFQUFBQyxTQUFBLGdCQUFBVCxDQUFBLFlBQUFBLENBQUEsWUFBQVUsT0FBQSxDQUFBVixDQUFBLHNCQUFBQSxDQUFBLFFBQUFRLENBQUEsSUFBQUYsQ0FBQSxDQUFB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
|
|
7
|
+
if(other.icon){if(!img){img=new Image(props.iconSize,props.iconSize);}img.src=other.icon;img.onload=function(){var offset=(props.size+props.border*scale-props.iconSize)/2;ctx.drawImage(img,offset,offset,props.iconSize,props.iconSize);};}}else{if(props.border<0){throw new RangeError("Border must be non-negative");}var parts=[];for(var _y=0;_y<qr.size;_y++){for(var _x=0;_x<qr.size;_x++){if(qr.getModule(_x,_y)){switch(props.shape){case"circle":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border+0.5," m -0.5, 0 a 0.5,0.5 0 1,0 1,0 a 0.5,0.5 0 1,0 -1,0"));break;case"rhombus":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border," L").concat(_x+props.border+1,",").concat(_y+props.border+0.5," L").concat(_x+props.border+0.5,",").concat(_y+props.border+1," L").concat(_x+props.border,",").concat(_y+props.border+0.5," Z"));break;case"heart":parts.push("M".concat(_x+props.border+0.5,",").concat(_y+props.border+0.25," C").concat(_x+props.border+0.1,",").concat(_y+props.border-0.2," ").concat(_x+props.border-0.3,",").concat(_y+props.border+0.6," ").concat(_x+props.border+0.5,",").concat(_y+props.border+1," C").concat(_x+props.border+1.3,",").concat(_y+props.border+0.6," ").concat(_x+props.border+0.9,",").concat(_y+props.border-0.2," ").concat(_x+props.border+0.5,",").concat(_y+props.border+0.25," Z"));break;case"rect":default:parts.push("M".concat(_x+props.border,",").concat(_y+props.border,"h1v1h-1z"));break;}}}}var paths=svg===null||svg===void 0?void 0:svg.querySelectorAll("path");var box_size=qr.size+props.border*2;svg===null||svg===void 0||svg.setAttribute("viewBox","0 0 ".concat(box_size," ").concat(box_size));styles=window.getComputedStyle(svg);if(paths.length>0){paths[0].setAttribute("d","M0,0 h".concat(box_size,"v").concat(box_size,"H0z"));paths[0].setAttribute("fill",props.bgColor||(prev===null||prev===void 0?void 0:prev.bg)||styles.backgroundColor);paths[1].setAttribute("d",parts.join(" "));paths[1].setAttribute("fill",props.color||(prev===null||prev===void 0?void 0:prev.color)||styles.color);}// icon
|
|
8
|
+
var icon=svg===null||svg===void 0?void 0:svg.querySelector("image");if(icon){var offset="".concat((qr.size+props.border*2-props.iconSize)/2);icon.setAttribute("x",offset);icon.setAttribute("y",offset);icon.setAttribute("width","".concat(props.iconSize));icon.setAttribute("height","".concat(props.iconSize));}}return{color:styles.color,bg:styles.backgroundColor};});return(0,_web.createComponent)(_solidJs.Show,{get when(){return props.type==="svg"},get fallback(){return function(){var _el$5=_tmpl$3();var _ref$2=cvs;typeof _ref$2==="function"?(0,_web.use)(_ref$2,_el$5):cvs=_el$5;return _el$5}()},get children(){var _el$=_tmpl$2(),_el$2=_el$.firstChild,_el$3=_el$2.nextSibling;var _ref$=svg;typeof _ref$==="function"?(0,_web.use)(_ref$,_el$):svg=_el$;(0,_web.insert)(_el$,(0,_web.createComponent)(_solidJs.Show,{get when(){return other.icon},get children(){var _el$4=_tmpl$();(0,_web.effect)(function(){return(0,_web.setAttribute)(_el$4,"href",other.icon)});return _el$4}}),null);(0,_web.effect)(function(_p$){var _v$=props.size,_v$2=props.size;_v$!==_p$.e&&(0,_web.setAttribute)(_el$,"width",_p$.e=_v$);_v$2!==_p$.t&&(0,_web.setAttribute)(_el$,"height",_p$.t=_v$2);return _p$},{e:undefined,t:undefined});return _el$}});};var defaultProps=exports.defaultProps={value:"",icon:void 0,color:void 0,bgColor:void 0,size:void 0,iconSize:void 0,ecl:void 0,minVersion:void 0,maxVersion:void 0,mask:void 0,boostEcc:false,border:void 0,type:void 0,shape:void 0};QRCode.registry=function(){(0,_solidElement.customElement)("n-qrcode",defaultProps,function(props,opt){var el=opt.element;(0,_solidJs.createEffect)(function(){(0,_basicConfig.clearAttribute)(el,["value","icon"]);});return[function(){var _el$6=_tmpl$4();_el$6.textContent=_theme.inline;return _el$6}(),(0,_web.createComponent)(QRCode,props)];});};var _default=exports["default"]=QRCode;
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc29saWRKcyIsInJlcXVpcmUiLCJfc29saWRFbGVtZW50IiwiX2Jhc2ljQ29uZmlnIiwiX3RoZW1lIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcXJjb2RlIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfdG1wbCQiLCJfd2ViIiwidGVtcGxhdGUiLCJfdG1wbCQyIiwiX3RtcGwkMyIsIl90bXBsJDQiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJhIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsImxlbmd0aCIsImwiLCJTeW1ib2wiLCJpdGVyYXRvciIsInUiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImlzQXJyYXkiLCJRUkNvZGUiLCJfcHJvcHMiLCJpc0RhcmsiLCJ0aGVtZSIsImN2cyIsInN2ZyIsImltZyIsIm5vcm1hbCIsIm1lcmdlUHJvcHMiLCJzaXplIiwiaWNvblNpemUiLCJib3JkZXIiLCJlY2wiLCJ0eXBlIiwiX3NwbGl0UHJvcHMiLCJzcGxpdFByb3BzIiwiX3NwbGl0UHJvcHMyIiwicHJvcHMiLCJvdGhlciIsImVjY01hcCIsIkVjYyIsIm0iLCJxIiwiaCIsImNyZWF0ZUVmZmVjdCIsInByZXYiLCJzZWdzIiwibWFrZVNlZ21lbnRzIiwicXIiLCJlbmNvZGVTZWdtZW50cyIsIm1pblZlcnNpb24iLCJtYXhWZXJzaW9uIiwibWFzayIsImJvb3N0RWNjIiwic3R5bGVzIiwiUmFuZ2VFcnJvciIsInNjYWxlIiwicmFkaXVzIiwid2lkdGgiLCJoZWlnaHQiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwiY3R4IiwiZ2V0Q29udGV4dCIsImNvbG9yIiwiYmdDb2xvciIsImJnIiwiYmFja2dyb3VuZENvbG9yIiwiY2xlYXJSZWN0IiwiZmlsbFN0eWxlIiwiZmlsbFJlY3QiLCJ5IiwieXBvcyIsIngiLCJnZXRNb2R1bGUiLCJ4cG9zIiwic2hhcGUiLCJiZWdpblBhdGgiLCJhcmMiLCJNYXRoIiwiUEkiLCJmaWxsIiwibW92ZVRvIiwiYmV6aWVyQ3VydmVUbyIsImNsb3NlUGF0aCIsImxpbmVUbyIsImZsb29yIiwiY2VpbCIsImljb24iLCJJbWFnZSIsInNyYyIsIm9ubG9hZCIsIm9mZnNldCIsImRyYXdJbWFnZSIsInBhcnRzIiwiY29uY2F0IiwicGF0aHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiYm94X3NpemUiLCJzZXRBdHRyaWJ1dGUiLCJqb2luIiwicXVlcnlTZWxlY3RvciIsImNyZWF0ZUNvbXBvbmVudCIsIlNob3ciLCJ3aGVuIiwiZmFsbGJhY2siLCJfZWwkNSIsIl9yZWYkMiIsInVzZSIsImNoaWxkcmVuIiwiX2VsJCIsIl9lbCQyIiwiZmlyc3RDaGlsZCIsIl9lbCQzIiwibmV4dFNpYmxpbmciLCJfcmVmJCIsImluc2VydCIsIl9lbCQ0IiwiZWZmZWN0IiwiX3AkIiwiX3YkIiwiX3YkMiIsInVuZGVmaW5lZCIsImRlZmF1bHRQcm9wcyIsImV4cG9ydHMiLCJyZWdpc3RyeSIsImN1c3RvbUVsZW1lbnQiLCJvcHQiLCJlbCIsImVsZW1lbnQiLCJjbGVhckF0dHJpYnV0ZSIsIl9lbCQ2IiwidGV4dENvbnRlbnQiLCJpbmxpbmUiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcXJjb2RlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFZmZlY3QsIEpTWCwgbWVyZ2VQcm9wcywgU2hvdywgc3BsaXRQcm9wcyB9IGZyb20gJ3NvbGlkLWpzJztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdzb2xpZC1lbGVtZW50JztcblxuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lLCB7IGlubGluZSB9IGZyb20gJy4uL3RoZW1lJztcblxuaW1wb3J0IHsgRWNjLCBlbmNvZGVTZWdtZW50cywgdHlwZSBJbnRSYW5nZSwgbWFrZVNlZ21lbnRzIH0gZnJvbSAnLi9xcmNvZGUnO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21FbGVtZW50IH0gZnJvbSAnY3VzdG9tLWVsZW1lbnQtdHlwZSc7XG5leHBvcnQgdHlwZSB7IEludFJhbmdlIH0gZnJvbSAnLi9xcmNvZGUnO1xuZXhwb3J0IGludGVyZmFjZSBRckNvZGVQcm9wcyB7XG4gIC8qKiDoh6rlrprkuYnnsbvlkI0gKi9cbiAgY2xhc3M/OiBzdHJpbmc7XG4gIHN0eWxlPzogc3RyaW5nIHwgSlNYLkNTU1Byb3BlcnRpZXM7XG4gIC8qKiDkuoznu7TnoIHlgLwgKi9cbiAgdmFsdWU6IHN0cmluZztcbiAgLyoqIOS6jOe7tOeggeaooeWdl+eahOminOiJsiAqL1xuICBjb2xvcj86IHN0cmluZztcbiAgLyoqIOS6jOe7tOeggeiDjOaZr+iJsiAqL1xuICBiZ0NvbG9yPzogc3RyaW5nO1xuICAvKipcbiAgICog5LqM57u056CB5bC65a+4XG4gICAqIEBkZWZhdWx0IDE1MFxuICAgKi9cbiAgc2l6ZT86IG51bWJlcjtcbiAgLyoqIOe6oOmUmeetiee6pzsg5YiG5Yir5a+55bqUNyXjgIExNSXjgIEyNSXjgIEzMCXnmoTmlbDmja7nuqDplJnog73liptcbiAgICogQGRlZmF1bHQgJ20nXG4gICAqL1xuICBlY2w/OiAnbCcgfCAnbScgfCAncScgfCAnaCc7XG4gIC8qKlxuICAgKiDmlK/mjIHnmoRRUueggeaooeWeizLmoIflh4bmnIDlsI/niYjmnKxcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgbWluVmVyc2lvbj86IEludFJhbmdlPDEsIDQxPjtcbiAgLyoqXG4gICAqIOaUr+aMgeeahFFS56CB5qih5Z6LMuagh+WHhuacgOWkp+eJiOacrFxuICAgKiBAZGVmYXVsdCA0MFxuICAgKi9cbiAgbWF4VmVyc2lvbj86IEludFJhbmdlPDEsIDQxPjtcbiAgLyoqXG4gICAqIOaOqeeggeaooeW8jzsg5Li6IC0xIOaXtu+8jOihqOekuuiHquWKqOmAieaLqVxuICAgKiBAZGVmYXVsdCAtMVxuICAgKi9cbiAgbWFzaz86IC0xIHwgSW50UmFuZ2U8MCwgOD47XG4gIC8qKlxuICAgKiDlnKjmlbDmja7ku43nhLbpgILlkIjlvZPliY3niYjmnKzlj7fnmoTmg4XlhrXkuIvmj5Dpq5jnuqDplJnnuqfliKtcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgYm9vc3RFY2M/OiBib29sZWFuO1xuICAvKipcbiAgICog5qih5Z2X5aSW5Zu055qE6L655qGG5a695bqm77yI5qih5Z2X5Y2V5L2N77yM6Z2e5YOP57Sg77yJXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIGJvcmRlcj86IEludFJhbmdlPDEsIDEwMT47XG4gIC8qKlxuICAgKiDmuLLmn5PmlrnlvI9cbiAgICogQGRlZmF1bHQgJ3N2ZydcbiAgICovXG4gIHR5cGU/OiAnc3ZnJyB8ICdjYW52YXMnO1xuICAvKipcbiAgICog5LqM57u056CB5Zu+5qCHXG4gICAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKipcbiAgICog5LqM57u056CB5Zu+5qCH5bC65a+4XG4gICAqIEBkZWZhdWx0IDdcbiAgICovXG4gIGljb25TaXplPzogbnVtYmVyO1xuICAvKipcbiAgICog5qih5Z2X5b2i54q2XG4gICAqIEBkZWZhdWx0ICdyZWN0J1xuICAgKiBAc2luY2UgMi45LjFcbiAgICovXG4gIHNoYXBlPzogJ3JlY3QnIHwgJ3Job21idXMnIHwgJ2hlYXJ0JyB8ICdjaXJjbGUnO1xufVxuY29uc3QgUVJDb2RlID0gKF9wcm9wczogUXJDb2RlUHJvcHMpID0+IHtcbiAgY29uc3QgeyBpc0RhcmsgfSA9IHRoZW1lO1xuICBsZXQgY3ZzOiBIVE1MQ2FudmFzRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IHN2ZzogU1ZHU1ZHRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IGltZzogSFRNTEltYWdlRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgbm9ybWFsID0gbWVyZ2VQcm9wcyhcbiAgICB7XG4gICAgICBzaXplOiAxNjAsXG4gICAgICBpY29uU2l6ZTogNyxcbiAgICAgIGJvcmRlcjogMSxcbiAgICAgIGVjbDogJ20nIGFzIGNvbnN0LFxuICAgICAgdHlwZTogJ3N2ZycgYXMgY29uc3QsXG4gICAgfSxcbiAgICBfcHJvcHMsXG4gICk7XG4gIGNvbnN0IFtwcm9wcywgb3RoZXJdID0gc3BsaXRQcm9wcyhub3JtYWwsIFtcbiAgICAndmFsdWUnLFxuICAgICdib3JkZXInLFxuICAgICdzaXplJyxcbiAgICAndHlwZScsXG4gICAgJ21pblZlcnNpb24nLFxuICAgICdtYXhWZXJzaW9uJyxcbiAgICAnbWFzaycsXG4gICAgJ2Jvb3N0RWNjJyxcbiAgICAnZWNsJyxcbiAgICAnYmdDb2xvcicsXG4gICAgJ2NvbG9yJyxcbiAgICAnaWNvblNpemUnLFxuICAgICdzaGFwZScsXG4gIF0pO1xuICBjb25zdCBlY2NNYXAgPSB7XG4gICAgbDogRWNjLmdldCgnTE9XJyksXG4gICAgbTogRWNjLmdldCgnTUVESVVNJyksXG4gICAgcTogRWNjLmdldCgnUVVBUlRJTEUnKSxcbiAgICBoOiBFY2MuZ2V0KCdISUdIJyksXG4gIH07XG5cbiAgY3JlYXRlRWZmZWN0KChwcmV2PzogeyBjb2xvcj86IHN0cmluZzsgYmc/OiBzdHJpbmcgfSkgPT4ge1xuICAgIGlzRGFyaygpOyAvLyDlk43lupTkuLvpopjmqKHlvI9cbiAgICBjb25zdCBzZWdzID0gbWFrZVNlZ21lbnRzKHByb3BzLnZhbHVlKTtcbiAgICBjb25zdCBxciA9IGVuY29kZVNlZ21lbnRzKFxuICAgICAgc2VncyxcbiAgICAgIGVjY01hcFtwcm9wcy5lY2xdLFxuICAgICAgcHJvcHMubWluVmVyc2lvbixcbiAgICAgIHByb3BzLm1heFZlcnNpb24sXG4gICAgICBwcm9wcy5tYXNrLFxuICAgICAgcHJvcHMuYm9vc3RFY2MsXG4gICAgKTtcbiAgICBsZXQgc3R5bGVzOiBDU1NTdHlsZURlY2xhcmF0aW9uO1xuXG4gICAgaWYgKHByb3BzLnR5cGUgPT09ICdjYW52YXMnKSB7XG4gICAgICBpZiAocHJvcHMuc2l6ZSA8PSAwIHx8IHByb3BzLmJvcmRlciA8IDAgfHwgIWN2cykgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1ZhbHVlIG91dCBvZiByYW5nZScpO1xuICAgICAgY29uc3Qgc2NhbGUgPSBwcm9wcy5zaXplIC8gKHFyLnNpemUgKyBwcm9wcy5ib3JkZXIgKiAyKTtcbiAgICAgIGNvbnN0IHJhZGl1cyA9IHNjYWxlIC8gMjsgLy8g5Y2K5b6EXG5cbiAgICAgIGN2cy53aWR0aCA9IHByb3BzLnNpemU7XG4gICAgICBjdnMuaGVpZ2h0ID0gcHJvcHMuc2l6ZTtcbiAgICAgIHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGN2cyBhcyB1bmtub3duIGFzIEVsZW1lbnQpO1xuICAgICAgY29uc3QgY3R4ID0gY3ZzLmdldENvbnRleHQoJzJkJykgYXMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEO1xuICAgICAgY29uc3QgY29sb3IgPSBwcm9wcy5jb2xvciB8fCBwcmV2Py5jb2xvciB8fCBzdHlsZXMuY29sb3I7XG4gICAgICBjb25zdCBiZ0NvbG9yID0gcHJvcHMuYmdDb2xvciB8fCBwcmV2Py5iZyB8fCBzdHlsZXMuYmFja2dyb3VuZENvbG9yO1xuXG4gICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIHByb3BzLnNpemUsIHByb3BzLnNpemUpO1xuICAgICAgY3R4LmZpbGxTdHlsZSA9IGJnQ29sb3I7XG4gICAgICBjdHguZmlsbFJlY3QoMCwgMCwgcHJvcHMuc2l6ZSwgcHJvcHMuc2l6ZSk7XG4gICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XG4gICAgICBmb3IgKGxldCB5ID0gLXByb3BzLmJvcmRlcjsgeSA8IHFyLnNpemUgKyBwcm9wcy5ib3JkZXI7IHkrKykge1xuICAgICAgICBjb25zdCB5cG9zID0gKHkgKyBwcm9wcy5ib3JkZXIpICogc2NhbGU7XG5cbiAgICAgICAgZm9yIChsZXQgeCA9IC1wcm9wcy5ib3JkZXI7IHggPCBxci5zaXplICsgcHJvcHMuYm9yZGVyOyB4KyspIHtcbiAgICAgICAgICBpZiAocXIuZ2V0TW9kdWxlKHgsIHkpKSB7XG4gICAgICAgICAgICBjb25zdCB4cG9zID0gKHggKyBwcm9wcy5ib3JkZXIpICogc2NhbGU7XG5cbiAgICAgICAgICAgIHN3aXRjaCAocHJvcHMuc2hhcGUpIHtcbiAgICAgICAgICAgICAgY2FzZSAnY2lyY2xlJzpcbiAgICAgICAgICAgICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICAgICAgICAgICAgY3R4LmFyYyh4cG9zICsgcmFkaXVzLCB5cG9zICsgcmFkaXVzLCByYWRpdXMsIDAsIE1hdGguUEkgKiAyKTtcbiAgICAgICAgICAgICAgICBjdHguZmlsbCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdoZWFydCc6XG4gICAgICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICAgICAgICAgIGN0eC5tb3ZlVG8oeHBvcyArIHJhZGl1cywgeXBvcyArIHNjYWxlIC8gNCk7XG4gICAgICAgICAgICAgICAgY3R4LmJlemllckN1cnZlVG8oXG4gICAgICAgICAgICAgICAgICB4cG9zICsgc2NhbGUgKiAwLjEsXG4gICAgICAgICAgICAgICAgICB5cG9zIC0gc2NhbGUgKiAwLjIsXG4gICAgICAgICAgICAgICAgICB4cG9zIC0gc2NhbGUgKiAwLjMsXG4gICAgICAgICAgICAgICAgICB5cG9zICsgc2NhbGUgKiAwLjYsXG4gICAgICAgICAgICAgICAgICB4cG9zICsgcmFkaXVzLFxuICAgICAgICAgICAgICAgICAgeXBvcyArIHNjYWxlLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY3R4LmJlemllckN1cnZlVG8oXG4gICAgICAgICAgICAgICAgICB4cG9zICsgc2NhbGUgKiAxLjMsXG4gICAgICAgICAgICAgICAgICB5cG9zICsgc2NhbGUgKiAwLjYsXG4gICAgICAgICAgICAgICAgICB4cG9zICsgc2NhbGUgKiAwLjksXG4gICAgICAgICAgICAgICAgICB5cG9zIC0gc2NhbGUgKiAwLjIsXG4gICAgICAgICAgICAgICAgICB4cG9zICsgcmFkaXVzLFxuICAgICAgICAgICAgICAgICAgeXBvcyArIHNjYWxlIC8gNCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGN0eC5jbG9zZVBhdGgoKTtcbiAgICAgICAgICAgICAgICBjdHguZmlsbCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdyaG9tYnVzJzpcbiAgICAgICAgICAgICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICAgICAgICAgICAgY3R4Lm1vdmVUbyh4cG9zICsgcmFkaXVzLCB5cG9zKTtcbiAgICAgICAgICAgICAgICBjdHgubGluZVRvKHhwb3MgKyBzY2FsZSwgeXBvcyArIHJhZGl1cyk7XG4gICAgICAgICAgICAgICAgY3R4LmxpbmVUbyh4cG9zICsgcmFkaXVzLCB5cG9zICsgc2NhbGUpO1xuICAgICAgICAgICAgICAgIGN0eC5saW5lVG8oeHBvcywgeXBvcyArIHJhZGl1cyk7XG4gICAgICAgICAgICAgICAgY3R4LmNsb3NlUGF0aCgpO1xuICAgICAgICAgICAgICAgIGN0eC5maWxsKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ3JlY3QnOlxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIC8vIOmBv+WFjeeUseS6juWwj+aVsOS9jeW4puadpeeahOmXtOmalOmXrumimFxuICAgICAgICAgICAgICAgIGN0eC5maWxsUmVjdChcbiAgICAgICAgICAgICAgICAgIE1hdGguZmxvb3IoeHBvcyksXG4gICAgICAgICAgICAgICAgICBNYXRoLmZsb29yKHlwb3MpLFxuICAgICAgICAgICAgICAgICAgTWF0aC5jZWlsKHNjYWxlKSxcbiAgICAgICAgICAgICAgICAgIE1hdGguY2VpbChzY2FsZSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIOaBouWkjee8qeaUvlxuICAgICAgLy8gY3R4LnJlc3RvcmUoKTtcbiAgICAgIC8vIOWmguaenOacieWbvuagh++8jOWImee7mOWItuWIsOS4reW/g1xuICAgICAgaWYgKG90aGVyLmljb24pIHtcbiAgICAgICAgaWYgKCFpbWcpIHtcbiAgICAgICAgICBpbWcgPSBuZXcgSW1hZ2UocHJvcHMuaWNvblNpemUsIHByb3BzLmljb25TaXplKTtcbiAgICAgICAgfVxuICAgICAgICBpbWcuc3JjID0gb3RoZXIuaWNvbjtcbiAgICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBvZmZzZXQgPSAocHJvcHMuc2l6ZSArIHByb3BzLmJvcmRlciAqIHNjYWxlIC0gcHJvcHMuaWNvblNpemUpIC8gMjtcblxuICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nISwgb2Zmc2V0LCBvZmZzZXQsIHByb3BzLmljb25TaXplLCBwcm9wcy5pY29uU2l6ZSk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwcm9wcy5ib3JkZXIgPCAwKSB7XG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdCb3JkZXIgbXVzdCBiZSBub24tbmVnYXRpdmUnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICBmb3IgKGxldCB5ID0gMDsgeSA8IHFyLnNpemU7IHkrKykge1xuICAgICAgICBmb3IgKGxldCB4ID0gMDsgeCA8IHFyLnNpemU7IHgrKykge1xuICAgICAgICAgIGlmIChxci5nZXRNb2R1bGUoeCwgeSkpIHtcbiAgICAgICAgICAgIHN3aXRjaCAocHJvcHMuc2hhcGUpIHtcbiAgICAgICAgICAgICAgY2FzZSAnY2lyY2xlJzpcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgYE0ke3ggKyBwcm9wcy5ib3JkZXIgKyAwLjV9LCR7XG4gICAgICAgICAgICAgICAgICAgIHkgKyBwcm9wcy5ib3JkZXIgKyAwLjVcbiAgICAgICAgICAgICAgICAgIH0gbSAtMC41LCAwIGEgMC41LDAuNSAwIDEsMCAxLDAgYSAwLjUsMC41IDAgMSwwIC0xLDBgLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ3Job21idXMnOlxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICAgICAgICBgTSR7eCArIHByb3BzLmJvcmRlciArIDAuNX0sJHt5ICsgcHJvcHMuYm9yZGVyfSBMJHt4ICsgcHJvcHMuYm9yZGVyICsgMX0sJHtcbiAgICAgICAgICAgICAgICAgICAgeSArIHByb3BzLmJvcmRlciArIDAuNVxuICAgICAgICAgICAgICAgICAgfSBMJHt4ICsgcHJvcHMuYm9yZGVyICsgMC41fSwke3kgKyBwcm9wcy5ib3JkZXIgKyAxfSBMJHt4ICsgcHJvcHMuYm9yZGVyfSwke1xuICAgICAgICAgICAgICAgICAgICB5ICsgcHJvcHMuYm9yZGVyICsgMC41XG4gICAgICAgICAgICAgICAgICB9IFpgLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ2hlYXJ0JzpcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgYE0ke3ggKyBwcm9wcy5ib3JkZXIgKyAwLjV9LCR7eSArIHByb3BzLmJvcmRlciArIDAuMjV9IEMke1xuICAgICAgICAgICAgICAgICAgICB4ICsgcHJvcHMuYm9yZGVyICsgMC4xXG4gICAgICAgICAgICAgICAgICB9LCR7eSArIHByb3BzLmJvcmRlciAtIDAuMn0gJHt4ICsgcHJvcHMuYm9yZGVyIC0gMC4zfSwke3kgKyBwcm9wcy5ib3JkZXIgKyAwLjZ9ICR7XG4gICAgICAgICAgICAgICAgICAgIHggKyBwcm9wcy5ib3JkZXIgKyAwLjVcbiAgICAgICAgICAgICAgICAgIH0sJHt5ICsgcHJvcHMuYm9yZGVyICsgMX0gQyR7eCArIHByb3BzLmJvcmRlciArIDEuM30sJHt5ICsgcHJvcHMuYm9yZGVyICsgMC42fSAke1xuICAgICAgICAgICAgICAgICAgICB4ICsgcHJvcHMuYm9yZGVyICsgMC45XG4gICAgICAgICAgICAgICAgICB9LCR7eSArIHByb3BzLmJvcmRlciAtIDAuMn0gJHt4ICsgcHJvcHMuYm9yZGVyICsgMC41fSwke1xuICAgICAgICAgICAgICAgICAgICB5ICsgcHJvcHMuYm9yZGVyICsgMC4yNVxuICAgICAgICAgICAgICAgICAgfSBaYCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdyZWN0JzpcbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKGBNJHt4ICsgcHJvcHMuYm9yZGVyfSwke3kgKyBwcm9wcy5ib3JkZXJ9aDF2MWgtMXpgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhdGhzID0gc3ZnPy5xdWVyeVNlbGVjdG9yQWxsKCdwYXRoJykgYXMgdW5rbm93biBhcyBTVkdQYXRoRWxlbWVudFtdO1xuICAgICAgY29uc3QgYm94X3NpemUgPSBxci5zaXplICsgcHJvcHMuYm9yZGVyICogMjtcblxuICAgICAgc3ZnPy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCBgMCAwICR7Ym94X3NpemV9ICR7Ym94X3NpemV9YCk7XG4gICAgICBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzdmcgYXMgdW5rbm93biBhcyBFbGVtZW50KTtcbiAgICAgIGlmIChwYXRocy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHBhdGhzWzBdLnNldEF0dHJpYnV0ZSgnZCcsIGBNMCwwIGgke2JveF9zaXplfXYke2JveF9zaXplfUgwemApO1xuICAgICAgICBwYXRoc1swXS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBwcm9wcy5iZ0NvbG9yIHx8IHByZXY/LmJnIHx8IHN0eWxlcy5iYWNrZ3JvdW5kQ29sb3IpO1xuICAgICAgICBwYXRoc1sxXS5zZXRBdHRyaWJ1dGUoJ2QnLCBwYXJ0cy5qb2luKCcgJykpO1xuICAgICAgICBwYXRoc1sxXS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBwcm9wcy5jb2xvciB8fCBwcmV2Py5jb2xvciB8fCBzdHlsZXMuY29sb3IpO1xuICAgICAgfVxuICAgICAgLy8gaWNvblxuICAgICAgY29uc3QgaWNvbiA9IHN2Zz8ucXVlcnlTZWxlY3RvcignaW1hZ2UnKTtcblxuICAgICAgaWYgKGljb24pIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gYCR7KHFyLnNpemUgKyBwcm9wcy5ib3JkZXIgKiAyIC0gcHJvcHMuaWNvblNpemUpIC8gMn1gO1xuXG4gICAgICAgIGljb24uc2V0QXR0cmlidXRlKCd4Jywgb2Zmc2V0KTtcbiAgICAgICAgaWNvbi5zZXRBdHRyaWJ1dGUoJ3knLCBvZmZzZXQpO1xuICAgICAgICBpY29uLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHtwcm9wcy5pY29uU2l6ZX1gKTtcbiAgICAgICAgaWNvbi5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAke3Byb3BzLmljb25TaXplfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb2xvcjogc3R5bGVzLmNvbG9yLFxuICAgICAgYmc6IHN0eWxlcy5iYWNrZ3JvdW5kQ29sb3IsXG4gICAgfTtcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2hvdyB3aGVuPXtwcm9wcy50eXBlID09PSAnc3ZnJ30gZmFsbGJhY2s9ezxjYW52YXMgcmVmPXtjdnN9IHJvbGU9XCJpbWdcIiAvPn0+XG4gICAgICA8c3ZnXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICBzdHJva2U9XCJub25lXCJcbiAgICAgICAgd2lkdGg9e3Byb3BzLnNpemV9XG4gICAgICAgIGhlaWdodD17cHJvcHMuc2l6ZX1cbiAgICAgICAgcmVmPXtzdmd9XG4gICAgICAgIHNoYXBlLXJlbmRlcmluZz1cImNyaXNwRWRnZXNcIlxuICAgICAgICByb2xlPVwiaW1nXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGggLz5cbiAgICAgICAgPHBhdGggLz5cbiAgICAgICAgPFNob3cgd2hlbj17b3RoZXIuaWNvbn0+XG4gICAgICAgICAgPGltYWdlIGhyZWY9e290aGVyLmljb259IHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCIgLz5cbiAgICAgICAgPC9TaG93PlxuICAgICAgPC9zdmc+XG4gICAgPC9TaG93PlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgUXJDb2RlRWxlbWVudCA9IEN1c3RvbUVsZW1lbnQ8UXJDb2RlUHJvcHM+O1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRQcm9wczogUXJDb2RlUHJvcHMgPSB7XG4gIHZhbHVlOiAnJyxcbiAgaWNvbjogdm9pZCAwLFxuICBjb2xvcjogdm9pZCAwLFxuICBiZ0NvbG9yOiB2b2lkIDAsXG4gIHNpemU6IHZvaWQgMCxcbiAgaWNvblNpemU6IHZvaWQgMCxcbiAgZWNsOiB2b2lkIDAsXG4gIG1pblZlcnNpb246IHZvaWQgMCxcbiAgbWF4VmVyc2lvbjogdm9pZCAwLFxuICBtYXNrOiB2b2lkIDAsXG4gIGJvb3N0RWNjOiBmYWxzZSxcbiAgYm9yZGVyOiB2b2lkIDAsXG4gIHR5cGU6IHZvaWQgMCxcbiAgc2hhcGU6IHZvaWQgMCxcbn07XG5cblFSQ29kZS5yZWdpc3RyeSA9ICgpID0+IHtcbiAgY3VzdG9tRWxlbWVudDxRckNvZGVQcm9wcz4oJ24tcXJjb2RlJywgZGVmYXVsdFByb3BzLCAocHJvcHMsIG9wdCkgPT4ge1xuICAgIGNvbnN0IGVsID0gb3B0LmVsZW1lbnQ7XG5cbiAgICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgY2xlYXJBdHRyaWJ1dGUoZWwsIFsndmFsdWUnLCAnaWNvbiddKTtcbiAgICB9KTtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtpbmxpbmV9IC8+XG4gICAgICAgIDxRUkNvZGUgey4uLnByb3BzfSAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgUVJDb2RlO1xuIl0sIm1hcHBpbmdzIjoid2FBQUEsSUFBQUEsUUFBQSxDQUFBQyxPQUFBLGFBQ0EsSUFBQUMsYUFBQSxDQUFBRCxPQUFBLGtCQUVBLElBQUFFLFlBQUEsQ0FBQUYsT0FBQSxvQkFDQSxJQUFBRyxNQUFBLENBQUFDLHVCQUFBLENBQUFKLE9BQUEsY0FFQSxJQUFBSyxPQUFBLENBQUFMLE9BQUEsYUFBNEUsU0FBQUksd0JBQUFFLENBQUEsQ0FBQUMsQ0FBQSx3QkFBQUMsT0FBQSxLQUFBQyxDQUFBLEtBQUFELE9BQUEsQ0FBQUUsQ0FBQSxLQUFBRixPQUFBLFFBQUFKLHVCQUFBLFVBQUFBLHdCQUFBRSxDQUFBLENBQUFDLENBQUEsTUFBQUEsQ0FBQSxFQUFBRCxDQUFBLEVBQUFBLENBQUEsQ0FBQUssVUFBQSxRQUFBTCxDQUFBLEtBQUFNLENBQUEsQ0FBQUMsQ0FBQSxDQUFBQyxDQUFBLEVBQUFDLFNBQUEsZ0JBQUFULENBQUEsWUFBQUEsQ0FBQSxZ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
|