diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json
index 0189d75f..3177db88 100644
--- a/.obsidian/community-plugins.json
+++ b/.obsidian/community-plugins.json
@@ -47,7 +47,6 @@
"obsidian-rich-links",
"auto-card-link",
"obsidian-dialogue-plugin",
- "obsidian-account-linker",
"cmdr",
"obsidian-tasks-plugin",
"obsidian-lineup-builder",
diff --git a/.obsidian/plugins/cron/data.json b/.obsidian/plugins/cron/data.json
index 654dc371..f8f3ee1f 100644
--- a/.obsidian/plugins/cron/data.json
+++ b/.obsidian/plugins/cron/data.json
@@ -19,7 +19,7 @@
"601d1cc7-a4f3-4f19-aa9f-3bddd7ab6b1d": {
"locked": false,
"lockedDeviceName": "iPhone",
- "lastRun": "2024-04-05T07:47:29+02:00"
+ "lastRun": "2024-04-15T07:37:38+02:00"
}
}
}
\ No newline at end of file
diff --git a/.obsidian/plugins/obsidian-account-linker/data.json b/.obsidian/plugins/obsidian-account-linker/data.json
deleted file mode 100644
index d41cb8da..00000000
--- a/.obsidian/plugins/obsidian-account-linker/data.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "websites": [
- {
- "name": "Twitter",
- "color": "#3e9cec",
- "urlTemplate": "https://farside.link/nitter/{{NAME}}",
- "labelTemplate": "@{{NAME}}",
- "doesReverseResolution": false
- },
- {
- "name": "Facebook",
- "color": "#3b5998",
- "urlTemplate": "https://www.facebook.com/{{NAME}}",
- "labelTemplate": "{{NAME}}",
- "doesReverseResolution": false
- },
- {
- "name": "Instagram",
- "color": "#dc2477",
- "urlTemplate": "https://imginn.com/{{NAME}}",
- "labelTemplate": "@{{NAME}}",
- "doesReverseResolution": false
- },
- {
- "name": "GitHub",
- "color": "#0a0c10",
- "urlTemplate": "https://github.com/{{NAME}}",
- "labelTemplate": "@{{NAME}}",
- "doesReverseResolution": false
- },
- {
- "name": "Mail",
- "color": "#e7e7e7",
- "urlTemplate": "mailto:{{NAME}}",
- "labelTemplate": "{{NAME}}",
- "doesReverseResolution": false
- },
- {
- "name": "Linktree",
- "color": "#3ea195",
- "urlTemplate": "https://linktr.ee/{{NAME}}",
- "labelTemplate": "{{NAME}}",
- "doesReverseResolution": false
- }
- ]
-}
\ No newline at end of file
diff --git a/.obsidian/plugins/obsidian-account-linker/main.js b/.obsidian/plugins/obsidian-account-linker/main.js
deleted file mode 100644
index a9d3b5bc..00000000
--- a/.obsidian/plugins/obsidian-account-linker/main.js
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
-THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
-if you want to view the source, please visit the github repository of this plugin
-*/
-
-var __defProp = Object.defineProperty;
-var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __hasOwnProp = Object.prototype.hasOwnProperty;
-var __export = (target, all) => {
- for (var name in all)
- __defProp(target, name, { get: all[name], enumerable: true });
-};
-var __copyProps = (to, from, except, desc) => {
- if (from && typeof from === "object" || typeof from === "function") {
- for (let key of __getOwnPropNames(from))
- if (!__hasOwnProp.call(to, key) && key !== except)
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
- }
- return to;
-};
-var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
-var __async = (__this, __arguments, generator) => {
- return new Promise((resolve, reject) => {
- var fulfilled = (value) => {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- };
- var rejected = (value) => {
- try {
- step(generator.throw(value));
- } catch (e) {
- reject(e);
- }
- };
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
- step((generator = generator.apply(__this, __arguments)).next());
- });
-};
-
-// main.ts
-var main_exports = {};
-__export(main_exports, {
- default: () => AccountLinker
-});
-module.exports = __toCommonJS(main_exports);
-var import_obsidian3 = require("obsidian");
-
-// src/settings/AccountLinkerSettingTab.ts
-var import_obsidian2 = require("obsidian");
-
-// src/control/utils.ts
-function replaceTemplateText(beforeText, ctx) {
- return beforeText.split("{{NAME}}").join(ctx.text).replace(/\{\{[^}]*\}\}/g, "");
-}
-function isColor(code) {
- return /^#[0-9A-Fa-f]{6}$/.test(code);
-}
-function isURL(link) {
- return true;
-}
-function selectFontColor(backgroundColor) {
- if (!isColor(backgroundColor)) {
- return "#000000";
- }
- const brightness = parseInt(backgroundColor.substring(1, 3), 16) * 0.299 + parseInt(backgroundColor.substring(3, 5), 16) * 0.587 + parseInt(backgroundColor.substring(5, 7), 16) * 0.114;
- return Math.floor(brightness) >= 140 ? "#000000" : "#FFFFFF";
-}
-
-// src/drawing/drawAccountLink.ts
-function drawAccountLink(a, config, text) {
- a.empty();
- a.classList.add("frontmatter-accounts");
- const linkText = replaceTemplateText(config.urlTemplate, { text });
- if (isURL(linkText)) {
- a.href = linkText;
- } else {
- a.href = "";
- }
- const siteNameDiv = a.createEl("div");
- siteNameDiv.classList.add("frontmatter-accounts-sitename");
- siteNameDiv.innerText = config.name;
- siteNameDiv.style.backgroundColor = isColor(config.color) ? config.color : "#ffffff";
- siteNameDiv.style.color = selectFontColor(config.color);
- const labelText = replaceTemplateText(config.labelTemplate, { text });
- if (labelText != "") {
- const labelDiv = a.createEl("div");
- labelDiv.classList.add("frontmatter-accounts-label");
- labelDiv.innerText = labelText;
- }
-}
-
-// src/settings/WebsiteEditModal.ts
-var import_obsidian = require("obsidian");
-var descriptions = {
- name: "Website name",
- color: "Website image color(HEX)",
- urlTemplate: "URL Replace Pattern",
- labelTemplate: "Account Name Replace Pattern",
- doesReverseResolution: "If on, it will reverse the account from the URL entered in the `accounts` field of the front matter",
- previewBox: "",
- saveButton: ""
-};
-var WebsiteEditModal = class extends import_obsidian.Modal {
- constructor(plugin, config, closeCallBack) {
- super(plugin.app);
- this.plugin = plugin;
- this.config = config;
- this.closeCallBack = closeCallBack;
- }
- onOpen() {
- const config = this.config;
- this.titleEl.setText("Website Config");
- const settings = {
- name: new import_obsidian.Setting(this.contentEl).setName("Name").setDesc(descriptions.name).addText((cb) => {
- cb.setValue(config.name).setPlaceholder("Twitter").onChange((value) => {
- config.name = value;
- this.updateText("name", settings);
- this.updateDisplay(settings);
- });
- }),
- color: new import_obsidian.Setting(this.contentEl).setName("Color").setDesc(descriptions.color).addText((cb) => {
- cb.setValue(config.color).setPlaceholder("#3e9cec").onChange((value) => {
- config.color = value;
- this.updateText("color", settings);
- this.updateDisplay(settings);
- });
- }),
- urlTemplate: new import_obsidian.Setting(this.contentEl).setName("URL Template").setDesc(descriptions.urlTemplate).addText((cb) => {
- cb.setValue(config.urlTemplate).setPlaceholder("https://twitter.com/{{NAME}}").onChange((value) => {
- config.urlTemplate = value;
- this.updateText("urlTemplate", settings);
- this.updateDisplay(settings);
- });
- }),
- labelTemplate: new import_obsidian.Setting(this.contentEl).setName("Label Template").setDesc(descriptions.labelTemplate).addText((cb) => {
- cb.setValue(config.labelTemplate).setPlaceholder("@{{NAME}}").onChange((value) => {
- config.labelTemplate = value;
- this.updateText("labelTemplate", settings);
- this.updateDisplay(settings);
- });
- }),
- doesReverseResolution: new import_obsidian.Setting(this.contentEl).setName("Reverse Resolution(Unimplemented)").setDesc(descriptions.doesReverseResolution).addToggle((cb) => {
- cb.setValue(config.doesReverseResolution).onChange((value) => {
- config.doesReverseResolution = value;
- this.updateText("doesReverseResolution", settings);
- this.updateDisplay(settings);
- }).setDisabled;
- }),
- previewBox: new import_obsidian.Setting(this.contentEl).setDesc(descriptions.previewBox).setName("Preview"),
- saveButton: new import_obsidian.Setting(this.contentEl).setDesc(descriptions.saveButton).addButton((b) => {
- b.setButtonText("Save").setDisabled(true).onClick((evt) => {
- this.closeCallBack(config);
- this.close();
- });
- })
- };
- ["name", "color", "urlTemplate", "labelTemplate", "doesReverseResolution"].forEach((key) => {
- this.updateText(key, settings);
- });
- this.updateDisplay(settings);
- }
- checkConfig(key) {
- switch (key) {
- case "name":
- if (this.config.name == "") {
- return "The name length must be greater than zero";
- } else if (["aliases", "alias", "tags", "tag", "cssclass", "publish", "accounts"].includes(this.config.name.toLowerCase())) {
- return "The name must be something other";
- } else {
- return "";
- }
- case "color":
- if (!isColor(this.config.color)) {
- return "The color must be represented by `#` and a six-digit hexadecimal number";
- } else {
- return "";
- }
- case "urlTemplate":
- if (!isURL(this.config.urlTemplate.replace(/\{\{[^}]*\}\}/g, ""))) {
- return "URL is invalid";
- } else {
- return "";
- }
- case "labelTemplate":
- return "";
- case "doesReverseResolution":
- return "";
- }
- }
- updateText(key, settings) {
- if (this.checkConfig(key) != "") {
- settings[key].descEl.innerHTML = descriptions[key] + `
${this.checkConfig(key)}`;
- } else {
- settings[key].descEl.innerHTML = descriptions[key];
- }
- }
- updateDisplay(settings) {
- let f = false;
- ["name", "color", "urlTemplate", "labelTemplate", "doesReverseResolution"].forEach((key) => {
- if (this.checkConfig(key) != "") {
- f = true;
- }
- });
- settings.saveButton.setDisabled(f);
- const linker = document.createElement("a");
- drawAccountLink(linker, this.config, "example");
- settings.previewBox.descEl.innerHTML = linker.outerHTML;
- }
-};
-
-// src/control/websiteConfig.ts
-var websiteConfig = class {
- constructor() {
- this.name = "";
- this.color = "#FFFFFF";
- this.urlTemplate = "";
- this.labelTemplate = "";
- this.doesReverseResolution = false;
- }
-};
-
-// src/settings/AccountLinkerSettingTab.ts
-var AccountLinkerSettingTab = class extends import_obsidian2.PluginSettingTab {
- constructor(app, plugin) {
- super(app, plugin);
- this.plugin = plugin;
- }
- display() {
- const { containerEl } = this;
- containerEl.empty();
- const siteDiv = containerEl.createDiv();
- this.drawSites(siteDiv);
- }
- drawSites(div) {
- div.empty();
- const websites = this.plugin.settings.websites;
- websites.forEach((website, i) => {
- const s = new import_obsidian2.Setting(div).setDesc(website.name).addButton((button) => {
- button.onClick(() => {
- const modal = new WebsiteEditModal(this.plugin, website, (config) => {
- this.plugin.settings.websites[i] = config;
- this.plugin.saveSettings();
- this.drawSites(div);
- });
- modal.open();
- });
- button.setIcon("pencil");
- button.setTooltip("Edit");
- }).addButton((button) => {
- button.onClick(() => {
- this.plugin.settings.websites.remove(website);
- this.plugin.saveSettings();
- this.drawSites(div);
- });
- button.setIcon("cross");
- button.setTooltip("Remove");
- });
- const linker = document.createElement("a");
- drawAccountLink(linker, website, "example");
- s.descEl.innerHTML += linker.outerHTML;
- });
- new import_obsidian2.Setting(div).addButton((button) => {
- button.onClick(() => {
- const modal = new WebsiteEditModal(this.plugin, new websiteConfig(), (config) => {
- this.plugin.settings.websites.push(config);
- this.plugin.saveSettings();
- this.drawSites(div);
- });
- modal.open();
- });
- button.setIcon("plus-with-circle");
- button.setTooltip("New");
- });
- }
-};
-
-// src/settings/AccountLinkerSettings.ts
-var DEFAULT_SETTINGS = {
- websites: [
- {
- name: "Twitter",
- color: "#3e9cec",
- urlTemplate: "https://twitter.com/{{NAME}}",
- labelTemplate: "@{{NAME}}",
- doesReverseResolution: false
- },
- {
- name: "Facebook",
- color: "#3b5998",
- urlTemplate: "https://www.facebook.com/{{NAME}}",
- labelTemplate: "{{NAME}}",
- doesReverseResolution: false
- },
- {
- name: "Instagram",
- color: "#dc2477",
- urlTemplate: "https://www.instagram.com/{{NAME}}",
- labelTemplate: "@{{NAME}}",
- doesReverseResolution: false
- },
- {
- name: "GitHub",
- color: "#0a0c10",
- urlTemplate: "https://github.com/{{NAME}}",
- labelTemplate: "@{{NAME}}",
- doesReverseResolution: false
- },
- {
- name: "Mail",
- color: "#e7e7e7",
- urlTemplate: "mailto:{{NAME}}",
- labelTemplate: "{{NAME}}",
- doesReverseResolution: false
- },
- {
- name: "Linktree",
- color: "#3ea195",
- urlTemplate: "https://linktr.ee/{{NAME}}",
- labelTemplate: "{{NAME}}",
- doesReverseResolution: false
- }
- ]
-};
-
-// src/drawing/frontmatterProcessor.ts
-var frontmatterProcessor = (plugin) => (el, ctx) => __async(void 0, null, function* () {
- const frontmatter = el.querySelector(".frontmatter");
- if (frontmatter !== null) {
- const embed = el.querySelector(".internal-embed");
- if (embed !== null) {
- return;
- }
- if (ctx.frontmatter) {
- const siteDict = {};
- plugin.settings.websites.forEach((config) => {
- if (!Object.keys(siteDict).includes(config.name.toLowerCase())) {
- siteDict[config.name.toLowerCase()] = [];
- }
- siteDict[config.name.toLowerCase()].push(config);
- });
- console.log(siteDict);
- const accountList = [];
- Object.keys(ctx.frontmatter).forEach((key) => {
- if (Object.keys(siteDict).includes(key.toLowerCase())) {
- const lk = key.toLowerCase();
- siteDict[lk].forEach((config) => {
- frontMatterRecursion(ctx.frontmatter[key], config, accountList);
- });
- }
- });
- const target = el.querySelector(".frontmatter-container");
- if (accountList.length) {
- target.innerHTML += `
-
$1").replace(dN,"•").replace(fN,"$1.").replace(uN,"⬜").replace(cN,"✅").replace(sN,"$1").replace(lN,"$1").replace(/<br>/g,"
").replace(/&/g,"&");let r=n;if(t){if(Ub.test(n)){const a=n.match(Ub);for(let o=0;o | ${a!==""?a:" #$2").replace(Bu,"$1$2").replace(wN,"$1").replace(Il,"$1").replace(/\^\S{6}/g,"");const n=document.createElement("div");n.innerHTML=e;for(let a=0;a -1;)ne!==u&&cc.call(ne,ce,1),cc.call(u,ce,1);return u}function tu(u,f){for(var b=u?f.length:0,M=b-1;b--;){var P=f[b];if(b==M||P!==V){var V=P;ca(P)?cc.call(u,P,1):Xi(u,P)}}return u}function nu(u,f){return u+Jo(Zl()*(f-u+1))}function Uf(u,f,b,M){for(var P=-1,V=Cn(Vi((f-u)/(b||1)),0),K=ve(V);V--;)K[M?V:++P]=u,u+=b;return K}function qs(u,f){var b="";if(!u||f<1||f>oe)return b;do f%2&&(b+=u),f=Jo(f/2),f&&(u+=u);while(f);return b}function It(u,f){return Gc(Wc(u,f,ma),u+"")}function Qi(u){return Ja(pd(u))}function cn(u,f){var b=pd(u);return $r(b,bo(f,0,b.length))}function dn(u,f,b,M){if(!Sn(u))return u;f=Do(f,u);for(var P=-1,V=f.length,K=V-1,ne=u;ne!=null&&++P >>1,K=u[V];K!==null&&!Ra(K)&&(b?K<=f:K -1?P[V?f[K]:K]:n}}function es(u){return to(function(f){var b=f.length,M=b,P=ar.prototype.thru;for(u&&f.reverse();M--;){var V=f[M];if(typeof V!="function")throw new oa(s);if(P&&!K&&du(V)=="wrapper")var K=new ar([],!0)}for(M=K?M:b;++M1&&jt.reverse(),Ne&&ce f){var M=u;u=f,f=M}if(b||u%1||f%1){var P=Zl();return rr(u+P*(f-u+hf("1e-"+((P+"").length-1))),f)}return nu(u,f)}var ZM=Io(function(u,f,b){return f=f.toLowerCase(),u+(b?Pb(f):f)});function Pb(u){return h0(Gt(u).toLowerCase())}function jb(u){return u=Gt(u),u&&u.replace(Qp,bm).replace(sm,"")}function WM(u,f,b){u=Gt(u),f=pn(f);var M=u.length;b=b===n?M:bo(xt(b),0,M);var P=b;return b-=f.length,b>=0&&u.slice(b,P)==f}function $M(u){return u=Gt(u),u&&ze.test(u)?u.replace(je,Dm):u}function GM(u){return u=Gt(u),u&&ra.test(u)?u.replace(wr,"\\$&"):u}var qM=Io(function(u,f,b){return u+(b?"-":"")+f.toLowerCase()}),JM=Io(function(u,f,b){return u+(b?" ":"")+f.toLowerCase()}),KM=Qf("toLowerCase");function QM(u,f,b){u=Gt(u),f=xt(f);var M=f?zi(u):0;if(!f||M>=f)return u;var P=(f-M)/2;return su(Jo(P),b)+u+su(Vi(P),b)}function XM(u,f,b){u=Gt(u),f=xt(f);var M=f?zi(u):0;return f&&M ").replace(/&/g,"&");let r=n;if(t){if(bD.test(n)){const o=n.match(bD);for(let i=0;i | ${o!==""?o:" #$2").replace(Od,"$1$2").replace(a6,"$1").replace(hc,"$1").replace(/\^\S{6}/g,"");const n=document.createElement("div");n.innerHTML=e;for(let o=0;o
"),vN=e=>{const t=document.createElement("div");return t.textContent=e,t.innerHTML},Zb="mobile-show-sidebar",MI=200,Mi=3600*24*1e3,Fn=/\s#([^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]+)/g,mr=/(
)#([^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]+)/g,$n=/^#([^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]+)/gu,Bu=/(\s|:|\(|>|^)((http|ftp|https):\/\/([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-]))/g,wN=/\[([\s\S]*?)\]\(([\s\S]*?)\)/gu,_u=/([^\s<\\*>'(]+\.(jpeg|jpg|gif|png|svg))(\]\])?(\))?/g,Il=/\[@(.+?)\]\((.+?)\)/g,bN=/^(-|\*|\d\.)\s(\[.\]\s)?(\d{1,2}:\d{2}(:\d{2})?)\s(.*)$/g,tp=[{title:"DAILY",icon:"list"},{title:"CANVAS",icon:"layout-dashboard"},{title:"MULTI",icon:"file-text"},{title:"FILE",icon:"edit"}];var hw;(e=>{function t(){return parseInt(C.moment().format("x"))}e.getNowTimeStamp=t;function n(H){const Y=/'’A-Za-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,U=/\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5/.source,J=/[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5]{1}/.source,Q=new RegExp([`(?:[0-9]+(?:(?:,|\\.)[0-9]+)*|[\\-${Y}])+`,U,J].join("|"),"g");return(H.match(Q)||[]).length}e.getWordCount=n;function r(H){a1()&&(H!=null&&H.EnabledLocationList.some(Y=>Y.value==="DAILY"))&&(H!=null&&H.EnabledLocationList.some(Y=>Y.value==="MULTI"))&&o1().contains(H==null?void 0:H.MemoOtherSaveLocation.MemoDefaultMultiFilePath)&&new C.Notice(N("Please set different save locations for multi-file settings in Thino. The diary folder overlaps with the multi-file save location, or there is a risk of it being read repeatedly."),5e3)}e.checkDailyInMulti=r;function a(){const H=navigator.userAgent;let Y="Unknown";return H.indexOf("Win")!=-1?Y="Windows":H.indexOf("Mac")!=-1?Y="MacOS":H.indexOf("Linux")!=-1&&(Y="Linux"),Y}e.getOSVersion=a;function o(H){return typeof H=="string"&&(H=H.replaceAll("-","/")),new Date(H).getTime()}e.getTimeStampByDate=o;function s(H){const Y=new Date(o(H));return new Date(Y.getFullYear(),Y.getMonth(),Y.getDate()).getTime()}e.getDateStampByDate=s;function c(H){const Y=new Date(o(H)),U=Y.getFullYear(),J=Y.getMonth()+1,Q=Y.getDate();return`${U}/${J}/${Q}`}e.getDateString=c;function d(H){const Y=new Date(o(H)),U=Y.getHours(),J=Y.getMinutes(),Q=U<10?"0"+U:U,le=J<10?"0"+J:J;return`${Q}:${le}`}e.getTimeString=d;function p(H){const Y=new Date(o(H)),U=Y.getFullYear(),J=Y.getMonth()+1,Q=Y.getDate(),le=Y.getHours(),pe=Y.getMinutes(),ie=Y.getSeconds(),se=J<10?"0"+J:J,fe=Q<10?"0"+Q:Q,oe=le<10?"0"+le:le,we=pe<10?"0"+pe:pe,Z=ie<10?"0"+ie:ie;return`${U}/${se}/${fe} ${oe}:${we}:${Z}`}e.getDateTimeString=p;function m(H){return Array.from(new Set(H))}e.dedupe=m;function g(H){const Y=new Set,U=[];for(const J of H)Y.has(J.id)||(Y.add(J.id),U.push(J));return U}e.dedupeObjectWithId=g;function v(H,Y){let U=null;return()=>{U&&clearTimeout(U),U=setTimeout(H,Y)}}e.debounce=v;function D(H,Y,U=!1,J){let Q=null,le=!1;function pe(...ie){if(Q&&clearTimeout(Q),U&&!le){const se=H.apply(this,ie);J&&typeof J=="function"&&J(se),le=!0}else Q=setTimeout(()=>{const se=H.apply(this,ie);J&&typeof J=="function"&&J(se),le=!1,Q=null},Y)}return pe.cancel=function(){Q&&clearTimeout(Q),Q=null,le=!1},pe}e.debouncePlus=D;function S(H,Y){let U=!0;return()=>{if(!U)return!1;U=!1,setTimeout(()=>{H(),U=!0},Y)}}e.throttle=S;function T(H){const Y=[],U=Object.keys(H).sort();for(const J of U){const Q=H[J];Q&&(typeof Q=="object"?Y.push(...T(Q).split("&")):Y.push(`${J}=${Q}`))}return Y.join("&")}e.transformObjectToParamsString=T;function E(H){const Y={},U=H.split("&");for(const J of U){const[Q,le]=J.split("=");Q&&le&&(Y[Q]=le)}return Y}e.transformParamsStringToObject=E;function O(H){if(!H)return{};const Y={},U=Object.keys(H).sort();for(const J of U){const Q=H[J];if(typeof Q=="object"){const le=O(JSON.parse(JSON.stringify(Q)));le&&Object.keys(le).length>0&&(Y[J]=le)}else Q&&(Y[J]=Q)}return Y}e.filterObjectNullKeys=O;async function k(H){if(navigator.clipboard&&navigator.clipboard.writeText)try{await navigator.clipboard.writeText(H)}catch(Y){console.warn("Copy to clipboard failed.",Y)}else console.warn("Copy to clipboard failed, methods not supports.")}e.copyTextToClipboard=k;function j(H){return new Promise(Y=>{const U=new Image;U.onload=()=>{const{width:J,height:Q}=U;J>0&&Q>0?Y({width:J,height:Q}):Y({width:0,height:0})},U.onerror=()=>{Y({width:0,height:0})},U.className="hidden",U.src=H,document.body.appendChild(U),U.remove()})}e.getImageSize=j;async function F(H){var Q,le,pe,ie;let Y;const J=app.plugins.getPlugin("obsidian-memos").settings.UseDailyOrPeriodic==="Daily";try{return!J&&((ie=(pe=(le=(Q=window.app.plugins)==null?void 0:Q.getPlugin("periodic-notes"))==null?void 0:le.calendarSetManager)==null?void 0:pe.getActiveConfig("day"))!=null&&ie.enabled)?(Y=await window.app.plugins.getPlugin("periodic-notes").createPeriodicNote("day",H),Y):(Y=await CI(H),Y)}catch(se){return console.error(se),new C.Notice(N("Failed to create daily note. Please check if you created a folder for daily notes.")),null}}e.createDailyNoteCheck=F;function B(H){const Y=[];let U=0;for(;U
"}$1
").replace(QA,"•").replace(XA,"$1.").replace(JA,"⬜").replace(KA,"✅").replace(qA,"$1").replace(GA,"$1").replace(/<br>/g,"
"),i6=e=>{const t=document.createElement("div");return t.textContent=e,t.innerHTML},DD="mobile-show-sidebar",Ex=200,fl=3600*24*1e3,gr=/\s#([^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]+)/g,so=/(
)#([^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]+)/g,jr=/^#([^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]+)/gu,Od=/(\s|:|\(|>|^)((http|ftp|https):\/\/([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-]))/g,a6=/\[([\s\S]*?)\]\(([\s\S]*?)\)/gu,jd=/([^\s<\\*>'(]+\.(jpeg|jpg|gif|png|svg))(\]\])?(\))?/g,hc=/\[@(.+?)\]\((.+?)\)/g,s6=/[#*"\/\\<>:|\[\]\?]/gim,l6=/^(-|\*|\d\.)\s(\[.\]\s)?(\d{1,2}:\d{2}(:\d{2})?)\s(.*)/g,km=[{title:"DAILY",icon:"list"},{title:"CANVAS",icon:"layout-dashboard"},{title:"MULTI",icon:"file-text"},{title:"FILE",icon:"edit"}];var Ab;(e=>{function t(){return parseInt(C.moment().format("x"))}e.getNowTimeStamp=t;function n(U){const z=/'’A-Za-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,$=/\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5/.source,te=/[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5]{1}/.source,Q=new RegExp([`(?:[0-9]+(?:(?:,|\\.)[0-9]+)*|[\\-${z}])+`,$,te].join("|"),"g");return(U.match(Q)||[]).length}e.getWordCount=n;function r(U){Mm()&&(U!=null&&U.EnabledLocationList.some(z=>z.value==="DAILY"))&&(U!=null&&U.EnabledLocationList.some(z=>z.value==="MULTI"))&&t0().contains(U==null?void 0:U.MemoOtherSaveLocation.MemoDefaultMultiFilePath)&&new C.Notice(E("Please set different save locations for multi-file settings in Thino. The diary folder overlaps with the multi-file save location, or there is a risk of it being read repeatedly."),5e3)}e.checkDailyInMulti=r;function o(){const U=navigator.userAgent;let z="Unknown";return U.indexOf("Win")!=-1?z="Windows":U.indexOf("Mac")!=-1?z="MacOS":U.indexOf("Linux")!=-1&&(z="Linux"),z}e.getOSVersion=o;function i(U){return typeof U=="string"&&(U=U.replaceAll("-","/")),new Date(U).getTime()}e.getTimeStampByDate=i;function a(U){const z=new Date(i(U));return new Date(z.getFullYear(),z.getMonth(),z.getDate()).getTime()}e.getDateStampByDate=a;function u(U){const z=new Date(i(U)),$=z.getFullYear(),te=z.getMonth()+1,Q=z.getDate();return`${$}/${te}/${Q}`}e.getDateString=u;function d(U){const z=new Date(i(U)),$=z.getHours(),te=z.getMinutes(),Q=$<10?"0"+$:$,ue=te<10?"0"+te:te;return`${Q}:${ue}`}e.getTimeString=d;function f(U){const z=new Date(i(U)),$=z.getFullYear(),te=z.getMonth()+1,Q=z.getDate(),ue=z.getHours(),ee=z.getMinutes(),le=z.getSeconds(),W=te<10?"0"+te:te,de=Q<10?"0"+Q:Q,oe=ue<10?"0"+ue:ue,he=ee<10?"0"+ee:ee,K=le<10?"0"+le:le;return`${$}/${W}/${de} ${oe}:${he}:${K}`}e.getDateTimeString=f;function m(U){return Array.from(new Set(U))}e.dedupe=m;function g(U){const z=new Set,$=[];for(const te of U)z.has(te.id)||(z.add(te.id),$.push(te));return $}e.dedupeObjectWithId=g;function v(U,z){let $=null;return()=>{$&&clearTimeout($),$=setTimeout(U,z)}}e.debounce=v;function w(U,z,$=!1,te){let Q=null,ue=!1;function ee(...le){if(Q&&clearTimeout(Q),$&&!ue){const W=U.apply(this,le);te&&typeof te=="function"&&te(W),ue=!0}else Q=setTimeout(()=>{const W=U.apply(this,le);te&&typeof te=="function"&&te(W),ue=!1,Q=null},z)}return ee.cancel=function(){Q&&clearTimeout(Q),Q=null,ue=!1},ee}e.debouncePlus=w;function D(U,z){let $=!0;return()=>{if(!$)return!1;$=!1,setTimeout(()=>{U(),$=!0},z)}}e.throttle=D;function T(U){const z=[],$=Object.keys(U).sort();for(const te of $){const Q=U[te];Q&&(typeof Q=="object"?z.push(...T(Q).split("&")):z.push(`${te}=${Q}`))}return z.join("&")}e.transformObjectToParamsString=T;function I(U){const z={},$=U.split("&");for(const te of $){const[Q,ue]=te.split("=");Q&&ue&&(z[Q]=ue)}return z}e.transformParamsStringToObject=I;function k(U){if(!U)return{};const z={},$=Object.keys(U).sort();for(const te of $){const Q=U[te];if(typeof Q=="object"){const ue=k(JSON.parse(JSON.stringify(Q)));ue&&Object.keys(ue).length>0&&(z[te]=ue)}else Q&&(z[te]=Q)}return z}e.filterObjectNullKeys=k;async function A(U){if(navigator.clipboard&&navigator.clipboard.writeText)try{await navigator.clipboard.writeText(U)}catch(z){console.warn("Copy to clipboard failed.",z)}else console.warn("Copy to clipboard failed, methods not supports.")}e.copyTextToClipboard=A;function R(U){return new Promise(z=>{const $=new Image;$.onload=()=>{const{width:te,height:Q}=$;te>0&&Q>0?z({width:te,height:Q}):z({width:0,height:0})},$.onerror=()=>{z({width:0,height:0})},$.className="hidden",$.src=U,document.body.appendChild($),$.remove()})}e.getImageSize=R;async function j(U){var Q,ue,ee,le;let z;const te=app.plugins.getPlugin("obsidian-memos").settings.UseDailyOrPeriodic==="Daily";try{return!te&&((le=(ee=(ue=(Q=window.app.plugins)==null?void 0:Q.getPlugin("periodic-notes"))==null?void 0:ue.calendarSetManager)==null?void 0:ee.getActiveConfig("day"))!=null&&le.enabled)?(z=await window.app.plugins.getPlugin("periodic-notes").createPeriodicNote("day",U),z):(z=await app.internalPlugins.getPluginById("daily-notes").instance.getDailyNote(U)||await Ix(U),z)}catch(W){return console.error(W),new C.Notice(E("Failed to create daily note. Please check if you created a folder for daily notes.")),null}}e.createDailyNoteCheck=j;function B(U){const z=[];let $=0;for(;$").map(o=>`
"}=h?c:h)),c}function Oo(c,h,S,O,Y,X){var fe,ve=h&g,Se=h&v,Ze=h&w;if(S&&(fe=Y?S(c,O,Y,X):S(c)),fe!==n)return fe;if(!ar(c))return c;var $e=Qt(c);if($e){if(fe=iy(c),!ve)return bo(c,fe)}else{var Ke=ro(c),ft=Ke==Re||Ke==tt;if(qu(c))return vp(c,ve);if(Ke==Tt||Ke==Ne||ft&&!Y){if(fe=Se||ft?{}:Uu(c),!ve)return Se?aw(c,Zi(fe,c)):Gg(c,Yn(fe,c))}else{if(!an[Ke])return Y?c:{};fe=oo(c,Ke,ve)}}X||(X=new Qr);var Ct=X.get(c);if(Ct)return Ct;X.set(c,fe),nD(c)?c.forEach(function(Bt){fe.add(Oo(Bt,h,S,Bt,c,X))}):eD(c)&&c.forEach(function(Bt,sn){fe.set(sn,Oo(Bt,h,S,sn,c,X))});var _t=Ze?Se?Jc:Mf:Se?Ei:ao,rn=$e?n:_t(c);return or(rn||c,function(Bt,sn){rn&&(sn=Bt,Bt=c[sn]),Ll(fe,sn,Oo(Bt,h,S,sn,c,X))}),fe}function Hg(c){var h=ao(c);return function(S){return Rc(S,c,h)}}function Rc(c,h,S){var O=S.length;if(c==null)return!O;for(c=kn(c);O--;){var Y=S[O],X=h[Y],fe=c[Y];if(fe===n&&!(Y in c)||!X(fe))return!1}return!0}function ap(c,h,S){if(typeof c!="function")throw new yi(a);return Vu(function(){c.apply(n,S)},h)}function Da(c,h,S,O){var Y=-1,X=ks,fe=!0,ve=c.length,Se=[],Ze=h.length;if(!ve)return Se;S&&(h=In(h,St(S))),O?(X=Hr,fe=!1):h.length>=o&&(X=jt,fe=!1,h=new Pl(h));e:for(;++Y1&&hn.reverse(),$e&&Se