Files
logseq/resources/js/lsplugin.core.js
2025-12-29 14:18:55 +08:00

2 lines
109 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*! For license information please see lsplugin.core.js.LICENSE.txt */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.LSPlugin=t():e.LSPlugin=t()}(self,()=>(()=>{var e={833:(e,t,n)=>{var r=n(606);t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let r=0,i=0;t[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(r++,"%c"===e&&(i=r))}),t.splice(i,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==r&&"env"in r&&(e=r.env.DEBUG),e},t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=n(736)(t);const{formatters:i}=e.exports;i.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736:(e,t,n)=>{e.exports=function(e){function t(e){let n,i,o,s=null;function a(...e){if(!a.enabled)return;const r=a,i=Number(new Date),o=i-(n||i);r.diff=o,r.prev=n,r.curr=i,n=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(n,i)=>{if("%%"===n)return"%";s++;const o=t.formatters[i];if("function"==typeof o){const t=e[s];n=o.call(r,t),e.splice(s,1),s--}return n}),t.formatArgs.call(r,e),(r.log||t.log).apply(r,e)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=r,a.destroy=t.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(i!==t.namespaces&&(i=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(a),a}function r(e,n){const r=t(this.namespace+(void 0===n?":":n)+e);return r.log=this.log,r}function i(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(i),...t.skips.map(i).map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){let n;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),i=r.length;for(n=0;n<i;n++)r[n]&&("-"===(e=r[n].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let n,r;for(n=0,r=t.skips.length;n<r;n++)if(t.skips[n].test(e))return!1;for(n=0,r=t.names.length;n<r;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=n(585),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach(n=>{t[n]=e[n]}),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t}},744:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===n}(e)}(e)},n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function i(e,t,n){return e.concat(t).map(function(e){return r(e,n)})}function o(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}(e))}function s(e,t){try{return t in e}catch(e){return!1}}function a(e,n,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=r;var c=Array.isArray(n);return c===Array.isArray(e)?c?l.arrayMerge(e,n,l):function(e,t,n){var i={};return n.isMergeableObject(e)&&o(e).forEach(function(t){i[t]=r(e[t],n)}),o(t).forEach(function(o){(function(e,t){return s(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(s(e,o)&&n.isMergeableObject(t[o])?i[o]=function(e,t){if(!t.customMerge)return a;var n=t.customMerge(e);return"function"==typeof n?n:a}(o,n)(e[o],t[o],n):i[o]=r(t[o],n))}),i}(e,n,l):r(n,l)}a.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(e,n){return a(e,n,t)},{})};var l=a;e.exports=l},228:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n="~";function r(){}function i(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,r,o,s){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new i(r,o||e,s),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function s(e,t){0===--e._eventsCount?e._events=new r:delete e._events[t]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var e,r,i=[];if(0===this._eventsCount)return i;for(r in e=this._events)t.call(e,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},a.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,s=new Array(o);i<o;i++)s[i]=r[i].fn;return s},a.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},a.prototype.emit=function(e,t,r,i,o,s){var a=n?n+e:e;if(!this._events[a])return!1;var l,c,u=this._events[a],h=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),h){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,i),!0;case 5:return u.fn.call(u.context,t,r,i,o),!0;case 6:return u.fn.call(u.context,t,r,i,o,s),!0}for(c=1,l=new Array(h-1);c<h;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var d,p=u.length;for(c=0;c<p;c++)switch(u[c].once&&this.removeListener(e,u[c].fn,void 0,!0),h){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,t);break;case 3:u[c].fn.call(u[c].context,t,r);break;case 4:u[c].fn.call(u[c].context,t,r,i);break;default:if(!l)for(d=1,l=new Array(h-1);d<h;d++)l[d-1]=arguments[d];u[c].fn.apply(u[c].context,l)}}return!0},a.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},a.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},a.prototype.removeListener=function(e,t,r,i){var o=n?n+e:e;if(!this._events[o])return this;if(!t)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==t||i&&!a.once||r&&a.context!==r||s(this,o);else{for(var l=0,c=[],u=a.length;l<u;l++)(a[l].fn!==t||i&&!a[l].once||r&&a[l].context!==r)&&c.push(a[l]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&s(this,t)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,e.exports=a},698:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},585:e=>{var t=1e3,n=60*t,r=60*n,i=24*r,o=7*i;function s(e,t,n,r){var i=t>=1.5*n;return Math.round(e/n)+" "+r+(i?"s":"")}e.exports=function(e,a){a=a||{};var l,c,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var a=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return a*o;case"days":case"day":case"d":return a*i;case"hours":case"hour":case"hrs":case"hr":case"h":return a*r;case"minutes":case"minute":case"mins":case"min":case"m":return a*n;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===u&&isFinite(e))return a.long?(l=e,(c=Math.abs(l))>=i?s(l,c,i,"day"):c>=r?s(l,c,r,"hour"):c>=n?s(l,c,n,"minute"):c>=t?s(l,c,t,"second"):l+" ms"):function(e){var o=Math.abs(e);return o>=i?Math.round(e/i)+"d":o>=r?Math.round(e/r)+"h":o>=n?Math.round(e/n)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},627:(e,t,n)=>{"use strict";var r=n(606),i="win32"===r.platform,o=n(537);function s(e,t){for(var n=[],r=0;r<e.length;r++){var i=e[r];i&&"."!==i&&(".."===i?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(i))}return n}function a(e){for(var t=e.length-1,n=0;n<=t&&!e[n];n++);for(var r=t;r>=0&&!e[r];r--);return 0===n&&r===t?e:n>r?[]:e.slice(n,r+1)}var l=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,c=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,u={};function h(e){var t=l.exec(e),n=(t[1]||"")+(t[2]||""),r=t[3]||"",i=c.exec(r);return[n,i[1],i[2],i[3]]}function d(e){var t=l.exec(e),n=t[1]||"",r=!!n&&":"!==n[1];return{device:n,isUnc:r,isAbsolute:r||!!t[2],tail:t[3]}}function p(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}u.resolve=function(){for(var e="",t="",n=!1,i=arguments.length-1;i>=-1;i--){var a;if(i>=0?a=arguments[i]:e?(a=r.env["="+e])&&a.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(a=e+"\\"):a=r.cwd(),!o.isString(a))throw new TypeError("Arguments to path.resolve must be strings");if(a){var l=d(a),c=l.device,u=l.isUnc,h=l.isAbsolute,f=l.tail;if((!c||!e||c.toLowerCase()===e.toLowerCase())&&(e||(e=c),n||(t=f+"\\"+t,n=h),e&&n))break}}return u&&(e=p(e)),e+(n?"\\":"")+(t=s(t.split(/[\\\/]+/),!n).join("\\"))||"."},u.normalize=function(e){var t=d(e),n=t.device,r=t.isUnc,i=t.isAbsolute,o=t.tail,a=/[\\\/]$/.test(o);return(o=s(o.split(/[\\\/]+/),!i).join("\\"))||i||(o="."),o&&a&&(o+="\\"),r&&(n=p(n)),n+(i?"\\":"")+o},u.isAbsolute=function(e){return d(e).isAbsolute},u.join=function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(!o.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&e.push(n)}var r=e.join("\\");return/^[\\\/]{2}[^\\\/]/.test(e[0])||(r=r.replace(/^[\\\/]{2,}/,"\\")),u.normalize(r)},u.relative=function(e,t){e=u.resolve(e),t=u.resolve(t);for(var n=e.toLowerCase(),r=t.toLowerCase(),i=a(t.split("\\")),o=a(n.split("\\")),s=a(r.split("\\")),l=Math.min(o.length,s.length),c=l,h=0;h<l;h++)if(o[h]!==s[h]){c=h;break}if(0==c)return t;var d=[];for(h=c;h<o.length;h++)d.push("..");return(d=d.concat(i.slice(c))).join("\\")},u._makeLong=function(e){if(!o.isString(e))return e;if(!e)return"";var t=u.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},u.dirname=function(e){var t=h(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},u.basename=function(e,t){var n=h(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},u.extname=function(e){return h(e)[3]},u.format=function(e){if(!o.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!o.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);var n=e.dir,r=e.base||"";return n?n[n.length-1]===u.sep?n+r:n+u.sep+r:r},u.parse=function(e){if(!o.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=h(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},u.sep="\\",u.delimiter=";";var f=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,g={};function m(e){return f.exec(e).slice(1)}g.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var i=n>=0?arguments[n]:r.cwd();if(!o.isString(i))throw new TypeError("Arguments to path.resolve must be strings");i&&(e=i+"/"+e,t="/"===i[0])}return(t?"/":"")+(e=s(e.split("/"),!t).join("/"))||"."},g.normalize=function(e){var t=g.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=s(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},g.isAbsolute=function(e){return"/"===e.charAt(0)},g.join=function(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];if(!o.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&(e+=e?"/"+n:n)}return g.normalize(e)},g.relative=function(e,t){e=g.resolve(e).substr(1),t=g.resolve(t).substr(1);for(var n=a(e.split("/")),r=a(t.split("/")),i=Math.min(n.length,r.length),o=i,s=0;s<i;s++)if(n[s]!==r[s]){o=s;break}var l=[];for(s=o;s<n.length;s++)l.push("..");return(l=l.concat(r.slice(o))).join("/")},g._makeLong=function(e){return e},g.dirname=function(e){var t=m(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},g.basename=function(e,t){var n=m(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},g.extname=function(e){return m(e)[3]},g.format=function(e){if(!o.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!o.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);return(e.dir?e.dir+g.sep:"")+(e.base||"")},g.parse=function(e){if(!o.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=m(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return t[1]=t[1]||"",t[2]=t[2]||"",t[3]=t[3]||"",{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},g.sep="/",g.delimiter=":",e.exports=i?u:g,e.exports.posix=g,e.exports.win32=u},606:e=>{var t,n,r=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var a,l=[],c=!1,u=-1;function h(){c&&a&&(c=!1,a.length?l=a.concat(l):u=-1,l.length&&d())}function d(){if(!c){var e=s(h);c=!0;for(var t=l.length;t;){for(a=l,l=[];++u<t;)a&&a[u].run();u=-1,t=l.length}a=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function f(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new p(e,t)),1!==l.length||c||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=f,r.addListener=f,r.once=f,r.off=f,r.removeListener=f,r.removeAllListeners=f,r.emit=f,r.prependListener=f,r.prependOnceListener=f,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},135:e=>{e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},537:(e,t,n)=>{var r=n(606),i=/%[sdj%]/g;t.format=function(e){if(!y(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(a(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,o=r.length,s=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=o)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}}),l=r[n];n<o;l=r[++n])g(l)||!v(l)?s+=" "+l:s+=" "+a(l);return s},t.deprecate=function(e,i){if(_(n.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===r.noDeprecation)return e;var o=!1;return function(){if(!o){if(r.throwDeprecation)throw new Error(i);r.traceDeprecation?console.trace(i):console.error(i),o=!0}return e.apply(this,arguments)}};var o,s={};function a(e,n){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),f(n)?r.showHidden=n:n&&t._extend(r,n),_(r.showHidden)&&(r.showHidden=!1),_(r.depth)&&(r.depth=2),_(r.colors)&&(r.colors=!1),_(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),u(r,e,r.depth)}function l(e,t){var n=a.styles[t];return n?"["+a.colors[n][0]+"m"+e+"["+a.colors[n][1]+"m":e}function c(e,t){return e}function u(e,n,r){if(e.customInspect&&n&&S(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,e);return y(i)||(i=u(e,i,r)),i}var o=function(e,t){if(_(t))return e.stylize("undefined","undefined");if(y(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return m(t)?e.stylize(""+t,"number"):f(t)?e.stylize(""+t,"boolean"):g(t)?e.stylize("null","null"):void 0}(e,n);if(o)return o;var s=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(n)),x(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return h(n);if(0===s.length){if(S(n)){var l=n.name?": "+n.name:"";return e.stylize("[Function"+l+"]","special")}if(b(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(w(n))return e.stylize(Date.prototype.toString.call(n),"date");if(x(n))return h(n)}var c,v="",E=!1,C=["{","}"];return p(n)&&(E=!0,C=["[","]"]),S(n)&&(v=" [Function"+(n.name?": "+n.name:"")+"]"),b(n)&&(v=" "+RegExp.prototype.toString.call(n)),w(n)&&(v=" "+Date.prototype.toUTCString.call(n)),x(n)&&(v=" "+h(n)),0!==s.length||E&&0!=n.length?r<0?b(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),c=E?function(e,t,n,r,i){for(var o=[],s=0,a=t.length;s<a;++s)O(t,String(s))?o.push(d(e,t,n,r,String(s),!0)):o.push("");return i.forEach(function(i){i.match(/^\d+$/)||o.push(d(e,t,n,r,i,!0))}),o}(e,n,r,a,s):s.map(function(t){return d(e,n,r,a,t,E)}),e.seen.pop(),function(e,t,n){return e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(c,v,C)):C[0]+v+C[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,i,o){var s,a,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?a=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(a=e.stylize("[Setter]","special")),O(r,i)||(s="["+i+"]"),a||(e.seen.indexOf(l.value)<0?(a=g(n)?u(e,l.value,null):u(e,l.value,n-1)).indexOf("\n")>-1&&(a=o?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),_(s)){if(o&&i.match(/^\d+$/))return a;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+a}function p(e){return Array.isArray(e)}function f(e){return"boolean"==typeof e}function g(e){return null===e}function m(e){return"number"==typeof e}function y(e){return"string"==typeof e}function _(e){return void 0===e}function b(e){return v(e)&&"[object RegExp]"===E(e)}function v(e){return"object"==typeof e&&null!==e}function w(e){return v(e)&&"[object Date]"===E(e)}function x(e){return v(e)&&("[object Error]"===E(e)||e instanceof Error)}function S(e){return"function"==typeof e}function E(e){return Object.prototype.toString.call(e)}function C(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(_(o)&&(o=r.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(o)){var n=r.pid;s[e]=function(){var r=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,r)}}else s[e]=function(){};return s[e]},t.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=p,t.isBoolean=f,t.isNull=g,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=y,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=_,t.isRegExp=b,t.isObject=v,t.isDate=w,t.isError=x,t.isFunction=S,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(135);var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[C((e=new Date).getHours()),C(e.getMinutes()),C(e.getSeconds())].join(":"),[e.getDate(),A[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(698),t._extend=function(e,t){if(!t||!v(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{"use strict";n.r(r),n.d(r,{PluginLocal:()=>_i,pluginHelpers:()=>t,setupPluginCore:()=>vi});var e={};n.r(e),n.d(e,{setSDKMetadata:()=>fe});var t={};n.r(t),n.d(t,{IS_DEV:()=>me,PROTOCOL_FILE:()=>ye,PROTOCOL_LSP:()=>_e,PluginLogger:()=>Ae,URL_LSP:()=>be,cleanInjectedScripts:()=>$e,cleanInjectedUI:()=>Ue,deepMerge:()=>Ce,deferred:()=>Le,genID:()=>Te,getAppPathRoot:()=>xe,getSDKPathRoot:()=>Se,injectTheme:()=>He,invokeHostExportedApi:()=>Re,isObject:()=>Ee,isValidUUID:()=>Oe,mergeSettingsWithSchema:()=>We,normalizeKeyStr:()=>qe,path:()=>ge,safeSnakeCase:()=>we,safetyPathJoin:()=>je,safetyPathNormalize:()=>Pe,setupIframeSandbox:()=>Me,setupInjectedStyle:()=>De,setupInjectedUI:()=>Fe,transformableEvent:()=>ze,ucFirst:()=>ke,withFileProtocol:()=>Ie});var i=n(228),o=n.n(i),s=n(627);const{entries:a,setPrototypeOf:l,isFrozen:c,getPrototypeOf:u,getOwnPropertyDescriptor:h}=Object;let{freeze:d,seal:p,create:f}=Object,{apply:g,construct:m}="undefined"!=typeof Reflect&&Reflect;d||(d=function(e){return e}),p||(p=function(e){return e}),g||(g=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return e.apply(t,r)}),m||(m=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new e(...n)});const y=P(Array.prototype.forEach),_=P(Array.prototype.lastIndexOf),b=P(Array.prototype.pop),v=P(Array.prototype.push),w=P(Array.prototype.splice),x=P(String.prototype.toLowerCase),S=P(String.prototype.toString),E=P(String.prototype.match),C=P(String.prototype.replace),A=P(String.prototype.indexOf),O=P(String.prototype.trim),T=P(Object.prototype.hasOwnProperty),k=P(RegExp.prototype.test),I=(j=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return m(j,t)});var j;function P(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return g(e,t,r)}}function L(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:x;l&&l(e,null);let r=t.length;for(;r--;){let i=t[r];if("string"==typeof i){const e=n(i);e!==i&&(c(t)||(t[r]=e),i=e)}e[i]=!0}return e}function R(e){for(let t=0;t<e.length;t++)T(e,t)||(e[t]=null);return e}function M(e){const t=f(null);for(const[n,r]of a(e))T(e,n)&&(Array.isArray(r)?t[n]=R(r):r&&"object"==typeof r&&r.constructor===Object?t[n]=M(r):t[n]=r);return t}function D(e,t){for(;null!==e;){const n=h(e,t);if(n){if(n.get)return P(n.get);if("function"==typeof n.value)return P(n.value)}e=u(e)}return function(){return null}}const N=d(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),F=d(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),U=d(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),$=d(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),z=d(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),H=d(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),W=d(["#text"]),q=d(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),B=d(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),G=d(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),J=d(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Y=p(/\{\{[\w\W]*|[\w\W]*\}\}/gm),K=p(/<%[\w\W]*|[\w\W]*%>/gm),V=p(/\$\{[\w\W]*/gm),Z=p(/^data-[\-\w.\u00B7-\uFFFF]+$/),X=p(/^aria-[\-\w]+$/),Q=p(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ee=p(/^(?:\w+script|data):/i),te=p(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ne=p(/^html$/i),re=p(/^[a-z][.\w]*(-[.\w]+)+$/i);var ie=Object.freeze({__proto__:null,ARIA_ATTR:X,ATTR_WHITESPACE:te,CUSTOM_ELEMENT:re,DATA_ATTR:Z,DOCTYPE_NAME:ne,ERB_EXPR:K,IS_ALLOWED_URI:Q,IS_SCRIPT_OR_DATA:ee,MUSTACHE_EXPR:Y,TMPLIT_EXPR:V});const oe=function(){return"undefined"==typeof window?null:window};var se=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:oe();const n=t=>e(t);if(n.version="3.3.1",n.removed=[],!t||!t.document||9!==t.document.nodeType||!t.Element)return n.isSupported=!1,n;let{document:r}=t;const i=r,o=i.currentScript,{DocumentFragment:s,HTMLTemplateElement:l,Node:c,Element:u,NodeFilter:h,NamedNodeMap:p=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:g,DOMParser:m,trustedTypes:j}=t,P=u.prototype,R=D(P,"cloneNode"),Y=D(P,"remove"),K=D(P,"nextSibling"),V=D(P,"childNodes"),Z=D(P,"parentNode");if("function"==typeof l){const e=r.createElement("template");e.content&&e.content.ownerDocument&&(r=e.content.ownerDocument)}let X,ee="";const{implementation:te,createNodeIterator:re,createDocumentFragment:se,getElementsByTagName:ae}=r,{importNode:le}=i;let ce={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};n.isSupported="function"==typeof a&&"function"==typeof Z&&te&&void 0!==te.createHTMLDocument;const{MUSTACHE_EXPR:ue,ERB_EXPR:he,TMPLIT_EXPR:de,DATA_ATTR:pe,ARIA_ATTR:fe,IS_SCRIPT_OR_DATA:ge,ATTR_WHITESPACE:me,CUSTOM_ELEMENT:ye}=ie;let{IS_ALLOWED_URI:_e}=ie,be=null;const ve=L({},[...N,...F,...U,...z,...W]);let we=null;const xe=L({},[...q,...B,...G,...J]);let Se=Object.seal(f(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ee=null,Ce=null;const Ae=Object.seal(f(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Oe=!0,Te=!0,ke=!1,Ie=!0,je=!1,Pe=!0,Le=!1,Re=!1,Me=!1,De=!1,Ne=!1,Fe=!1,Ue=!0,$e=!1,ze=!0,He=!1,We={},qe=null;const Be=L({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Ge=null;const Je=L({},["audio","video","img","source","image","track"]);let Ye=null;const Ke=L({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ve="http://www.w3.org/1998/Math/MathML",Ze="http://www.w3.org/2000/svg",Xe="http://www.w3.org/1999/xhtml";let Qe=Xe,et=!1,tt=null;const nt=L({},[Ve,Ze,Xe],S);let rt=L({},["mi","mo","mn","ms","mtext"]),it=L({},["annotation-xml"]);const ot=L({},["title","style","font","a","script"]);let st=null;const at=["application/xhtml+xml","text/html"];let lt=null,ct=null;const ut=r.createElement("form"),ht=function(e){return e instanceof RegExp||e instanceof Function},dt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!ct||ct!==e){if(e&&"object"==typeof e||(e={}),e=M(e),st=-1===at.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,lt="application/xhtml+xml"===st?S:x,be=T(e,"ALLOWED_TAGS")?L({},e.ALLOWED_TAGS,lt):ve,we=T(e,"ALLOWED_ATTR")?L({},e.ALLOWED_ATTR,lt):xe,tt=T(e,"ALLOWED_NAMESPACES")?L({},e.ALLOWED_NAMESPACES,S):nt,Ye=T(e,"ADD_URI_SAFE_ATTR")?L(M(Ke),e.ADD_URI_SAFE_ATTR,lt):Ke,Ge=T(e,"ADD_DATA_URI_TAGS")?L(M(Je),e.ADD_DATA_URI_TAGS,lt):Je,qe=T(e,"FORBID_CONTENTS")?L({},e.FORBID_CONTENTS,lt):Be,Ee=T(e,"FORBID_TAGS")?L({},e.FORBID_TAGS,lt):M({}),Ce=T(e,"FORBID_ATTR")?L({},e.FORBID_ATTR,lt):M({}),We=!!T(e,"USE_PROFILES")&&e.USE_PROFILES,Oe=!1!==e.ALLOW_ARIA_ATTR,Te=!1!==e.ALLOW_DATA_ATTR,ke=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ie=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,je=e.SAFE_FOR_TEMPLATES||!1,Pe=!1!==e.SAFE_FOR_XML,Le=e.WHOLE_DOCUMENT||!1,De=e.RETURN_DOM||!1,Ne=e.RETURN_DOM_FRAGMENT||!1,Fe=e.RETURN_TRUSTED_TYPE||!1,Me=e.FORCE_BODY||!1,Ue=!1!==e.SANITIZE_DOM,$e=e.SANITIZE_NAMED_PROPS||!1,ze=!1!==e.KEEP_CONTENT,He=e.IN_PLACE||!1,_e=e.ALLOWED_URI_REGEXP||Q,Qe=e.NAMESPACE||Xe,rt=e.MATHML_TEXT_INTEGRATION_POINTS||rt,it=e.HTML_INTEGRATION_POINTS||it,Se=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&ht(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Se.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&ht(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Se.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Se.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),je&&(Te=!1),Ne&&(De=!0),We&&(be=L({},W),we=[],!0===We.html&&(L(be,N),L(we,q)),!0===We.svg&&(L(be,F),L(we,B),L(we,J)),!0===We.svgFilters&&(L(be,U),L(we,B),L(we,J)),!0===We.mathMl&&(L(be,z),L(we,G),L(we,J))),e.ADD_TAGS&&("function"==typeof e.ADD_TAGS?Ae.tagCheck=e.ADD_TAGS:(be===ve&&(be=M(be)),L(be,e.ADD_TAGS,lt))),e.ADD_ATTR&&("function"==typeof e.ADD_ATTR?Ae.attributeCheck=e.ADD_ATTR:(we===xe&&(we=M(we)),L(we,e.ADD_ATTR,lt))),e.ADD_URI_SAFE_ATTR&&L(Ye,e.ADD_URI_SAFE_ATTR,lt),e.FORBID_CONTENTS&&(qe===Be&&(qe=M(qe)),L(qe,e.FORBID_CONTENTS,lt)),e.ADD_FORBID_CONTENTS&&(qe===Be&&(qe=M(qe)),L(qe,e.ADD_FORBID_CONTENTS,lt)),ze&&(be["#text"]=!0),Le&&L(be,["html","head","body"]),be.table&&(L(be,["tbody"]),delete Ee.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw I('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw I('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');X=e.TRUSTED_TYPES_POLICY,ee=X.createHTML("")}else void 0===X&&(X=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(n=t.getAttribute(r));const i="dompurify"+(n?"#"+n:"");try{return e.createPolicy(i,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+i+" could not be created."),null}}(j,o)),null!==X&&"string"==typeof ee&&(ee=X.createHTML(""));d&&d(e),ct=e}},pt=L({},[...F,...U,...$]),ft=L({},[...z,...H]),gt=function(e){v(n.removed,{element:e});try{Z(e).removeChild(e)}catch(t){Y(e)}},mt=function(e,t){try{v(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){v(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(De||Ne)try{gt(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},yt=function(e){let t=null,n=null;if(Me)e="<remove></remove>"+e;else{const t=E(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===st&&Qe===Xe&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");const i=X?X.createHTML(e):e;if(Qe===Xe)try{t=(new m).parseFromString(i,st)}catch(e){}if(!t||!t.documentElement){t=te.createDocument(Qe,"template",null);try{t.documentElement.innerHTML=et?ee:i}catch(e){}}const o=t.body||t.documentElement;return e&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),Qe===Xe?ae.call(t,Le?"html":"body")[0]:Le?t.documentElement:o},_t=function(e){return re.call(e.ownerDocument||e,e,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},bt=function(e){return e instanceof g&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof p)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},vt=function(e){return"function"==typeof c&&e instanceof c};function wt(e,t,r){y(e,e=>{e.call(n,t,r,ct)})}const xt=function(e){let t=null;if(wt(ce.beforeSanitizeElements,e,null),bt(e))return gt(e),!0;const r=lt(e.nodeName);if(wt(ce.uponSanitizeElement,e,{tagName:r,allowedTags:be}),Pe&&e.hasChildNodes()&&!vt(e.firstElementChild)&&k(/<[/\w!]/g,e.innerHTML)&&k(/<[/\w!]/g,e.textContent))return gt(e),!0;if(7===e.nodeType)return gt(e),!0;if(Pe&&8===e.nodeType&&k(/<[/\w]/g,e.data))return gt(e),!0;if(!(Ae.tagCheck instanceof Function&&Ae.tagCheck(r))&&(!be[r]||Ee[r])){if(!Ee[r]&&Et(r)){if(Se.tagNameCheck instanceof RegExp&&k(Se.tagNameCheck,r))return!1;if(Se.tagNameCheck instanceof Function&&Se.tagNameCheck(r))return!1}if(ze&&!qe[r]){const t=Z(e)||e.parentNode,n=V(e)||e.childNodes;if(n&&t)for(let r=n.length-1;r>=0;--r){const i=R(n[r],!0);i.__removalCount=(e.__removalCount||0)+1,t.insertBefore(i,K(e))}}return gt(e),!0}return e instanceof u&&!function(e){let t=Z(e);t&&t.tagName||(t={namespaceURI:Qe,tagName:"template"});const n=x(e.tagName),r=x(t.tagName);return!!tt[e.namespaceURI]&&(e.namespaceURI===Ze?t.namespaceURI===Xe?"svg"===n:t.namespaceURI===Ve?"svg"===n&&("annotation-xml"===r||rt[r]):Boolean(pt[n]):e.namespaceURI===Ve?t.namespaceURI===Xe?"math"===n:t.namespaceURI===Ze?"math"===n&&it[r]:Boolean(ft[n]):e.namespaceURI===Xe?!(t.namespaceURI===Ze&&!it[r])&&!(t.namespaceURI===Ve&&!rt[r])&&!ft[n]&&(ot[n]||!pt[n]):!("application/xhtml+xml"!==st||!tt[e.namespaceURI]))}(e)?(gt(e),!0):"noscript"!==r&&"noembed"!==r&&"noframes"!==r||!k(/<\/no(script|embed|frames)/i,e.innerHTML)?(je&&3===e.nodeType&&(t=e.textContent,y([ue,he,de],e=>{t=C(t,e," ")}),e.textContent!==t&&(v(n.removed,{element:e.cloneNode()}),e.textContent=t)),wt(ce.afterSanitizeElements,e,null),!1):(gt(e),!0)},St=function(e,t,n){if(Ue&&("id"===t||"name"===t)&&(n in r||n in ut))return!1;if(Te&&!Ce[t]&&k(pe,t));else if(Oe&&k(fe,t));else if(Ae.attributeCheck instanceof Function&&Ae.attributeCheck(t,e));else if(!we[t]||Ce[t]){if(!(Et(e)&&(Se.tagNameCheck instanceof RegExp&&k(Se.tagNameCheck,e)||Se.tagNameCheck instanceof Function&&Se.tagNameCheck(e))&&(Se.attributeNameCheck instanceof RegExp&&k(Se.attributeNameCheck,t)||Se.attributeNameCheck instanceof Function&&Se.attributeNameCheck(t,e))||"is"===t&&Se.allowCustomizedBuiltInElements&&(Se.tagNameCheck instanceof RegExp&&k(Se.tagNameCheck,n)||Se.tagNameCheck instanceof Function&&Se.tagNameCheck(n))))return!1}else if(Ye[t]);else if(k(_e,C(n,me,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==A(n,"data:")||!Ge[e])if(ke&&!k(ge,C(n,me,"")));else if(n)return!1;return!0},Et=function(e){return"annotation-xml"!==e&&E(e,ye)},Ct=function(e){wt(ce.beforeSanitizeAttributes,e,null);const{attributes:t}=e;if(!t||bt(e))return;const r={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:we,forceKeepAttr:void 0};let i=t.length;for(;i--;){const o=t[i],{name:s,namespaceURI:a,value:l}=o,c=lt(s),u=l;let h="value"===s?u:O(u);if(r.attrName=c,r.attrValue=h,r.keepAttr=!0,r.forceKeepAttr=void 0,wt(ce.uponSanitizeAttribute,e,r),h=r.attrValue,!$e||"id"!==c&&"name"!==c||(mt(s,e),h="user-content-"+h),Pe&&k(/((--!?|])>)|<\/(style|title|textarea)/i,h)){mt(s,e);continue}if("attributename"===c&&E(h,"href")){mt(s,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){mt(s,e);continue}if(!Ie&&k(/\/>/i,h)){mt(s,e);continue}je&&y([ue,he,de],e=>{h=C(h,e," ")});const d=lt(e.nodeName);if(St(d,c,h)){if(X&&"object"==typeof j&&"function"==typeof j.getAttributeType)if(a);else switch(j.getAttributeType(d,c)){case"TrustedHTML":h=X.createHTML(h);break;case"TrustedScriptURL":h=X.createScriptURL(h)}if(h!==u)try{a?e.setAttributeNS(a,s,h):e.setAttribute(s,h),bt(e)?gt(e):b(n.removed)}catch(t){mt(s,e)}}else mt(s,e)}wt(ce.afterSanitizeAttributes,e,null)},At=function e(t){let n=null;const r=_t(t);for(wt(ce.beforeSanitizeShadowDOM,t,null);n=r.nextNode();)wt(ce.uponSanitizeShadowNode,n,null),xt(n),Ct(n),n.content instanceof s&&e(n.content);wt(ce.afterSanitizeShadowDOM,t,null)};return n.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,o=null,a=null,l=null;if(et=!e,et&&(e="\x3c!--\x3e"),"string"!=typeof e&&!vt(e)){if("function"!=typeof e.toString)throw I("toString is not a function");if("string"!=typeof(e=e.toString()))throw I("dirty is not a string, aborting")}if(!n.isSupported)return e;if(Re||dt(t),n.removed=[],"string"==typeof e&&(He=!1),He){if(e.nodeName){const t=lt(e.nodeName);if(!be[t]||Ee[t])throw I("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof c)r=yt("\x3c!----\x3e"),o=r.ownerDocument.importNode(e,!0),1===o.nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?r=o:r.appendChild(o);else{if(!De&&!je&&!Le&&-1===e.indexOf("<"))return X&&Fe?X.createHTML(e):e;if(r=yt(e),!r)return De?null:Fe?ee:""}r&&Me&&gt(r.firstChild);const u=_t(He?e:r);for(;a=u.nextNode();)xt(a),Ct(a),a.content instanceof s&&At(a.content);if(He)return e;if(De){if(Ne)for(l=se.call(r.ownerDocument);r.firstChild;)l.appendChild(r.firstChild);else l=r;return(we.shadowroot||we.shadowrootmode)&&(l=le.call(i,l,!0)),l}let h=Le?r.outerHTML:r.innerHTML;return Le&&be["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&k(ne,r.ownerDocument.doctype.name)&&(h="<!DOCTYPE "+r.ownerDocument.doctype.name+">\n"+h),je&&y([ue,he,de],e=>{h=C(h,e," ")}),X&&Fe?X.createHTML(h):h},n.setConfig=function(){dt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Re=!0},n.clearConfig=function(){ct=null,Re=!1},n.isValidAttribute=function(e,t,n){ct||dt({});const r=lt(e),i=lt(t);return St(r,i,n)},n.addHook=function(e,t){"function"==typeof t&&v(ce[e],t)},n.removeHook=function(e,t){if(void 0!==t){const n=_(ce[e],t);return-1===n?void 0:w(ce[e],n,1)[0]}return b(ce[e])},n.removeHooks=function(e){ce[e]=[]},n.removeAllHooks=function(){ce={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},n}(),ae=n(744),le=n.n(ae),ce=function(){return ce=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},ce.apply(this,arguments)};function ue(e){return e.toLowerCase()}Object.create,Object.create;var he=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],de=/[^A-Z0-9]+/gi;function pe(e,t,n){return t instanceof RegExp?e.replace(t,n):t.reduce(function(e,t){return e.replace(t,n)},e)}function fe(e){this?.sdk&&e&&(this.sdk=Object.assign({},this.sdk,e))}const ge="win32"===navigator.platform.toLowerCase()?s.win32:s.posix,me=!1,ye="file://",_e="lsp://",be=_e+"logseq.io/";let ve;const we=function(e,t){return void 0===t&&(t={}),function(e,t){return void 0===t&&(t={}),function(e,t){void 0===t&&(t={});for(var n=t.splitRegexp,r=void 0===n?he:n,i=t.stripRegexp,o=void 0===i?de:i,s=t.transform,a=void 0===s?ue:s,l=t.delimiter,c=void 0===l?" ":l,u=pe(pe(e,r,"$1\0$2"),o,"\0"),h=0,d=u.length;"\0"===u.charAt(h);)h++;for(;"\0"===u.charAt(d-1);)d--;return u.slice(h,d).split("\0").map(a).join(c)}(e,ce({delimiter:"."},t))}(e,ce({delimiter:"_"},t))};async function xe(){return ve||(ve=await Re("_callApplication","getAppPath"))}async function Se(){return me?localStorage.getItem("LSP_DEV_SDK_ROOT")||"http://localhost:8080":je(await xe(),"js")}function Ee(e){return e===Object(e)&&!Array.isArray(e)}function Ce(e,t){return le()(e,t,{arrayMerge:(e,t)=>t})}class Ae extends(o()){_tag;_opts;_logs=[];constructor(e,t){super(),this._tag=e,this._opts=t}write(e,t,n){t?.length&&!0===t[t.length-1]&&(n=!0,t.pop());const r=t.reduce((e,t)=>(t&&t instanceof Error?e+=`${t.message} ${t.stack}`:e+=t.toString(),e),`[${this._tag}][${(new Date).toLocaleTimeString()}] `);this._logs.push([e,r]),(n||this._opts?.console)&&console?.["ERROR"===e?"error":"debug"](`${e}: ${r}`),this.emit("change")}clear(){this._logs=[],this.emit("change")}info(...e){this.write("INFO",e)}error(...e){this.write("ERROR",e)}warn(...e){this.write("WARN",e)}setTag(e){this._tag=e}toJSON(){return this._logs}}function Oe(e){return"string"==typeof e&&36===e.length&&/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi.test(e)}function Te(){return"_"+Math.random().toString(36).substr(2,9)}function ke(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Ie(e){return e?(/^(http|file|lsp)/.test(e)||(e=ye+e),e):""}function je(e,...t){try{const n=new URL(e);if(!n.origin)throw new Error(null);const r=ge.join(e.substr(n.origin.length),...t);return n.origin+r}catch(n){return ge.join(e,...t)}}function Pe(e){return e?.match(/^(http?|lsp|assets):/)||(e=ge.normalize(e)),e}function Le(e,t){let n,r,i=!1;const o=t=>n=>{e&&clearTimeout(e),t(n),i=!0},s=new Promise((i,s)=>{n=o(i),r=o(s),e&&(e=setTimeout(()=>r(new Error(`[deferred timeout] ${t}`)),e))});return{created:Date.now(),setTag:e=>t=e,resolve:n,reject:r,promise:s,get settled(){return i}}}function Re(t,...n){t=t?.startsWith("_call")?t:t?.replace(/^[_$]+/,"");let r=we(t);const i=window.logseq?.sdk,o=i&&Object.keys(i);let s={};const a=r?.split("_")?.[0];a&&o.includes(a)&&(r=r.replace(new RegExp(`^${a}_`),""),s=i?.[a]);const l=Object.assign({},window.logseq?.api,s,e),c=l[r]||window.apis[r]||l[t]||window.apis[t];if(!c)throw new Error(`Not existed method #${t}`);return"function"!=typeof c?c:c.apply(this,n)}function Me(e,t){const n=document.createElement("iframe");return n.classList.add("lsp-iframe-sandbox"),Object.entries(e).forEach(([e,t])=>{n.setAttribute(e,t)}),t.appendChild(n),async()=>{t.removeChild(n)}}function De(e,t){const n=t["data-injected-style"];let r=n&&document.querySelector(`[data-injected-style=${n}]`);if(!r)return r=document.createElement("style"),r.textContent=e,t&&Object.entries(t).forEach(([e,t])=>{r.setAttribute(e,t)}),document.head.append(r),()=>{document.head.removeChild(r)};r.textContent=e}const Ne=new Map;function Fe(e,t,n){let r,i,o="";const s=this;"slot"in e?(o=e.slot,r=`#${o}`):"path"in e?r=e.path:i=!0;const a=`${s.id}--${e.key||Te()}`,l=a,c=i?document.body:r&&document.querySelector(r);if(!c)return console.error(`${this.debugTag} can not resolve selector target ${r}`),!1;if(!e.template)return void Ne.get(a)?.call(null);e.template=se.sanitize(e.template,{ADD_TAGS:["iframe"],ALLOW_UNKNOWN_PROTOCOLS:!0,ADD_ATTR:["allow","src","allowfullscreen","frameborder","scrolling","target"]});let u,h,d=document.querySelector(`#${a}`),p=i?d?.querySelector(".ls-ui-float-content"):d;if(p){p.innerHTML=e.template,t&&Object.entries(t).forEach(([e,t])=>{d.setAttribute(e,t)});let n=null!=d.dataset.dx;return void(e.style&&Object.entries(e.style).forEach(([e,t])=>{n&&["left","top","bottom","right","width","height"].includes(e)||(d.style[e]=t)}))}if(d=document.createElement("div"),d.id=a,d.dataset.injectedUi=l||"",i?(p=document.createElement("div"),p.classList.add("ls-ui-float-content"),d.appendChild(p)):p=d,p.innerHTML=e.template,t&&Object.entries(t).forEach(([e,t])=>{d.setAttribute(e,t)}),e.style&&Object.entries(e.style).forEach(([e,t])=>{d.style[e]=t}),i&&(d.setAttribute("draggable","true"),d.setAttribute("resizable","true"),e.close&&(d.dataset.close=e.close),d.classList.add("lsp-ui-float-container","visible"),s._setupResizableContainer(d,l),h=s._setupDraggableContainer(d,{key:l,close:()=>u(),title:t?.title})),o&&e.reset){const e=Array.from(c.querySelectorAll("[data-injected-ui]")).map(e=>e.id);e?.forEach(e=>{Ne.get(e)?.call(null)})}return c.appendChild(d),["click","focus","focusin","focusout","blur","dblclick","keyup","keypress","keydown","change","input","contextmenu"].forEach(e=>{d.addEventListener(e,t=>{const n=t.target.closest(`[data-on-${e}]`);if(!n)return;const{preventDefault:r}=n.dataset,i=n.dataset[`on${ke(e)}`];i&&s.caller?.callUserModel(i,ze(n,t)),"true"===r?.toLowerCase()&&t.preventDefault()},!1)}),n?.({el:d,float:i}),u=()=>{h?.(),Ne.delete(a),c.removeChild(d)},Ne.set(a,u),u}function Ue(e){if(!Ne.has(e))return;const t=Ne.get(e);try{t()}catch(t){console.warn("[CLEAN Injected UI] ",e,t)}}function $e(){const e=document.head.querySelectorAll(`script[data-ref=${this.id}]`);e?.forEach(e=>e.remove())}function ze(e,t){const n={};if(e){n.type=t.type;const r=e.dataset,i="rect";["value","id","className","dataset",i].forEach(t=>{let o;if(t===i){if(!r.hasOwnProperty(i))return;o=e.getBoundingClientRect().toJSON()}else o=e[t];"object"==typeof o&&(o={...o}),n[t]=o})}return n}function He(e){const t=document.createElement("link");return t.rel="stylesheet",t.href=e,document.head.appendChild(t),()=>{try{document.head.removeChild(t)}catch(e){console.error(e)}}}function We(e,t){const n=(t||[]).reduce((e,t)=>("default"in t&&(e[t.key]=t.default),e),{});return Object.assign(n,e)}function qe(e){if("string"==typeof e)return e.trim().replace(/\s/g,"_").toLowerCase()}window.__injectedUIEffects=Ne;var Be=n(833),Ge=n.n(Be);const Je="application/x-postmate-v1+json";let Ye=0;const Ke={handshake:1,"handshake-reply":1,call:1,emit:1,reply:1,request:1},Ve=(e,t)=>!("string"==typeof t&&e.origin!==t||!e.data||"object"==typeof e.data&&!("postmate"in e.data)||e.data.type!==Je||!Ke[e.data.postmate]);class Ze{parent;frame;child;events={};childOrigin;listener;constructor(e){this.parent=e.parent,this.frame=e.frame,this.child=e.child,this.childOrigin=e.childOrigin,this.listener=e=>{if(!Ve(e,this.childOrigin))return!1;const{data:t,name:n}=((e||{}).data||{}).value||{};"emit"===e.data.postmate&&n in this.events&&this.events[n].forEach(e=>{e.call(this,t)})},this.parent.addEventListener("message",this.listener,!1)}get(e,...t){return new Promise((n,r)=>{const i=++Ye,o=e=>{e.data.uid===i&&"reply"===e.data.postmate&&(this.parent.removeEventListener("message",o,!1),e.data.error?r(e.data.error):n(e.data.value))};this.parent.addEventListener("message",o,!1),this.child.postMessage({postmate:"request",type:Je,property:e,args:t,uid:i},this.childOrigin)})}call(e,t){this.child.postMessage({postmate:"call",type:Je,property:e,data:t},this.childOrigin)}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}destroy(){window.removeEventListener("message",this.listener,!1),this.frame.parentNode.removeChild(this.frame)}}class Xe{model;parent;parentOrigin;child;constructor(e){this.model=e.model,this.parent=e.parent,this.parentOrigin=e.parentOrigin,this.child=e.child,this.child.addEventListener("message",e=>{if(!Ve(e,this.parentOrigin))return;const{property:t,uid:n,data:r,args:i}=e.data;"call"!==e.data.postmate?((e,t,n)=>{const r="function"==typeof e[t]?e[t].apply(null,n):e[t];return Promise.resolve(r)})(this.model,t,i).then(r=>{e.source.postMessage({property:t,postmate:"reply",type:Je,uid:n,value:r},e.origin)}).catch(r=>{e.source.postMessage({property:t,postmate:"reply",type:Je,uid:n,error:r},e.origin)}):t in this.model&&"function"==typeof this.model[t]&&this.model[t](r)})}emit(e,t){this.parent.postMessage({postmate:"emit",type:Je,value:{name:e,data:t}},this.parentOrigin)}}class Qe{static debug=!1;container;parent;frame;child;childOrigin;url;model;static Model;constructor(e){this.container=e.container,this.url=e.url,this.parent=window,this.frame=document.createElement("iframe"),e.id&&(this.frame.id=e.id),e.name&&(this.frame.name=e.name),e.allow&&(this.frame.allow=e.allow),this.frame.classList.add.apply(this.frame.classList,e.classListArray||[]),this.container.appendChild(this.frame),this.child=this.frame.contentWindow,this.model=e.model||{}}sendHandshake(e){const t=(e=>{const t=document.createElement("a");t.href=e;const n=t.protocol.length>4?t.protocol:window.location.protocol,r=t.host.length?"80"===t.port||"443"===t.port?t.hostname:t.host:window.location.host;return t.origin||`${n}//${r}`})(e=e||this.url);let n,r=0;return new Promise((i,o)=>{const s=e=>!!Ve(e,t)&&("handshake-reply"===e.data.postmate?(clearInterval(n),this.parent.removeEventListener("message",s,!1),this.childOrigin=e.origin,i(new Ze(this))):o("Failed handshake"));this.parent.addEventListener("message",s,!1);const a=()=>{r++,this.child.postMessage({postmate:"handshake",type:Je,model:this.model},t),5===r&&clearInterval(n)};this.frame.addEventListener("load",()=>{a(),n=setInterval(a,500)}),this.frame.src=e})}destroy(){this.frame.parentNode.removeChild(this.frame)}}class et{child;model;parent;parentOrigin;constructor(e){this.child=window,this.model=e,this.parent=this.child.parent}sendHandshakeReply(){return new Promise((e,t)=>{const n=r=>{if(r.data.postmate){if("handshake"===r.data.postmate){this.child.removeEventListener("message",n,!1),r.source.postMessage({postmate:"handshake-reply",type:Je},r.origin),this.parentOrigin=r.origin;const t=r.data.model;return t&&Object.keys(t).forEach(e=>{this.model[e]=t[e]}),e(new Xe(this))}return t("Handshake Reply Failed")}};this.child.addEventListener("message",n,!1)})}}class tt{ctx;opts;constructor(e,t){this.ctx=e,this.opts=t}get ctxId(){return this.ctx.baseInfo.id}setItem(e,t){return this.ctx.caller.callAsync("api:call",{method:"write-plugin-storage-file",args:[this.ctxId,e,t,this.opts?.assets]})}getItem(e){return this.ctx.caller.callAsync("api:call",{method:"read-plugin-storage-file",args:[this.ctxId,e,this.opts?.assets]})}removeItem(e){return this.ctx.caller.call("api:call",{method:"unlink-plugin-storage-file",args:[this.ctxId,e,this.opts?.assets]})}allKeys(){return this.ctx.caller.callAsync("api:call",{method:"list-plugin-storage-files",args:[this.ctxId,this.opts?.assets]})}clear(){return this.ctx.caller.call("api:call",{method:"clear-plugin-storage-files",args:[this.ctxId,this.opts?.assets]})}hasItem(e){return this.ctx.caller.callAsync("api:call",{method:"exist-plugin-storage-file",args:[this.ctxId,e,this.opts?.assets]})}}class nt{ctx;constructor(e){this.ctx=e}get React(){return this.ensureHostScope().React}get ReactDOM(){return this.ensureHostScope().ReactDOM}get Components(){return{Editor:this.ensureHostScope().logseq.sdk.experiments.cp_page_editor}}get Utils(){const e=this.ensureHostScope().logseq.sdk.utils,t=t=>e[we(t)];return{toClj:t("toClj"),jsxToClj:t("jsxToClj"),toJs:t("toJs"),toKeyword:t("toKeyword"),toSymbol:t("toSymbol")}}get pluginLocal(){return this.ensureHostScope().LSPluginCore.ensurePlugin(this.ctx.baseInfo.id)}invokeExperMethod(e,...t){const n=this.ensureHostScope();e=we(e)?.toLowerCase();const r=n.logseq.api["exper_"+e]||n.logseq.sdk.experiments[e];return r?.apply(n,t)}async loadScripts(...e){(e=e.map(e=>e?.startsWith("http")?e:this.ctx.resolveResourceFullUrl(e))).unshift(this.ctx.baseInfo.id),await this.invokeExperMethod("loadScripts",...e)}registerFencedCodeRenderer(e,t){return this.invokeExperMethod("registerFencedCodeRenderer",this.ctx.baseInfo.id,e,t)}registerDaemonRenderer(e,t){return this.invokeExperMethod("registerDaemonRenderer",this.ctx.baseInfo.id,e,t)}registerRouteRenderer(e,t){return this.invokeExperMethod("registerRouteRenderer",this.ctx.baseInfo.id,e,t)}registerExtensionsEnhancer(e,t){const n=this.ensureHostScope();return"katex"===e&&n.katex&&t(n.katex).catch(console.error),this.invokeExperMethod("registerExtensionsEnhancer",this.ctx.baseInfo.id,e,t)}ensureHostScope(){try{window.top}catch(e){console.error("Can not access host scope!")}return window.top}}const rt=e=>`task_callback_${e}`;class it{_client;_requestId;_requestOptions;_promise;_aborted=!1;constructor(e,t,n={}){this._client=e,this._requestId=t,this._requestOptions=n,this._promise=new Promise((e,t)=>{if(!this._requestId)return t(null);this._client.once(rt(this._requestId),n=>{n&&n instanceof Error?t(n):e(n)})});const{success:r,fail:i,final:o}=this._requestOptions;this._promise.then(e=>{r?.(e)}).catch(e=>{i?.(e)}).finally(()=>{o?.()})}abort(){this._requestOptions.abortable&&!this._aborted&&(this._client.ctx._execCallableAPI("http_request_abort",this._requestId),this._aborted=!0)}get promise(){return this._promise}get client(){return this._client}get requestId(){return this._requestId}}class ot extends i.EventEmitter{_ctx;constructor(e){super(),this._ctx=e,this.ctx.caller.on("#lsp#request#callback",e=>{const t=e?.requestId;t&&this.emit(rt(t),e?.payload)})}static createRequestTask(e,t,n){return new it(e,t,n)}async _request(e){const t=this.ctx.baseInfo.id,{success:n,fail:r,final:i,...o}=e,s=this.ctx.Experiments.invokeExperMethod("request",t,o),a=ot.createRequestTask(this.ctx.Request,s,e);return o.abortable?a:a.promise}get ctx(){return this._ctx}}const st=Array.isArray,at="object"==typeof global&&global&&global.Object===Object&&global;var lt="object"==typeof self&&self&&self.Object===Object&&self;const ct=at||lt||Function("return this")(),ut=ct.Symbol;var ht=Object.prototype,dt=ht.hasOwnProperty,pt=ht.toString,ft=ut?ut.toStringTag:void 0;var gt=Object.prototype.toString;var mt=ut?ut.toStringTag:void 0;const yt=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":mt&&mt in Object(e)?function(e){var t=dt.call(e,ft),n=e[ft];try{e[ft]=void 0;var r=!0}catch(e){}var i=pt.call(e);return r&&(t?e[ft]=n:delete e[ft]),i}(e):function(e){return gt.call(e)}(e)},_t=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},bt=function(e){if(!_t(e))return!1;var t=yt(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},vt=ct["__core-js_shared__"];var wt,xt=(wt=/[^.]+$/.exec(vt&&vt.keys&&vt.keys.IE_PROTO||""))?"Symbol(src)_1."+wt:"";var St=Function.prototype.toString;const Et=function(e){if(null!=e){try{return St.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var Ct=/^\[object .+?Constructor\]$/,At=Function.prototype,Ot=Object.prototype,Tt=At.toString,kt=Ot.hasOwnProperty,It=RegExp("^"+Tt.call(kt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const jt=function(e){return!(!_t(e)||(t=e,xt&&xt in t))&&(bt(e)?It:Ct).test(Et(e));var t},Pt=function(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return jt(n)?n:void 0},Lt=function(){try{var e=Pt(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),Rt=function(e,t,n){for(var r=-1,i=Object(e),o=n(e),s=o.length;s--;){var a=o[++r];if(!1===t(i[a],a,i))break}return e},Mt=function(e){return null!=e&&"object"==typeof e},Dt=function(e){return Mt(e)&&"[object Arguments]"==yt(e)};var Nt=Object.prototype,Ft=Nt.hasOwnProperty,Ut=Nt.propertyIsEnumerable;const $t=Dt(function(){return arguments}())?Dt:function(e){return Mt(e)&&Ft.call(e,"callee")&&!Ut.call(e,"callee")};var zt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ht=zt&&"object"==typeof module&&module&&!module.nodeType&&module,Wt=Ht&&Ht.exports===zt?ct.Buffer:void 0;const qt=(Wt?Wt.isBuffer:void 0)||function(){return!1};var Bt=/^(?:0|[1-9]\d*)$/;const Gt=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&Bt.test(e))&&e>-1&&e%1==0&&e<t},Jt=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var Yt={};Yt["[object Float32Array]"]=Yt["[object Float64Array]"]=Yt["[object Int8Array]"]=Yt["[object Int16Array]"]=Yt["[object Int32Array]"]=Yt["[object Uint8Array]"]=Yt["[object Uint8ClampedArray]"]=Yt["[object Uint16Array]"]=Yt["[object Uint32Array]"]=!0,Yt["[object Arguments]"]=Yt["[object Array]"]=Yt["[object ArrayBuffer]"]=Yt["[object Boolean]"]=Yt["[object DataView]"]=Yt["[object Date]"]=Yt["[object Error]"]=Yt["[object Function]"]=Yt["[object Map]"]=Yt["[object Number]"]=Yt["[object Object]"]=Yt["[object RegExp]"]=Yt["[object Set]"]=Yt["[object String]"]=Yt["[object WeakMap]"]=!1;var Kt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Vt=Kt&&"object"==typeof module&&module&&!module.nodeType&&module,Zt=Vt&&Vt.exports===Kt&&at.process,Xt=function(){try{return Vt&&Vt.require&&Vt.require("util").types||Zt&&Zt.binding&&Zt.binding("util")}catch(e){}}(),Qt=Xt&&Xt.isTypedArray;const en=Qt?(tn=Qt,function(e){return tn(e)}):function(e){return Mt(e)&&Jt(e.length)&&!!Yt[yt(e)]};var tn,nn=Object.prototype.hasOwnProperty;const rn=function(e,t){var n=st(e),r=!n&&$t(e),i=!n&&!r&&qt(e),o=!n&&!r&&!i&&en(e),s=n||r||i||o,a=s?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],l=a.length;for(var c in e)!t&&!nn.call(e,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Gt(c,l))||a.push(c);return a};var on=Object.prototype;const sn=function(e,t){return function(n){return e(t(n))}}(Object.keys,Object);var an=Object.prototype.hasOwnProperty;const ln=function(e){if(n=(t=e)&&t.constructor,t!==("function"==typeof n&&n.prototype||on))return sn(e);var t,n,r=[];for(var i in Object(e))an.call(e,i)&&"constructor"!=i&&r.push(i);return r},cn=function(e){return null!=(t=e)&&Jt(t.length)&&!bt(t)?rn(e):ln(e);var t},un=function(e,t){return e===t||e!=e&&t!=t},hn=function(e,t){for(var n=e.length;n--;)if(un(e[n][0],t))return n;return-1};var dn=Array.prototype.splice;function pn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}pn.prototype.clear=function(){this.__data__=[],this.size=0},pn.prototype.delete=function(e){var t=this.__data__,n=hn(t,e);return!(n<0||(n==t.length-1?t.pop():dn.call(t,n,1),--this.size,0))},pn.prototype.get=function(e){var t=this.__data__,n=hn(t,e);return n<0?void 0:t[n][1]},pn.prototype.has=function(e){return hn(this.__data__,e)>-1},pn.prototype.set=function(e,t){var n=this.__data__,r=hn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};const fn=pn,gn=Pt(ct,"Map"),mn=Pt(Object,"create");var yn=Object.prototype.hasOwnProperty;var _n=Object.prototype.hasOwnProperty;function bn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}bn.prototype.clear=function(){this.__data__=mn?mn(null):{},this.size=0},bn.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},bn.prototype.get=function(e){var t=this.__data__;if(mn){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return yn.call(t,e)?t[e]:void 0},bn.prototype.has=function(e){var t=this.__data__;return mn?void 0!==t[e]:_n.call(t,e)},bn.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=mn&&void 0===t?"__lodash_hash_undefined__":t,this};const vn=bn,wn=function(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map};function xn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}xn.prototype.clear=function(){this.size=0,this.__data__={hash:new vn,map:new(gn||fn),string:new vn}},xn.prototype.delete=function(e){var t=wn(this,e).delete(e);return this.size-=t?1:0,t},xn.prototype.get=function(e){return wn(this,e).get(e)},xn.prototype.has=function(e){return wn(this,e).has(e)},xn.prototype.set=function(e,t){var n=wn(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};const Sn=xn;function En(e){var t=this.__data__=new fn(e);this.size=t.size}En.prototype.clear=function(){this.__data__=new fn,this.size=0},En.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},En.prototype.get=function(e){return this.__data__.get(e)},En.prototype.has=function(e){return this.__data__.has(e)},En.prototype.set=function(e,t){var n=this.__data__;if(n instanceof fn){var r=n.__data__;if(!gn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Sn(r)}return n.set(e,t),this.size=n.size,this};const Cn=En;function An(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Sn;++t<n;)this.add(e[t])}An.prototype.add=An.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},An.prototype.has=function(e){return this.__data__.has(e)};const On=An,Tn=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1},kn=function(e,t,n,r,i,o){var s=1&n,a=e.length,l=t.length;if(a!=l&&!(s&&l>a))return!1;var c=o.get(e),u=o.get(t);if(c&&u)return c==t&&u==e;var h=-1,d=!0,p=2&n?new On:void 0;for(o.set(e,t),o.set(t,e);++h<a;){var f=e[h],g=t[h];if(r)var m=s?r(g,f,h,t,e,o):r(f,g,h,e,t,o);if(void 0!==m){if(m)continue;d=!1;break}if(p){if(!Tn(t,function(e,t){if(s=t,!p.has(s)&&(f===e||i(f,e,n,r,o)))return p.push(t);var s})){d=!1;break}}else if(f!==g&&!i(f,g,n,r,o)){d=!1;break}}return o.delete(e),o.delete(t),d},In=ct.Uint8Array,jn=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n},Pn=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n};var Ln=ut?ut.prototype:void 0,Rn=Ln?Ln.valueOf:void 0;var Mn=Object.prototype.propertyIsEnumerable,Dn=Object.getOwnPropertySymbols;const Nn=Dn?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var s=e[n];t(s,n,e)&&(o[i++]=s)}return o}(Dn(e),function(t){return Mn.call(e,t)}))}:function(){return[]},Fn=function(e){return function(e,t,n){var r=t(e);return st(e)?r:function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}(r,n(e))}(e,cn,Nn)};var Un=Object.prototype.hasOwnProperty;const $n=Pt(ct,"DataView"),zn=Pt(ct,"Promise"),Hn=Pt(ct,"Set"),Wn=Pt(ct,"WeakMap");var qn="[object Map]",Bn="[object Promise]",Gn="[object Set]",Jn="[object WeakMap]",Yn="[object DataView]",Kn=Et($n),Vn=Et(gn),Zn=Et(zn),Xn=Et(Hn),Qn=Et(Wn),er=yt;($n&&er(new $n(new ArrayBuffer(1)))!=Yn||gn&&er(new gn)!=qn||zn&&er(zn.resolve())!=Bn||Hn&&er(new Hn)!=Gn||Wn&&er(new Wn)!=Jn)&&(er=function(e){var t=yt(e),n="[object Object]"==t?e.constructor:void 0,r=n?Et(n):"";if(r)switch(r){case Kn:return Yn;case Vn:return qn;case Zn:return Bn;case Xn:return Gn;case Qn:return Jn}return t});const tr=er;var nr="[object Arguments]",rr="[object Array]",ir="[object Object]",or=Object.prototype.hasOwnProperty;const sr=function(e,t,n,r,i,o){var s=st(e),a=st(t),l=s?rr:tr(e),c=a?rr:tr(t),u=(l=l==nr?ir:l)==ir,h=(c=c==nr?ir:c)==ir,d=l==c;if(d&&qt(e)){if(!qt(t))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new Cn),s||en(e)?kn(e,t,n,r,i,o):function(e,t,n,r,i,o,s){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!o(new In(e),new In(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return un(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=jn;case"[object Set]":var l=1&r;if(a||(a=Pn),e.size!=t.size&&!l)return!1;var c=s.get(e);if(c)return c==t;r|=2,s.set(e,t);var u=kn(a(e),a(t),r,i,o,s);return s.delete(e),u;case"[object Symbol]":if(Rn)return Rn.call(e)==Rn.call(t)}return!1}(e,t,l,n,r,i,o);if(!(1&n)){var p=u&&or.call(e,"__wrapped__"),f=h&&or.call(t,"__wrapped__");if(p||f){var g=p?e.value():e,m=f?t.value():t;return o||(o=new Cn),i(g,m,n,r,o)}}return!!d&&(o||(o=new Cn),function(e,t,n,r,i,o){var s=1&n,a=Fn(e),l=a.length;if(l!=Fn(t).length&&!s)return!1;for(var c=l;c--;){var u=a[c];if(!(s?u in t:Un.call(t,u)))return!1}var h=o.get(e),d=o.get(t);if(h&&d)return h==t&&d==e;var p=!0;o.set(e,t),o.set(t,e);for(var f=s;++c<l;){var g=e[u=a[c]],m=t[u];if(r)var y=s?r(m,g,u,t,e,o):r(g,m,u,e,t,o);if(!(void 0===y?g===m||i(g,m,n,r,o):y)){p=!1;break}f||(f="constructor"==u)}if(p&&!f){var _=e.constructor,b=t.constructor;_==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof _&&_ instanceof _&&"function"==typeof b&&b instanceof b||(p=!1)}return o.delete(e),o.delete(t),p}(e,t,n,r,i,o))},ar=function e(t,n,r,i,o){return t===n||(null==t||null==n||!Mt(t)&&!Mt(n)?t!=t&&n!=n:sr(t,n,r,i,e,o))},lr=function(e){return e==e&&!_t(e)},cr=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}},ur=function(e){var t=function(e){for(var t=cn(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,lr(i)]}return t}(e);return 1==t.length&&t[0][2]?cr(t[0][0],t[0][1]):function(n){return n===e||function(e,t,n,r){var i=n.length,o=i,s=!r;if(null==e)return!o;for(e=Object(e);i--;){var a=n[i];if(s&&a[2]?a[1]!==e[a[0]]:!(a[0]in e))return!1}for(;++i<o;){var l=(a=n[i])[0],c=e[l],u=a[1];if(s&&a[2]){if(void 0===c&&!(l in e))return!1}else{var h=new Cn;if(r)var d=r(c,u,l,e,t,h);if(!(void 0===d?ar(u,c,3,r,h):d))return!1}}return!0}(n,e,t)}},hr=function(e){return"symbol"==typeof e||Mt(e)&&"[object Symbol]"==yt(e)};var dr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,pr=/^\w*$/;const fr=function(e,t){if(st(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!hr(e))||pr.test(e)||!dr.test(e)||null!=t&&e in Object(t)};function gr(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(gr.Cache||Sn),n}gr.Cache=Sn;var mr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,yr=/\\(\\)?/g;const _r=(br=gr(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(mr,function(e,n,r,i){t.push(r?i.replace(yr,"$1"):n||e)}),t},function(e){return 500===vr.size&&vr.clear(),e}),vr=br.cache,br);var br,vr;var wr=ut?ut.prototype:void 0,xr=wr?wr.toString:void 0;const Sr=function e(t){if("string"==typeof t)return t;if(st(t))return function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}(t,e)+"";if(hr(t))return xr?xr.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n},Er=function(e,t){return st(e)?e:fr(e,t)?[e]:_r(function(e){return null==e?"":Sr(e)}(e))},Cr=function(e){if("string"==typeof e||hr(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t},Ar=function(e,t){for(var n=0,r=(t=Er(t,e)).length;null!=e&&n<r;)e=e[Cr(t[n++])];return n&&n==r?e:void 0},Or=function(e,t){return null!=e&&t in Object(e)},Tr=function(e,t){return null!=e&&function(e,t,n){for(var r=-1,i=(t=Er(t,e)).length,o=!1;++r<i;){var s=Cr(t[r]);if(!(o=null!=e&&n(e,s)))break;e=e[s]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&Jt(i)&&Gt(s,i)&&(st(e)||$t(e))}(e,t,Or)},kr=function(e,t){return fr(e)&&lr(t)?cr(Cr(e),t):function(n){var r=function(e,t,n){var r=null==e?void 0:Ar(e,t);return void 0===r?n:r}(n,e);return void 0===r&&r===t?Tr(n,e):ar(t,r,3)}},Ir=function(e){return e},jr=function(e){return fr(e)?(t=Cr(e),function(e){return null==e?void 0:e[t]}):function(e){return function(t){return Ar(t,e)}}(e);var t},Pr=function(e,t){var n,r={};return t="function"==typeof(n=t)?n:null==n?Ir:"object"==typeof n?st(n)?kr(n[0],n[1]):ur(n):jr(n),function(e,t){e&&Rt(e,t,cn)}(e,function(e,n,i){!function(e,t,n){"__proto__"==t&&Lt?Lt(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}(r,t(e,n,i),e)}),r};class Lr{ctx;serviceHooks;constructor(e,t){this.ctx=e,this.serviceHooks=t,e._execCallableAPI("register-search-service",e.baseInfo.id,t.name,t.options),Object.entries({query:{f:"onQuery",args:["graph","q",!0],reply:!0,transformOutput:e=>(st(e?.blocks)&&(e.blocks=e.blocks.map(e=>e&&Pr(e,(e,t)=>`block/${t}`))),e)},rebuildBlocksIndice:{f:"onIndiceInit",args:["graph","blocks"]},transactBlocks:{f:"onBlocksChanged",args:["graph","data"]},truncateBlocks:{f:"onIndiceReset",args:["graph"]},removeDb:{f:"onGraph",args:["graph"]}}).forEach(([n,r])=>{const i=(e=>`service:search:${e}:${t.name}`)(n);e.caller.on(i,async n=>{if(bt(t?.[r.f])){let o=null;try{o=await t[r.f].apply(t,(r.args||[]).map(e=>{if(n){if(!0===e)return n;if(n.hasOwnProperty(e)){const t=n[e];return delete n[e],t}}})),r.transformOutput&&(o=r.transformOutput(o))}catch(e){console.error("[SearchService] ",e),o=e}finally{r.reply&&e.caller.call(`${i}:reply`,o)}}})})}}const Rr=Symbol.for("proxy-continue"),Mr=Ge()("LSPlugin:user"),Dr=new Ae("",{console:!0});function Nr(e,t,n){const{key:r,label:i,desc:o,palette:s,keybinding:a,extras:l}=t;if("function"!=typeof n)return this.logger.error(`${r||i}: command action should be function.`),!1;const c=qe(r);if(!c)return this.logger.error(`${i}: command key is required.`),!1;const u=`SimpleCommandHook${c}${++Hr}`;this.Editor["on"+u](n),this.caller?.call("api:call",{method:"register-plugin-simple-command",args:[this.baseInfo.id,[{key:c,label:i,type:e,desc:o,keybinding:a,extras:l},["editor/hook",u]],s]})}function Fr(e){return!!Oe(e)||(Dr.error(`#${e} is not a valid UUID string.`),!1)}let Ur=null,$r=new Map;const zr={async getInfo(e){return Ur||(Ur=await this._execCallableAPIAsync("get-app-info")),"string"==typeof e?Ur[e]:Ur},registerCommand:Nr,registerSearchService(e){if($r.has(e.name))throw new Error(`SearchService: #${e.name} has registered!`);$r.set(e.name,new Lr(this,e))},registerCommandPalette(e,t){const{key:n,label:r,keybinding:i}=e;return Nr.call(this,"$palette$",{key:n,label:r,palette:!0,keybinding:i},t)},registerCommandShortcut(e,t,n={}){"string"==typeof e&&(e={mode:"global",binding:e});const{binding:r}=e,i="$shortcut$",o=n.key||i+we(r?.toString());return Nr.call(this,i,{...n,key:o,palette:!1,keybinding:e},t)},registerUIItem(e,t){const n=this.baseInfo.id;this.caller?.call("api:call",{method:"register-plugin-ui-item",args:[n,e,t]})},registerPageMenuItem(e,t){if("function"!=typeof t)return!1;const n=e+"_"+this.baseInfo.id,r=e;Nr.call(this,"page-menu-item",{key:n,label:r},t)},onBlockRendererSlotted(e,t){if(!Fr(e))return;const n=this.baseInfo.id,r=`hook:editor:${we(`slot:${e}`)}`;return this.caller.on(r,t),this.App._installPluginHook(n,r),()=>{this.caller.off(r,t),this.App._uninstallPluginHook(n,r)}},invokeExternalPlugin(e,...t){if(e=e?.trim(),!e)return;let[n,r]=e.split(".");if(!["models","commands"].includes(r?.toLowerCase()))throw new Error("Type only support '.models' or '.commands' currently.");const i=e.replace(`${n}.${r}.`,"");if(!n||!r||!i)throw new Error(`Illegal type of #${e} to invoke external plugin.`);return this._execCallableAPIAsync("invoke_external_plugin_cmd",n,r.toLowerCase(),i,t)},setFullScreen(e){const t=(...e)=>this._callWin("setFullScreen",...e);"toggle"===e?this._callWin("isFullScreen").then(e=>{e?t():t(!0)}):e?t(!0):t()}};let Hr=0;const Wr={newBlockUUID(){return this._execCallableAPIAsync("new_block_uuid")},isPageBlock:e=>e.uuid&&e.hasOwnProperty("name"),registerSlashCommand(e,t){Mr("Register slash command #",this.baseInfo.id,e,t),"function"==typeof t&&(t=[["editor/clear-current-slash",!1],["editor/restore-saved-cursor"],["editor/hook",t]]),t=t.map(e=>{const[t,...n]=e;if("editor/hook"===t){let r=n[0],i=()=>{this.caller?.callUserModel(r)};"function"==typeof r&&(i=r);const o=`SlashCommandHook${t}${++Hr}`;e[1]=o,this.Editor["on"+o](i)}return e}),this.caller?.call("api:call",{method:"register-plugin-slash-command",args:[this.baseInfo.id,[e,t]]})},registerBlockContextMenuItem(e,t){if("function"!=typeof t)return!1;const n=e+"_"+this.baseInfo.id;Nr.call(this,"block-context-menu-item",{key:n,label:e},t)},registerHighlightContextMenuItem(e,t,n){if("function"!=typeof t)return!1;const r=e+"_"+this.baseInfo.id;Nr.call(this,"highlight-context-menu-item",{key:r,label:e,extras:n},t)},scrollToBlockInPage(e,t,n){const r="block-content-"+t;n?.replaceState?this.App.replaceState("page",{name:e},{anchor:r}):this.App.pushState("page",{name:e},{anchor:r})}},qr={onBlockChanged(e,t){if(!Fr(e))return;const n=this.baseInfo.id,r=`hook:db:${we(`block:${e}`)}`,i=({block:n,txData:r,txMeta:i})=>{n.uuid===e&&t(n,r,i)};return this.caller.on(r,i),this.App._installPluginHook(n,r),()=>{this.caller.off(r,i),this.App._uninstallPluginHook(n,r)}},datascriptQuery(e,...t){return t.pop(),t?.some(e=>"function"==typeof e)?this.Experiments.ensureHostScope().logseq.api.datascript_query(e,...t):this._execCallableAPIAsync("datascript_query",e,...t)}},Br={},Gr={},Jr={},Yr={makeSandboxStorage(){return new tt(this,{assets:!0})}};class Kr extends(o()){_baseInfo;_caller;_version=LIB_VERSION;_debugTag="";_settingsSchema;_connected=!1;_ui=new Map;_mFileStorage;_mRequest;_mExperiments;_beforeunloadCallback;constructor(e,t){super(),this._baseInfo=e,this._caller=t,t.on("sys:ui:visible",e=>{e?.toggle&&this.toggleMainUI()}),t.on("settings:changed",e=>{const t=Object.assign({},this.settings),n=Object.assign(this._baseInfo.settings,e);this.emit("settings:changed",{...n},t)}),t.on("beforeunload",async e=>{const{actor:t,...n}=e,r=this._beforeunloadCallback;try{r&&await r(n),t?.resolve(null)}catch(e){this.logger.error("[beforeunload] ",e),t?.reject(e)}})}async ready(e,t){if(!this._connected)try{"function"==typeof e&&(t=e,e={});let n=await this._caller.connectToParent(e);this._connected=!0,n=Ce(this._baseInfo,n),this._baseInfo=n,n?.id&&(this._debugTag=this._caller.debugTag=`#${n.id} [${n.name}]`,this.logger.setTag(this._debugTag)),this._settingsSchema&&(n.settings=We(n.settings,this._settingsSchema),await this.useSettingsSchema(this._settingsSchema));try{await this._execCallableAPIAsync("setSDKMetadata",{version:this._version,runtime:"js"})}catch(e){console.warn(e)}t&&t.call(this,n)}catch(e){console.error(`${this._debugTag} [Ready Error]`,e)}}ensureConnected(){if(!this._connected)throw new Error("not connected")}beforeunload(e){"function"==typeof e&&(this._beforeunloadCallback=e)}provideModel(e){return this.caller._extendUserModel(e),this}provideTheme(e){return this.caller.call("provider:theme",e),this}provideStyle(e){return this.caller.call("provider:style",e),this}provideUI(e){return this.caller.call("provider:ui",e),this}useSettingsSchema(e){return this.connected&&this.caller.call("settings:schema",{schema:e,isSync:!0}),this._settingsSchema=e,this}updateSettings(e){this.caller.call("settings:update",e)}onSettingsChanged(e){const t="settings:changed";return this.on(t,e),()=>this.off(t,e)}showSettingsUI(){this.caller.call("settings:visible:changed",{visible:!0})}hideSettingsUI(){this.caller.call("settings:visible:changed",{visible:!1})}setMainUIAttrs(e){this.caller.call("main-ui:attrs",e)}setMainUIInlineStyle(e){this.caller.call("main-ui:style",e)}hideMainUI(e){const t={key:0,visible:!1,cursor:e?.restoreEditingCursor};this.caller.call("main-ui:visible",t),this.emit("ui:visible:changed",t),this._ui.set(t.key,t)}showMainUI(e){const t={key:0,visible:!0,autoFocus:e?.autoFocus};this.caller.call("main-ui:visible",t),this.emit("ui:visible:changed",t),this._ui.set(t.key,t)}toggleMainUI(){const e=this._ui.get(0);e&&e.visible?this.hideMainUI():this.showMainUI()}get version(){return this._version}get isMainUIVisible(){const e=this._ui.get(0);return Boolean(e&&e.visible)}get connected(){return this._connected}get baseInfo(){return this._baseInfo}get effect(){return this&&(this.baseInfo?.effect||!this.baseInfo?.iir)}get logger(){return Dr}get settings(){return this.baseInfo?.settings}get caller(){return this._caller}resolveResourceFullUrl(e){if(this.ensureConnected(),e)return e=e.replace(/^[.\\/]+/,""),je(this._baseInfo.lsr,e)}_makeUserProxy(e,t){const n=this,r=this.caller;return new Proxy(e,{get(e,i,o){const s=e[i];return function(...e){if(s){0!==e?.length&&e.concat(t);const r=s.apply(n,e);if(r!==Rr)return r}if(t){const o=i.toString().match(/^(once|off|on)/i);if(null!=o){const i=o[0].toLowerCase(),s=o.input,a="off"===i,l=n.baseInfo.id;let c=s.slice(i.length),u=e[0],h=e[1];"string"==typeof u&&"function"==typeof h&&(u=u.replace(/^logseq./,":"),c=`${c}${u}`,u=h,h=e[2]),c=`hook:${t}:${we(c)}`,r[i](c,u);const d=()=>{r.off(c,u),r.listenerCount(c)||n.App._uninstallPluginHook(l,c)};return a?void d():(n.App._installPluginHook(l,c,h),d)}}let o=i;return["git","ui","assets","utils"].includes(t)&&(o=t+"_"+o),r.callAsync("api:call",{tag:t,method:o,args:e})}}})}_execCallableAPIAsync(e,...t){return this._caller.callAsync("api:call",{method:e,args:t})}_execCallableAPI(e,...t){this._caller.call("api:call",{method:e,args:t})}_callWin(...e){return this._execCallableAPIAsync("_callMainWin",...e)}#e;#t;#n;#r;#i;get App(){return this.#e?this.#e:this.#e=this._makeUserProxy(zr,"app")}get Editor(){return this.#t?this.#t:this.#t=this._makeUserProxy(Wr,"editor")}get DB(){return this.#n?this.#n:this.#n=this._makeUserProxy(qr,"db")}get UI(){return this.#r?this.#r:this.#r=this._makeUserProxy(Gr,"ui")}get Utils(){return this.#i?this.#i:this.#i=this._makeUserProxy(Jr,"utils")}get Git(){return this._makeUserProxy(Br,"git")}get Assets(){return this._makeUserProxy(Yr,"assets")}get FileStorage(){let e=this._mFileStorage;return e||(e=this._mFileStorage=new tt(this)),e}get Request(){let e=this._mRequest;return e||(e=this._mRequest=new ot(this)),e}get Experiments(){let e=this._mExperiments;return e||(e=this._mExperiments=new nt(this)),e}}if(null==window.__LSP__HOST__){const e=new ui(null);window.logseq=new Kr({},e)}const{importHTML:Vr,createSandboxContainer:Zr}=window.QSandbox||{};function Xr(e,t){return e.startsWith("http")?fetch(e,t):(e=e.replace("file://",""),new Promise(async(t,n)=>{try{const n=await window.apis.doAction(["readFile",e]);t({text:()=>n})}catch(e){console.error(e),n(e)}}))}class Qr extends(o()){_pluginLocal;_frame;_root;_loaded=!1;_unmountFns=[];constructor(e){super(),this._pluginLocal=e,e._dispose(()=>{this._unmount()})}async load(){const{name:e,entry:t}=this._pluginLocal.options;if(this.loaded||!t)return;const{template:n,execScripts:r}=await Vr(t,{fetch:Xr});this._mount(n,document.body);const i=Zr(e,{elementGetter:()=>this._root?.firstChild}).instance.proxy;i.__shadow_mode__=!0,i.LSPluginLocal=this._pluginLocal,i.LSPluginShadow=this,i.LSPluginUser=i.logseq=new Kr(this._pluginLocal.toJSON(),this._pluginLocal.caller);const o=await r(i,!0);this._unmountFns.push(o.unmount),this._loaded=!0}_mount(e,t){const n=this._frame=document.createElement("div");n.classList.add("lsp-shadow-sandbox"),n.id=this._pluginLocal.id,this._root=n.attachShadow({mode:"open"}),this._root.innerHTML=`<div>${e}</div>`,t.appendChild(n),this.emit("mounted")}_unmount(){for(const e of this._unmountFns)e&&e.call(null)}destroy(){this.frame?.parentNode?.removeChild(this.frame)}get loaded(){return this._loaded}get document(){return this._root?.firstChild}get frame(){return this._frame}}const ei=Ge()("LSPlugin:caller"),ti="#await#response#",ni="#lspmsg#",ri="#lspmsg#error#",ii="#lspmsg#settings#",oi="#lspmsg#beforeunload#",si="#lspmsg#reply#",ai="#lspmsg#ready#",li=e=>`${ni}${e}`,ci=e=>`${ti}${e}`;class ui extends(o()){_pluginLocal;_connected=!1;_parent;_child;_shadow;_status;_userModel={};_call;_callUserModel;_debugTag="";constructor(e){super(),this._pluginLocal=e,e&&(this._debugTag=e.debugTag)}async connectToChild(){if(this._connected)return;const{shadow:e}=this._pluginLocal;e?await this._setupShadowSandbox():await this._setupIframeSandbox()}async connectToParent(e={}){if(this._connected)return;const t=this,n=null!=this._pluginLocal;let r=0,i=0;const o=new Map,s=Le(6e4),a=this._extendUserModel({[ai]:async e=>{a[li(e?.pid)]=({type:e,payload:n})=>{ei(`[host (_call) -> *user] ${this._debugTag}`,e,n),t.emit(e,n)},await s.resolve()},[oi]:async e=>{const n=Le(1e4);t.emit("beforeunload",Object.assign({actor:n},e)),await n.promise},[ii]:async({type:e,payload:n})=>{t.emit("settings:changed",n)},[ni]:async({ns:e,type:n,payload:r})=>{ei(`[host (async) -> *user] ${this._debugTag} ns=${e} type=${n}`,r),e&&e.startsWith("hook")?t.emit(`${e}:${n}`,r):t.emit(n,r)},[si]:({_sync:e,result:t})=>{if(ei(`[sync host -> *user] #${e}`,t),o.has(e)){const n=o.get(e);n&&(t?.hasOwnProperty(ri)?n.reject(t[ri]):n.resolve(t),o.delete(e))}},...e});if(n)return await s.promise,JSON.parse(JSON.stringify(this._pluginLocal?.toJSON()));const l=new et(a).sendHandshakeReply();return this._status="pending",await l.then(e=>{this._child=e,this._connected=!0,this._call=async(t,n={},r)=>{if(r){const e=++i;o.set(e,r),n._sync=e,r.setTag(`async call #${e}`),ei(`async call #${e}`)}return e.emit(li(a.baseInfo.id),{type:t,payload:n}),r?.promise},this._callUserModel=async(e,t)=>{try{a[e](t)}catch(t){ei(`[model method] #${e} not existed`)}},r=setInterval(()=>{if(o.size>100)for(const[e,t]of o)t.settled&&o.delete(e)},18e5)}).finally(()=>{this._status=void 0}),await s.promise,a.baseInfo}async call(e,t={}){return this._call?.call(this,e,t)}async callAsync(e,t={}){const n=Le(1e4);return this._call?.call(this,e,t,n)}async callUserModel(e,...t){return this._callUserModel?.apply(this,[e,...t])}async callUserModelAsync(e,...t){return e=ci(e),this._callUserModel?.apply(this,[e,...t])}async _setupIframeSandbox(){const e=this._pluginLocal,t=e.id,n=`${t}_lsp_main`,r=new URL(e.options.entry);r.searchParams.set("__v__",me?Date.now().toString():e.options.version);const i=document.querySelector(`#${n}`);i&&i.parentElement.removeChild(i);const o=document.createElement("div");o.classList.add("lsp-iframe-sandbox-container"),o.id=n,o.dataset.pid=t;try{const e=(await this._pluginLocal._loadLayoutsData())?.$$0;if(e){o.dataset.inited_layout="true";let{width:t,height:n,left:r,top:i,vw:s,vh:a}=e;r=Math.max(r,0),r="number"==typeof s?`${Math.min(100*r/s,99)}%`:`${r}px`,i=Math.max(i,45),i="number"==typeof a?`${Math.min(100*i/a,99)}%`:`${i}px`,Object.assign(o.style,{width:t+"px",height:n+"px",left:r,top:i})}}catch(e){console.error("[Restore Layout Error]",e)}document.body.appendChild(o);const s=new Qe({id:t+"_iframe",container:o,url:r.href,classListArray:["lsp-iframe-sandbox"],model:{baseInfo:JSON.parse(JSON.stringify(e.toJSON()))},allow:e.options.allow});let a,l=s.sendHandshake();return this._status="pending",new Promise((t,n)=>{a=setTimeout(()=>{n(new Error("handshake Timeout")),s.destroy()},8e3),l.then(n=>{this._parent=n,this._connected=!0,this.emit("connected"),n.on(li(e.id),({type:e,payload:t})=>{ei("[user -> *host] ",e,t),this._pluginLocal?.emit(e,t||{}),this._pluginLocal?.caller.emit(e,t||{})}),this._call=async(...t)=>{n.call(li(e.id),{type:t[0],payload:Object.assign(t[1]||{},{$$pid:e.id})})},this._callUserModel=async(e,...t)=>{if(e.startsWith(ti))return await n.get(e.replace(ti,""),...t);n.call(e,t?.[0])},t(null)}).catch(e=>{n(e)}).finally(()=>{clearTimeout(a)})}).catch(e=>{throw ei("[iframe sandbox] error",e),e}).finally(()=>{this._status=void 0})}async _setupShadowSandbox(){const e=this._pluginLocal,t=this._shadow=new Qr(e);try{this._status="pending",await t.load(),this._connected=!0,this.emit("connected"),this._call=async(t,n={},r)=>(r&&(n.actor=r),this._pluginLocal?.emit(t,Object.assign(n,{$$pid:e.id})),r?.promise),this._callUserModel=async(...e)=>{let t=e[0];t?.startsWith(ti)&&(t=t.replace(ti,""));const n=e[1]||{},r=this._userModel[t];"function"==typeof r&&await r.call(null,n)}}catch(e){throw ei("[shadow sandbox] error",e),e}finally{this._status=void 0}}_extendUserModel(e){return Object.assign(this._userModel,e)}_getSandboxIframeContainer(){return this._parent?.frame.parentNode}_getSandboxShadowContainer(){return this._shadow?.frame.parentNode}_getSandboxIframeRoot(){return this._parent?.frame}_getSandboxShadowRoot(){return this._shadow?.frame}set debugTag(e){this._debugTag=e}async destroy(){let e=null;this._parent&&(e=this._getSandboxIframeContainer(),await this._parent.destroy()),this._shadow&&(e=this._getSandboxShadowContainer(),this._shadow.destroy()),e?.parentNode.removeChild(e)}}const hi=Ge()("LSPlugin:core"),di="plugins";class pi extends(o()){_userPluginSettings;_schema;_settings={disabled:!1};constructor(e,t){super(),this._userPluginSettings=e,this._schema=t,Object.assign(this._settings,e)}get(e){return this._settings[e]}set(e,t){const n=Ce({},this._settings);if("string"==typeof e){if(this._settings[e]==t)return;this._settings[e]=t}else{if(!Ee(e))return;this._settings=Ce(this._settings,e)}this.emit("change",{...this._settings},n)}set settings(e){const t=Ce({},this._settings);this._settings=e||{},this.emit("change",{...this._settings},t)}get settings(){return this._settings}setSchema(e,t){if(this._schema=e,t){const t=this._settings;this._settings=We(t,e),this.emit("change",this._settings,t)}}reset(){const e=this.settings,t={};this._schema,this.settings=t,this.emit("reset",t,e)}toJSON(){return this._settings}}var fi;function gi(e,t){return t&&e.startsWith(ye+t)&&(e=je(be,e.substr(ye.length+t.length))),e}!function(e){e.LOADING="loading",e.UNLOADING="unloading",e.LOADED="loaded",e.UNLOADED="unload",e.ERROR="error"}(fi||(fi={}));class mi extends Error{constructor(e){super(e),this.name="IllegalPluginPackageError"}}class yi extends Error{constructor(e){super(e),this.name="ExistedImportedPluginPackageError"}}class _i extends(o()){_options;_themeMgr;_ctx;_sdk={};_disposes=[];_id;_status=fi.UNLOADED;_loadErr;_localRoot;_dotSettingsFile;_caller;_logger=new Ae("PluginLocal");constructor(e,t,n){var r;super(),this._options=e,this._themeMgr=t,this._ctx=n,this._id=e.key||Te(),function(e){const t=e=>`settings:${e}`;e.on(t("schema"),({schema:t,isSync:n})=>{e.settingsSchema=t,e.settings?.setSchema(t,n)}),e.on(t("update"),t=>{t&&e.settings?.set(t)}),e.on(t("visible:changed"),t=>{const n=t?.visible;Re("set_focused_settings",n?e.id:null)})}(this),function(e){const t=e=>`main-ui:${e}`;e.on(t("visible"),({visible:t,toggle:n,cursor:r,autoFocus:i})=>{const o=e.getMainUIContainer();o?.classList[n?"toggle":t?"add":"remove"]("visible"),t?!e.shadow&&o&&!1!==i&&o.querySelector("iframe")?.contentWindow?.focus():o.ownerDocument.activeElement.blur(),r&&Re("restore_editing_cursor")}),e.on(t("attrs"),t=>{const n=e.getMainUIContainer();Object.entries(t).forEach(([t,r])=>{n?.setAttribute(t,String(r)),"draggable"===t&&r&&e._dispose(e._setupDraggableContainer(n,{title:e.options.name,close:()=>{e.caller.call("sys:ui:visible",{toggle:!0})}})),"resizable"===t&&r&&e._dispose(e._setupResizableContainer(n))})}),e.on(t("style"),t=>{const n=e.getMainUIContainer(),r=!!n.dataset.inited_layout;Object.entries(t).forEach(([e,t])=>{r&&["left","top","bottom","right","width","height"].includes(e)||(n.style[e]=t)})})}(this),function(e){const t=e=>`provider:${e}`;let n=!1;e.on(t("theme"),t=>{e.themeMgr.registerTheme(e.id,t),n||(e._dispose(()=>{e.themeMgr.unregisterTheme(e.id)}),n=!0)}),e.on(t("style"),t=>{let n;"string"!=typeof t&&(n=t.key,t=t.style),t&&t.trim()&&e._dispose(De(t,{"data-injected-style":n?`${n}-${e.id}`:"","data-ref":e.id}))}),e.on(t("ui"),t=>{e._onHostMounted(()=>{const n=Fe.call(e,t,Object.assign({"data-ref":e.id},t.attrs||{}),({el:t,float:n})=>{if(!n)return;const r=t.dataset.identity;e.layoutCore.move_container_to_top(r)});"function"==typeof n&&e._dispose(n)})})}(this),(r=this).on("api:call",async e=>{let t;try{window.$$callerPluginID=r.id,t=await Re.apply(r,[e.method,...e.args])}catch(e){t={[ri]:e}}finally{window.$$callerPluginID=void 0}if(r.shadow)return void(e.actor&&e.actor.resolve(t));const{_sync:n}=e;if(null!=n){const e=e=>{r.caller?.callUserModel(si,{result:e,_sync:n})};Promise.resolve(t).then(e,e)}})}async _setupUserSettings(e){const{_options:t}=this,n=this._logger=new Ae(`Loader:${this.debugTag}`);if(!t.settings||e)try{const n=()=>Re("load_plugin_user_settings",this.id),[r,i]=await n();this._dotSettingsFile=r;let o=t.settings;if(o||(o=t.settings=new pi(i)),e)return void(o.settings=i);const s=async(e,t)=>{if(hi("Settings changed",this.debugTag,e),!e.disabled&&t.disabled){const[,t]=await n();t.disabled=!1,e=Object.assign(e,t),o.settings=e,await this.load()}if(e.disabled&&!t.disabled){const[,t]=await n();t.disabled=!0,e=Object.assign(e,t),await this.unload()}e&&Re("save_plugin_user_settings",this.id,e)};return o.on("change",s),()=>{}}catch(e){hi("[load plugin user settings Error]",e),n?.error(e)}}getMainUIContainer(){return this.shadow?this.caller?._getSandboxShadowContainer():this.caller?._getSandboxIframeContainer()}_resolveResourceFullUrl(e,t){if(!e?.trim())return;if(t=t||this._localRoot,this.isWebPlugin)return this.installedFromUserWebUrl?`${this.installedFromUserWebUrl}/${e}`:`https://pub-80f42b85b62c40219354a834fcf2bbfa.r2.dev/${ge.join(t,e)}`;const n=/^(http|file)/;if(!n.test(e)){const r=ge.join(t,e);e=n.test(r)?r:ye+r}return!this.options.effect&&this.isInstalledInLocalDotRoot?gi(e,this.dotPluginsRoot):e}async _preparePackageConfigs(){const{url:e,webPkg:t}=this._options;let n=t;if(!n)try{if(!e)throw new Error("Can not resolve package config location");if(hi("prepare package root",e),n=await Re("load_plugin_config",e),!n||(n=JSON.parse(n),!n))throw new Error(`Parse package config error #${e}/package.json`)}catch(e){throw new mi(e.message)}["name","author","repository","version","description","repo","title","effect","sponsors"].concat(this.isInstalledInLocalDotRoot?[]:["devEntry"]).forEach(e=>{this._options[e]=n[e]});const{repo:r,version:i}=this._options,o=this._localRoot=this.isWebPlugin?`${r||e}/${i}`:Pe(e),s=n.logseq||{},a=s.entry||s.main||n.main;s.devEntry?(this._options.devEntry=s.devEntry,this._options.entry=s.devEntry):this._options.entry=this._resolveResourceFullUrl(a,o),s.mode&&(this._options.mode=s.mode);const l=s.title||n.title,c=s.icon||n.icon;if(this._options.title=l,this._options.icon=c&&this._resolveResourceFullUrl(c),this._options.theme=Boolean(s.theme||!!s.themes),this.isInstalledInLocalDotRoot)this._id=ge.basename(o);else if(!this.isWebPlugin)if(s.id)this._id=s.id;else{s.id=this.id;try{await Re("save_plugin_package_json",e,{...n,logseq:s})}catch(e){hi("[save plugin ID Error] ",e)}}const{registeredPlugins:u,isRegistering:h}=this._ctx;if(h&&u.has(this.id))throw new yi(this.id);return async()=>{try{const e=s.themes;e&&await this._loadConfigThemes(Array.isArray(e)?e:[e])}catch(e){hi("[prepare package effect Error]",e)}}}async _tryToNormalizeEntry(){let{entry:e,settings:t,devEntry:n}=this.options;if(n=n||t?.get("_devEntry"),n)return void(this._options.entry=n);if(!e.endsWith(".js"))return;let r=null,i="write_user_tmp_file";this.isInstalledInLocalDotRoot&&(i="write_dotdir_file",r=this._localRoot.replace(this.dotPluginsRoot,""),r=ge.join(di,r));const o=(new Date).getDay(),s=await Se(),a=await Re(i,`${this._id}_index.html`,`<!doctype html>\n<html lang="en">\n <head>\n <meta charset="UTF-8">\n <title>logseq plugin entry</title>\n ${me?`<script src="${s}/lsplugin.user.js?v=${o}"><\/script>`:`<script src="https://cdn.jsdelivr.net/npm/@logseq/libs/dist/lsplugin.user.min.js?v=${o}"><\/script>`}\n\n </head>\n <body>\n <div id="app"></div>\n <script src="${e}"><\/script>\n </body>\n</html>`,r);e=gi(Ie(ge.normalize(a)),this.dotPluginsRoot),this._options.entry=e}async _loadConfigThemes(e){e.forEach(e=>{e.url&&(!e.url.startsWith("http")&&this._localRoot&&(e.url=this._resolveResourceFullUrl(e.url,this._localRoot),this.isWebPlugin||e.url.startsWith("file:")||e.url.startsWith("lsp:")||(e.url="assets://"+e.url)),this.emit("provider:theme",e))})}async _loadLayoutsData(){const e=this.id+"_layouts",[,t]=await Re("load_plugin_user_settings",e);return t||{}}async _saveLayoutsData(e){const t=this.id+"_layouts";await Re("save_plugin_user_settings",t,e)}async _persistMainUILayoutData(e){const t=await this._loadLayoutsData();t.$$0=e,await this._saveLayoutsData(t)}_setupDraggableContainer(e,t={}){const n=e.dataset;if(n.inited_draggable)return;n.identity||(n.identity="dd-"+Te());const r=!!t.key,i=document.createElement("div");i.classList.add("draggable-handle"),i.innerHTML=`\n <div class="th">\n <div class="l"><h3>${t.title||""}</h3></div>\n <div class="r">\n <a class="button x"><i class="ti ti-x"></i></a>\n </div>\n </div>\n `,i.querySelector(".x").addEventListener("click",e=>{t?.close?.(),e.stopPropagation()},!1),i.addEventListener("mousedown",e=>{const t=e.target;t?.closest(".r")&&(e.stopPropagation(),e.preventDefault())},!1),e.prepend(i),e.addEventListener("mousedown",e=>{this.layoutCore.move_container_to_top(n.identity)},!0);const o=this.layoutCore.setup_draggable_container_BANG_(e,r?()=>{}:this._persistMainUILayoutData.bind(this));var s;n.inited_draggable="true",t.title&&(s=t.title,i.querySelector("h3").textContent=s);let a=null;if("outside"===n.close){const n=n=>{const r=n.target;e.contains(r)||t.close()};document.addEventListener("click",n,!1),a=()=>{document.removeEventListener("click",n)}}return()=>{o(),a?.()}}_setupResizableContainer(e,t){const n=e.dataset;if(n.inited_resizable)return;n.identity||(n.identity="dd-"+Te());const r=document.createElement("div");r.classList.add("resizable-handle"),e.prepend(r);const i=window.frontend.modules.layout.core.setup_resizable_container_BANG_(e,t?()=>{}:this._persistMainUILayoutData.bind(this));return n.inited_resizable="true",i}async load(e){if(!this.pending){this._status=fi.LOADING,this._loadErr=void 0;try{const t=await this._preparePackageConfigs();if(this._dispose(await this._setupUserSettings(e?.reload)),this.disabled||await t.call(null),this.disabled||!this.options.entry)return;this._ctx.emit("beforeload",this),await this._tryToNormalizeEntry(),this._caller=new ui(this),await this._caller.connectToChild();const n=()=>{this._caller?.callUserModel(ai,{pid:this.id})};e?.indicator?e.indicator.promise.then(n):n(),this._dispose(async()=>{await(this._caller?.destroy())}),this._dispose($e.bind(this)),this._ctx.emit("loadeded",this)}catch(e){this.logger.error("load",e,!0),this.dispose().catch(null),this._status=fi.ERROR,this._loadErr=e}finally{this._loadErr||(this.disabled?this._status=fi.UNLOADED:this._status=fi.LOADED)}}}async reload(){this.pending||(this._ctx.emit("beforereload",this),await this.unload(),await this.load({reload:!0}),this._ctx.emit("reloaded",this))}async unload(e=!1){if(!this.pending){if(e)return await this.unload(),void((this.isWebPlugin||this.isInstalledInLocalDotRoot)&&this._ctx.emit("unlink-plugin",this.id));try{const t={unregister:e};if(this.loaded){this._status=fi.UNLOADING;try{await(this._caller?.callUserModel(ci(oi),t)),this.emit("beforeunload",t)}catch(e){this.logger.error("beforeunload",e)}await this.dispose()}this.emit("unloaded")}catch(e){this.logger.error("unload",e)}finally{this._status=fi.UNLOADED}}}async dispose(){for(const e of this._disposes)try{e&&await e()}catch(e){console.error(this.debugTag,"dispose Error",e)}this._disposes=[]}_dispose(e){e&&this._disposes.push(e)}_onHostMounted(e){const t=this._ctx.hostMountedActor;!t||t.settled?e():t?.promise.then(e)}get isWebPlugin(){return this._ctx.isWebPlatform||!!this.options.webPkg}get installedFromUserWebUrl(){return this.isWebPlugin&&this.options.webPkg?.installedFromUserWebUrl}get layoutCore(){return window.frontend.modules.layout.core}get isInstalledInLocalDotRoot(){if(this.isWebPlugin)return!1;const e=this.dotConfigRoot,t=this.localRoot;return e&&t&&t.startsWith(e)}get loaded(){return this._status===fi.LOADED}get pending(){return[fi.LOADING,fi.UNLOADING].includes(this._status)}get status(){return this._status}get settings(){return this.options.settings}set settingsSchema(e){this._options.settingsSchema=e}get settingsSchema(){return this.options.settingsSchema}get logger(){return this._logger}get disabled(){return this.settings?.get("disabled")}get theme(){return this.options.theme}get caller(){return this._caller}get id(){return this._id}get shadow(){return"shadow"===this.options.mode}get options(){return this._options}get themeMgr(){return this._themeMgr}get debugTag(){const e=this._options?.name;return`#${this._id} - ${e??""}`}get localRoot(){return this._localRoot||this._options.url}get loadErr(){return this._loadErr}get dotConfigRoot(){return ge.normalize(this._ctx.options.dotConfigRoot)}get dotSettingsFile(){return this._dotSettingsFile}get dotPluginsRoot(){return ge.join(this.dotConfigRoot,di)}get sdk(){return this._sdk}set sdk(e){this._sdk=e}toJSON(e=!0){const t={...this.options};return t.id=this.id,t.err=this.loadErr,t.usf=this.dotSettingsFile,t.iir=this.isInstalledInLocalDotRoot,t.webMode=!!this.isWebPlugin&&(this.installedFromUserWebUrl?"user":"github"),t.lsr=this._resolveResourceFullUrl("/"),!1===e?delete t.settings:t.settings=t.settings?.toJSON(),t}}class bi extends(o()){_options;_isRegistering=!1;_readyIndicator;_hostMountedActor=Le();_userPreferences={theme:null,themes:{mode:"light",light:null,dark:null},externals:[]};_registeredThemes=new Map;_registeredPlugins=new Map;_currentTheme;constructor(e){super(),this._options=e}async loadUserPreferences(){try{const e=await Re("load_user_preferences");e&&Object.assign(this._userPreferences,e)}catch(e){hi("[load user preferences Error]",e)}}async saveUserPreferences(e){try{e&&Object.assign(this._userPreferences,e),await Re("save_user_preferences",this._userPreferences)}catch(e){hi("[save user preferences Error]",e)}}async activateUserPreferences(){const{theme:e,themes:t}=this._userPreferences,n=t[t.mode];n?await this.selectTheme(n,{effect:!1,emit:!1}):e&&await this.selectTheme(e,{effect:!1,emit:!1})}async register(e,t=!1){if(!Array.isArray(e))return void await this.register([e]);const n=new Map,r=()=>{const e=Array.from(n.values()).reduce((e,t)=>{const{id:n,options:r,status:i,disabled:o}=t.o;return!0===o||!r.entry&&(r.name||r.entry)||(e[n]={name:r.name,entry:r.entry,status:i,enabled:"boolean"==typeof o?o?"⚫️":"🟢":"🔴",perf:t.e?`${(t.e-t.s).toFixed(2)}ms`:t.o.loadErr}),e},{});console.table(e)};window.__debugPluginsPerfInfo=r;try{this._isRegistering=!0,this._options.dotConfigRoot;const r=this._readyIndicator=Le();await this.loadUserPreferences();let i=new Set(this._userPreferences.externals);if(i?.size)try{const e=await Re("validate_external_plugins",[...i]);i=new Set([...Object.entries(e)].reduce((e,[t,n])=>(n&&e.push(t),e),[]))}catch(e){console.error("[validatedExternals Error]",e)}t&&(e=e.concat([...i].filter(t=>!e.length||e.every(e=>!e.entry&&e.url!==t)).map(e=>({url:e}))));for(const t of e){const{url:e}=t,o=new _i(t,this,this),s={o,s:performance.now(),e:0};n.set(e,s),await o.load({indicator:r}),s.e=performance.now();const{loadErr:a}=o;a&&(hi("[Failed LOAD Plugin] #",t),this.emit("error",a),a instanceof mi||a instanceof yi)||(o.settings?.on("change",e=>{this.emit("settings-changed",o.id,e),o.caller?.callUserModel(ii,{payload:e})}),this._registeredPlugins.set(o.id,o),this.emit("registered",o),o.isWebPlugin||o.isInstalledInLocalDotRoot||i.add(e))}await this.saveUserPreferences({externals:Array.from(i)}),await this.activateUserPreferences(),r.resolve("ready")}catch(e){console.error(e)}finally{this._isRegistering=!1,this.emit("ready",n),r()}}async reload(e){if(Array.isArray(e))for(const t of e)try{const e=this.ensurePlugin(t);await e.reload()}catch(e){hi(e)}else await this.reload([e])}async unregister(e){if(!Array.isArray(e))return void await this.unregister([e]);const t=[];for(const n of e){const e=this.ensurePlugin(n);e.isWebPlugin||e.isInstalledInLocalDotRoot||t.push(e.options.url),await e.unload(!0),this._registeredPlugins.delete(n),this.emit("unregistered",n)}const n=this._userPreferences.externals;n.length&&t.length&&await this.saveUserPreferences({externals:n.filter(e=>!t.includes(e))})}async enable(e){const t=this.ensurePlugin(e);t.pending||(this.emit("beforeenable"),t.settings?.set("disabled",!1),this.emit("enabled",t.id))}async disable(e){const t=this.ensurePlugin(e);t.pending||(this.emit("beforedisable"),t.settings?.set("disabled",!0),this.emit("disabled",t.id))}async _hook(e,t,n,r){const i=`${e}:${we(t)}`,o="hook:db:changed"===i,s=i.startsWith("hook:db:block"),a=r=>{hi(`[call hook][#${r.id}]`,e,t),r.caller?.callUserModel(ni,{ns:e,type:we(t),payload:n})},l=r&&this._registeredPlugins.get(r);if(l&&!l.disabled&&l.options.entry)a(l);else for(const[e,t]of this._registeredPlugins)if(t.options.entry&&!t.disabled)if(r){if(r===t.id){a(t);break}}else{const e=t.sdk?.version;if(!e){if(o||s)continue;a(t)}e&&Re("should_exec_plugin_hook",t.id,i)&&a(t)}}async hookApp(e,t,n){return await this._hook("hook:app",e,t,n)}async hookEditor(e,t,n){return await this._hook("hook:editor",e,t,n)}async hookDb(e,t,n){return await this._hook("hook:db",e,t,n)}ensurePlugin(e){if(e instanceof _i)return e;const t=this._registeredPlugins.get(e);if(!t)throw new Error(`plugin #${e} not existed.`);return t}hostMounted(){this._hostMountedActor.resolve()}_forceCleanInjectedUI(e){if(e)return Ue(e)}get isWebPlatform(){return this.options.dotConfigRoot?.startsWith("LSPUserDotRoot")}get registeredPlugins(){return this._registeredPlugins}get options(){return this._options}get readyIndicator(){return this._readyIndicator}get hostMountedActor(){return this._hostMountedActor}get isRegistering(){return this._isRegistering}get themes(){return this._registeredThemes}get enabledPlugins(){return[...this.registeredPlugins.entries()].reduce((e,t)=>{let n=t?.[1];return!0!==n?.disabled&&e.set(t?.[0],n),e},new Map)}async registerTheme(e,t){if(hi("Register theme #",e,t),!e)return;let n=this._registeredThemes.get(e);n||this._registeredThemes.set(e,n=[]),n.push(t),this.emit("themes-changed",this.themes,{id:e,...t})}async selectTheme(e,t={}){const{effect:n,emit:r}=Object.assign({effect:!0,emit:!0},t);if(this._currentTheme&&this._currentTheme.eject(),e.url){const t=He(e.url);this._currentTheme={pid:e.pid,opt:e,eject:t}}else this._currentTheme=null;n&&await this.saveUserPreferences(e.mode?{themes:{...this._userPreferences.themes,mode:e.mode,[e.mode]:e}}:{theme:e}),r&&this.emit("theme-selected",e,t)}async unregisterTheme(e,t=!0){if(hi("Unregister theme #",e),this._registeredThemes.has(e)&&(this._registeredThemes.delete(e),this.emit("themes-changed",this.themes,{id:e}),t&&this._currentTheme?.pid===e)){this._currentTheme.eject(),this._currentTheme=null;const{theme:t,themes:n}=this._userPreferences;await this.saveUserPreferences({theme:t?.pid===e?null:t,themes:{...n,light:n.light?.pid===e?null:n.light,dark:n.dark?.pid===e?null:n.dark}}),this.emit("reset-custom-theme",this._userPreferences.themes)}}}function vi(e){const t=new bi(e);hi("=== 🔗 Setup Logseq Plugin System 🔗 ==="),window.LSPluginCore=t,window.DOMPurify=se}})(),r})());