Files
StudyDiary/.obsidian/plugins/obsidian-mkdocs-publisher/main.js
T
2026-07-23 20:36:13 +08:00

241 lines
737 KiB
JavaScript
Executable File

/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin: undefined
*/
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var require_fast_content_type_parse=__commonJS({"node_modules/fast-content-type-parse/index.js"(exports,module2){"use strict";var NullObject=function(){};NullObject.prototype=Object.create(null);var paramRE=/; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu,quotedPairRE=/\\([\v\u0020-\u00ff])/gu,mediaTypeRE=/^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u,defaultContentType={type:"",parameters:new NullObject};Object.freeze(defaultContentType.parameters);Object.freeze(defaultContentType);function parse2(header){if(typeof header!="string")throw new TypeError("argument header is required and must be a string");let index=header.indexOf(";"),type=index!==-1?header.slice(0,index).trim():header.trim();if(mediaTypeRE.test(type)===!1)throw new TypeError("invalid media type");let result={type:type.toLowerCase(),parameters:new NullObject};if(index===-1)return result;let key,match,value;for(paramRE.lastIndex=index;match=paramRE.exec(header);){if(match.index!==index)throw new TypeError("invalid parameter format");index+=match[0].length,key=match[1].toLowerCase(),value=match[2],value[0]==='"'&&(value=value.slice(1,value.length-1),quotedPairRE.test(value)&&(value=value.replace(quotedPairRE,"$1"))),result.parameters[key]=value}if(index!==header.length)throw new TypeError("invalid parameter format");return result}function safeParse2(header){if(typeof header!="string")return defaultContentType;let index=header.indexOf(";"),type=index!==-1?header.slice(0,index).trim():header.trim();if(mediaTypeRE.test(type)===!1)return defaultContentType;let result={type:type.toLowerCase(),parameters:new NullObject};if(index===-1)return result;let key,match,value;for(paramRE.lastIndex=index;match=paramRE.exec(header);){if(match.index!==index)return defaultContentType;index+=match[0].length,key=match[1].toLowerCase(),value=match[2],value[0]==='"'&&(value=value.slice(1,value.length-1),quotedPairRE.test(value)&&(value=value.replace(quotedPairRE,"$1"))),result.parameters[key]=value}return index!==header.length?defaultContentType:result}module2.exports.default={parse:parse2,safeParse:safeParse2};module2.exports.parse=parse2;module2.exports.safeParse=safeParse2;module2.exports.defaultContentType=defaultContentType}});var require_slugify=__commonJS({"node_modules/slugify/slugify.js"(exports,module2){(function(name,root,factory){typeof exports=="object"?(module2.exports=factory(),module2.exports.default=factory()):typeof define=="function"&&define.amd?define(factory):root[name]=factory()})("slugify",exports,function(){var charMap=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","\xA2":"cent","\xA3":"pound","\xA4":"currency","\xA5":"yen","\xA9":"(c)","\xAA":"a","\xAE":"(r)","\xBA":"o","\xC0":"A","\xC1":"A","\xC2":"A","\xC3":"A","\xC4":"A","\xC5":"A","\xC6":"AE","\xC7":"C","\xC8":"E","\xC9":"E","\xCA":"E","\xCB":"E","\xCC":"I","\xCD":"I","\xCE":"I","\xCF":"I","\xD0":"D","\xD1":"N","\xD2":"O","\xD3":"O","\xD4":"O","\xD5":"O","\xD6":"O","\xD8":"O","\xD9":"U","\xDA":"U","\xDB":"U","\xDC":"U","\xDD":"Y","\xDE":"TH","\xDF":"ss","\xE0":"a","\xE1":"a","\xE2":"a","\xE3":"a","\xE4":"a","\xE5":"a","\xE6":"ae","\xE7":"c","\xE8":"e","\xE9":"e","\xEA":"e","\xEB":"e","\xEC":"i","\xED":"i","\xEE":"i","\xEF":"i","\xF0":"d","\xF1":"n","\xF2":"o","\xF3":"o","\xF4":"o","\xF5":"o","\xF6":"o","\xF8":"o","\xF9":"u","\xFA":"u","\xFB":"u","\xFC":"u","\xFD":"y","\xFE":"th","\xFF":"y","\u0100":"A","\u0101":"a","\u0102":"A","\u0103":"a","\u0104":"A","\u0105":"a","\u0106":"C","\u0107":"c","\u010C":"C","\u010D":"c","\u010E":"D","\u010F":"d","\u0110":"DJ","\u0111":"dj","\u0112":"E","\u0113":"e","\u0116":"E","\u0117":"e","\u0118":"e","\u0119":"e","\u011A":"E","\u011B":"e","\u011E":"G","\u011F":"g","\u0122":"G","\u0123":"g","\u0128":"I","\u0129":"i","\u012A":"i","\u012B":"i","\u012E":"I","\u012F":"i","\u0130":"I","\u0131":"i","\u0136":"k","\u0137":"k","\u013B":"L","\u013C":"l","\u013D":"L","\u013E":"l","\u0141":"L","\u0142":"l","\u0143":"N","\u0144":"n","\u0145":"N","\u0146":"n","\u0147":"N","\u0148":"n","\u014C":"O","\u014D":"o","\u0150":"O","\u0151":"o","\u0152":"OE","\u0153":"oe","\u0154":"R","\u0155":"r","\u0158":"R","\u0159":"r","\u015A":"S","\u015B":"s","\u015E":"S","\u015F":"s","\u0160":"S","\u0161":"s","\u0162":"T","\u0163":"t","\u0164":"T","\u0165":"t","\u0168":"U","\u0169":"u","\u016A":"u","\u016B":"u","\u016E":"U","\u016F":"u","\u0170":"U","\u0171":"u","\u0172":"U","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017A":"z","\u017B":"Z","\u017C":"z","\u017D":"Z","\u017E":"z","\u018F":"E","\u0192":"f","\u01A0":"O","\u01A1":"o","\u01AF":"U","\u01B0":"u","\u01C8":"LJ","\u01C9":"lj","\u01CB":"NJ","\u01CC":"nj","\u0218":"S","\u0219":"s","\u021A":"T","\u021B":"t","\u0259":"e","\u02DA":"o","\u0386":"A","\u0388":"E","\u0389":"H","\u038A":"I","\u038C":"O","\u038E":"Y","\u038F":"W","\u0390":"i","\u0391":"A","\u0392":"B","\u0393":"G","\u0394":"D","\u0395":"E","\u0396":"Z","\u0397":"H","\u0398":"8","\u0399":"I","\u039A":"K","\u039B":"L","\u039C":"M","\u039D":"N","\u039E":"3","\u039F":"O","\u03A0":"P","\u03A1":"R","\u03A3":"S","\u03A4":"T","\u03A5":"Y","\u03A6":"F","\u03A7":"X","\u03A8":"PS","\u03A9":"W","\u03AA":"I","\u03AB":"Y","\u03AC":"a","\u03AD":"e","\u03AE":"h","\u03AF":"i","\u03B0":"y","\u03B1":"a","\u03B2":"b","\u03B3":"g","\u03B4":"d","\u03B5":"e","\u03B6":"z","\u03B7":"h","\u03B8":"8","\u03B9":"i","\u03BA":"k","\u03BB":"l","\u03BC":"m","\u03BD":"n","\u03BE":"3","\u03BF":"o","\u03C0":"p","\u03C1":"r","\u03C2":"s","\u03C3":"s","\u03C4":"t","\u03C5":"y","\u03C6":"f","\u03C7":"x","\u03C8":"ps","\u03C9":"w","\u03CA":"i","\u03CB":"y","\u03CC":"o","\u03CD":"y","\u03CE":"w","\u0401":"Yo","\u0402":"DJ","\u0404":"Ye","\u0406":"I","\u0407":"Yi","\u0408":"J","\u0409":"LJ","\u040A":"NJ","\u040B":"C","\u040F":"DZ","\u0410":"A","\u0411":"B","\u0412":"V","\u0413":"G","\u0414":"D","\u0415":"E","\u0416":"Zh","\u0417":"Z","\u0418":"I","\u0419":"J","\u041A":"K","\u041B":"L","\u041C":"M","\u041D":"N","\u041E":"O","\u041F":"P","\u0420":"R","\u0421":"S","\u0422":"T","\u0423":"U","\u0424":"F","\u0425":"H","\u0426":"C","\u0427":"Ch","\u0428":"Sh","\u0429":"Sh","\u042A":"U","\u042B":"Y","\u042C":"","\u042D":"E","\u042E":"Yu","\u042F":"Ya","\u0430":"a","\u0431":"b","\u0432":"v","\u0433":"g","\u0434":"d","\u0435":"e","\u0436":"zh","\u0437":"z","\u0438":"i","\u0439":"j","\u043A":"k","\u043B":"l","\u043C":"m","\u043D":"n","\u043E":"o","\u043F":"p","\u0440":"r","\u0441":"s","\u0442":"t","\u0443":"u","\u0444":"f","\u0445":"h","\u0446":"c","\u0447":"ch","\u0448":"sh","\u0449":"sh","\u044A":"u","\u044B":"y","\u044C":"","\u044D":"e","\u044E":"yu","\u044F":"ya","\u0451":"yo","\u0452":"dj","\u0454":"ye","\u0456":"i","\u0457":"yi","\u0458":"j","\u0459":"lj","\u045A":"nj","\u045B":"c","\u045D":"u","\u045F":"dz","\u0490":"G","\u0491":"g","\u0492":"GH","\u0493":"gh","\u049A":"KH","\u049B":"kh","\u04A2":"NG","\u04A3":"ng","\u04AE":"UE","\u04AF":"ue","\u04B0":"U","\u04B1":"u","\u04BA":"H","\u04BB":"h","\u04D8":"AE","\u04D9":"ae","\u04E8":"OE","\u04E9":"oe","\u0531":"A","\u0532":"B","\u0533":"G","\u0534":"D","\u0535":"E","\u0536":"Z","\u0537":"E'","\u0538":"Y'","\u0539":"T'","\u053A":"JH","\u053B":"I","\u053C":"L","\u053D":"X","\u053E":"C'","\u053F":"K","\u0540":"H","\u0541":"D'","\u0542":"GH","\u0543":"TW","\u0544":"M","\u0545":"Y","\u0546":"N","\u0547":"SH","\u0549":"CH","\u054A":"P","\u054B":"J","\u054C":"R'","\u054D":"S","\u054E":"V","\u054F":"T","\u0550":"R","\u0551":"C","\u0553":"P'","\u0554":"Q'","\u0555":"O''","\u0556":"F","\u0587":"EV","\u0621":"a","\u0622":"aa","\u0623":"a","\u0624":"u","\u0625":"i","\u0626":"e","\u0627":"a","\u0628":"b","\u0629":"h","\u062A":"t","\u062B":"th","\u062C":"j","\u062D":"h","\u062E":"kh","\u062F":"d","\u0630":"th","\u0631":"r","\u0632":"z","\u0633":"s","\u0634":"sh","\u0635":"s","\u0636":"dh","\u0637":"t","\u0638":"z","\u0639":"a","\u063A":"gh","\u0641":"f","\u0642":"q","\u0643":"k","\u0644":"l","\u0645":"m","\u0646":"n","\u0647":"h","\u0648":"w","\u0649":"a","\u064A":"y","\u064B":"an","\u064C":"on","\u064D":"en","\u064E":"a","\u064F":"u","\u0650":"e","\u0652":"","\u0660":"0","\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u067E":"p","\u0686":"ch","\u0698":"zh","\u06A9":"k","\u06AF":"g","\u06CC":"y","\u06F0":"0","\u06F1":"1","\u06F2":"2","\u06F3":"3","\u06F4":"4","\u06F5":"5","\u06F6":"6","\u06F7":"7","\u06F8":"8","\u06F9":"9","\u0E3F":"baht","\u10D0":"a","\u10D1":"b","\u10D2":"g","\u10D3":"d","\u10D4":"e","\u10D5":"v","\u10D6":"z","\u10D7":"t","\u10D8":"i","\u10D9":"k","\u10DA":"l","\u10DB":"m","\u10DC":"n","\u10DD":"o","\u10DE":"p","\u10DF":"zh","\u10E0":"r","\u10E1":"s","\u10E2":"t","\u10E3":"u","\u10E4":"f","\u10E5":"k","\u10E6":"gh","\u10E7":"q","\u10E8":"sh","\u10E9":"ch","\u10EA":"ts","\u10EB":"dz","\u10EC":"ts","\u10ED":"ch","\u10EE":"kh","\u10EF":"j","\u10F0":"h","\u1E62":"S","\u1E63":"s","\u1E80":"W","\u1E81":"w","\u1E82":"W","\u1E83":"w","\u1E84":"W","\u1E85":"w","\u1E9E":"SS","\u1EA0":"A","\u1EA1":"a","\u1EA2":"A","\u1EA3":"a","\u1EA4":"A","\u1EA5":"a","\u1EA6":"A","\u1EA7":"a","\u1EA8":"A","\u1EA9":"a","\u1EAA":"A","\u1EAB":"a","\u1EAC":"A","\u1EAD":"a","\u1EAE":"A","\u1EAF":"a","\u1EB0":"A","\u1EB1":"a","\u1EB2":"A","\u1EB3":"a","\u1EB4":"A","\u1EB5":"a","\u1EB6":"A","\u1EB7":"a","\u1EB8":"E","\u1EB9":"e","\u1EBA":"E","\u1EBB":"e","\u1EBC":"E","\u1EBD":"e","\u1EBE":"E","\u1EBF":"e","\u1EC0":"E","\u1EC1":"e","\u1EC2":"E","\u1EC3":"e","\u1EC4":"E","\u1EC5":"e","\u1EC6":"E","\u1EC7":"e","\u1EC8":"I","\u1EC9":"i","\u1ECA":"I","\u1ECB":"i","\u1ECC":"O","\u1ECD":"o","\u1ECE":"O","\u1ECF":"o","\u1ED0":"O","\u1ED1":"o","\u1ED2":"O","\u1ED3":"o","\u1ED4":"O","\u1ED5":"o","\u1ED6":"O","\u1ED7":"o","\u1ED8":"O","\u1ED9":"o","\u1EDA":"O","\u1EDB":"o","\u1EDC":"O","\u1EDD":"o","\u1EDE":"O","\u1EDF":"o","\u1EE0":"O","\u1EE1":"o","\u1EE2":"O","\u1EE3":"o","\u1EE4":"U","\u1EE5":"u","\u1EE6":"U","\u1EE7":"u","\u1EE8":"U","\u1EE9":"u","\u1EEA":"U","\u1EEB":"u","\u1EEC":"U","\u1EED":"u","\u1EEE":"U","\u1EEF":"u","\u1EF0":"U","\u1EF1":"u","\u1EF2":"Y","\u1EF3":"y","\u1EF4":"Y","\u1EF5":"y","\u1EF6":"Y","\u1EF7":"y","\u1EF8":"Y","\u1EF9":"y","\u2013":"-","\u2018":"'","\u2019":"'","\u201C":"\\"","\u201D":"\\"","\u201E":"\\"","\u2020":"+","\u2022":"*","\u2026":"...","\u20A0":"ecu","\u20A2":"cruzeiro","\u20A3":"french franc","\u20A4":"lira","\u20A5":"mill","\u20A6":"naira","\u20A7":"peseta","\u20A8":"rupee","\u20A9":"won","\u20AA":"new shequel","\u20AB":"dong","\u20AC":"euro","\u20AD":"kip","\u20AE":"tugrik","\u20AF":"drachma","\u20B0":"penny","\u20B1":"peso","\u20B2":"guarani","\u20B3":"austral","\u20B4":"hryvnia","\u20B5":"cedi","\u20B8":"kazakhstani tenge","\u20B9":"indian rupee","\u20BA":"turkish lira","\u20BD":"russian ruble","\u20BF":"bitcoin","\u2120":"sm","\u2122":"tm","\u2202":"d","\u2206":"delta","\u2211":"sum","\u221E":"infinity","\u2665":"love","\u5143":"yuan","\u5186":"yen","\uFDFC":"rial","\uFEF5":"laa","\uFEF7":"laa","\uFEF9":"lai","\uFEFB":"la"}`),locales=JSON.parse('{"bg":{"\u0419":"Y","\u0426":"Ts","\u0429":"Sht","\u042A":"A","\u042C":"Y","\u0439":"y","\u0446":"ts","\u0449":"sht","\u044A":"a","\u044C":"y"},"de":{"\xC4":"AE","\xE4":"ae","\xD6":"OE","\xF6":"oe","\xDC":"UE","\xFC":"ue","\xDF":"ss","%":"prozent","&":"und","|":"oder","\u2211":"summe","\u221E":"unendlich","\u2665":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","\xA2":"centavos","\xA3":"libras","\xA4":"moneda","\u20A3":"francos","\u2211":"suma","\u221E":"infinito","\u2665":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","\xA2":"centime","\xA3":"livre","\xA4":"devise","\u20A3":"franc","\u2211":"somme","\u221E":"infini","\u2665":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","\xA2":"centavo","\u2211":"soma","\xA3":"libra","\u221E":"infinito","\u2665":"amor"},"uk":{"\u0418":"Y","\u0438":"y","\u0419":"Y","\u0439":"y","\u0426":"Ts","\u0446":"ts","\u0425":"Kh","\u0445":"kh","\u0429":"Shch","\u0449":"shch","\u0413":"H","\u0433":"h"},"vi":{"\u0110":"D","\u0111":"d"},"da":{"\xD8":"OE","\xF8":"oe","\xC5":"AA","\xE5":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"st\xF8rre end"},"nb":{"&":"og","\xC5":"AA","\xC6":"AE","\xD8":"OE","\xE5":"aa","\xE6":"ae","\xF8":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","\xC5":"AA","\xC4":"AE","\xD6":"OE","\xE5":"aa","\xE4":"ae","\xF6":"oe"}}');function replace(string,options){if(typeof string!="string")throw new Error("slugify: string argument expected");options=typeof options=="string"?{replacement:options}:options||{};var locale=locales[options.locale]||{},replacement=options.replacement===void 0?"-":options.replacement,trim=options.trim===void 0?!0:options.trim,slug=string.normalize().split("").reduce(function(result,ch){var appendChar=locale[ch];return appendChar===void 0&&(appendChar=charMap[ch]),appendChar===void 0&&(appendChar=ch),appendChar===replacement&&(appendChar=" "),result+appendChar.replace(options.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return options.strict&&(slug=slug.replace(/[^A-Za-z0-9\s]/g,"")),trim&&(slug=slug.trim()),slug=slug.replace(/\s+/g,replacement),options.lower&&(slug=slug.toLowerCase()),slug}return replace.extend=function(customMap){Object.assign(charMap,customMap)},replace})}});var require_lib=__commonJS({"node_modules/@enveloppe/obsidian-dataview/lib/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});require("obsidian");var LuxonError=class extends Error{},InvalidDateTimeError=class extends LuxonError{constructor(reason){super(`Invalid DateTime: ${reason.toMessage()}`)}},InvalidIntervalError=class extends LuxonError{constructor(reason){super(`Invalid Interval: ${reason.toMessage()}`)}},InvalidDurationError=class extends LuxonError{constructor(reason){super(`Invalid Duration: ${reason.toMessage()}`)}},ConflictingSpecificationError=class extends LuxonError{},InvalidUnitError=class extends LuxonError{constructor(unit){super(`Invalid unit ${unit}`)}},InvalidArgumentError=class extends LuxonError{},ZoneIsAbstractError=class extends LuxonError{constructor(){super("Zone is an abstract class")}},n="numeric",s="short",l="long",DATE_SHORT={year:n,month:n,day:n},DATE_MED={year:n,month:s,day:n},DATE_MED_WITH_WEEKDAY={year:n,month:s,day:n,weekday:s},DATE_FULL={year:n,month:l,day:n},DATE_HUGE={year:n,month:l,day:n,weekday:l},TIME_SIMPLE={hour:n,minute:n},TIME_WITH_SECONDS={hour:n,minute:n,second:n},TIME_WITH_SHORT_OFFSET={hour:n,minute:n,second:n,timeZoneName:s},TIME_WITH_LONG_OFFSET={hour:n,minute:n,second:n,timeZoneName:l},TIME_24_SIMPLE={hour:n,minute:n,hourCycle:"h23"},TIME_24_WITH_SECONDS={hour:n,minute:n,second:n,hourCycle:"h23"},TIME_24_WITH_SHORT_OFFSET={hour:n,minute:n,second:n,hourCycle:"h23",timeZoneName:s},TIME_24_WITH_LONG_OFFSET={hour:n,minute:n,second:n,hourCycle:"h23",timeZoneName:l},DATETIME_SHORT={year:n,month:n,day:n,hour:n,minute:n},DATETIME_SHORT_WITH_SECONDS={year:n,month:n,day:n,hour:n,minute:n,second:n},DATETIME_MED={year:n,month:s,day:n,hour:n,minute:n},DATETIME_MED_WITH_SECONDS={year:n,month:s,day:n,hour:n,minute:n,second:n},DATETIME_MED_WITH_WEEKDAY={year:n,month:s,day:n,weekday:s,hour:n,minute:n},DATETIME_FULL={year:n,month:l,day:n,hour:n,minute:n,timeZoneName:s},DATETIME_FULL_WITH_SECONDS={year:n,month:l,day:n,hour:n,minute:n,second:n,timeZoneName:s},DATETIME_HUGE={year:n,month:l,day:n,weekday:l,hour:n,minute:n,timeZoneName:l},DATETIME_HUGE_WITH_SECONDS={year:n,month:l,day:n,weekday:l,hour:n,minute:n,second:n,timeZoneName:l},Zone=class{get type(){throw new ZoneIsAbstractError}get name(){throw new ZoneIsAbstractError}get ianaName(){return this.name}get isUniversal(){throw new ZoneIsAbstractError}offsetName(ts,opts){throw new ZoneIsAbstractError}formatOffset(ts,format){throw new ZoneIsAbstractError}offset(ts){throw new ZoneIsAbstractError}equals(otherZone){throw new ZoneIsAbstractError}get isValid(){throw new ZoneIsAbstractError}},singleton$1=null,SystemZone=class _SystemZone extends Zone{static get instance(){return singleton$1===null&&(singleton$1=new _SystemZone),singleton$1}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(ts,{format,locale}){return parseZoneInfo(ts,format,locale)}formatOffset(ts,format){return formatOffset(this.offset(ts),format)}offset(ts){return-new Date(ts).getTimezoneOffset()}equals(otherZone){return otherZone.type==="system"}get isValid(){return!0}},dtfCache={};function makeDTF(zone){return dtfCache[zone]||(dtfCache[zone]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:zone,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),dtfCache[zone]}var typeToPos={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function hackyOffset(dtf,date){let formatted=dtf.format(date).replace(/\u200E/g,""),parsed=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(formatted),[,fMonth,fDay,fYear,fadOrBc,fHour,fMinute,fSecond]=parsed;return[fYear,fMonth,fDay,fadOrBc,fHour,fMinute,fSecond]}function partsOffset(dtf,date){let formatted=dtf.formatToParts(date),filled=[];for(let i=0;i<formatted.length;i++){let{type,value}=formatted[i],pos=typeToPos[type];type==="era"?filled[pos]=value:isUndefined(pos)||(filled[pos]=parseInt(value,10))}return filled}var ianaZoneCache={},IANAZone=class _IANAZone extends Zone{static create(name){return ianaZoneCache[name]||(ianaZoneCache[name]=new _IANAZone(name)),ianaZoneCache[name]}static resetCache(){ianaZoneCache={},dtfCache={}}static isValidSpecifier(s2){return this.isValidZone(s2)}static isValidZone(zone){if(!zone)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:zone}).format(),!0}catch{return!1}}constructor(name){super(),this.zoneName=name,this.valid=_IANAZone.isValidZone(name)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(ts,{format,locale}){return parseZoneInfo(ts,format,locale,this.name)}formatOffset(ts,format){return formatOffset(this.offset(ts),format)}offset(ts){let date=new Date(ts);if(isNaN(date))return NaN;let dtf=makeDTF(this.name),[year,month,day,adOrBc,hour,minute,second]=dtf.formatToParts?partsOffset(dtf,date):hackyOffset(dtf,date);adOrBc==="BC"&&(year=-Math.abs(year)+1);let asUTC=objToLocalTS({year,month,day,hour:hour===24?0:hour,minute,second,millisecond:0}),asTS=+date,over=asTS%1e3;return asTS-=over>=0?over:1e3+over,(asUTC-asTS)/(60*1e3)}equals(otherZone){return otherZone.type==="iana"&&otherZone.name===this.name}get isValid(){return this.valid}},intlLFCache={};function getCachedLF(locString,opts={}){let key=JSON.stringify([locString,opts]),dtf=intlLFCache[key];return dtf||(dtf=new Intl.ListFormat(locString,opts),intlLFCache[key]=dtf),dtf}var intlDTCache={};function getCachedDTF(locString,opts={}){let key=JSON.stringify([locString,opts]),dtf=intlDTCache[key];return dtf||(dtf=new Intl.DateTimeFormat(locString,opts),intlDTCache[key]=dtf),dtf}var intlNumCache={};function getCachedINF(locString,opts={}){let key=JSON.stringify([locString,opts]),inf=intlNumCache[key];return inf||(inf=new Intl.NumberFormat(locString,opts),intlNumCache[key]=inf),inf}var intlRelCache={};function getCachedRTF(locString,opts={}){let{base,...cacheKeyOpts}=opts,key=JSON.stringify([locString,cacheKeyOpts]),inf=intlRelCache[key];return inf||(inf=new Intl.RelativeTimeFormat(locString,opts),intlRelCache[key]=inf),inf}var sysLocaleCache=null;function systemLocale(){return sysLocaleCache||(sysLocaleCache=new Intl.DateTimeFormat().resolvedOptions().locale,sysLocaleCache)}function parseLocaleString(localeStr){let xIndex=localeStr.indexOf("-x-");xIndex!==-1&&(localeStr=localeStr.substring(0,xIndex));let uIndex=localeStr.indexOf("-u-");if(uIndex===-1)return[localeStr];{let options,selectedStr;try{options=getCachedDTF(localeStr).resolvedOptions(),selectedStr=localeStr}catch{let smaller=localeStr.substring(0,uIndex);options=getCachedDTF(smaller).resolvedOptions(),selectedStr=smaller}let{numberingSystem,calendar}=options;return[selectedStr,numberingSystem,calendar]}}function intlConfigString(localeStr,numberingSystem,outputCalendar){return(outputCalendar||numberingSystem)&&(localeStr.includes("-u-")||(localeStr+="-u"),outputCalendar&&(localeStr+=`-ca-${outputCalendar}`),numberingSystem&&(localeStr+=`-nu-${numberingSystem}`)),localeStr}function mapMonths(f){let ms=[];for(let i=1;i<=12;i++){let dt=DateTime.utc(2009,i,1);ms.push(f(dt))}return ms}function mapWeekdays(f){let ms=[];for(let i=1;i<=7;i++){let dt=DateTime.utc(2016,11,13+i);ms.push(f(dt))}return ms}function listStuff(loc,length,englishFn,intlFn){let mode=loc.listingMode();return mode==="error"?null:mode==="en"?englishFn(length):intlFn(length)}function supportsFastNumbers(loc){return loc.numberingSystem&&loc.numberingSystem!=="latn"?!1:loc.numberingSystem==="latn"||!loc.locale||loc.locale.startsWith("en")||new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem==="latn"}var PolyNumberFormatter=class{constructor(intl,forceSimple,opts){this.padTo=opts.padTo||0,this.floor=opts.floor||!1;let{padTo,floor,...otherOpts}=opts;if(!forceSimple||Object.keys(otherOpts).length>0){let intlOpts={useGrouping:!1,...opts};opts.padTo>0&&(intlOpts.minimumIntegerDigits=opts.padTo),this.inf=getCachedINF(intl,intlOpts)}}format(i){if(this.inf){let fixed=this.floor?Math.floor(i):i;return this.inf.format(fixed)}else{let fixed=this.floor?Math.floor(i):roundTo(i,3);return padStart(fixed,this.padTo)}}},PolyDateFormatter=class{constructor(dt,intl,opts){this.opts=opts,this.originalZone=void 0;let z;if(this.opts.timeZone)this.dt=dt;else if(dt.zone.type==="fixed"){let gmtOffset=-1*(dt.offset/60),offsetZ=gmtOffset>=0?`Etc/GMT+${gmtOffset}`:`Etc/GMT${gmtOffset}`;dt.offset!==0&&IANAZone.create(offsetZ).valid?(z=offsetZ,this.dt=dt):(z="UTC",this.dt=dt.offset===0?dt:dt.setZone("UTC").plus({minutes:dt.offset}),this.originalZone=dt.zone)}else dt.zone.type==="system"?this.dt=dt:dt.zone.type==="iana"?(this.dt=dt,z=dt.zone.name):(z="UTC",this.dt=dt.setZone("UTC").plus({minutes:dt.offset}),this.originalZone=dt.zone);let intlOpts={...this.opts};intlOpts.timeZone=intlOpts.timeZone||z,this.dtf=getCachedDTF(intl,intlOpts)}format(){return this.originalZone?this.formatToParts().map(({value})=>value).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let parts=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?parts.map(part=>{if(part.type==="timeZoneName"){let offsetName=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...part,value:offsetName}}else return part}):parts}resolvedOptions(){return this.dtf.resolvedOptions()}},PolyRelFormatter=class{constructor(intl,isEnglish,opts){this.opts={style:"long",...opts},!isEnglish&&hasRelative()&&(this.rtf=getCachedRTF(intl,opts))}format(count,unit){return this.rtf?this.rtf.format(count,unit):formatRelativeTime(unit,count,this.opts.numeric,this.opts.style!=="long")}formatToParts(count,unit){return this.rtf?this.rtf.formatToParts(count,unit):[]}},Locale=class _Locale{static fromOpts(opts){return _Locale.create(opts.locale,opts.numberingSystem,opts.outputCalendar,opts.defaultToEN)}static create(locale,numberingSystem,outputCalendar,defaultToEN=!1){let specifiedLocale=locale||Settings.defaultLocale,localeR=specifiedLocale||(defaultToEN?"en-US":systemLocale()),numberingSystemR=numberingSystem||Settings.defaultNumberingSystem,outputCalendarR=outputCalendar||Settings.defaultOutputCalendar;return new _Locale(localeR,numberingSystemR,outputCalendarR,specifiedLocale)}static resetCache(){sysLocaleCache=null,intlDTCache={},intlNumCache={},intlRelCache={}}static fromObject({locale,numberingSystem,outputCalendar}={}){return _Locale.create(locale,numberingSystem,outputCalendar)}constructor(locale,numbering,outputCalendar,specifiedLocale){let[parsedLocale,parsedNumberingSystem,parsedOutputCalendar]=parseLocaleString(locale);this.locale=parsedLocale,this.numberingSystem=numbering||parsedNumberingSystem||null,this.outputCalendar=outputCalendar||parsedOutputCalendar||null,this.intl=intlConfigString(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=specifiedLocale,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=supportsFastNumbers(this)),this.fastNumbersCached}listingMode(){let isActuallyEn=this.isEnglish(),hasNoWeirdness=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return isActuallyEn&&hasNoWeirdness?"en":"intl"}clone(alts){return!alts||Object.getOwnPropertyNames(alts).length===0?this:_Locale.create(alts.locale||this.specifiedLocale,alts.numberingSystem||this.numberingSystem,alts.outputCalendar||this.outputCalendar,alts.defaultToEN||!1)}redefaultToEN(alts={}){return this.clone({...alts,defaultToEN:!0})}redefaultToSystem(alts={}){return this.clone({...alts,defaultToEN:!1})}months(length,format=!1){return listStuff(this,length,months,()=>{let intl=format?{month:length,day:"numeric"}:{month:length},formatStr=format?"format":"standalone";return this.monthsCache[formatStr][length]||(this.monthsCache[formatStr][length]=mapMonths(dt=>this.extract(dt,intl,"month"))),this.monthsCache[formatStr][length]})}weekdays(length,format=!1){return listStuff(this,length,weekdays,()=>{let intl=format?{weekday:length,year:"numeric",month:"long",day:"numeric"}:{weekday:length},formatStr=format?"format":"standalone";return this.weekdaysCache[formatStr][length]||(this.weekdaysCache[formatStr][length]=mapWeekdays(dt=>this.extract(dt,intl,"weekday"))),this.weekdaysCache[formatStr][length]})}meridiems(){return listStuff(this,void 0,()=>meridiems,()=>{if(!this.meridiemCache){let intl={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[DateTime.utc(2016,11,13,9),DateTime.utc(2016,11,13,19)].map(dt=>this.extract(dt,intl,"dayperiod"))}return this.meridiemCache})}eras(length){return listStuff(this,length,eras,()=>{let intl={era:length};return this.eraCache[length]||(this.eraCache[length]=[DateTime.utc(-40,1,1),DateTime.utc(2017,1,1)].map(dt=>this.extract(dt,intl,"era"))),this.eraCache[length]})}extract(dt,intlOpts,field){let df=this.dtFormatter(dt,intlOpts),results=df.formatToParts(),matching=results.find(m=>m.type.toLowerCase()===field);return matching?matching.value:null}numberFormatter(opts={}){return new PolyNumberFormatter(this.intl,opts.forceSimple||this.fastNumbers,opts)}dtFormatter(dt,intlOpts={}){return new PolyDateFormatter(dt,this.intl,intlOpts)}relFormatter(opts={}){return new PolyRelFormatter(this.intl,this.isEnglish(),opts)}listFormatter(opts={}){return getCachedLF(this.intl,opts)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}equals(other){return this.locale===other.locale&&this.numberingSystem===other.numberingSystem&&this.outputCalendar===other.outputCalendar}},singleton=null,FixedOffsetZone=class _FixedOffsetZone extends Zone{static get utcInstance(){return singleton===null&&(singleton=new _FixedOffsetZone(0)),singleton}static instance(offset2){return offset2===0?_FixedOffsetZone.utcInstance:new _FixedOffsetZone(offset2)}static parseSpecifier(s2){if(s2){let r=s2.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(r)return new _FixedOffsetZone(signedOffset(r[1],r[2]))}return null}constructor(offset2){super(),this.fixed=offset2}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${formatOffset(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${formatOffset(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(ts,format){return formatOffset(this.fixed,format)}get isUniversal(){return!0}offset(){return this.fixed}equals(otherZone){return otherZone.type==="fixed"&&otherZone.fixed===this.fixed}get isValid(){return!0}},InvalidZone=class extends Zone{constructor(zoneName){super(),this.zoneName=zoneName}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function normalizeZone(input,defaultZone2){if(isUndefined(input)||input===null)return defaultZone2;if(input instanceof Zone)return input;if(isString2(input)){let lowered=input.toLowerCase();return lowered==="default"?defaultZone2:lowered==="local"||lowered==="system"?SystemZone.instance:lowered==="utc"||lowered==="gmt"?FixedOffsetZone.utcInstance:FixedOffsetZone.parseSpecifier(lowered)||IANAZone.create(input)}else return isNumber(input)?FixedOffsetZone.instance(input):typeof input=="object"&&"offset"in input&&typeof input.offset=="function"?input:new InvalidZone(input)}var now=()=>Date.now(),defaultZone="system",defaultLocale=null,defaultNumberingSystem=null,defaultOutputCalendar=null,twoDigitCutoffYear=60,throwOnInvalid,Settings=class{static get now(){return now}static set now(n2){now=n2}static set defaultZone(zone){defaultZone=zone}static get defaultZone(){return normalizeZone(defaultZone,SystemZone.instance)}static get defaultLocale(){return defaultLocale}static set defaultLocale(locale){defaultLocale=locale}static get defaultNumberingSystem(){return defaultNumberingSystem}static set defaultNumberingSystem(numberingSystem){defaultNumberingSystem=numberingSystem}static get defaultOutputCalendar(){return defaultOutputCalendar}static set defaultOutputCalendar(outputCalendar){defaultOutputCalendar=outputCalendar}static get twoDigitCutoffYear(){return twoDigitCutoffYear}static set twoDigitCutoffYear(cutoffYear){twoDigitCutoffYear=cutoffYear%100}static get throwOnInvalid(){return throwOnInvalid}static set throwOnInvalid(t2){throwOnInvalid=t2}static resetCaches(){Locale.resetCache(),IANAZone.resetCache()}};function isUndefined(o){return typeof o>"u"}function isNumber(o){return typeof o=="number"}function isInteger(o){return typeof o=="number"&&o%1===0}function isString2(o){return typeof o=="string"}function isDate(o){return Object.prototype.toString.call(o)==="[object Date]"}function hasRelative(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function maybeArray(thing){return Array.isArray(thing)?thing:[thing]}function bestBy(arr,by,compare){if(arr.length!==0)return arr.reduce((best,next)=>{let pair=[by(next),next];return best&&compare(best[0],pair[0])===best[0]?best:pair},null)[1]}function pick(obj,keys){return keys.reduce((a,k)=>(a[k]=obj[k],a),{})}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}function integerBetween(thing,bottom,top){return isInteger(thing)&&thing>=bottom&&thing<=top}function floorMod(x,n2){return x-n2*Math.floor(x/n2)}function padStart(input,n2=2){let isNeg=input<0,padded;return isNeg?padded="-"+(""+-input).padStart(n2,"0"):padded=(""+input).padStart(n2,"0"),padded}function parseInteger(string){if(!(isUndefined(string)||string===null||string===""))return parseInt(string,10)}function parseFloating(string){if(!(isUndefined(string)||string===null||string===""))return parseFloat(string)}function parseMillis(fraction){if(!(isUndefined(fraction)||fraction===null||fraction==="")){let f=parseFloat("0."+fraction)*1e3;return Math.floor(f)}}function roundTo(number,digits,towardZero=!1){let factor=10**digits;return(towardZero?Math.trunc:Math.round)(number*factor)/factor}function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function daysInYear(year){return isLeapYear(year)?366:365}function daysInMonth(year,month){let modMonth=floorMod(month-1,12)+1,modYear=year+(month-modMonth)/12;return modMonth===2?isLeapYear(modYear)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][modMonth-1]}function objToLocalTS(obj){let d=Date.UTC(obj.year,obj.month-1,obj.day,obj.hour,obj.minute,obj.second,obj.millisecond);return obj.year<100&&obj.year>=0&&(d=new Date(d),d.setUTCFullYear(obj.year,obj.month-1,obj.day)),+d}function weeksInWeekYear(weekYear){let p1=(weekYear+Math.floor(weekYear/4)-Math.floor(weekYear/100)+Math.floor(weekYear/400))%7,last=weekYear-1,p2=(last+Math.floor(last/4)-Math.floor(last/100)+Math.floor(last/400))%7;return p1===4||p2===3?53:52}function untruncateYear(year){return year>99?year:year>Settings.twoDigitCutoffYear?1900+year:2e3+year}function parseZoneInfo(ts,offsetFormat,locale,timeZone=null){let date=new Date(ts),intlOpts={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};timeZone&&(intlOpts.timeZone=timeZone);let modified={timeZoneName:offsetFormat,...intlOpts},parsed=new Intl.DateTimeFormat(locale,modified).formatToParts(date).find(m=>m.type.toLowerCase()==="timezonename");return parsed?parsed.value:null}function signedOffset(offHourStr,offMinuteStr){let offHour=parseInt(offHourStr,10);Number.isNaN(offHour)&&(offHour=0);let offMin=parseInt(offMinuteStr,10)||0,offMinSigned=offHour<0||Object.is(offHour,-0)?-offMin:offMin;return offHour*60+offMinSigned}function asNumber(value){let numericValue=Number(value);if(typeof value=="boolean"||value===""||Number.isNaN(numericValue))throw new InvalidArgumentError(`Invalid unit value ${value}`);return numericValue}function normalizeObject(obj,normalizer){let normalized={};for(let u in obj)if(hasOwnProperty(obj,u)){let v=obj[u];if(v==null)continue;normalized[normalizer(u)]=asNumber(v)}return normalized}function formatOffset(offset2,format){let hours=Math.trunc(Math.abs(offset2/60)),minutes=Math.trunc(Math.abs(offset2%60)),sign=offset2>=0?"+":"-";switch(format){case"short":return`${sign}${padStart(hours,2)}:${padStart(minutes,2)}`;case"narrow":return`${sign}${hours}${minutes>0?`:${minutes}`:""}`;case"techie":return`${sign}${padStart(hours,2)}${padStart(minutes,2)}`;default:throw new RangeError(`Value format ${format} is out of range for property format`)}}function timeObject(obj){return pick(obj,["hour","minute","second","millisecond"])}var monthsLong=["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],monthsNarrow=["J","F","M","A","M","J","J","A","S","O","N","D"];function months(length){switch(length){case"narrow":return[...monthsNarrow];case"short":return[...monthsShort];case"long":return[...monthsLong];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var weekdaysLong=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],weekdaysShort=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],weekdaysNarrow=["M","T","W","T","F","S","S"];function weekdays(length){switch(length){case"narrow":return[...weekdaysNarrow];case"short":return[...weekdaysShort];case"long":return[...weekdaysLong];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var meridiems=["AM","PM"],erasLong=["Before Christ","Anno Domini"],erasShort=["BC","AD"],erasNarrow=["B","A"];function eras(length){switch(length){case"narrow":return[...erasNarrow];case"short":return[...erasShort];case"long":return[...erasLong];default:return null}}function meridiemForDateTime(dt){return meridiems[dt.hour<12?0:1]}function weekdayForDateTime(dt,length){return weekdays(length)[dt.weekday-1]}function monthForDateTime(dt,length){return months(length)[dt.month-1]}function eraForDateTime(dt,length){return eras(length)[dt.year<0?0:1]}function formatRelativeTime(unit,count,numeric="always",narrow=!1){let units={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},lastable=["hours","minutes","seconds"].indexOf(unit)===-1;if(numeric==="auto"&&lastable){let isDay=unit==="days";switch(count){case 1:return isDay?"tomorrow":`next ${units[unit][0]}`;case-1:return isDay?"yesterday":`last ${units[unit][0]}`;case 0:return isDay?"today":`this ${units[unit][0]}`}}let isInPast=Object.is(count,-0)||count<0,fmtValue=Math.abs(count),singular=fmtValue===1,lilUnits=units[unit],fmtUnit=narrow?singular?lilUnits[1]:lilUnits[2]||lilUnits[1]:singular?units[unit][0]:unit;return isInPast?`${fmtValue} ${fmtUnit} ago`:`in ${fmtValue} ${fmtUnit}`}function stringifyTokens(splits,tokenToString){let s2="";for(let token of splits)token.literal?s2+=token.val:s2+=tokenToString(token.val);return s2}var macroTokenToFormatOpts={D:DATE_SHORT,DD:DATE_MED,DDD:DATE_FULL,DDDD:DATE_HUGE,t:TIME_SIMPLE,tt:TIME_WITH_SECONDS,ttt:TIME_WITH_SHORT_OFFSET,tttt:TIME_WITH_LONG_OFFSET,T:TIME_24_SIMPLE,TT:TIME_24_WITH_SECONDS,TTT:TIME_24_WITH_SHORT_OFFSET,TTTT:TIME_24_WITH_LONG_OFFSET,f:DATETIME_SHORT,ff:DATETIME_MED,fff:DATETIME_FULL,ffff:DATETIME_HUGE,F:DATETIME_SHORT_WITH_SECONDS,FF:DATETIME_MED_WITH_SECONDS,FFF:DATETIME_FULL_WITH_SECONDS,FFFF:DATETIME_HUGE_WITH_SECONDS},Formatter2=class _Formatter{static create(locale,opts={}){return new _Formatter(locale,opts)}static parseFormat(fmt){let current=null,currentFull="",bracketed=!1,splits=[];for(let i=0;i<fmt.length;i++){let c=fmt.charAt(i);c==="'"?(currentFull.length>0&&splits.push({literal:bracketed||/^\s+$/.test(currentFull),val:currentFull}),current=null,currentFull="",bracketed=!bracketed):bracketed||c===current?currentFull+=c:(currentFull.length>0&&splits.push({literal:/^\s+$/.test(currentFull),val:currentFull}),currentFull=c,current=c)}return currentFull.length>0&&splits.push({literal:bracketed||/^\s+$/.test(currentFull),val:currentFull}),splits}static macroTokenToFormatOpts(token){return macroTokenToFormatOpts[token]}constructor(locale,formatOpts){this.opts=formatOpts,this.loc=locale,this.systemLoc=null}formatWithSystemDefault(dt,opts){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(dt,{...this.opts,...opts}).format()}dtFormatter(dt,opts={}){return this.loc.dtFormatter(dt,{...this.opts,...opts})}formatDateTime(dt,opts){return this.dtFormatter(dt,opts).format()}formatDateTimeParts(dt,opts){return this.dtFormatter(dt,opts).formatToParts()}formatInterval(interval,opts){return this.dtFormatter(interval.start,opts).dtf.formatRange(interval.start.toJSDate(),interval.end.toJSDate())}resolvedOptions(dt,opts){return this.dtFormatter(dt,opts).resolvedOptions()}num(n2,p=0){if(this.opts.forceSimple)return padStart(n2,p);let opts={...this.opts};return p>0&&(opts.padTo=p),this.loc.numberFormatter(opts).format(n2)}formatDateTimeFromString(dt,fmt){let knownEnglish=this.loc.listingMode()==="en",useDateTimeFormatter=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",string=(opts,extract)=>this.loc.extract(dt,opts,extract),formatOffset2=opts=>dt.isOffsetFixed&&dt.offset===0&&opts.allowZ?"Z":dt.isValid?dt.zone.formatOffset(dt.ts,opts.format):"",meridiem=()=>knownEnglish?meridiemForDateTime(dt):string({hour:"numeric",hourCycle:"h12"},"dayperiod"),month=(length,standalone)=>knownEnglish?monthForDateTime(dt,length):string(standalone?{month:length}:{month:length,day:"numeric"},"month"),weekday=(length,standalone)=>knownEnglish?weekdayForDateTime(dt,length):string(standalone?{weekday:length}:{weekday:length,month:"long",day:"numeric"},"weekday"),maybeMacro=token=>{let formatOpts=_Formatter.macroTokenToFormatOpts(token);return formatOpts?this.formatWithSystemDefault(dt,formatOpts):token},era=length=>knownEnglish?eraForDateTime(dt,length):string({era:length},"era"),tokenToString=token=>{switch(token){case"S":return this.num(dt.millisecond);case"u":case"SSS":return this.num(dt.millisecond,3);case"s":return this.num(dt.second);case"ss":return this.num(dt.second,2);case"uu":return this.num(Math.floor(dt.millisecond/10),2);case"uuu":return this.num(Math.floor(dt.millisecond/100));case"m":return this.num(dt.minute);case"mm":return this.num(dt.minute,2);case"h":return this.num(dt.hour%12===0?12:dt.hour%12);case"hh":return this.num(dt.hour%12===0?12:dt.hour%12,2);case"H":return this.num(dt.hour);case"HH":return this.num(dt.hour,2);case"Z":return formatOffset2({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return formatOffset2({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return formatOffset2({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return dt.zone.offsetName(dt.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return dt.zone.offsetName(dt.ts,{format:"long",locale:this.loc.locale});case"z":return dt.zoneName;case"a":return meridiem();case"d":return useDateTimeFormatter?string({day:"numeric"},"day"):this.num(dt.day);case"dd":return useDateTimeFormatter?string({day:"2-digit"},"day"):this.num(dt.day,2);case"c":return this.num(dt.weekday);case"ccc":return weekday("short",!0);case"cccc":return weekday("long",!0);case"ccccc":return weekday("narrow",!0);case"E":return this.num(dt.weekday);case"EEE":return weekday("short",!1);case"EEEE":return weekday("long",!1);case"EEEEE":return weekday("narrow",!1);case"L":return useDateTimeFormatter?string({month:"numeric",day:"numeric"},"month"):this.num(dt.month);case"LL":return useDateTimeFormatter?string({month:"2-digit",day:"numeric"},"month"):this.num(dt.month,2);case"LLL":return month("short",!0);case"LLLL":return month("long",!0);case"LLLLL":return month("narrow",!0);case"M":return useDateTimeFormatter?string({month:"numeric"},"month"):this.num(dt.month);case"MM":return useDateTimeFormatter?string({month:"2-digit"},"month"):this.num(dt.month,2);case"MMM":return month("short",!1);case"MMMM":return month("long",!1);case"MMMMM":return month("narrow",!1);case"y":return useDateTimeFormatter?string({year:"numeric"},"year"):this.num(dt.year);case"yy":return useDateTimeFormatter?string({year:"2-digit"},"year"):this.num(dt.year.toString().slice(-2),2);case"yyyy":return useDateTimeFormatter?string({year:"numeric"},"year"):this.num(dt.year,4);case"yyyyyy":return useDateTimeFormatter?string({year:"numeric"},"year"):this.num(dt.year,6);case"G":return era("short");case"GG":return era("long");case"GGGGG":return era("narrow");case"kk":return this.num(dt.weekYear.toString().slice(-2),2);case"kkkk":return this.num(dt.weekYear,4);case"W":return this.num(dt.weekNumber);case"WW":return this.num(dt.weekNumber,2);case"o":return this.num(dt.ordinal);case"ooo":return this.num(dt.ordinal,3);case"q":return this.num(dt.quarter);case"qq":return this.num(dt.quarter,2);case"X":return this.num(Math.floor(dt.ts/1e3));case"x":return this.num(dt.ts);default:return maybeMacro(token)}};return stringifyTokens(_Formatter.parseFormat(fmt),tokenToString)}formatDurationFromString(dur,fmt){let tokenToField=token=>{switch(token[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},tokenToString=lildur=>token=>{let mapped=tokenToField(token);return mapped?this.num(lildur.get(mapped),token.length):token},tokens=_Formatter.parseFormat(fmt),realTokens=tokens.reduce((found,{literal,val})=>literal?found:found.concat(val),[]),collapsed=dur.shiftTo(...realTokens.map(tokenToField).filter(t2=>t2));return stringifyTokens(tokens,tokenToString(collapsed))}},Invalid=class{constructor(reason,explanation){this.reason=reason,this.explanation=explanation}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},ianaRegex=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function combineRegexes(...regexes){let full=regexes.reduce((f,r)=>f+r.source,"");return RegExp(`^${full}$`)}function combineExtractors(...extractors){return m=>extractors.reduce(([mergedVals,mergedZone,cursor],ex)=>{let[val,zone,next]=ex(m,cursor);return[{...mergedVals,...val},zone||mergedZone,next]},[{},null,1]).slice(0,2)}function parse2(s2,...patterns){if(s2==null)return[null,null];for(let[regex,extractor]of patterns){let m=regex.exec(s2);if(m)return extractor(m)}return[null,null]}function simpleParse(...keys){return(match2,cursor)=>{let ret={},i;for(i=0;i<keys.length;i++)ret[keys[i]]=parseInteger(match2[cursor+i]);return[ret,null,cursor+i]}}var offsetRegex=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,isoExtendedZone=`(?:${offsetRegex.source}?(?:\\[(${ianaRegex.source})\\])?)?`,isoTimeBaseRegex=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,isoTimeRegex=RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`),isoTimeExtensionRegex=RegExp(`(?:T${isoTimeRegex.source})?`),isoYmdRegex=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,isoWeekRegex=/(\d{4})-?W(\d\d)(?:-?(\d))?/,isoOrdinalRegex=/(\d{4})-?(\d{3})/,extractISOWeekData=simpleParse("weekYear","weekNumber","weekDay"),extractISOOrdinalData=simpleParse("year","ordinal"),sqlYmdRegex=/(\d{4})-(\d\d)-(\d\d)/,sqlTimeRegex=RegExp(`${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`),sqlTimeExtensionRegex=RegExp(`(?: ${sqlTimeRegex.source})?`);function int(match2,pos,fallback){let m=match2[pos];return isUndefined(m)?fallback:parseInteger(m)}function extractISOYmd(match2,cursor){return[{year:int(match2,cursor),month:int(match2,cursor+1,1),day:int(match2,cursor+2,1)},null,cursor+3]}function extractISOTime(match2,cursor){return[{hours:int(match2,cursor,0),minutes:int(match2,cursor+1,0),seconds:int(match2,cursor+2,0),milliseconds:parseMillis(match2[cursor+3])},null,cursor+4]}function extractISOOffset(match2,cursor){let local=!match2[cursor]&&!match2[cursor+1],fullOffset=signedOffset(match2[cursor+1],match2[cursor+2]),zone=local?null:FixedOffsetZone.instance(fullOffset);return[{},zone,cursor+3]}function extractIANAZone(match2,cursor){let zone=match2[cursor]?IANAZone.create(match2[cursor]):null;return[{},zone,cursor+1]}var isoTimeOnly=RegExp(`^T?${isoTimeBaseRegex.source}$`),isoDuration=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function extractISODuration(match2){let[s2,yearStr,monthStr,weekStr,dayStr,hourStr,minuteStr,secondStr,millisecondsStr]=match2,hasNegativePrefix=s2[0]==="-",negativeSeconds=secondStr&&secondStr[0]==="-",maybeNegate=(num,force=!1)=>num!==void 0&&(force||num&&hasNegativePrefix)?-num:num;return[{years:maybeNegate(parseFloating(yearStr)),months:maybeNegate(parseFloating(monthStr)),weeks:maybeNegate(parseFloating(weekStr)),days:maybeNegate(parseFloating(dayStr)),hours:maybeNegate(parseFloating(hourStr)),minutes:maybeNegate(parseFloating(minuteStr)),seconds:maybeNegate(parseFloating(secondStr),secondStr==="-0"),milliseconds:maybeNegate(parseMillis(millisecondsStr),negativeSeconds)}]}var obsOffsets={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr){let result={year:yearStr.length===2?untruncateYear(parseInteger(yearStr)):parseInteger(yearStr),month:monthsShort.indexOf(monthStr)+1,day:parseInteger(dayStr),hour:parseInteger(hourStr),minute:parseInteger(minuteStr)};return secondStr&&(result.second=parseInteger(secondStr)),weekdayStr&&(result.weekday=weekdayStr.length>3?weekdaysLong.indexOf(weekdayStr)+1:weekdaysShort.indexOf(weekdayStr)+1),result}var rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function extractRFC2822(match2){let[,weekdayStr,dayStr,monthStr,yearStr,hourStr,minuteStr,secondStr,obsOffset,milOffset,offHourStr,offMinuteStr]=match2,result=fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr),offset2;return obsOffset?offset2=obsOffsets[obsOffset]:milOffset?offset2=0:offset2=signedOffset(offHourStr,offMinuteStr),[result,new FixedOffsetZone(offset2)]}function preprocessRFC2822(s2){return s2.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var rfc1123=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,rfc850=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,ascii=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function extractRFC1123Or850(match2){let[,weekdayStr,dayStr,monthStr,yearStr,hourStr,minuteStr,secondStr]=match2;return[fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr),FixedOffsetZone.utcInstance]}function extractASCII(match2){let[,weekdayStr,monthStr,dayStr,hourStr,minuteStr,secondStr,yearStr]=match2;return[fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr),FixedOffsetZone.utcInstance]}var isoYmdWithTimeExtensionRegex=combineRegexes(isoYmdRegex,isoTimeExtensionRegex),isoWeekWithTimeExtensionRegex=combineRegexes(isoWeekRegex,isoTimeExtensionRegex),isoOrdinalWithTimeExtensionRegex=combineRegexes(isoOrdinalRegex,isoTimeExtensionRegex),isoTimeCombinedRegex=combineRegexes(isoTimeRegex),extractISOYmdTimeAndOffset=combineExtractors(extractISOYmd,extractISOTime,extractISOOffset,extractIANAZone),extractISOWeekTimeAndOffset=combineExtractors(extractISOWeekData,extractISOTime,extractISOOffset,extractIANAZone),extractISOOrdinalDateAndTime=combineExtractors(extractISOOrdinalData,extractISOTime,extractISOOffset,extractIANAZone),extractISOTimeAndOffset=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);function parseISODate(s2){return parse2(s2,[isoYmdWithTimeExtensionRegex,extractISOYmdTimeAndOffset],[isoWeekWithTimeExtensionRegex,extractISOWeekTimeAndOffset],[isoOrdinalWithTimeExtensionRegex,extractISOOrdinalDateAndTime],[isoTimeCombinedRegex,extractISOTimeAndOffset])}function parseRFC2822Date(s2){return parse2(preprocessRFC2822(s2),[rfc2822,extractRFC2822])}function parseHTTPDate(s2){return parse2(s2,[rfc1123,extractRFC1123Or850],[rfc850,extractRFC1123Or850],[ascii,extractASCII])}function parseISODuration(s2){return parse2(s2,[isoDuration,extractISODuration])}var extractISOTimeOnly=combineExtractors(extractISOTime);function parseISOTimeOnly(s2){return parse2(s2,[isoTimeOnly,extractISOTimeOnly])}var sqlYmdWithTimeExtensionRegex=combineRegexes(sqlYmdRegex,sqlTimeExtensionRegex),sqlTimeCombinedRegex=combineRegexes(sqlTimeRegex),extractISOTimeOffsetAndIANAZone=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);function parseSQL(s2){return parse2(s2,[sqlYmdWithTimeExtensionRegex,extractISOYmdTimeAndOffset],[sqlTimeCombinedRegex,extractISOTimeOffsetAndIANAZone])}var INVALID$2="Invalid Duration",lowOrderMatrix={weeks:{days:7,hours:168,minutes:10080,seconds:10080*60,milliseconds:10080*60*1e3},days:{hours:24,minutes:1440,seconds:1440*60,milliseconds:1440*60*1e3},hours:{minutes:60,seconds:3600,milliseconds:3600*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},casualMatrix={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:2184*60,seconds:2184*60*60,milliseconds:2184*60*60*1e3},months:{weeks:4,days:30,hours:720,minutes:720*60,seconds:720*60*60,milliseconds:720*60*60*1e3},...lowOrderMatrix},daysInYearAccurate=146097/400,daysInMonthAccurate=146097/4800,accurateMatrix={years:{quarters:4,months:12,weeks:daysInYearAccurate/7,days:daysInYearAccurate,hours:daysInYearAccurate*24,minutes:daysInYearAccurate*24*60,seconds:daysInYearAccurate*24*60*60,milliseconds:daysInYearAccurate*24*60*60*1e3},quarters:{months:3,weeks:daysInYearAccurate/28,days:daysInYearAccurate/4,hours:daysInYearAccurate*24/4,minutes:daysInYearAccurate*24*60/4,seconds:daysInYearAccurate*24*60*60/4,milliseconds:daysInYearAccurate*24*60*60*1e3/4},months:{weeks:daysInMonthAccurate/7,days:daysInMonthAccurate,hours:daysInMonthAccurate*24,minutes:daysInMonthAccurate*24*60,seconds:daysInMonthAccurate*24*60*60,milliseconds:daysInMonthAccurate*24*60*60*1e3},...lowOrderMatrix},orderedUnits$1=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],reverseUnits=orderedUnits$1.slice(0).reverse();function clone$1(dur,alts,clear=!1){let conf={values:clear?alts.values:{...dur.values,...alts.values||{}},loc:dur.loc.clone(alts.loc),conversionAccuracy:alts.conversionAccuracy||dur.conversionAccuracy,matrix:alts.matrix||dur.matrix};return new Duration(conf)}function durationToMillis(matrix,vals){let sum=vals.milliseconds??0;for(let unit of reverseUnits.slice(1))vals[unit]&&(sum+=vals[unit]*matrix[unit].milliseconds);return sum}function normalizeValues(matrix,vals){let factor=durationToMillis(matrix,vals)<0?-1:1;orderedUnits$1.reduceRight((previous,current)=>{if(isUndefined(vals[current]))return previous;if(previous){let previousVal=vals[previous]*factor,conv=matrix[current][previous],rollUp=Math.floor(previousVal/conv);vals[current]+=rollUp*factor,vals[previous]-=rollUp*conv*factor}return current},null),orderedUnits$1.reduce((previous,current)=>{if(isUndefined(vals[current]))return previous;if(previous){let fraction=vals[previous]%1;vals[previous]-=fraction,vals[current]+=fraction*matrix[previous][current]}return current},null)}function removeZeroes(vals){let newVals={};for(let[key,value]of Object.entries(vals))value!==0&&(newVals[key]=value);return newVals}var Duration=class _Duration{constructor(config){let accurate=config.conversionAccuracy==="longterm"||!1,matrix=accurate?accurateMatrix:casualMatrix;config.matrix&&(matrix=config.matrix),this.values=config.values,this.loc=config.loc||Locale.create(),this.conversionAccuracy=accurate?"longterm":"casual",this.invalid=config.invalid||null,this.matrix=matrix,this.isLuxonDuration=!0}static fromMillis(count,opts){return _Duration.fromObject({milliseconds:count},opts)}static fromObject(obj,opts={}){if(obj==null||typeof obj!="object")throw new InvalidArgumentError(`Duration.fromObject: argument expected to be an object, got ${obj===null?"null":typeof obj}`);return new _Duration({values:normalizeObject(obj,_Duration.normalizeUnit),loc:Locale.fromObject(opts),conversionAccuracy:opts.conversionAccuracy,matrix:opts.matrix})}static fromDurationLike(durationLike){if(isNumber(durationLike))return _Duration.fromMillis(durationLike);if(_Duration.isDuration(durationLike))return durationLike;if(typeof durationLike=="object")return _Duration.fromObject(durationLike);throw new InvalidArgumentError(`Unknown duration argument ${durationLike} of type ${typeof durationLike}`)}static fromISO(text,opts){let[parsed]=parseISODuration(text);return parsed?_Duration.fromObject(parsed,opts):_Duration.invalid("unparsable",`the input "${text}" can't be parsed as ISO 8601`)}static fromISOTime(text,opts){let[parsed]=parseISOTimeOnly(text);return parsed?_Duration.fromObject(parsed,opts):_Duration.invalid("unparsable",`the input "${text}" can't be parsed as ISO 8601`)}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError("need to specify a reason the Duration is invalid");let invalid=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidDurationError(invalid);return new _Duration({invalid})}static normalizeUnit(unit){let normalized={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[unit&&unit.toLowerCase()];if(!normalized)throw new InvalidUnitError(unit);return normalized}static isDuration(o){return o&&o.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(fmt,opts={}){let fmtOpts={...opts,floor:opts.round!==!1&&opts.floor!==!1};return this.isValid?Formatter2.create(this.loc,fmtOpts).formatDurationFromString(this,fmt):INVALID$2}toHuman(opts={}){if(!this.isValid)return INVALID$2;let l2=orderedUnits$1.map(unit=>{let val=this.values[unit];return isUndefined(val)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...opts,unit:unit.slice(0,-1)}).format(val)}).filter(n2=>n2);return this.loc.listFormatter({type:"conjunction",style:opts.listStyle||"narrow",...opts}).format(l2)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let s2="P";return this.years!==0&&(s2+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(s2+=this.months+this.quarters*3+"M"),this.weeks!==0&&(s2+=this.weeks+"W"),this.days!==0&&(s2+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(s2+="T"),this.hours!==0&&(s2+=this.hours+"H"),this.minutes!==0&&(s2+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(s2+=roundTo(this.seconds+this.milliseconds/1e3,3)+"S"),s2==="P"&&(s2+="T0S"),s2}toISOTime(opts={}){if(!this.isValid)return null;let millis=this.toMillis();return millis<0||millis>=864e5?null:(opts={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...opts,includeOffset:!1},DateTime.fromMillis(millis,{zone:"UTC"}).toISOTime(opts))}toJSON(){return this.toISO()}toString(){return this.toISO()}toMillis(){return this.isValid?durationToMillis(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(duration){if(!this.isValid)return this;let dur=_Duration.fromDurationLike(duration),result={};for(let k of orderedUnits$1)(hasOwnProperty(dur.values,k)||hasOwnProperty(this.values,k))&&(result[k]=dur.get(k)+this.get(k));return clone$1(this,{values:result},!0)}minus(duration){if(!this.isValid)return this;let dur=_Duration.fromDurationLike(duration);return this.plus(dur.negate())}mapUnits(fn){if(!this.isValid)return this;let result={};for(let k of Object.keys(this.values))result[k]=asNumber(fn(this.values[k],k));return clone$1(this,{values:result},!0)}get(unit){return this[_Duration.normalizeUnit(unit)]}set(values){if(!this.isValid)return this;let mixed={...this.values,...normalizeObject(values,_Duration.normalizeUnit)};return clone$1(this,{values:mixed})}reconfigure({locale,numberingSystem,conversionAccuracy,matrix}={}){let opts={loc:this.loc.clone({locale,numberingSystem}),matrix,conversionAccuracy};return clone$1(this,opts)}as(unit){return this.isValid?this.shiftTo(unit).get(unit):NaN}normalize(){if(!this.isValid)return this;let vals=this.toObject();return normalizeValues(this.matrix,vals),clone$1(this,{values:vals},!0)}rescale(){if(!this.isValid)return this;let vals=removeZeroes(this.normalize().shiftToAll().toObject());return clone$1(this,{values:vals},!0)}shiftTo(...units){if(!this.isValid)return this;if(units.length===0)return this;units=units.map(u=>_Duration.normalizeUnit(u));let built={},accumulated={},vals=this.toObject(),lastUnit;for(let k of orderedUnits$1)if(units.indexOf(k)>=0){lastUnit=k;let own=0;for(let ak in accumulated)own+=this.matrix[ak][k]*accumulated[ak],accumulated[ak]=0;isNumber(vals[k])&&(own+=vals[k]);let i=Math.trunc(own);built[k]=i,accumulated[k]=(own*1e3-i*1e3)/1e3}else isNumber(vals[k])&&(accumulated[k]=vals[k]);for(let key in accumulated)accumulated[key]!==0&&(built[lastUnit]+=key===lastUnit?accumulated[key]:accumulated[key]/this.matrix[lastUnit][key]);return normalizeValues(this.matrix,built),clone$1(this,{values:built},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let negated={};for(let k of Object.keys(this.values))negated[k]=this.values[k]===0?0:-this.values[k];return clone$1(this,{values:negated},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(other){if(!this.isValid||!other.isValid||!this.loc.equals(other.loc))return!1;function eq(v1,v2){return v1===void 0||v1===0?v2===void 0||v2===0:v1===v2}for(let u of orderedUnits$1)if(!eq(this.values[u],other.values[u]))return!1;return!0}},INVALID$1="Invalid Interval";function validateStartEnd(start,end){return!start||!start.isValid?Interval.invalid("missing or invalid start"):!end||!end.isValid?Interval.invalid("missing or invalid end"):end<start?Interval.invalid("end before start",`The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`):null}var Interval=class _Interval{constructor(config){this.s=config.start,this.e=config.end,this.invalid=config.invalid||null,this.isLuxonInterval=!0}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError("need to specify a reason the Interval is invalid");let invalid=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidIntervalError(invalid);return new _Interval({invalid})}static fromDateTimes(start,end){let builtStart=friendlyDateTime(start),builtEnd=friendlyDateTime(end),validateError=validateStartEnd(builtStart,builtEnd);return validateError??new _Interval({start:builtStart,end:builtEnd})}static after(start,duration){let dur=Duration.fromDurationLike(duration),dt=friendlyDateTime(start);return _Interval.fromDateTimes(dt,dt.plus(dur))}static before(end,duration){let dur=Duration.fromDurationLike(duration),dt=friendlyDateTime(end);return _Interval.fromDateTimes(dt.minus(dur),dt)}static fromISO(text,opts){let[s2,e]=(text||"").split("/",2);if(s2&&e){let start,startIsValid;try{start=DateTime.fromISO(s2,opts),startIsValid=start.isValid}catch{startIsValid=!1}let end,endIsValid;try{end=DateTime.fromISO(e,opts),endIsValid=end.isValid}catch{endIsValid=!1}if(startIsValid&&endIsValid)return _Interval.fromDateTimes(start,end);if(startIsValid){let dur=Duration.fromISO(e,opts);if(dur.isValid)return _Interval.after(start,dur)}else if(endIsValid){let dur=Duration.fromISO(s2,opts);if(dur.isValid)return _Interval.before(end,dur)}}return _Interval.invalid("unparsable",`the input "${text}" can't be parsed as ISO 8601`)}static isInterval(o){return o&&o.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(unit="milliseconds"){return this.isValid?this.toDuration(unit).get(unit):NaN}count(unit="milliseconds"){if(!this.isValid)return NaN;let start=this.start.startOf(unit),end=this.end.startOf(unit);return Math.floor(end.diff(start,unit).get(unit))+(end.valueOf()!==this.end.valueOf())}hasSame(unit){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,unit):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(dateTime){return this.isValid?this.s>dateTime:!1}isBefore(dateTime){return this.isValid?this.e<=dateTime:!1}contains(dateTime){return this.isValid?this.s<=dateTime&&this.e>dateTime:!1}set({start,end}={}){return this.isValid?_Interval.fromDateTimes(start||this.s,end||this.e):this}splitAt(...dateTimes){if(!this.isValid)return[];let sorted=dateTimes.map(friendlyDateTime).filter(d=>this.contains(d)).sort(),results=[],{s:s2}=this,i=0;for(;s2<this.e;){let added=sorted[i]||this.e,next=+added>+this.e?this.e:added;results.push(_Interval.fromDateTimes(s2,next)),s2=next,i+=1}return results}splitBy(duration){let dur=Duration.fromDurationLike(duration);if(!this.isValid||!dur.isValid||dur.as("milliseconds")===0)return[];let{s:s2}=this,idx=1,next,results=[];for(;s2<this.e;){let added=this.start.plus(dur.mapUnits(x=>x*idx));next=+added>+this.e?this.e:added,results.push(_Interval.fromDateTimes(s2,next)),s2=next,idx+=1}return results}divideEqually(numberOfParts){return this.isValid?this.splitBy(this.length()/numberOfParts).slice(0,numberOfParts):[]}overlaps(other){return this.e>other.s&&this.s<other.e}abutsStart(other){return this.isValid?+this.e==+other.s:!1}abutsEnd(other){return this.isValid?+other.e==+this.s:!1}engulfs(other){return this.isValid?this.s<=other.s&&this.e>=other.e:!1}equals(other){return!this.isValid||!other.isValid?!1:this.s.equals(other.s)&&this.e.equals(other.e)}intersection(other){if(!this.isValid)return this;let s2=this.s>other.s?this.s:other.s,e=this.e<other.e?this.e:other.e;return s2>=e?null:_Interval.fromDateTimes(s2,e)}union(other){if(!this.isValid)return this;let s2=this.s<other.s?this.s:other.s,e=this.e>other.e?this.e:other.e;return _Interval.fromDateTimes(s2,e)}static merge(intervals){let[found,final]=intervals.sort((a,b)=>a.s-b.s).reduce(([sofar,current],item)=>current?current.overlaps(item)||current.abutsStart(item)?[sofar,current.union(item)]:[sofar.concat([current]),item]:[sofar,item],[[],null]);return final&&found.push(final),found}static xor(intervals){let start=null,currentCount=0,results=[],ends=intervals.map(i=>[{time:i.s,type:"s"},{time:i.e,type:"e"}]),flattened=Array.prototype.concat(...ends),arr=flattened.sort((a,b)=>a.time-b.time);for(let i of arr)currentCount+=i.type==="s"?1:-1,currentCount===1?start=i.time:(start&&+start!=+i.time&&results.push(_Interval.fromDateTimes(start,i.time)),start=null);return _Interval.merge(results)}difference(...intervals){return _Interval.xor([this].concat(intervals)).map(i=>this.intersection(i)).filter(i=>i&&!i.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:INVALID$1}toLocaleString(formatOpts=DATE_SHORT,opts={}){return this.isValid?Formatter2.create(this.s.loc.clone(opts),formatOpts).formatInterval(this):INVALID$1}toISO(opts){return this.isValid?`${this.s.toISO(opts)}/${this.e.toISO(opts)}`:INVALID$1}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:INVALID$1}toISOTime(opts){return this.isValid?`${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`:INVALID$1}toFormat(dateFormat,{separator=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`:INVALID$1}toDuration(unit,opts){return this.isValid?this.e.diff(this.s,unit,opts):Duration.invalid(this.invalidReason)}mapEndpoints(mapFn){return _Interval.fromDateTimes(mapFn(this.s),mapFn(this.e))}},Info=class{static hasDST(zone=Settings.defaultZone){let proto=DateTime.now().setZone(zone).set({month:12});return!zone.isUniversal&&proto.offset!==proto.set({month:6}).offset}static isValidIANAZone(zone){return IANAZone.isValidZone(zone)}static normalizeZone(input){return normalizeZone(input,Settings.defaultZone)}static months(length="long",{locale=null,numberingSystem=null,locObj=null,outputCalendar="gregory"}={}){return(locObj||Locale.create(locale,numberingSystem,outputCalendar)).months(length)}static monthsFormat(length="long",{locale=null,numberingSystem=null,locObj=null,outputCalendar="gregory"}={}){return(locObj||Locale.create(locale,numberingSystem,outputCalendar)).months(length,!0)}static weekdays(length="long",{locale=null,numberingSystem=null,locObj=null}={}){return(locObj||Locale.create(locale,numberingSystem,null)).weekdays(length)}static weekdaysFormat(length="long",{locale=null,numberingSystem=null,locObj=null}={}){return(locObj||Locale.create(locale,numberingSystem,null)).weekdays(length,!0)}static meridiems({locale=null}={}){return Locale.create(locale).meridiems()}static eras(length="short",{locale=null}={}){return Locale.create(locale,null,"gregory").eras(length)}static features(){return{relative:hasRelative()}}};function dayDiff(earlier,later){let utcDayStart=dt=>dt.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),ms=utcDayStart(later)-utcDayStart(earlier);return Math.floor(Duration.fromMillis(ms).as("days"))}function highOrderDiffs(cursor,later,units){let differs=[["years",(a,b)=>b.year-a.year],["quarters",(a,b)=>b.quarter-a.quarter+(b.year-a.year)*4],["months",(a,b)=>b.month-a.month+(b.year-a.year)*12],["weeks",(a,b)=>{let days=dayDiff(a,b);return(days-days%7)/7}],["days",dayDiff]],results={},earlier=cursor,lowestOrder,highWater;for(let[unit,differ]of differs)units.indexOf(unit)>=0&&(lowestOrder=unit,results[unit]=differ(cursor,later),highWater=earlier.plus(results),highWater>later?(results[unit]--,cursor=earlier.plus(results),cursor>later&&(highWater=cursor,results[unit]--,cursor=earlier.plus(results))):cursor=highWater);return[cursor,results,highWater,lowestOrder]}function diff(earlier,later,units,opts){let[cursor,results,highWater,lowestOrder]=highOrderDiffs(earlier,later,units),remainingMillis=later-cursor,lowerOrderUnits=units.filter(u=>["hours","minutes","seconds","milliseconds"].indexOf(u)>=0);lowerOrderUnits.length===0&&(highWater<later&&(highWater=cursor.plus({[lowestOrder]:1})),highWater!==cursor&&(results[lowestOrder]=(results[lowestOrder]||0)+remainingMillis/(highWater-cursor)));let duration=Duration.fromObject(results,opts);return lowerOrderUnits.length>0?Duration.fromMillis(remainingMillis,opts).shiftTo(...lowerOrderUnits).plus(duration):duration}var numberingSystems={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},numberingSystemsUTF16={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},hanidecChars=numberingSystems.hanidec.replace(/[\[|\]]/g,"").split("");function parseDigits(str){let value=parseInt(str,10);if(isNaN(value)){value="";for(let i=0;i<str.length;i++){let code=str.charCodeAt(i);if(str[i].search(numberingSystems.hanidec)!==-1)value+=hanidecChars.indexOf(str[i]);else for(let key in numberingSystemsUTF16){let[min,max]=numberingSystemsUTF16[key];code>=min&&code<=max&&(value+=code-min)}}return parseInt(value,10)}else return value}function digitRegex({numberingSystem},append=""){return new RegExp(`${numberingSystems[numberingSystem||"latn"]}${append}`)}var MISSING_FTP="missing Intl.DateTimeFormat.formatToParts support";function intUnit(regex,post=i=>i){return{regex,deser:([s2])=>post(parseDigits(s2))}}var NBSP="\xA0",spaceOrNBSP=`[ ${NBSP}]`,spaceOrNBSPRegExp=new RegExp(spaceOrNBSP,"g");function fixListRegex(s2){return s2.replace(/\./g,"\\.?").replace(spaceOrNBSPRegExp,spaceOrNBSP)}function stripInsensitivities(s2){return s2.replace(/\./g,"").replace(spaceOrNBSPRegExp," ").toLowerCase()}function oneOf(strings,startIndex){return strings===null?null:{regex:RegExp(strings.map(fixListRegex).join("|")),deser:([s2])=>strings.findIndex(i=>stripInsensitivities(s2)===stripInsensitivities(i))+startIndex}}function offset(regex,groups){return{regex,deser:([,h,m])=>signedOffset(h,m),groups}}function simple(regex){return{regex,deser:([s2])=>s2}}function escapeToken(value){return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function unitForToken(token,loc){let one=digitRegex(loc),two=digitRegex(loc,"{2}"),three=digitRegex(loc,"{3}"),four=digitRegex(loc,"{4}"),six=digitRegex(loc,"{6}"),oneOrTwo=digitRegex(loc,"{1,2}"),oneToThree=digitRegex(loc,"{1,3}"),oneToSix=digitRegex(loc,"{1,6}"),oneToNine=digitRegex(loc,"{1,9}"),twoToFour=digitRegex(loc,"{2,4}"),fourToSix=digitRegex(loc,"{4,6}"),literal=t2=>({regex:RegExp(escapeToken(t2.val)),deser:([s2])=>s2,literal:!0}),unit=(t2=>{if(token.literal)return literal(t2);switch(t2.val){case"G":return oneOf(loc.eras("short"),0);case"GG":return oneOf(loc.eras("long"),0);case"y":return intUnit(oneToSix);case"yy":return intUnit(twoToFour,untruncateYear);case"yyyy":return intUnit(four);case"yyyyy":return intUnit(fourToSix);case"yyyyyy":return intUnit(six);case"M":return intUnit(oneOrTwo);case"MM":return intUnit(two);case"MMM":return oneOf(loc.months("short",!0),1);case"MMMM":return oneOf(loc.months("long",!0),1);case"L":return intUnit(oneOrTwo);case"LL":return intUnit(two);case"LLL":return oneOf(loc.months("short",!1),1);case"LLLL":return oneOf(loc.months("long",!1),1);case"d":return intUnit(oneOrTwo);case"dd":return intUnit(two);case"o":return intUnit(oneToThree);case"ooo":return intUnit(three);case"HH":return intUnit(two);case"H":return intUnit(oneOrTwo);case"hh":return intUnit(two);case"h":return intUnit(oneOrTwo);case"mm":return intUnit(two);case"m":return intUnit(oneOrTwo);case"q":return intUnit(oneOrTwo);case"qq":return intUnit(two);case"s":return intUnit(oneOrTwo);case"ss":return intUnit(two);case"S":return intUnit(oneToThree);case"SSS":return intUnit(three);case"u":return simple(oneToNine);case"uu":return simple(oneOrTwo);case"uuu":return intUnit(one);case"a":return oneOf(loc.meridiems(),0);case"kkkk":return intUnit(four);case"kk":return intUnit(twoToFour,untruncateYear);case"W":return intUnit(oneOrTwo);case"WW":return intUnit(two);case"E":case"c":return intUnit(one);case"EEE":return oneOf(loc.weekdays("short",!1),1);case"EEEE":return oneOf(loc.weekdays("long",!1),1);case"ccc":return oneOf(loc.weekdays("short",!0),1);case"cccc":return oneOf(loc.weekdays("long",!0),1);case"Z":case"ZZ":return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`),2);case"ZZZ":return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`),2);case"z":return simple(/[a-z_+-/]{1,256}?/i);case" ":return simple(/[^\S\n\r]/);default:return literal(t2)}})(token)||{invalidReason:MISSING_FTP};return unit.token=token,unit}var partTypeStyleToTokenVal={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function tokenForPart(part,formatOpts,resolvedOpts){let{type,value}=part;if(type==="literal"){let isSpace=/^\s+$/.test(value);return{literal:!isSpace,val:isSpace?" ":value}}let style=formatOpts[type],actualType=type;type==="hour"&&(formatOpts.hour12!=null?actualType=formatOpts.hour12?"hour12":"hour24":formatOpts.hourCycle!=null?formatOpts.hourCycle==="h11"||formatOpts.hourCycle==="h12"?actualType="hour12":actualType="hour24":actualType=resolvedOpts.hour12?"hour12":"hour24");let val=partTypeStyleToTokenVal[actualType];if(typeof val=="object"&&(val=val[style]),val)return{literal:!1,val}}function buildRegex(units){return[`^${units.map(u=>u.regex).reduce((f,r)=>`${f}(${r.source})`,"")}$`,units]}function match(input,regex,handlers){let matches=input.match(regex);if(matches){let all={},matchIndex=1;for(let i in handlers)if(hasOwnProperty(handlers,i)){let h=handlers[i],groups=h.groups?h.groups+1:1;!h.literal&&h.token&&(all[h.token.val[0]]=h.deser(matches.slice(matchIndex,matchIndex+groups))),matchIndex+=groups}return[matches,all]}else return[matches,{}]}function dateTimeFromMatches(matches){let toField=token=>{switch(token){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},zone=null,specificOffset;return isUndefined(matches.z)||(zone=IANAZone.create(matches.z)),isUndefined(matches.Z)||(zone||(zone=new FixedOffsetZone(matches.Z)),specificOffset=matches.Z),isUndefined(matches.q)||(matches.M=(matches.q-1)*3+1),isUndefined(matches.h)||(matches.h<12&&matches.a===1?matches.h+=12:matches.h===12&&matches.a===0&&(matches.h=0)),matches.G===0&&matches.y&&(matches.y=-matches.y),isUndefined(matches.u)||(matches.S=parseMillis(matches.u)),[Object.keys(matches).reduce((r,k)=>{let f=toField(k);return f&&(r[f]=matches[k]),r},{}),zone,specificOffset]}var dummyDateTimeCache=null;function getDummyDateTime(){return dummyDateTimeCache||(dummyDateTimeCache=DateTime.fromMillis(1555555555555)),dummyDateTimeCache}function maybeExpandMacroToken(token,locale){if(token.literal)return token;let formatOpts=Formatter2.macroTokenToFormatOpts(token.val),tokens=formatOptsToTokens(formatOpts,locale);return tokens==null||tokens.includes(void 0)?token:tokens}function expandMacroTokens(tokens,locale){return Array.prototype.concat(...tokens.map(t2=>maybeExpandMacroToken(t2,locale)))}function explainFromTokens(locale,input,format){let tokens=expandMacroTokens(Formatter2.parseFormat(format),locale),units=tokens.map(t2=>unitForToken(t2,locale)),disqualifyingUnit=units.find(t2=>t2.invalidReason);if(disqualifyingUnit)return{input,tokens,invalidReason:disqualifyingUnit.invalidReason};{let[regexString,handlers]=buildRegex(units),regex=RegExp(regexString,"i"),[rawMatches,matches]=match(input,regex,handlers),[result,zone,specificOffset]=matches?dateTimeFromMatches(matches):[null,null,void 0];if(hasOwnProperty(matches,"a")&&hasOwnProperty(matches,"H"))throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format");return{input,tokens,regex,rawMatches,matches,result,zone,specificOffset}}}function parseFromTokens(locale,input,format){let{result,zone,specificOffset,invalidReason}=explainFromTokens(locale,input,format);return[result,zone,specificOffset,invalidReason]}function formatOptsToTokens(formatOpts,locale){if(!formatOpts)return null;let df=Formatter2.create(locale,formatOpts).dtFormatter(getDummyDateTime()),parts=df.formatToParts(),resolvedOpts=df.resolvedOptions();return parts.map(p=>tokenForPart(p,formatOpts,resolvedOpts))}var nonLeapLadder=[0,31,59,90,120,151,181,212,243,273,304,334],leapLadder=[0,31,60,91,121,152,182,213,244,274,305,335];function unitOutOfRange(unit,value){return new Invalid("unit out of range",`you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`)}function dayOfWeek(year,month,day){let d=new Date(Date.UTC(year,month-1,day));year<100&&year>=0&&d.setUTCFullYear(d.getUTCFullYear()-1900);let js=d.getUTCDay();return js===0?7:js}function computeOrdinal(year,month,day){return day+(isLeapYear(year)?leapLadder:nonLeapLadder)[month-1]}function uncomputeOrdinal(year,ordinal){let table=isLeapYear(year)?leapLadder:nonLeapLadder,month0=table.findIndex(i=>i<ordinal),day=ordinal-table[month0];return{month:month0+1,day}}function gregorianToWeek(gregObj){let{year,month,day}=gregObj,ordinal=computeOrdinal(year,month,day),weekday=dayOfWeek(year,month,day),weekNumber=Math.floor((ordinal-weekday+10)/7),weekYear;return weekNumber<1?(weekYear=year-1,weekNumber=weeksInWeekYear(weekYear)):weekNumber>weeksInWeekYear(year)?(weekYear=year+1,weekNumber=1):weekYear=year,{weekYear,weekNumber,weekday,...timeObject(gregObj)}}function weekToGregorian(weekData){let{weekYear,weekNumber,weekday}=weekData,weekdayOfJan4=dayOfWeek(weekYear,1,4),yearInDays=daysInYear(weekYear),ordinal=weekNumber*7+weekday-weekdayOfJan4-3,year;ordinal<1?(year=weekYear-1,ordinal+=daysInYear(year)):ordinal>yearInDays?(year=weekYear+1,ordinal-=daysInYear(weekYear)):year=weekYear;let{month,day}=uncomputeOrdinal(year,ordinal);return{year,month,day,...timeObject(weekData)}}function gregorianToOrdinal(gregData){let{year,month,day}=gregData,ordinal=computeOrdinal(year,month,day);return{year,ordinal,...timeObject(gregData)}}function ordinalToGregorian(ordinalData){let{year,ordinal}=ordinalData,{month,day}=uncomputeOrdinal(year,ordinal);return{year,month,day,...timeObject(ordinalData)}}function hasInvalidWeekData(obj){let validYear=isInteger(obj.weekYear),validWeek=integerBetween(obj.weekNumber,1,weeksInWeekYear(obj.weekYear)),validWeekday=integerBetween(obj.weekday,1,7);return validYear?validWeek?validWeekday?!1:unitOutOfRange("weekday",obj.weekday):unitOutOfRange("week",obj.week):unitOutOfRange("weekYear",obj.weekYear)}function hasInvalidOrdinalData(obj){let validYear=isInteger(obj.year),validOrdinal=integerBetween(obj.ordinal,1,daysInYear(obj.year));return validYear?validOrdinal?!1:unitOutOfRange("ordinal",obj.ordinal):unitOutOfRange("year",obj.year)}function hasInvalidGregorianData(obj){let validYear=isInteger(obj.year),validMonth=integerBetween(obj.month,1,12),validDay=integerBetween(obj.day,1,daysInMonth(obj.year,obj.month));return validYear?validMonth?validDay?!1:unitOutOfRange("day",obj.day):unitOutOfRange("month",obj.month):unitOutOfRange("year",obj.year)}function hasInvalidTimeData(obj){let{hour,minute,second,millisecond}=obj,validHour=integerBetween(hour,0,23)||hour===24&&minute===0&&second===0&&millisecond===0,validMinute=integerBetween(minute,0,59),validSecond=integerBetween(second,0,59),validMillisecond=integerBetween(millisecond,0,999);return validHour?validMinute?validSecond?validMillisecond?!1:unitOutOfRange("millisecond",millisecond):unitOutOfRange("second",second):unitOutOfRange("minute",minute):unitOutOfRange("hour",hour)}var INVALID="Invalid DateTime",MAX_DATE=864e13;function unsupportedZone(zone){return new Invalid("unsupported zone",`the zone "${zone.name}" is not supported`)}function possiblyCachedWeekData(dt){return dt.weekData===null&&(dt.weekData=gregorianToWeek(dt.c)),dt.weekData}function clone(inst,alts){let current={ts:inst.ts,zone:inst.zone,c:inst.c,o:inst.o,loc:inst.loc,invalid:inst.invalid};return new DateTime({...current,...alts,old:current})}function fixOffset(localTS,o,tz){let utcGuess=localTS-o*60*1e3,o2=tz.offset(utcGuess);if(o===o2)return[utcGuess,o];utcGuess-=(o2-o)*60*1e3;let o3=tz.offset(utcGuess);return o2===o3?[utcGuess,o2]:[localTS-Math.min(o2,o3)*60*1e3,Math.max(o2,o3)]}function tsToObj(ts,offset2){ts+=offset2*60*1e3;let d=new Date(ts);return{year:d.getUTCFullYear(),month:d.getUTCMonth()+1,day:d.getUTCDate(),hour:d.getUTCHours(),minute:d.getUTCMinutes(),second:d.getUTCSeconds(),millisecond:d.getUTCMilliseconds()}}function objToTS(obj,offset2,zone){return fixOffset(objToLocalTS(obj),offset2,zone)}function adjustTime(inst,dur){let oPre=inst.o,year=inst.c.year+Math.trunc(dur.years),month=inst.c.month+Math.trunc(dur.months)+Math.trunc(dur.quarters)*3,c={...inst.c,year,month,day:Math.min(inst.c.day,daysInMonth(year,month))+Math.trunc(dur.days)+Math.trunc(dur.weeks)*7},millisToAdd=Duration.fromObject({years:dur.years-Math.trunc(dur.years),quarters:dur.quarters-Math.trunc(dur.quarters),months:dur.months-Math.trunc(dur.months),weeks:dur.weeks-Math.trunc(dur.weeks),days:dur.days-Math.trunc(dur.days),hours:dur.hours,minutes:dur.minutes,seconds:dur.seconds,milliseconds:dur.milliseconds}).as("milliseconds"),localTS=objToLocalTS(c),[ts,o]=fixOffset(localTS,oPre,inst.zone);return millisToAdd!==0&&(ts+=millisToAdd,o=inst.zone.offset(ts)),{ts,o}}function parseDataToDateTime(parsed,parsedZone,opts,format,text,specificOffset){let{setZone,zone}=opts;if(parsed&&Object.keys(parsed).length!==0||parsedZone){let interpretationZone=parsedZone||zone,inst=DateTime.fromObject(parsed,{...opts,zone:interpretationZone,specificOffset});return setZone?inst:inst.setZone(zone)}else return DateTime.invalid(new Invalid("unparsable",`the input "${text}" can't be parsed as ${format}`))}function toTechFormat(dt,format,allowZ=!0){return dt.isValid?Formatter2.create(Locale.create("en-US"),{allowZ,forceSimple:!0}).formatDateTimeFromString(dt,format):null}function toISODate(o,extended){let longFormat=o.c.year>9999||o.c.year<0,c="";return longFormat&&o.c.year>=0&&(c+="+"),c+=padStart(o.c.year,longFormat?6:4),extended?(c+="-",c+=padStart(o.c.month),c+="-",c+=padStart(o.c.day)):(c+=padStart(o.c.month),c+=padStart(o.c.day)),c}function toISOTime(o,extended,suppressSeconds,suppressMilliseconds,includeOffset,extendedZone){let c=padStart(o.c.hour);return extended?(c+=":",c+=padStart(o.c.minute),(o.c.millisecond!==0||o.c.second!==0||!suppressSeconds)&&(c+=":")):c+=padStart(o.c.minute),(o.c.millisecond!==0||o.c.second!==0||!suppressSeconds)&&(c+=padStart(o.c.second),(o.c.millisecond!==0||!suppressMilliseconds)&&(c+=".",c+=padStart(o.c.millisecond,3))),includeOffset&&(o.isOffsetFixed&&o.offset===0&&!extendedZone?c+="Z":o.o<0?(c+="-",c+=padStart(Math.trunc(-o.o/60)),c+=":",c+=padStart(Math.trunc(-o.o%60))):(c+="+",c+=padStart(Math.trunc(o.o/60)),c+=":",c+=padStart(Math.trunc(o.o%60)))),extendedZone&&(c+="["+o.zone.ianaName+"]"),c}var defaultUnitValues={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},defaultWeekUnitValues={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},defaultOrdinalUnitValues={ordinal:1,hour:0,minute:0,second:0,millisecond:0},orderedUnits=["year","month","day","hour","minute","second","millisecond"],orderedWeekUnits=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],orderedOrdinalUnits=["year","ordinal","hour","minute","second","millisecond"];function normalizeUnit(unit){let normalized={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[unit.toLowerCase()];if(!normalized)throw new InvalidUnitError(unit);return normalized}function quickDT(obj,opts){let zone=normalizeZone(opts.zone,Settings.defaultZone),loc=Locale.fromObject(opts),tsNow=Settings.now(),ts,o;if(isUndefined(obj.year))ts=tsNow;else{for(let u of orderedUnits)isUndefined(obj[u])&&(obj[u]=defaultUnitValues[u]);let invalid=hasInvalidGregorianData(obj)||hasInvalidTimeData(obj);if(invalid)return DateTime.invalid(invalid);let offsetProvis=zone.offset(tsNow);[ts,o]=objToTS(obj,offsetProvis,zone)}return new DateTime({ts,zone,loc,o})}function diffRelative(start,end,opts){let round=isUndefined(opts.round)?!0:opts.round,format=(c,unit)=>(c=roundTo(c,round||opts.calendary?0:2,!0),end.loc.clone(opts).relFormatter(opts).format(c,unit)),differ=unit=>opts.calendary?end.hasSame(start,unit)?0:end.startOf(unit).diff(start.startOf(unit),unit).get(unit):end.diff(start,unit).get(unit);if(opts.unit)return format(differ(opts.unit),opts.unit);for(let unit of opts.units){let count=differ(unit);if(Math.abs(count)>=1)return format(count,unit)}return format(start>end?-0:0,opts.units[opts.units.length-1])}function lastOpts(argList){let opts={},args;return argList.length>0&&typeof argList[argList.length-1]=="object"?(opts=argList[argList.length-1],args=Array.from(argList).slice(0,argList.length-1)):args=Array.from(argList),[opts,args]}var DateTime=class _DateTime{constructor(config){let zone=config.zone||Settings.defaultZone,invalid=config.invalid||(Number.isNaN(config.ts)?new Invalid("invalid input"):null)||(zone.isValid?null:unsupportedZone(zone));this.ts=isUndefined(config.ts)?Settings.now():config.ts;let c=null,o=null;if(!invalid)if(config.old&&config.old.ts===this.ts&&config.old.zone.equals(zone))[c,o]=[config.old.c,config.old.o];else{let ot=zone.offset(this.ts);c=tsToObj(this.ts,ot),invalid=Number.isNaN(c.year)?new Invalid("invalid input"):null,c=invalid?null:c,o=invalid?null:ot}this._zone=zone,this.loc=config.loc||Locale.create(),this.invalid=invalid,this.weekData=null,this.c=c,this.o=o,this.isLuxonDateTime=!0}static now(){return new _DateTime({})}static local(){let[opts,args]=lastOpts(arguments),[year,month,day,hour,minute,second,millisecond]=args;return quickDT({year,month,day,hour,minute,second,millisecond},opts)}static utc(){let[opts,args]=lastOpts(arguments),[year,month,day,hour,minute,second,millisecond]=args;return opts.zone=FixedOffsetZone.utcInstance,quickDT({year,month,day,hour,minute,second,millisecond},opts)}static fromJSDate(date,options={}){let ts=isDate(date)?date.valueOf():NaN;if(Number.isNaN(ts))return _DateTime.invalid("invalid input");let zoneToUse=normalizeZone(options.zone,Settings.defaultZone);return zoneToUse.isValid?new _DateTime({ts,zone:zoneToUse,loc:Locale.fromObject(options)}):_DateTime.invalid(unsupportedZone(zoneToUse))}static fromMillis(milliseconds,options={}){if(isNumber(milliseconds))return milliseconds<-MAX_DATE||milliseconds>MAX_DATE?_DateTime.invalid("Timestamp out of range"):new _DateTime({ts:milliseconds,zone:normalizeZone(options.zone,Settings.defaultZone),loc:Locale.fromObject(options)});throw new InvalidArgumentError(`fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`)}static fromSeconds(seconds,options={}){if(isNumber(seconds))return new _DateTime({ts:seconds*1e3,zone:normalizeZone(options.zone,Settings.defaultZone),loc:Locale.fromObject(options)});throw new InvalidArgumentError("fromSeconds requires a numerical input")}static fromObject(obj,opts={}){obj=obj||{};let zoneToUse=normalizeZone(opts.zone,Settings.defaultZone);if(!zoneToUse.isValid)return _DateTime.invalid(unsupportedZone(zoneToUse));let tsNow=Settings.now(),offsetProvis=isUndefined(opts.specificOffset)?zoneToUse.offset(tsNow):opts.specificOffset,normalized=normalizeObject(obj,normalizeUnit),containsOrdinal=!isUndefined(normalized.ordinal),containsGregorYear=!isUndefined(normalized.year),containsGregorMD=!isUndefined(normalized.month)||!isUndefined(normalized.day),containsGregor=containsGregorYear||containsGregorMD,definiteWeekDef=normalized.weekYear||normalized.weekNumber,loc=Locale.fromObject(opts);if((containsGregor||containsOrdinal)&&definiteWeekDef)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(containsGregorMD&&containsOrdinal)throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");let useWeekData=definiteWeekDef||normalized.weekday&&!containsGregor,units,defaultValues,objNow=tsToObj(tsNow,offsetProvis);useWeekData?(units=orderedWeekUnits,defaultValues=defaultWeekUnitValues,objNow=gregorianToWeek(objNow)):containsOrdinal?(units=orderedOrdinalUnits,defaultValues=defaultOrdinalUnitValues,objNow=gregorianToOrdinal(objNow)):(units=orderedUnits,defaultValues=defaultUnitValues);let foundFirst=!1;for(let u of units){let v=normalized[u];isUndefined(v)?foundFirst?normalized[u]=defaultValues[u]:normalized[u]=objNow[u]:foundFirst=!0}let higherOrderInvalid=useWeekData?hasInvalidWeekData(normalized):containsOrdinal?hasInvalidOrdinalData(normalized):hasInvalidGregorianData(normalized),invalid=higherOrderInvalid||hasInvalidTimeData(normalized);if(invalid)return _DateTime.invalid(invalid);let gregorian=useWeekData?weekToGregorian(normalized):containsOrdinal?ordinalToGregorian(normalized):normalized,[tsFinal,offsetFinal]=objToTS(gregorian,offsetProvis,zoneToUse),inst=new _DateTime({ts:tsFinal,zone:zoneToUse,o:offsetFinal,loc});return normalized.weekday&&containsGregor&&obj.weekday!==inst.weekday?_DateTime.invalid("mismatched weekday",`you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`):inst}static fromISO(text,opts={}){let[vals,parsedZone]=parseISODate(text);return parseDataToDateTime(vals,parsedZone,opts,"ISO 8601",text)}static fromRFC2822(text,opts={}){let[vals,parsedZone]=parseRFC2822Date(text);return parseDataToDateTime(vals,parsedZone,opts,"RFC 2822",text)}static fromHTTP(text,opts={}){let[vals,parsedZone]=parseHTTPDate(text);return parseDataToDateTime(vals,parsedZone,opts,"HTTP",opts)}static fromFormat(text,fmt,opts={}){if(isUndefined(text)||isUndefined(fmt))throw new InvalidArgumentError("fromFormat requires an input string and a format");let{locale=null,numberingSystem=null}=opts,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0}),[vals,parsedZone,specificOffset,invalid]=parseFromTokens(localeToUse,text,fmt);return invalid?_DateTime.invalid(invalid):parseDataToDateTime(vals,parsedZone,opts,`format ${fmt}`,text,specificOffset)}static fromString(text,fmt,opts={}){return _DateTime.fromFormat(text,fmt,opts)}static fromSQL(text,opts={}){let[vals,parsedZone]=parseSQL(text);return parseDataToDateTime(vals,parsedZone,opts,"SQL",text)}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError("need to specify a reason the DateTime is invalid");let invalid=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidDateTimeError(invalid);return new _DateTime({invalid})}static isDateTime(o){return o&&o.isLuxonDateTime||!1}static parseFormatForOpts(formatOpts,localeOpts={}){let tokenList=formatOptsToTokens(formatOpts,Locale.fromObject(localeOpts));return tokenList?tokenList.map(t2=>t2?t2.val:null).join(""):null}static expandFormat(fmt,localeOpts={}){return expandMacroTokens(Formatter2.parseFormat(fmt),Locale.fromObject(localeOpts)).map(t2=>t2.val).join("")}get(unit){return this[unit]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?possiblyCachedWeekData(this).weekYear:NaN}get weekNumber(){return this.isValid?possiblyCachedWeekData(this).weekNumber:NaN}get weekday(){return this.isValid?possiblyCachedWeekData(this).weekday:NaN}get ordinal(){return this.isValid?gregorianToOrdinal(this.c).ordinal:NaN}get monthShort(){return this.isValid?Info.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Info.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Info.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Info.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let dayMs=864e5,minuteMs=6e4,localTS=objToLocalTS(this.c),oEarlier=this.zone.offset(localTS-dayMs),oLater=this.zone.offset(localTS+dayMs),o1=this.zone.offset(localTS-oEarlier*minuteMs),o2=this.zone.offset(localTS-oLater*minuteMs);if(o1===o2)return[this];let ts1=localTS-o1*minuteMs,ts2=localTS-o2*minuteMs,c1=tsToObj(ts1,o1),c2=tsToObj(ts2,o2);return c1.hour===c2.hour&&c1.minute===c2.minute&&c1.second===c2.second&&c1.millisecond===c2.millisecond?[clone(this,{ts:ts1}),clone(this,{ts:ts2})]:[this]}get isInLeapYear(){return isLeapYear(this.year)}get daysInMonth(){return daysInMonth(this.year,this.month)}get daysInYear(){return this.isValid?daysInYear(this.year):NaN}get weeksInWeekYear(){return this.isValid?weeksInWeekYear(this.weekYear):NaN}resolvedLocaleOptions(opts={}){let{locale,numberingSystem,calendar}=Formatter2.create(this.loc.clone(opts),opts).resolvedOptions(this);return{locale,numberingSystem,outputCalendar:calendar}}toUTC(offset2=0,opts={}){return this.setZone(FixedOffsetZone.instance(offset2),opts)}toLocal(){return this.setZone(Settings.defaultZone)}setZone(zone,{keepLocalTime=!1,keepCalendarTime=!1}={}){if(zone=normalizeZone(zone,Settings.defaultZone),zone.equals(this.zone))return this;if(zone.isValid){let newTS=this.ts;if(keepLocalTime||keepCalendarTime){let offsetGuess=zone.offset(this.ts),asObj=this.toObject();[newTS]=objToTS(asObj,offsetGuess,zone)}return clone(this,{ts:newTS,zone})}else return _DateTime.invalid(unsupportedZone(zone))}reconfigure({locale,numberingSystem,outputCalendar}={}){let loc=this.loc.clone({locale,numberingSystem,outputCalendar});return clone(this,{loc})}setLocale(locale){return this.reconfigure({locale})}set(values){if(!this.isValid)return this;let normalized=normalizeObject(values,normalizeUnit),settingWeekStuff=!isUndefined(normalized.weekYear)||!isUndefined(normalized.weekNumber)||!isUndefined(normalized.weekday),containsOrdinal=!isUndefined(normalized.ordinal),containsGregorYear=!isUndefined(normalized.year),containsGregorMD=!isUndefined(normalized.month)||!isUndefined(normalized.day),containsGregor=containsGregorYear||containsGregorMD,definiteWeekDef=normalized.weekYear||normalized.weekNumber;if((containsGregor||containsOrdinal)&&definiteWeekDef)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(containsGregorMD&&containsOrdinal)throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");let mixed;settingWeekStuff?mixed=weekToGregorian({...gregorianToWeek(this.c),...normalized}):isUndefined(normalized.ordinal)?(mixed={...this.toObject(),...normalized},isUndefined(normalized.day)&&(mixed.day=Math.min(daysInMonth(mixed.year,mixed.month),mixed.day))):mixed=ordinalToGregorian({...gregorianToOrdinal(this.c),...normalized});let[ts,o]=objToTS(mixed,this.o,this.zone);return clone(this,{ts,o})}plus(duration){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration);return clone(this,adjustTime(this,dur))}minus(duration){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration).negate();return clone(this,adjustTime(this,dur))}startOf(unit){if(!this.isValid)return this;let o={},normalizedUnit=Duration.normalizeUnit(unit);switch(normalizedUnit){case"years":o.month=1;case"quarters":case"months":o.day=1;case"weeks":case"days":o.hour=0;case"hours":o.minute=0;case"minutes":o.second=0;case"seconds":o.millisecond=0;break}if(normalizedUnit==="weeks"&&(o.weekday=1),normalizedUnit==="quarters"){let q=Math.ceil(this.month/3);o.month=(q-1)*3+1}return this.set(o)}endOf(unit){return this.isValid?this.plus({[unit]:1}).startOf(unit).minus(1):this}toFormat(fmt,opts={}){return this.isValid?Formatter2.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this,fmt):INVALID}toLocaleString(formatOpts=DATE_SHORT,opts={}){return this.isValid?Formatter2.create(this.loc.clone(opts),formatOpts).formatDateTime(this):INVALID}toLocaleParts(opts={}){return this.isValid?Formatter2.create(this.loc.clone(opts),opts).formatDateTimeParts(this):[]}toISO({format="extended",suppressSeconds=!1,suppressMilliseconds=!1,includeOffset=!0,extendedZone=!1}={}){if(!this.isValid)return null;let ext=format==="extended",c=toISODate(this,ext);return c+="T",c+=toISOTime(this,ext,suppressSeconds,suppressMilliseconds,includeOffset,extendedZone),c}toISODate({format="extended"}={}){return this.isValid?toISODate(this,format==="extended"):null}toISOWeekDate(){return toTechFormat(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds=!1,suppressSeconds=!1,includeOffset=!0,includePrefix=!1,extendedZone=!1,format="extended"}={}){return this.isValid?(includePrefix?"T":"")+toISOTime(this,format==="extended",suppressSeconds,suppressMilliseconds,includeOffset,extendedZone):null}toRFC2822(){return toTechFormat(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return toTechFormat(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?toISODate(this,!0):null}toSQLTime({includeOffset=!0,includeZone=!1,includeOffsetSpace=!0}={}){let fmt="HH:mm:ss.SSS";return(includeZone||includeOffset)&&(includeOffsetSpace&&(fmt+=" "),includeZone?fmt+="z":includeOffset&&(fmt+="ZZ")),toTechFormat(this,fmt,!0)}toSQL(opts={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(opts)}`:null}toString(){return this.isValid?this.toISO():INVALID}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(opts={}){if(!this.isValid)return{};let base={...this.c};return opts.includeConfig&&(base.outputCalendar=this.outputCalendar,base.numberingSystem=this.loc.numberingSystem,base.locale=this.loc.locale),base}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(otherDateTime,unit="milliseconds",opts={}){if(!this.isValid||!otherDateTime.isValid)return Duration.invalid("created by diffing an invalid DateTime");let durOpts={locale:this.locale,numberingSystem:this.numberingSystem,...opts},units=maybeArray(unit).map(Duration.normalizeUnit),otherIsLater=otherDateTime.valueOf()>this.valueOf(),earlier=otherIsLater?this:otherDateTime,later=otherIsLater?otherDateTime:this,diffed=diff(earlier,later,units,durOpts);return otherIsLater?diffed.negate():diffed}diffNow(unit="milliseconds",opts={}){return this.diff(_DateTime.now(),unit,opts)}until(otherDateTime){return this.isValid?Interval.fromDateTimes(this,otherDateTime):this}hasSame(otherDateTime,unit){if(!this.isValid)return!1;let inputMs=otherDateTime.valueOf(),adjustedToZone=this.setZone(otherDateTime.zone,{keepLocalTime:!0});return adjustedToZone.startOf(unit)<=inputMs&&inputMs<=adjustedToZone.endOf(unit)}equals(other){return this.isValid&&other.isValid&&this.valueOf()===other.valueOf()&&this.zone.equals(other.zone)&&this.loc.equals(other.loc)}toRelative(options={}){if(!this.isValid)return null;let base=options.base||_DateTime.fromObject({},{zone:this.zone}),padding=options.padding?this<base?-options.padding:options.padding:0,units=["years","months","days","hours","minutes","seconds"],unit=options.unit;return Array.isArray(options.unit)&&(units=options.unit,unit=void 0),diffRelative(base,this.plus(padding),{...options,numeric:"always",units,unit})}toRelativeCalendar(options={}){return this.isValid?diffRelative(options.base||_DateTime.fromObject({},{zone:this.zone}),this,{...options,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...dateTimes){if(!dateTimes.every(_DateTime.isDateTime))throw new InvalidArgumentError("min requires all arguments be DateTimes");return bestBy(dateTimes,i=>i.valueOf(),Math.min)}static max(...dateTimes){if(!dateTimes.every(_DateTime.isDateTime))throw new InvalidArgumentError("max requires all arguments be DateTimes");return bestBy(dateTimes,i=>i.valueOf(),Math.max)}static fromFormatExplain(text,fmt,options={}){let{locale=null,numberingSystem=null}=options,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0});return explainFromTokens(localeToUse,text,fmt)}static fromStringExplain(text,fmt,options={}){return _DateTime.fromFormatExplain(text,fmt,options)}static get DATE_SHORT(){return DATE_SHORT}static get DATE_MED(){return DATE_MED}static get DATE_MED_WITH_WEEKDAY(){return DATE_MED_WITH_WEEKDAY}static get DATE_FULL(){return DATE_FULL}static get DATE_HUGE(){return DATE_HUGE}static get TIME_SIMPLE(){return TIME_SIMPLE}static get TIME_WITH_SECONDS(){return TIME_WITH_SECONDS}static get TIME_WITH_SHORT_OFFSET(){return TIME_WITH_SHORT_OFFSET}static get TIME_WITH_LONG_OFFSET(){return TIME_WITH_LONG_OFFSET}static get TIME_24_SIMPLE(){return TIME_24_SIMPLE}static get TIME_24_WITH_SECONDS(){return TIME_24_WITH_SECONDS}static get TIME_24_WITH_SHORT_OFFSET(){return TIME_24_WITH_SHORT_OFFSET}static get TIME_24_WITH_LONG_OFFSET(){return TIME_24_WITH_LONG_OFFSET}static get DATETIME_SHORT(){return DATETIME_SHORT}static get DATETIME_SHORT_WITH_SECONDS(){return DATETIME_SHORT_WITH_SECONDS}static get DATETIME_MED(){return DATETIME_MED}static get DATETIME_MED_WITH_SECONDS(){return DATETIME_MED_WITH_SECONDS}static get DATETIME_MED_WITH_WEEKDAY(){return DATETIME_MED_WITH_WEEKDAY}static get DATETIME_FULL(){return DATETIME_FULL}static get DATETIME_FULL_WITH_SECONDS(){return DATETIME_FULL_WITH_SECONDS}static get DATETIME_HUGE(){return DATETIME_HUGE}static get DATETIME_HUGE_WITH_SECONDS(){return DATETIME_HUGE_WITH_SECONDS}};function friendlyDateTime(dateTimeish){if(DateTime.isDateTime(dateTimeish))return dateTimeish;if(dateTimeish&&dateTimeish.valueOf&&isNumber(dateTimeish.valueOf()))return DateTime.fromJSDate(dateTimeish);if(dateTimeish&&typeof dateTimeish=="object")return DateTime.fromObject(dateTimeish);throw new InvalidArgumentError(`Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`)}var DEFAULT_QUERY_SETTINGS={renderNullAs:"\\-",taskCompletionTracking:!1,taskCompletionUseEmojiShorthand:!1,taskCompletionText:"completion",taskCompletionDateFormat:"yyyy-MM-dd",recursiveSubTaskCompletion:!1,warnOnEmptyResult:!0,refreshEnabled:!0,refreshInterval:2500,defaultDateFormat:"MMMM dd, yyyy",defaultDateTimeFormat:"h:mm a - MMMM dd, yyyy",maxRecursiveRenderDepth:4,tableIdColumnName:"File",tableGroupColumnName:"Group",showResultCount:!0},DEFAULT_EXPORT_SETTINGS={allowHtml:!0};({...DEFAULT_QUERY_SETTINGS,...DEFAULT_EXPORT_SETTINGS});var Success=class _Success{value;successful;constructor(value){this.value=value,this.successful=!0}map(f){return new _Success(f(this.value))}flatMap(f){return f(this.value)}mapErr(f){return this}bimap(succ,_fail){return this.map(succ)}orElse(_value){return this.value}cast(){return this}orElseThrow(_message){return this.value}},Failure=class _Failure{error;successful;constructor(error){this.error=error,this.successful=!1}map(_f){return this}flatMap(_f){return this}mapErr(f){return new _Failure(f(this.error))}bimap(_succ,fail){return this.mapErr(fail)}orElse(value){return value}cast(){return this}orElseThrow(message){throw message?new Error(message(this.error)):new Error(""+this.error)}},Result;(function(Result2){function success(value){return new Success(value)}Result2.success=success;function failure(error){return new Failure(error)}Result2.failure=failure;function flatMap2(first,second,f){return first.successful?second.successful?f(first.value,second.value):failure(second.error):failure(first.error)}Result2.flatMap2=flatMap2;function map2(first,second,f){return flatMap2(first,second,(a,b)=>success(f(a,b)))}Result2.map2=map2})(Result||(Result={}));var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},parsimmon_umd_min={exports:{}};parsimmon_umd_min.exports;(function(module3,exports2){(function(n2,t2){module3.exports=t2()})(typeof self<"u"?self:commonjsGlobal,function(){return(function(n2){var t2={};function r(e){if(t2[e])return t2[e].exports;var u=t2[e]={i:e,l:!1,exports:{}};return n2[e].call(u.exports,u,u.exports,r),u.l=!0,u.exports}return r.m=n2,r.c=t2,r.d=function(n3,t3,e){r.o(n3,t3)||Object.defineProperty(n3,t3,{configurable:!1,enumerable:!0,get:e})},r.r=function(n3){Object.defineProperty(n3,"__esModule",{value:!0})},r.n=function(n3){var t3=n3&&n3.__esModule?function(){return n3.default}:function(){return n3};return r.d(t3,"a",t3),t3},r.o=function(n3,t3){return Object.prototype.hasOwnProperty.call(n3,t3)},r.p="",r(r.s=0)})([function(n2,t2,r){function e(n3){if(!(this instanceof e))return new e(n3);this._=n3}var u=e.prototype;function o(n3,t3){for(var r2=0;r2<n3;r2++)t3(r2)}function i(n3,t3,r2){return(function(n4,t4){o(t4.length,function(r3){n4(t4[r3],r3,t4)})})(function(r3,e2,u2){t3=n3(t3,r3,e2,u2)},r2),t3}function a(n3,t3){return i(function(t4,r2,e2,u2){return t4.concat([n3(r2,e2,u2)])},[],t3)}function f(n3,t3){var r2={v:0,buf:t3};return o(n3,function(){var n4;r2={v:r2.v<<1|(n4=r2.buf,n4[0]>>7),buf:(function(n5){var t4=i(function(n6,t5,r3,e2){return n6.concat(r3===e2.length-1?Buffer.from([t5,0]).readUInt16BE(0):e2.readUInt16BE(r3))},[],n5);return Buffer.from(a(function(n6){return(n6<<1&65535)>>8},t4))})(r2.buf)}}),r2}function c(){return typeof Buffer<"u"}function s2(){if(!c())throw new Error("Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.")}function l2(n3){s2();var t3=i(function(n4,t4){return n4+t4},0,n3);if(t3%8!=0)throw new Error("The bits ["+n3.join(", ")+"] add up to "+t3+" which is not an even number of bytes; the total should be divisible by 8");var r2,u2=t3/8,o2=(r2=function(n4){return n4>48},i(function(n4,t4){return n4||(r2(t4)?t4:n4)},null,n3));if(o2)throw new Error(o2+" bit range requested exceeds 48 bit (6 byte) Number max.");return new e(function(t4,r3){var e2=u2+r3;return e2>t4.length?x(r3,u2.toString()+" bytes"):b(e2,i(function(n4,t5){var r4=f(t5,n4.buf);return{coll:n4.coll.concat(r4.v),buf:r4.buf}},{coll:[],buf:t4.slice(r3,e2)},n3).coll)})}function h(n3,t3){return new e(function(r2,e2){return s2(),e2+t3>r2.length?x(e2,t3+" bytes for "+n3):b(e2+t3,r2.slice(e2,e2+t3))})}function p(n3,t3){if(typeof(r2=t3)!="number"||Math.floor(r2)!==r2||t3<0||t3>6)throw new Error(n3+" requires integer length in range [0, 6].");var r2}function d(n3){return p("uintBE",n3),h("uintBE("+n3+")",n3).map(function(t3){return t3.readUIntBE(0,n3)})}function v(n3){return p("uintLE",n3),h("uintLE("+n3+")",n3).map(function(t3){return t3.readUIntLE(0,n3)})}function g(n3){return p("intBE",n3),h("intBE("+n3+")",n3).map(function(t3){return t3.readIntBE(0,n3)})}function m(n3){return p("intLE",n3),h("intLE("+n3+")",n3).map(function(t3){return t3.readIntLE(0,n3)})}function y(n3){return n3 instanceof e}function E(n3){return{}.toString.call(n3)==="[object Array]"}function w(n3){return c()&&Buffer.isBuffer(n3)}function b(n3,t3){return{status:!0,index:n3,value:t3,furthest:-1,expected:[]}}function x(n3,t3){return E(t3)||(t3=[t3]),{status:!1,index:-1,value:null,furthest:n3,expected:t3}}function B(n3,t3){if(!t3||n3.furthest>t3.furthest)return n3;var r2=n3.furthest===t3.furthest?(function(n4,t4){if((function(){if(e._supportsSet!==void 0)return e._supportsSet;var n5=typeof Set<"u";return e._supportsSet=n5,n5})()&&Array.from){for(var r3=new Set(n4),u2=0;u2<t4.length;u2++)r3.add(t4[u2]);var o2=Array.from(r3);return o2.sort(),o2}for(var i2={},a2=0;a2<n4.length;a2++)i2[n4[a2]]=!0;for(var f2=0;f2<t4.length;f2++)i2[t4[f2]]=!0;var c2=[];for(var s3 in i2)({}).hasOwnProperty.call(i2,s3)&&c2.push(s3);return c2.sort(),c2})(n3.expected,t3.expected):t3.expected;return{status:n3.status,index:n3.index,value:n3.value,furthest:t3.furthest,expected:r2}}var j={};function S(n3,t3){if(w(n3))return{offset:t3,line:-1,column:-1};n3 in j||(j[n3]={});for(var r2=j[n3],e2=0,u2=0,o2=0,i2=t3;i2>=0;){if(i2 in r2){e2=r2[i2].line,o2===0&&(o2=r2[i2].lineStart);break}(n3.charAt(i2)===`
`||n3.charAt(i2)==="\r"&&n3.charAt(i2+1)!==`
`)&&(u2++,o2===0&&(o2=i2+1)),i2--}var a2=e2+u2,f2=t3-o2;return r2[t3]={line:a2,lineStart:o2},{offset:t3,line:a2+1,column:f2+1}}function _(n3){if(!y(n3))throw new Error("not a parser: "+n3)}function L(n3,t3){return typeof n3=="string"?n3.charAt(t3):n3[t3]}function O(n3){if(typeof n3!="number")throw new Error("not a number: "+n3)}function k(n3){if(typeof n3!="function")throw new Error("not a function: "+n3)}function P(n3){if(typeof n3!="string")throw new Error("not a string: "+n3)}var q=2,A=3,I=8,F=5*I,M=4*I,z=" ";function R(n3,t3){return new Array(t3+1).join(n3)}function U(n3,t3,r2){var e2=t3-n3.length;return e2<=0?n3:R(r2,e2)+n3}function W(n3,t3,r2,e2){return{from:n3-t3>0?n3-t3:0,to:n3+r2>e2?e2:n3+r2}}function D(n3,t3){var r2,e2,u2,o2,f2,c2=t3.index,s3=c2.offset,l3=1;if(s3===n3.length)return"Got the end of the input";if(w(n3)){var h2=s3-s3%I,p2=s3-h2,d2=W(h2,F,M+I,n3.length),v2=a(function(n4){return a(function(n5){return U(n5.toString(16),2,"0")},n4)},(function(n4,t4){var r3=n4.length,e3=[],u3=0;if(r3<=t4)return[n4.slice()];for(var o3=0;o3<r3;o3++)e3[u3]||e3.push([]),e3[u3].push(n4[o3]),(o3+1)%t4==0&&u3++;return e3})(n3.slice(d2.from,d2.to).toJSON().data,I));o2=(function(n4){return n4.from===0&&n4.to===1?{from:n4.from,to:n4.to}:{from:n4.from/I,to:Math.floor(n4.to/I)}})(d2),e2=h2/I,r2=3*p2,p2>=4&&(r2+=1),l3=2,u2=a(function(n4){return n4.length<=4?n4.join(" "):n4.slice(0,4).join(" ")+" "+n4.slice(4).join(" ")},v2),(f2=(8*(o2.to>0?o2.to-1:o2.to)).toString(16).length)<2&&(f2=2)}else{var g2=n3.split(/\r\n|[\n\r\u2028\u2029]/);r2=c2.column-1,e2=c2.line-1,o2=W(e2,q,A,g2.length),u2=g2.slice(o2.from,o2.to),f2=o2.to.toString().length}var m2=e2-o2.from;return w(n3)&&(f2=(8*(o2.to>0?o2.to-1:o2.to)).toString(16).length)<2&&(f2=2),i(function(t4,e3,u3){var i2,a2=u3===m2,c3=a2?"> ":z;return i2=w(n3)?U((8*(o2.from+u3)).toString(16),f2,"0"):U((o2.from+u3+1).toString(),f2," "),[].concat(t4,[c3+i2+" | "+e3],a2?[z+R(" ",f2)+" | "+U("",r2," ")+R("^",l3)]:[])},[],u2).join(`
`)}function N(n3,t3){return[`
`,"-- PARSING FAILED "+R("-",50),`
`,D(n3,t3),`
`,(r2=t3.expected,r2.length===1?`Expected:
`+r2[0]:`Expected one of the following:
`+r2.join(", ")),`
`].join("");var r2}function G(n3){return n3.flags!==void 0?n3.flags:[n3.global?"g":"",n3.ignoreCase?"i":"",n3.multiline?"m":"",n3.unicode?"u":"",n3.sticky?"y":""].join("")}function C(){for(var n3=[].slice.call(arguments),t3=n3.length,r2=0;r2<t3;r2+=1)_(n3[r2]);return e(function(r3,e2){for(var u2,o2=new Array(t3),i2=0;i2<t3;i2+=1){if(!(u2=B(n3[i2]._(r3,e2),u2)).status)return u2;o2[i2]=u2.value,e2=u2.index}return B(b(e2,o2),u2)})}function J(){var n3=[].slice.call(arguments);if(n3.length===0)throw new Error("seqMap needs at least one argument");var t3=n3.pop();return k(t3),C.apply(null,n3).map(function(n4){return t3.apply(null,n4)})}function T(){var n3=[].slice.call(arguments),t3=n3.length;if(t3===0)return Y("zero alternates");for(var r2=0;r2<t3;r2+=1)_(n3[r2]);return e(function(t4,r3){for(var e2,u2=0;u2<n3.length;u2+=1)if((e2=B(n3[u2]._(t4,r3),e2)).status)return e2;return e2})}function V(n3,t3){return H(n3,t3).or(X([]))}function H(n3,t3){return _(n3),_(t3),J(n3,t3.then(n3).many(),function(n4,t4){return[n4].concat(t4)})}function K(n3){P(n3);var t3="'"+n3+"'";return e(function(r2,e2){var u2=e2+n3.length,o2=r2.slice(e2,u2);return o2===n3?b(u2,o2):x(e2,t3)})}function Q(n3,t3){(function(n4){if(!(n4 instanceof RegExp))throw new Error("not a regexp: "+n4);for(var t4=G(n4),r3=0;r3<t4.length;r3++){var e2=t4.charAt(r3);if(e2!=="i"&&e2!=="m"&&e2!=="u"&&e2!=="s")throw new Error('unsupported regexp flag "'+e2+'": '+n4)}})(n3),arguments.length>=2?O(t3):t3=0;var r2=(function(n4){return RegExp("^(?:"+n4.source+")",G(n4))})(n3),u2=""+n3;return e(function(n4,e2){var o2=r2.exec(n4.slice(e2));if(o2){if(0<=t3&&t3<=o2.length){var i2=o2[0],a2=o2[t3];return b(e2+i2.length,a2)}return x(e2,"valid match group (0 to "+o2.length+") in "+u2)}return x(e2,u2)})}function X(n3){return e(function(t3,r2){return b(r2,n3)})}function Y(n3){return e(function(t3,r2){return x(r2,n3)})}function Z(n3){if(y(n3))return e(function(t3,r2){var e2=n3._(t3,r2);return e2.index=r2,e2.value="",e2});if(typeof n3=="string")return Z(K(n3));if(n3 instanceof RegExp)return Z(Q(n3));throw new Error("not a string, regexp, or parser: "+n3)}function $(n3){return _(n3),e(function(t3,r2){var e2=n3._(t3,r2),u2=t3.slice(r2,e2.index);return e2.status?x(r2,'not "'+u2+'"'):b(r2,null)})}function nn(n3){return k(n3),e(function(t3,r2){var e2=L(t3,r2);return r2<t3.length&&n3(e2)?b(r2+1,e2):x(r2,"a character/byte matching "+n3)})}function tn(n3,t3){arguments.length<2&&(t3=n3,n3=void 0);var r2=e(function(n4,e2){return r2._=t3()._,r2._(n4,e2)});return n3?r2.desc(n3):r2}function rn(){return Y("fantasy-land/empty")}u.parse=function(n3){if(typeof n3!="string"&&!w(n3))throw new Error(".parse must be called with a string or Buffer as its argument");var t3,r2=this.skip(an)._(n3,0);return t3=r2.status?{status:!0,value:r2.value}:{status:!1,index:S(n3,r2.furthest),expected:r2.expected},delete j[n3],t3},u.tryParse=function(n3){var t3=this.parse(n3);if(t3.status)return t3.value;var r2=N(n3,t3),e2=new Error(r2);throw e2.type="ParsimmonError",e2.result=t3,e2},u.assert=function(n3,t3){return this.chain(function(r2){return n3(r2)?X(r2):Y(t3)})},u.or=function(n3){return T(this,n3)},u.trim=function(n3){return this.wrap(n3,n3)},u.wrap=function(n3,t3){return J(n3,this,t3,function(n4,t4){return t4})},u.thru=function(n3){return n3(this)},u.then=function(n3){return _(n3),C(this,n3).map(function(n4){return n4[1]})},u.many=function(){var n3=this;return e(function(t3,r2){for(var e2=[],u2=void 0;;){if(!(u2=B(n3._(t3,r2),u2)).status)return B(b(r2,e2),u2);if(r2===u2.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");r2=u2.index,e2.push(u2.value)}})},u.tieWith=function(n3){return P(n3),this.map(function(t3){if((function(n4){if(!E(n4))throw new Error("not an array: "+n4)})(t3),t3.length){P(t3[0]);for(var r2=t3[0],e2=1;e2<t3.length;e2++)P(t3[e2]),r2+=n3+t3[e2];return r2}return""})},u.tie=function(){return this.tieWith("")},u.times=function(n3,t3){var r2=this;return arguments.length<2&&(t3=n3),O(n3),O(t3),e(function(e2,u2){for(var o2=[],i2=void 0,a2=void 0,f2=0;f2<n3;f2+=1){if(a2=B(i2=r2._(e2,u2),a2),!i2.status)return a2;u2=i2.index,o2.push(i2.value)}for(;f2<t3&&(a2=B(i2=r2._(e2,u2),a2),i2.status);f2+=1)u2=i2.index,o2.push(i2.value);return B(b(u2,o2),a2)})},u.result=function(n3){return this.map(function(){return n3})},u.atMost=function(n3){return this.times(0,n3)},u.atLeast=function(n3){return J(this.times(n3),this.many(),function(n4,t3){return n4.concat(t3)})},u.map=function(n3){k(n3);var t3=this;return e(function(r2,e2){var u2=t3._(r2,e2);return u2.status?B(b(u2.index,n3(u2.value)),u2):u2})},u.contramap=function(n3){k(n3);var t3=this;return e(function(r2,e2){var u2=t3.parse(n3(r2.slice(e2)));return u2.status?b(e2+r2.length,u2.value):u2})},u.promap=function(n3,t3){return k(n3),k(t3),this.contramap(n3).map(t3)},u.skip=function(n3){return C(this,n3).map(function(n4){return n4[0]})},u.mark=function(){return J(en,this,en,function(n3,t3,r2){return{start:n3,value:t3,end:r2}})},u.node=function(n3){return J(en,this,en,function(t3,r2,e2){return{name:n3,value:r2,start:t3,end:e2}})},u.sepBy=function(n3){return V(this,n3)},u.sepBy1=function(n3){return H(this,n3)},u.lookahead=function(n3){return this.skip(Z(n3))},u.notFollowedBy=function(n3){return this.skip($(n3))},u.desc=function(n3){E(n3)||(n3=[n3]);var t3=this;return e(function(r2,e2){var u2=t3._(r2,e2);return u2.status||(u2.expected=n3),u2})},u.fallback=function(n3){return this.or(X(n3))},u.ap=function(n3){return J(n3,this,function(n4,t3){return n4(t3)})},u.chain=function(n3){var t3=this;return e(function(r2,e2){var u2=t3._(r2,e2);return u2.status?B(n3(u2.value)._(r2,u2.index),u2):u2})},u.concat=u.or,u.empty=rn,u.of=X,u["fantasy-land/ap"]=u.ap,u["fantasy-land/chain"]=u.chain,u["fantasy-land/concat"]=u.concat,u["fantasy-land/empty"]=u.empty,u["fantasy-land/of"]=u.of,u["fantasy-land/map"]=u.map;var en=e(function(n3,t3){return b(t3,S(n3,t3))}),un=e(function(n3,t3){return t3>=n3.length?x(t3,"any character/byte"):b(t3+1,L(n3,t3))}),on=e(function(n3,t3){return b(n3.length,n3.slice(t3))}),an=e(function(n3,t3){return t3<n3.length?x(t3,"EOF"):b(t3,null)}),fn=Q(/[0-9]/).desc("a digit"),cn=Q(/[0-9]*/).desc("optional digits"),sn=Q(/[a-z]/i).desc("a letter"),ln=Q(/[a-z]*/i).desc("optional letters"),hn=Q(/\s*/).desc("optional whitespace"),pn=Q(/\s+/).desc("whitespace"),dn=K("\r"),vn=K(`
`),gn=K(`\r
`),mn=T(gn,vn,dn).desc("newline"),yn=T(mn,an);e.all=on,e.alt=T,e.any=un,e.cr=dn,e.createLanguage=function(n3){var t3={};for(var r2 in n3)({}).hasOwnProperty.call(n3,r2)&&(function(r3){t3[r3]=tn(function(){return n3[r3](t3)})})(r2);return t3},e.crlf=gn,e.custom=function(n3){return e(n3(b,x))},e.digit=fn,e.digits=cn,e.empty=rn,e.end=yn,e.eof=an,e.fail=Y,e.formatError=N,e.index=en,e.isParser=y,e.lazy=tn,e.letter=sn,e.letters=ln,e.lf=vn,e.lookahead=Z,e.makeFailure=x,e.makeSuccess=b,e.newline=mn,e.noneOf=function(n3){return nn(function(t3){return n3.indexOf(t3)<0}).desc("none of '"+n3+"'")},e.notFollowedBy=$,e.of=X,e.oneOf=function(n3){for(var t3=n3.split(""),r2=0;r2<t3.length;r2++)t3[r2]="'"+t3[r2]+"'";return nn(function(t4){return n3.indexOf(t4)>=0}).desc(t3)},e.optWhitespace=hn,e.Parser=e,e.range=function(n3,t3){return nn(function(r2){return n3<=r2&&r2<=t3}).desc(n3+"-"+t3)},e.regex=Q,e.regexp=Q,e.sepBy=V,e.sepBy1=H,e.seq=C,e.seqMap=J,e.seqObj=function(){for(var n3,t3={},r2=0,u2=(n3=arguments,Array.prototype.slice.call(n3)),o2=u2.length,i2=0;i2<o2;i2+=1){var a2=u2[i2];if(!y(a2)){if(E(a2)&&a2.length===2&&typeof a2[0]=="string"&&y(a2[1])){var f2=a2[0];if(Object.prototype.hasOwnProperty.call(t3,f2))throw new Error("seqObj: duplicate key "+f2);t3[f2]=!0,r2++;continue}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(r2===0)throw new Error("seqObj expects at least one named parser, found zero");return e(function(n4,t4){for(var r3,e2={},i3=0;i3<o2;i3+=1){var a3,f3;if(E(u2[i3])?(a3=u2[i3][0],f3=u2[i3][1]):(a3=null,f3=u2[i3]),!(r3=B(f3._(n4,t4),r3)).status)return r3;a3&&(e2[a3]=r3.value),t4=r3.index}return B(b(t4,e2),r3)})},e.string=K,e.succeed=X,e.takeWhile=function(n3){return k(n3),e(function(t3,r2){for(var e2=r2;e2<t3.length&&n3(L(t3,e2));)e2++;return b(e2,t3.slice(r2,e2))})},e.test=nn,e.whitespace=pn,e["fantasy-land/empty"]=rn,e["fantasy-land/of"]=X,e.Binary={bitSeq:l2,bitSeqObj:function(n3){s2();var t3={},r2=0,e2=a(function(n4){if(E(n4)){var e3=n4;if(e3.length!==2)throw new Error("["+e3.join(", ")+"] should be length 2, got length "+e3.length);if(P(e3[0]),O(e3[1]),Object.prototype.hasOwnProperty.call(t3,e3[0]))throw new Error("duplicate key in bitSeqObj: "+e3[0]);return t3[e3[0]]=!0,r2++,e3}return O(n4),[null,n4]},n3);if(r2<1)throw new Error("bitSeqObj expects at least one named pair, got ["+n3.join(", ")+"]");var u2=a(function(n4){return n4[0]},e2);return l2(a(function(n4){return n4[1]},e2)).map(function(n4){return i(function(n5,t4){return t4[0]!==null&&(n5[t4[0]]=t4[1]),n5},{},a(function(t4,r3){return[t4,n4[r3]]},u2))})},byte:function(n3){if(s2(),O(n3),n3>255)throw new Error("Value specified to byte constructor ("+n3+"=0x"+n3.toString(16)+") is larger in value than a single byte.");var t3=(n3>15?"0x":"0x0")+n3.toString(16);return e(function(r2,e2){var u2=L(r2,e2);return u2===n3?b(e2+1,u2):x(e2,t3)})},buffer:function(n3){return h("buffer",n3).map(function(n4){return Buffer.from(n4)})},encodedString:function(n3,t3){return h("string",t3).map(function(t4){return t4.toString(n3)})},uintBE:d,uint8BE:d(1),uint16BE:d(2),uint32BE:d(4),uintLE:v,uint8LE:v(1),uint16LE:v(2),uint32LE:v(4),intBE:g,int8BE:g(1),int16BE:g(2),int32BE:g(4),intLE:m,int8LE:m(1),int16LE:m(2),int32LE:m(4),floatBE:h("floatBE",4).map(function(n3){return n3.readFloatBE(0)}),floatLE:h("floatLE",4).map(function(n3){return n3.readFloatLE(0)}),doubleBE:h("doubleBE",8).map(function(n3){return n3.readDoubleBE(0)}),doubleLE:h("doubleLE",8).map(function(n3){return n3.readDoubleLE(0)})},n2.exports=e}])})})(parsimmon_umd_min,parsimmon_umd_min.exports);var parsimmon_umd_minExports=parsimmon_umd_min.exports,emojiRegex=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC08\uDC26](?:\u200D\u2B1B)?|[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function normalizeDuration(dur){return dur==null?dur:dur.shiftToAll().normalize()}function getFileTitle(path){return path.includes("/")&&(path=path.substring(path.lastIndexOf("/")+1)),path.endsWith(".md")&&(path=path.substring(0,path.length-3)),path}parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regex(new RegExp(emojiRegex(),"")),parsimmon_umd_minExports.regex(/[0-9\p{Letter}_-]+/u).map(str=>str.toLocaleLowerCase()),parsimmon_umd_minExports.whitespace.map(_=>"-"),parsimmon_umd_minExports.any.map(_=>"")).many().map(result=>result.join(""));var HEADER_CANONICALIZER=parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regex(new RegExp(emojiRegex(),"")),parsimmon_umd_minExports.regex(/[0-9\p{Letter}_-]+/u),parsimmon_umd_minExports.whitespace.map(_=>" "),parsimmon_umd_minExports.any.map(_=>" ")).many().map(result=>result.join("").split(/\s+/).join(" ").trim());function normalizeHeaderForLink(header){return HEADER_CANONICALIZER.tryParse(header)}function renderMinimalDuration(dur){return dur=normalizeDuration(dur),dur=Duration.fromObject(Object.fromEntries(Object.entries(dur.toObject()).filter(([,quantity])=>quantity!=0))),dur.toHuman()}exports.Values=void 0;(function(Values){function toString(field,setting=DEFAULT_QUERY_SETTINGS,recursive=!1){let wrapped=wrapValue(field);if(!wrapped)return setting.renderNullAs;switch(wrapped.type){case"null":return setting.renderNullAs;case"string":return wrapped.value;case"number":case"boolean":return""+wrapped.value;case"html":return wrapped.value.outerHTML;case"widget":return wrapped.value.markdown();case"link":return wrapped.value.markdown();case"function":return"<function>";case"array":let result="";return recursive&&(result+="["),result+=wrapped.value.map(f=>toString(f,setting,!0)).join(", "),recursive&&(result+="]"),result;case"object":return"{ "+Object.entries(wrapped.value).map(e=>e[0]+": "+toString(e[1],setting,!0)).join(", ")+" }";case"date":return wrapped.value.second==0&&wrapped.value.hour==0&&wrapped.value.minute==0?wrapped.value.toFormat(setting.defaultDateFormat):wrapped.value.toFormat(setting.defaultDateTimeFormat);case"duration":return renderMinimalDuration(wrapped.value)}}Values.toString=toString;function wrapValue(val){return isNull(val)?{type:"null",value:val}:isNumber2(val)?{type:"number",value:val}:isString3(val)?{type:"string",value:val}:isBoolean(val)?{type:"boolean",value:val}:isDuration(val)?{type:"duration",value:val}:isDate2(val)?{type:"date",value:val}:isWidget(val)?{type:"widget",value:val}:isArray(val)?{type:"array",value:val}:isLink(val)?{type:"link",value:val}:isFunction(val)?{type:"function",value:val}:isHtml(val)?{type:"html",value:val}:isObject2(val)?{type:"object",value:val}:void 0}Values.wrapValue=wrapValue;function mapLeaves(val,func){if(isObject2(val)){let result={};for(let[key,value]of Object.entries(val))result[key]=mapLeaves(value,func);return result}else if(isArray(val)){let result=[];for(let value of val)result.push(mapLeaves(value,func));return result}else return func(val)}Values.mapLeaves=mapLeaves;function compareValue(val1,val2,linkNormalizer){if(val1===void 0&&(val1=null),val2===void 0&&(val2=null),val1===null&&val2===null)return 0;if(val1===null)return-1;if(val2===null)return 1;let wrap1=wrapValue(val1),wrap2=wrapValue(val2);if(wrap1===void 0&&wrap2===void 0)return 0;if(wrap1===void 0)return-1;if(wrap2===void 0)return 1;if(wrap1.type!=wrap2.type)return wrap1.type.localeCompare(wrap2.type);if(wrap1.value===wrap2.value)return 0;switch(wrap1.type){case"string":return wrap1.value.localeCompare(wrap2.value);case"number":return wrap1.value<wrap2.value?-1:wrap1.value==wrap2.value?0:1;case"null":return 0;case"boolean":return wrap1.value==wrap2.value?0:wrap1.value?1:-1;case"link":let link1=wrap1.value,link2=wrap2.value,normalize=linkNormalizer??(x=>x),pathCompare=normalize(link1.path).localeCompare(normalize(link2.path));if(pathCompare!=0)return pathCompare;let typeCompare=link1.type.localeCompare(link2.type);return typeCompare!=0?typeCompare:link1.subpath&&!link2.subpath?1:!link1.subpath&&link2.subpath?-1:!link1.subpath&&!link2.subpath?0:(link1.subpath??"").localeCompare(link2.subpath??"");case"date":return wrap1.value<wrap2.value?-1:wrap1.value.equals(wrap2.value)?0:1;case"duration":return wrap1.value<wrap2.value?-1:wrap1.value.equals(wrap2.value)?0:1;case"array":let f1=wrap1.value,f2=wrap2.value;for(let index=0;index<Math.min(f1.length,f2.length);index++){let comp=compareValue(f1[index],f2[index]);if(comp!=0)return comp}return f1.length-f2.length;case"object":let o1=wrap1.value,o2=wrap2.value,k1=Array.from(Object.keys(o1)),k2=Array.from(Object.keys(o2));k1.sort(),k2.sort();let keyCompare=compareValue(k1,k2);if(keyCompare!=0)return keyCompare;for(let key of k1){let comp=compareValue(o1[key],o2[key]);if(comp!=0)return comp}return 0;case"widget":case"html":case"function":return 0}}Values.compareValue=compareValue;function typeOf(val){return wrapValue(val)?.type}Values.typeOf=typeOf;function isTruthy(field){let wrapped=wrapValue(field);if(!wrapped)return!1;switch(wrapped.type){case"number":return wrapped.value!=0;case"string":return wrapped.value.length>0;case"boolean":return wrapped.value;case"link":return!!wrapped.value.path;case"date":return wrapped.value.toMillis()!=0;case"duration":return wrapped.value.as("seconds")!=0;case"object":return Object.keys(wrapped.value).length>0;case"array":return wrapped.value.length>0;case"null":return!1;case"html":case"widget":case"function":return!0}}Values.isTruthy=isTruthy;function deepCopy(field){if(field==null)return field;if(Values.isArray(field))return[].concat(field.map(v=>deepCopy(v)));if(Values.isObject(field)){let result={};for(let[key,value]of Object.entries(field))result[key]=deepCopy(value);return result}else return field}Values.deepCopy=deepCopy;function isString3(val){return typeof val=="string"}Values.isString=isString3;function isNumber2(val){return typeof val=="number"}Values.isNumber=isNumber2;function isDate2(val){return val instanceof DateTime}Values.isDate=isDate2;function isDuration(val){return val instanceof Duration}Values.isDuration=isDuration;function isNull(val){return val==null}Values.isNull=isNull;function isArray(val){return Array.isArray(val)}Values.isArray=isArray;function isBoolean(val){return typeof val=="boolean"}Values.isBoolean=isBoolean;function isLink(val){return val instanceof Link}Values.isLink=isLink;function isWidget(val){return val instanceof Widget}Values.isWidget=isWidget;function isHtml(val){return typeof HTMLElement<"u"?val instanceof HTMLElement:!1}Values.isHtml=isHtml;function isObject2(val){return typeof val=="object"&&!isHtml(val)&&!isWidget(val)&&!isArray(val)&&!isDuration(val)&&!isDate2(val)&&!isLink(val)&&val!==void 0&&!isNull(val)}Values.isObject=isObject2;function isFunction(val){return typeof val=="function"}Values.isFunction=isFunction})(exports.Values||(exports.Values={}));var Groupings;(function(Groupings2){function isElementGroup(entry){return exports.Values.isObject(entry)&&Object.keys(entry).length==2&&"key"in entry&&"rows"in entry}Groupings2.isElementGroup=isElementGroup;function isGrouping(entry){for(let element of entry)if(!isElementGroup(element))return!1;return!0}Groupings2.isGrouping=isGrouping;function count(elements){if(isGrouping(elements)){let result=0;for(let subgroup of elements)result+=count(subgroup.rows);return result}else return elements.length}Groupings2.count=count})(Groupings||(Groupings={}));var Link=class _Link{path;display;subpath;embed;type;static file(path,embed=!1,display){return new _Link({path,embed,display,subpath:void 0,type:"file"})}static infer(linkpath,embed=!1,display){if(linkpath.includes("#^")){let split=linkpath.split("#^");return _Link.block(split[0],split[1],embed,display)}else if(linkpath.includes("#")){let split=linkpath.split("#");return _Link.header(split[0],split[1],embed,display)}else return _Link.file(linkpath,embed,display)}static header(path,header,embed,display){return new _Link({path,embed,display,subpath:normalizeHeaderForLink(header),type:"header"})}static block(path,blockId,embed,display){return new _Link({path,embed,display,subpath:blockId,type:"block"})}static fromObject(object){return new _Link(object)}constructor(fields){Object.assign(this,fields)}equals(other){return other==null||other==null?!1:this.path==other.path&&this.type==other.type&&this.subpath==other.subpath}toString(){return this.markdown()}toObject(){return{path:this.path,type:this.type,subpath:this.subpath,display:this.display,embed:this.embed}}withPath(path){return new _Link(Object.assign({},this,{path}))}withDisplay(display){return new _Link(Object.assign({},this,{display}))}withHeader(header){return _Link.header(this.path,header,this.embed,this.display)}toFile(){return _Link.file(this.path,this.embed,this.display)}toEmbed(){if(this.embed)return this;{let link=new _Link(this);return link.embed=!0,link}}fromEmbed(){if(this.embed){let link=new _Link(this);return link.embed=!1,link}else return this}markdown(){let result=(this.embed?"!":"")+"[["+this.obsidianLink();return this.display?result+="|"+this.display:(result+="|"+getFileTitle(this.path),(this.type=="header"||this.type=="block")&&(result+=" > "+this.subpath)),result+="]]",result}obsidianLink(){let escaped=this.path.replaceAll("|","\\|");return this.type=="header"?escaped+"#"+this.subpath?.replaceAll("|","\\|"):this.type=="block"?escaped+"#^"+this.subpath?.replaceAll("|","\\|"):escaped}fileName(){return getFileTitle(this.path).replace(".md","")}},Widget=class{$widget;constructor($widget){this.$widget=$widget}},ListPairWidget=class extends Widget{key;value;constructor(key,value){super("dataview:list-pair"),this.key=key,this.value=value}markdown(){return`${exports.Values.toString(this.key)}: ${exports.Values.toString(this.value)}`}},ExternalLinkWidget=class extends Widget{url;display;constructor(url,display){super("dataview:external-link"),this.url=url,this.display=display}markdown(){return`[${this.display??this.url}](${this.url})`}},Widgets;(function(Widgets2){function listPair(key,value){return new ListPairWidget(key,value)}Widgets2.listPair=listPair;function externalLink(url,display){return new ExternalLinkWidget(url,display)}Widgets2.externalLink=externalLink;function isListPair(widget){return widget.$widget==="dataview:list-pair"}Widgets2.isListPair=isListPair;function isExternalLink(widget){return widget.$widget==="dataview:external-link"}Widgets2.isExternalLink=isExternalLink;function isBuiltin(widget){return isListPair(widget)||isExternalLink(widget)}Widgets2.isBuiltin=isBuiltin})(Widgets||(Widgets={}));var Fields;(function(Fields2){function variable(name){return{type:"variable",name}}Fields2.variable=variable;function literal(value){return{type:"literal",value}}Fields2.literal=literal;function binaryOp(left,op,right){return{type:"binaryop",left,op,right}}Fields2.binaryOp=binaryOp;function index(obj,index2){return{type:"index",object:obj,index:index2}}Fields2.index=index;function indexVariable(name){let parts=name.split("."),result=Fields2.variable(parts[0]);for(let index2=1;index2<parts.length;index2++)result=Fields2.index(result,Fields2.literal(parts[index2]));return result}Fields2.indexVariable=indexVariable;function lambda(args,value){return{type:"lambda",arguments:args,value}}Fields2.lambda=lambda;function func(func2,args){return{type:"function",func:func2,arguments:args}}Fields2.func=func;function list(values){return{type:"list",values}}Fields2.list=list;function object(values){return{type:"object",values}}Fields2.object=object;function negate(child){return{type:"negated",child}}Fields2.negate=negate;function isCompareOp(op){return op=="<="||op=="<"||op==">"||op==">="||op=="!="||op=="="}Fields2.isCompareOp=isCompareOp,Fields2.NULL=Fields2.literal(null)})(Fields||(Fields={}));var Sources;(function(Sources2){function tag(tag2){return{type:"tag",tag:tag2}}Sources2.tag=tag;function csv(path){return{type:"csv",path}}Sources2.csv=csv;function folder(prefix){return{type:"folder",folder:prefix}}Sources2.folder=folder;function link(file,incoming){return{type:"link",file,direction:incoming?"incoming":"outgoing"}}Sources2.link=link;function binaryOp(left,op,right){return{type:"binaryop",left,op,right}}Sources2.binaryOp=binaryOp;function and(left,right){return{type:"binaryop",left,op:"&",right}}Sources2.and=and;function or(left,right){return{type:"binaryop",left,op:"|",right}}Sources2.or=or;function negate(child){return{type:"negate",child}}Sources2.negate=negate;function empty(){return{type:"empty"}}Sources2.empty=empty})(Sources||(Sources={}));var EMOJI_REGEX=new RegExp(emojiRegex(),""),DURATION_TYPES={year:Duration.fromObject({years:1}),years:Duration.fromObject({years:1}),yr:Duration.fromObject({years:1}),yrs:Duration.fromObject({years:1}),month:Duration.fromObject({months:1}),months:Duration.fromObject({months:1}),mo:Duration.fromObject({months:1}),mos:Duration.fromObject({months:1}),week:Duration.fromObject({weeks:1}),weeks:Duration.fromObject({weeks:1}),wk:Duration.fromObject({weeks:1}),wks:Duration.fromObject({weeks:1}),w:Duration.fromObject({weeks:1}),day:Duration.fromObject({days:1}),days:Duration.fromObject({days:1}),d:Duration.fromObject({days:1}),hour:Duration.fromObject({hours:1}),hours:Duration.fromObject({hours:1}),hr:Duration.fromObject({hours:1}),hrs:Duration.fromObject({hours:1}),h:Duration.fromObject({hours:1}),minute:Duration.fromObject({minutes:1}),minutes:Duration.fromObject({minutes:1}),min:Duration.fromObject({minutes:1}),mins:Duration.fromObject({minutes:1}),m:Duration.fromObject({minutes:1}),second:Duration.fromObject({seconds:1}),seconds:Duration.fromObject({seconds:1}),sec:Duration.fromObject({seconds:1}),secs:Duration.fromObject({seconds:1}),s:Duration.fromObject({seconds:1})},DATE_SHORTHANDS={now:()=>DateTime.local(),today:()=>DateTime.local().startOf("day"),yesterday:()=>DateTime.local().startOf("day").minus(Duration.fromObject({days:1})),tomorrow:()=>DateTime.local().startOf("day").plus(Duration.fromObject({days:1})),sow:()=>DateTime.local().startOf("week"),"start-of-week":()=>DateTime.local().startOf("week"),eow:()=>DateTime.local().endOf("week"),"end-of-week":()=>DateTime.local().endOf("week"),soy:()=>DateTime.local().startOf("year"),"start-of-year":()=>DateTime.local().startOf("year"),eoy:()=>DateTime.local().endOf("year"),"end-of-year":()=>DateTime.local().endOf("year"),som:()=>DateTime.local().startOf("month"),"start-of-month":()=>DateTime.local().startOf("month"),eom:()=>DateTime.local().endOf("month"),"end-of-month":()=>DateTime.local().endOf("month")},KEYWORDS=["FROM","WHERE","LIMIT","GROUP","FLATTEN"];function splitOnUnescapedPipe(link){let pipe=-1;for(;(pipe=link.indexOf("|",pipe+1))>=0;)if(!(pipe>0&&link[pipe-1]=="\\"))return[link.substring(0,pipe).replace(/\\\|/g,"|"),link.substring(pipe+1)];return[link.replace(/\\\|/g,"|"),void 0]}function parseInnerLink(rawlink){let[link,display]=splitOnUnescapedPipe(rawlink);return Link.infer(link,!1,display)}function createBinaryParser(child,sep2,combine){return parsimmon_umd_minExports.seqMap(child,parsimmon_umd_minExports.seq(parsimmon_umd_minExports.optWhitespace,sep2,parsimmon_umd_minExports.optWhitespace,child).many(),(first,rest)=>{if(rest.length==0)return first;let node=combine(first,rest[0][1],rest[0][3]);for(let index=1;index<rest.length;index++)node=combine(node,rest[index][1],rest[index][3]);return node})}function chainOpt(base,...funcs){return parsimmon_umd_minExports.custom((success,failure)=>(input,i)=>{let result=base._(input,i);if(!result.status)return result;for(let func of funcs){let next=func(result.value)._(input,result.index);if(!next.status)return result;result=next}return result})}var EXPRESSION=parsimmon_umd_minExports.createLanguage({number:q=>parsimmon_umd_minExports.regexp(/-?[0-9]+(\.[0-9]+)?/).map(str=>Number.parseFloat(str)).desc("number"),string:q=>parsimmon_umd_minExports.string('"').then(parsimmon_umd_minExports.alt(q.escapeCharacter,parsimmon_umd_minExports.noneOf('"\\')).atLeast(0).map(chars2=>chars2.join(""))).skip(parsimmon_umd_minExports.string('"')).desc("string"),escapeCharacter:_=>parsimmon_umd_minExports.string("\\").then(parsimmon_umd_minExports.any).map(escaped=>escaped==='"'?'"':escaped==="\\"?"\\":"\\"+escaped),bool:_=>parsimmon_umd_minExports.regexp(/true|false|True|False/).map(str=>str.toLowerCase()=="true").desc("boolean ('true' or 'false')"),tag:_=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("#"),parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regexp(/[^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]/).desc("text")).many(),(start,rest)=>start+rest.join("")).desc("tag ('#hello/stuff')"),identifier:_=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regexp(/\p{Letter}/u),parsimmon_umd_minExports.regexp(EMOJI_REGEX).desc("text")),parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regexp(/[0-9\p{Letter}_-]/u),parsimmon_umd_minExports.regexp(EMOJI_REGEX).desc("text")).many(),(first,rest)=>first+rest.join("")).desc("variable identifier"),link:_=>parsimmon_umd_minExports.regexp(/\[\[([^\[\]]*?)\]\]/u,1).map(linkInner=>parseInnerLink(linkInner)).desc("file link"),embedLink:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("!").atMost(1),q.link,(p,l2)=>(p.length>0&&(l2.embed=!0),l2)).desc("file link"),binaryPlusMinus:_=>parsimmon_umd_minExports.regexp(/\+|-/).map(str=>str).desc("'+' or '-'"),binaryMulDiv:_=>parsimmon_umd_minExports.regexp(/\*|\/|%/).map(str=>str).desc("'*' or '/' or '%'"),binaryCompareOp:_=>parsimmon_umd_minExports.regexp(/>=|<=|!=|>|<|=/).map(str=>str).desc("'>=' or '<=' or '!=' or '=' or '>' or '<'"),binaryBooleanOp:_=>parsimmon_umd_minExports.regexp(/and|or|&|\|/i).map(str=>str.toLowerCase()=="and"?"&":str.toLowerCase()=="or"?"|":str).desc("'and' or 'or'"),rootDate:_=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/\d{4}/),parsimmon_umd_minExports.string("-"),parsimmon_umd_minExports.regexp(/\d{2}/),(year,_2,month)=>DateTime.fromObject({year:Number.parseInt(year),month:Number.parseInt(month)})).desc("date in format YYYY-MM[-DDTHH-MM-SS.MS]"),dateShorthand:_=>parsimmon_umd_minExports.alt(...Object.keys(DATE_SHORTHANDS).sort((a,b)=>b.length-a.length).map(parsimmon_umd_minExports.string)),date:q=>chainOpt(q.rootDate,ym=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("-"),parsimmon_umd_minExports.regexp(/\d{2}/),(_,day)=>ym.set({day:Number.parseInt(day)})),ymd=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("T"),parsimmon_umd_minExports.regexp(/\d{2}/),(_,hour)=>ymd.set({hour:Number.parseInt(hour)})),ymdh=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string(":"),parsimmon_umd_minExports.regexp(/\d{2}/),(_,minute)=>ymdh.set({minute:Number.parseInt(minute)})),ymdhm=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string(":"),parsimmon_umd_minExports.regexp(/\d{2}/),(_,second)=>ymdhm.set({second:Number.parseInt(second)})),ymdhms=>parsimmon_umd_minExports.alt(parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("."),parsimmon_umd_minExports.regexp(/\d{3}/),(_,millisecond)=>ymdhms.set({millisecond:Number.parseInt(millisecond)})),parsimmon_umd_minExports.succeed(ymdhms)),dt=>parsimmon_umd_minExports.alt(parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("+").or(parsimmon_umd_minExports.string("-")),parsimmon_umd_minExports.regexp(/\d{1,2}(:\d{2})?/),(pm,hr)=>dt.setZone("UTC"+pm+hr,{keepLocalTime:!0})),parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("Z"),()=>dt.setZone("utc",{keepLocalTime:!0})),parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("["),parsimmon_umd_minExports.regexp(/[0-9A-Za-z+-\/]+/u),parsimmon_umd_minExports.string("]"),(_a,zone,_b)=>dt.setZone(zone,{keepLocalTime:!0})))).assert(dt=>dt.isValid,"valid date").desc("date in format YYYY-MM[-DDTHH-MM-SS.MS]"),datePlus:q=>parsimmon_umd_minExports.alt(q.dateShorthand.map(d=>DATE_SHORTHANDS[d]()),q.date).desc("date in format YYYY-MM[-DDTHH-MM-SS.MS] or in shorthand"),durationType:_=>parsimmon_umd_minExports.alt(...Object.keys(DURATION_TYPES).sort((a,b)=>b.length-a.length).map(parsimmon_umd_minExports.string)),duration:q=>parsimmon_umd_minExports.seqMap(q.number,parsimmon_umd_minExports.optWhitespace,q.durationType,(count,_,t2)=>DURATION_TYPES[t2].mapUnits(x=>x*count)).sepBy1(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace).or(parsimmon_umd_minExports.optWhitespace)).map(durations=>durations.reduce((p,c)=>p.plus(c))).desc("duration like 4hr2min"),rawNull:_=>parsimmon_umd_minExports.string("null"),tagSource:q=>q.tag.map(tag=>Sources.tag(tag)),csvSource:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("csv(").skip(parsimmon_umd_minExports.optWhitespace),q.string,parsimmon_umd_minExports.string(")"),(_1,path,_2)=>Sources.csv(path)),linkIncomingSource:q=>q.link.map(link=>Sources.link(link.path,!0)),linkOutgoingSource:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("outgoing(").skip(parsimmon_umd_minExports.optWhitespace),q.link,parsimmon_umd_minExports.string(")"),(_1,link,_2)=>Sources.link(link.path,!1)),folderSource:q=>q.string.map(str=>Sources.folder(str)),parensSource:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("("),parsimmon_umd_minExports.optWhitespace,q.source,parsimmon_umd_minExports.optWhitespace,parsimmon_umd_minExports.string(")"),(_1,_2,field,_3,_4)=>field),negateSource:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.alt(parsimmon_umd_minExports.string("-"),parsimmon_umd_minExports.string("!")),q.atomSource,(_,source)=>Sources.negate(source)),atomSource:q=>parsimmon_umd_minExports.alt(q.parensSource,q.negateSource,q.linkOutgoingSource,q.linkIncomingSource,q.folderSource,q.tagSource,q.csvSource),binaryOpSource:q=>createBinaryParser(q.atomSource,q.binaryBooleanOp.map(s2=>s2),Sources.binaryOp),source:q=>q.binaryOpSource,variableField:q=>q.identifier.chain(r=>KEYWORDS.includes(r.toUpperCase())?parsimmon_umd_minExports.fail("Variable fields cannot be a keyword ("+KEYWORDS.join(" or ")+")"):parsimmon_umd_minExports.succeed(Fields.variable(r))).desc("variable"),numberField:q=>q.number.map(val=>Fields.literal(val)).desc("number"),stringField:q=>q.string.map(val=>Fields.literal(val)).desc("string"),boolField:q=>q.bool.map(val=>Fields.literal(val)).desc("boolean"),dateField:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("date("),parsimmon_umd_minExports.optWhitespace,q.datePlus,parsimmon_umd_minExports.optWhitespace,parsimmon_umd_minExports.string(")"),(prefix,_1,date,_2,postfix)=>Fields.literal(date)).desc("date"),durationField:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("dur("),parsimmon_umd_minExports.optWhitespace,q.duration,parsimmon_umd_minExports.optWhitespace,parsimmon_umd_minExports.string(")"),(prefix,_1,dur,_2,postfix)=>Fields.literal(dur)).desc("duration"),nullField:q=>q.rawNull.map(_=>Fields.NULL),linkField:q=>q.link.map(f=>Fields.literal(f)),listField:q=>q.field.sepBy(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)).wrap(parsimmon_umd_minExports.string("[").skip(parsimmon_umd_minExports.optWhitespace),parsimmon_umd_minExports.optWhitespace.then(parsimmon_umd_minExports.string("]"))).map(l2=>Fields.list(l2)).desc("list ('[1, 2, 3]')"),objectField:q=>parsimmon_umd_minExports.seqMap(q.identifier.or(q.string),parsimmon_umd_minExports.string(":").trim(parsimmon_umd_minExports.optWhitespace),q.field,(name,_sep,value)=>({name,value})).sepBy(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)).wrap(parsimmon_umd_minExports.string("{").skip(parsimmon_umd_minExports.optWhitespace),parsimmon_umd_minExports.optWhitespace.then(parsimmon_umd_minExports.string("}"))).map(vals=>{let res={};for(let entry of vals)res[entry.name]=entry.value;return Fields.object(res)}).desc("object ('{ a: 1, b: 2 }')"),atomInlineField:q=>parsimmon_umd_minExports.alt(q.date,q.duration.map(d=>normalizeDuration(d)),q.string,q.tag,q.embedLink,q.bool,q.number,q.rawNull),inlineFieldList:q=>q.atomInlineField.sepBy(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace).lookahead(q.atomInlineField)),inlineField:q=>parsimmon_umd_minExports.alt(parsimmon_umd_minExports.seqMap(q.atomInlineField,parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace),q.inlineFieldList,(f,_s,l2)=>[f].concat(l2)),q.atomInlineField),atomField:q=>parsimmon_umd_minExports.alt(q.embedLink.map(l2=>Fields.literal(l2)),q.negatedField,q.linkField,q.listField,q.objectField,q.lambdaField,q.parensField,q.boolField,q.numberField,q.stringField,q.dateField,q.durationField,q.nullField,q.variableField),indexField:q=>parsimmon_umd_minExports.seqMap(q.atomField,parsimmon_umd_minExports.alt(q.dotPostfix,q.indexPostfix,q.functionPostfix).many(),(obj,postfixes)=>{let result=obj;for(let post of postfixes)switch(post.type){case"dot":result=Fields.index(result,Fields.literal(post.field));break;case"index":result=Fields.index(result,post.field);break;case"function":result=Fields.func(result,post.fields);break}return result}),negatedField:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("!"),q.indexField,(_,field)=>Fields.negate(field)).desc("negated field"),parensField:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("("),parsimmon_umd_minExports.optWhitespace,q.field,parsimmon_umd_minExports.optWhitespace,parsimmon_umd_minExports.string(")"),(_1,_2,field,_3,_4)=>field),lambdaField:q=>parsimmon_umd_minExports.seqMap(q.identifier.sepBy(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)).wrap(parsimmon_umd_minExports.string("(").trim(parsimmon_umd_minExports.optWhitespace),parsimmon_umd_minExports.string(")").trim(parsimmon_umd_minExports.optWhitespace)),parsimmon_umd_minExports.string("=>").trim(parsimmon_umd_minExports.optWhitespace),q.field,(ident,_ignore,value)=>({type:"lambda",arguments:ident,value})),dotPostfix:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("."),q.identifier,(_,field)=>({type:"dot",field})),indexPostfix:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("["),parsimmon_umd_minExports.optWhitespace,q.field,parsimmon_umd_minExports.optWhitespace,parsimmon_umd_minExports.string("]"),(_,_2,field,_3,_4)=>({type:"index",field})),functionPostfix:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("("),parsimmon_umd_minExports.optWhitespace,q.field.sepBy(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)),parsimmon_umd_minExports.optWhitespace,parsimmon_umd_minExports.string(")"),(_,_1,fields,_2,_3)=>({type:"function",fields})),binaryMulDivField:q=>createBinaryParser(q.indexField,q.binaryMulDiv,Fields.binaryOp),binaryPlusMinusField:q=>createBinaryParser(q.binaryMulDivField,q.binaryPlusMinus,Fields.binaryOp),binaryCompareField:q=>createBinaryParser(q.binaryPlusMinusField,q.binaryCompareOp,Fields.binaryOp),binaryBooleanField:q=>createBinaryParser(q.binaryCompareField,q.binaryBooleanOp,Fields.binaryOp),binaryOpField:q=>q.binaryBooleanField,field:q=>q.binaryOpField});function parseField(text){try{return Result.success(EXPRESSION.field.tryParse(text))}catch(error){return Result.failure(""+error)}}var QueryFields;(function(QueryFields2){function named(name,field){return{name,field}}QueryFields2.named=named;function sortBy(field,dir2){return{field,direction:dir2}}QueryFields2.sortBy=sortBy})(QueryFields||(QueryFields={}));function captureRaw(base){return parsimmon_umd_minExports.custom((success,failure)=>(input,i)=>{let result=base._(input,i);return result.status?Object.assign({},result,{value:[result.value,input.substring(i,result.index)]}):result})}function stripNewlines(text){return text.split(/[\r\n]+/).map(t2=>t2.trim()).join("")}function precededByWhitespaceIfNotEof(if_eof,parser){return parsimmon_umd_minExports.eof.map(if_eof).or(parsimmon_umd_minExports.whitespace.then(parser))}var QUERY_LANGUAGE=parsimmon_umd_minExports.createLanguage({queryType:q=>parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regexp(/TABLE|LIST|TASK|CALENDAR/i)).map(str=>str.toLowerCase()).desc("query type ('TABLE', 'LIST', 'TASK', or 'CALENDAR')"),explicitNamedField:q=>parsimmon_umd_minExports.seqMap(EXPRESSION.field.skip(parsimmon_umd_minExports.whitespace),parsimmon_umd_minExports.regexp(/AS/i).skip(parsimmon_umd_minExports.whitespace),EXPRESSION.identifier.or(EXPRESSION.string),(field,_as,ident)=>QueryFields.named(ident,field)),comment:()=>parsimmon_umd_minExports.Parser((input,i)=>{let line=input.substring(i);if(!line.startsWith("//"))return parsimmon_umd_minExports.makeFailure(i,"Not a comment");line=line.split(`
`)[0];let comment=line.substring(2).trim();return parsimmon_umd_minExports.makeSuccess(i+line.length,comment)}),namedField:q=>parsimmon_umd_minExports.alt(q.explicitNamedField,captureRaw(EXPRESSION.field).map(([value,text])=>QueryFields.named(stripNewlines(text),value))),sortField:q=>parsimmon_umd_minExports.seqMap(EXPRESSION.field.skip(parsimmon_umd_minExports.optWhitespace),parsimmon_umd_minExports.regexp(/ASCENDING|DESCENDING|ASC|DESC/i).atMost(1),(field,dir2)=>{let direction=dir2.length==0?"ascending":dir2[0].toLowerCase();return direction=="desc"&&(direction="descending"),direction=="asc"&&(direction="ascending"),{field,direction}}),headerClause:q=>q.queryType.chain(type=>{switch(type){case"table":return precededByWhitespaceIfNotEof(()=>({type,fields:[],showId:!0}),parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/WITHOUT\s+ID/i).skip(parsimmon_umd_minExports.optWhitespace).atMost(1),parsimmon_umd_minExports.sepBy(q.namedField,parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)),(withoutId,fields)=>({type,fields,showId:withoutId.length==0})));case"list":return precededByWhitespaceIfNotEof(()=>({type,format:void 0,showId:!0}),parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/WITHOUT\s+ID/i).skip(parsimmon_umd_minExports.optWhitespace).atMost(1),EXPRESSION.field.atMost(1),(withoutId,format)=>({type,format:format.length==1?format[0]:void 0,showId:withoutId.length==0})));case"task":return parsimmon_umd_minExports.succeed({type});case"calendar":return parsimmon_umd_minExports.whitespace.then(parsimmon_umd_minExports.seqMap(q.namedField,field=>({type,showId:!0,field})));default:return parsimmon_umd_minExports.fail(`Unrecognized query type '${type}'`)}}).desc("TABLE or LIST or TASK or CALENDAR"),fromClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/FROM/i),parsimmon_umd_minExports.whitespace,EXPRESSION.source,(_1,_2,source)=>source),whereClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/WHERE/i),parsimmon_umd_minExports.whitespace,EXPRESSION.field,(where,_,field)=>({type:"where",clause:field})).desc("WHERE <expression>"),sortByClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/SORT/i),parsimmon_umd_minExports.whitespace,q.sortField.sepBy1(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)),(sort,_1,fields)=>({type:"sort",fields})).desc("SORT field [ASC/DESC]"),limitClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/LIMIT/i),parsimmon_umd_minExports.whitespace,EXPRESSION.field,(limit,_1,field)=>({type:"limit",amount:field})).desc("LIMIT <value>"),flattenClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/FLATTEN/i).skip(parsimmon_umd_minExports.whitespace),q.namedField,(_,field)=>({type:"flatten",field})).desc("FLATTEN <value> [AS <name>]"),groupByClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/GROUP BY/i).skip(parsimmon_umd_minExports.whitespace),q.namedField,(_,field)=>({type:"group",field})).desc("GROUP BY <value> [AS <name>]"),clause:q=>parsimmon_umd_minExports.alt(q.fromClause,q.whereClause,q.sortByClause,q.limitClause,q.groupByClause,q.flattenClause),query:q=>parsimmon_umd_minExports.seqMap(q.headerClause.trim(optionalWhitespaceOrComment),q.fromClause.trim(optionalWhitespaceOrComment).atMost(1),q.clause.trim(optionalWhitespaceOrComment).many(),(header,from,clauses)=>({header,source:from.length==0?Sources.folder(""):from[0],operations:clauses,settings:DEFAULT_QUERY_SETTINGS}))}),optionalWhitespaceOrComment=parsimmon_umd_minExports.alt(parsimmon_umd_minExports.whitespace,QUERY_LANGUAGE.comment).many().map(arr=>arr.join("")),getAPI4=app=>app?app.plugins.plugins.dataview?.api:window.DataviewAPI,isPluginEnabled=app=>app.plugins.enabledPlugins.has("dataview");exports.DATE_SHORTHANDS=DATE_SHORTHANDS;exports.DURATION_TYPES=DURATION_TYPES;exports.EXPRESSION=EXPRESSION;exports.KEYWORDS=KEYWORDS;exports.Link=Link;exports.QUERY_LANGUAGE=QUERY_LANGUAGE;exports.Widget=Widget;exports.getAPI=getAPI4;exports.isPluginEnabled=isPluginEnabled;exports.parseField=parseField}});var main_exports={};__export(main_exports,{default:()=>Enveloppe});module.exports=__toCommonJS(main_exports);var FIND_REGEX=/^\/(.*)\/[igmsuy]*$/,DOCUMENTATION_LINK="https://enveloppe.ovh/",TOKEN_PATH="%configDir%/plugins/%pluginID%/env",DEFAULT_SETTINGS={github:{user:"",repo:"",branch:"main",automaticallyMergePR:!0,dryRun:{enable:!1,folderName:"enveloppe"},tokenPath:void 0,tokenSecret:"",api:{tiersForApi:"Github Free/Pro/Team (default)",hostname:""},workflow:{commitMessage:"[PUBLISHER] Merge",name:""},otherRepo:[],verifiedRepo:!1,rateLimit:0},upload:{behavior:"fixed",defaultName:"",rootFolder:"",yamlFolderKey:"",frontmatterTitle:{enable:!1,key:"title"},replaceTitle:[],replacePath:[],autoclean:{includeAttachments:!0,enable:!1,excluded:[]},folderNote:{enable:!1,rename:"index.md",addTitle:{enable:!1,key:"title"}},metadataExtractorPath:""},conversion:{hardbreak:!1,dataview:!0,censorText:[],tags:{inline:!1,exclude:[],fields:[]},links:{internal:!1,unshared:!1,wiki:!1,wikiDisplayText:!1,slugify:"disable",unlink:!1,relativePath:!0,textPrefix:"/",slugifyAnchor:"disable"}},embed:{attachments:!0,overrideAttachments:[],keySendFile:[],notes:!1,folder:"",convertEmbedToLinks:"keep",charConvert:"->",unHandledObsidianExt:[],sendSimpleLinks:!0,forcePush:!0},plugin:{shareKey:"share",fileMenu:!1,editorMenu:!1,excludedFolder:[],copyLink:{enable:!1,links:"",removePart:[],addCmd:!1,transform:{toUri:!0,slugify:"lower",applyRegex:[]}},noticeError:!1,displayModalRepoEditing:!1,setFrontmatterKey:"Set"}};function getUserAgent(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}function register(state,name,method,options){if(typeof method!="function")throw new Error("method for before hook must be a function");return options||(options={}),Array.isArray(name)?name.reverse().reduce((callback,name2)=>register.bind(null,state,name2,callback,options),method)():Promise.resolve().then(()=>state.registry[name]?state.registry[name].reduce((method2,registered)=>registered.hook.bind(null,method2,options),method)():method(options))}function addHook(state,kind,name,hook2){let orig=hook2;state.registry[name]||(state.registry[name]=[]),kind==="before"&&(hook2=(method,options)=>Promise.resolve().then(orig.bind(null,options)).then(method.bind(null,options))),kind==="after"&&(hook2=(method,options)=>{let result;return Promise.resolve().then(method.bind(null,options)).then(result_=>(result=result_,orig(result,options))).then(()=>result)}),kind==="error"&&(hook2=(method,options)=>Promise.resolve().then(method.bind(null,options)).catch(error=>orig(error,options))),state.registry[name].push({hook:hook2,orig})}function removeHook(state,name,method){if(!state.registry[name])return;let index=state.registry[name].map(registered=>registered.orig).indexOf(method);index!==-1&&state.registry[name].splice(index,1)}var bind=Function.bind,bindable=bind.bind(bind);function bindApi(hook2,state,name){let removeHookRef=bindable(removeHook,null).apply(null,name?[state,name]:[state]);hook2.api={remove:removeHookRef},hook2.remove=removeHookRef,["before","error","after","wrap"].forEach(kind=>{let args=name?[state,kind,name]:[state,kind];hook2[kind]=hook2.api[kind]=bindable(addHook,null).apply(null,args)})}function Singular(){let singularHookName=Symbol("Singular"),singularHookState={registry:{}},singularHook=register.bind(null,singularHookState,singularHookName);return bindApi(singularHook,singularHookState,singularHookName),singularHook}function Collection(){let state={registry:{}},hook2=register.bind(null,state);return bindApi(hook2,state),hook2}var before_after_hook_default={Singular,Collection};var VERSION="0.0.0-development",userAgent=`octokit-endpoint.js/${VERSION} ${getUserAgent()}`,DEFAULTS={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":userAgent},mediaType:{format:""}};function lowercaseKeys(object){return object?Object.keys(object).reduce((newObj,key)=>(newObj[key.toLowerCase()]=object[key],newObj),{}):{}}function isPlainObject(value){if(typeof value!="object"||value===null||Object.prototype.toString.call(value)!=="[object Object]")return!1;let proto=Object.getPrototypeOf(value);if(proto===null)return!0;let Ctor=Object.prototype.hasOwnProperty.call(proto,"constructor")&&proto.constructor;return typeof Ctor=="function"&&Ctor instanceof Ctor&&Function.prototype.call(Ctor)===Function.prototype.call(value)}function mergeDeep(defaults,options){let result=Object.assign({},defaults);return Object.keys(options).forEach(key=>{isPlainObject(options[key])?key in defaults?result[key]=mergeDeep(defaults[key],options[key]):Object.assign(result,{[key]:options[key]}):Object.assign(result,{[key]:options[key]})}),result}function removeUndefinedProperties(obj){for(let key in obj)obj[key]===void 0&&delete obj[key];return obj}function merge(defaults,route,options){if(typeof route=="string"){let[method,url]=route.split(" ");options=Object.assign(url?{method,url}:{url:method},options)}else options=Object.assign({},route);options.headers=lowercaseKeys(options.headers),removeUndefinedProperties(options),removeUndefinedProperties(options.headers);let mergedOptions=mergeDeep(defaults||{},options);return options.url==="/graphql"&&(defaults&&defaults.mediaType.previews?.length&&(mergedOptions.mediaType.previews=defaults.mediaType.previews.filter(preview=>!mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews)),mergedOptions.mediaType.previews=(mergedOptions.mediaType.previews||[]).map(preview=>preview.replace(/-preview/,""))),mergedOptions}function addQueryParameters(url,parameters){let separator=/\?/.test(url)?"&":"?",names=Object.keys(parameters);return names.length===0?url:url+separator+names.map(name=>name==="q"?"q="+parameters.q.split("+").map(encodeURIComponent).join("+"):`${name}=${encodeURIComponent(parameters[name])}`).join("&")}var urlVariableRegex=/\{[^{}}]+\}/g;function removeNonChars(variableName){return variableName.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function extractUrlVariableNames(url){let matches=url.match(urlVariableRegex);return matches?matches.map(removeNonChars).reduce((a,b)=>a.concat(b),[]):[]}function omit(object,keysToOmit){let result={__proto__:null};for(let key of Object.keys(object))keysToOmit.indexOf(key)===-1&&(result[key]=object[key]);return result}function encodeReserved(str){return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part){return/%[0-9A-Fa-f]/.test(part)||(part=encodeURI(part).replace(/%5B/g,"[").replace(/%5D/g,"]")),part}).join("")}function encodeUnreserved(str){return encodeURIComponent(str).replace(/[!'()*]/g,function(c){return"%"+c.charCodeAt(0).toString(16).toUpperCase()})}function encodeValue(operator,value,key){return value=operator==="+"||operator==="#"?encodeReserved(value):encodeUnreserved(value),key?encodeUnreserved(key)+"="+value:value}function isDefined(value){return value!=null}function isKeyOperator(operator){return operator===";"||operator==="&"||operator==="?"}function getValues(context,operator,key,modifier){var value=context[key],result=[];if(isDefined(value)&&value!=="")if(typeof value=="string"||typeof value=="number"||typeof value=="bigint"||typeof value=="boolean")value=value.toString(),modifier&&modifier!=="*"&&(value=value.substring(0,parseInt(modifier,10))),result.push(encodeValue(operator,value,isKeyOperator(operator)?key:""));else if(modifier==="*")Array.isArray(value)?value.filter(isDefined).forEach(function(value2){result.push(encodeValue(operator,value2,isKeyOperator(operator)?key:""))}):Object.keys(value).forEach(function(k){isDefined(value[k])&&result.push(encodeValue(operator,value[k],k))});else{let tmp=[];Array.isArray(value)?value.filter(isDefined).forEach(function(value2){tmp.push(encodeValue(operator,value2))}):Object.keys(value).forEach(function(k){isDefined(value[k])&&(tmp.push(encodeUnreserved(k)),tmp.push(encodeValue(operator,value[k].toString())))}),isKeyOperator(operator)?result.push(encodeUnreserved(key)+"="+tmp.join(",")):tmp.length!==0&&result.push(tmp.join(","))}else operator===";"?isDefined(value)&&result.push(encodeUnreserved(key)):value===""&&(operator==="&"||operator==="?")?result.push(encodeUnreserved(key)+"="):value===""&&result.push("");return result}function parseUrl(template){return{expand:expand.bind(null,template)}}function expand(template,context){var operators=["+","#",".","/",";","?","&"];return template=template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(_,expression,literal){if(expression){let operator="",values=[];if(operators.indexOf(expression.charAt(0))!==-1&&(operator=expression.charAt(0),expression=expression.substr(1)),expression.split(/,/g).forEach(function(variable){var tmp=/([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);values.push(getValues(context,operator,tmp[1],tmp[2]||tmp[3]))}),operator&&operator!=="+"){var separator=",";return operator==="?"?separator="&":operator!=="#"&&(separator=operator),(values.length!==0?operator:"")+values.join(separator)}else return values.join(",")}else return encodeReserved(literal)}),template==="/"?template:template.replace(/\/$/,"")}function parse(options){let method=options.method.toUpperCase(),url=(options.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),headers=Object.assign({},options.headers),body,parameters=omit(options,["method","baseUrl","url","headers","request","mediaType"]),urlVariableNames=extractUrlVariableNames(url);url=parseUrl(url).expand(parameters),/^http/.test(url)||(url=options.baseUrl+url);let omittedParameters=Object.keys(options).filter(option=>urlVariableNames.includes(option)).concat("baseUrl"),remainingParameters=omit(parameters,omittedParameters);if(!/application\/octet-stream/i.test(headers.accept)&&(options.mediaType.format&&(headers.accept=headers.accept.split(/,/).map(format=>format.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${options.mediaType.format}`)).join(",")),url.endsWith("/graphql")&&options.mediaType.previews?.length)){let previewsFromAcceptHeader=headers.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[];headers.accept=previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview=>{let format=options.mediaType.format?`.${options.mediaType.format}`:"+json";return`application/vnd.github.${preview}-preview${format}`}).join(",")}return["GET","HEAD"].includes(method)?url=addQueryParameters(url,remainingParameters):"data"in remainingParameters?body=remainingParameters.data:Object.keys(remainingParameters).length&&(body=remainingParameters),!headers["content-type"]&&typeof body<"u"&&(headers["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(method)&&typeof body>"u"&&(body=""),Object.assign({method,url,headers},typeof body<"u"?{body}:null,options.request?{request:options.request}:null)}function endpointWithDefaults(defaults,route,options){return parse(merge(defaults,route,options))}function withDefaults(oldDefaults,newDefaults){let DEFAULTS2=merge(oldDefaults,newDefaults),endpoint2=endpointWithDefaults.bind(null,DEFAULTS2);return Object.assign(endpoint2,{DEFAULTS:DEFAULTS2,defaults:withDefaults.bind(null,DEFAULTS2),merge:merge.bind(null,DEFAULTS2),parse})}var endpoint=withDefaults(null,DEFAULTS);var import_fast_content_type_parse=__toESM(require_fast_content_type_parse(),1);var noiseValue=/^-?\d+n+$/,originalStringify=JSON.stringify,originalParse=JSON.parse,JSONStringify=(value,replacer,space)=>{if("rawJSON"in JSON)return originalStringify(value,(key,value2)=>typeof value2=="bigint"?JSON.rawJSON(value2.toString()):typeof replacer=="function"?replacer(key,value2):(Array.isArray(replacer)&&replacer.includes(key),value2),space);if(!value)return originalStringify(value,replacer,space);let bigInts=/([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g,noise=/([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;return originalStringify(value,(key,value2)=>typeof value2=="string"&&!!value2.match(noiseValue)||typeof value2=="bigint"?value2.toString()+"n":typeof replacer=="function"?replacer(key,value2):(Array.isArray(replacer)&&replacer.includes(key),value2),space).replace(bigInts,"$1$2$3").replace(noise,"$1$2$3")},isContextSourceSupported=()=>JSON.parse("1",(_,__,context)=>!!context&&context.source==="1"),JSONParseV2=(text,reviver)=>{let intRegex=/^-?\d+$/;return JSON.parse(text,(key,value,context)=>{let isBigNumber=typeof value=="number"&&(value>Number.MAX_SAFE_INTEGER||value<Number.MIN_SAFE_INTEGER),isInt=intRegex.test(context.source);return isBigNumber&&isInt?BigInt(context.source):typeof reviver!="function"?value:reviver(key,value,context)})},JSONParse=(text,reviver)=>{if(!text)return originalParse(text,reviver);if(isContextSourceSupported())return JSONParseV2(text,reviver);let MAX_INT=Number.MAX_SAFE_INTEGER.toString(),MAX_DIGITS=MAX_INT.length,stringsOrLargeNumbers=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,noiseValueWithQuotes=/^"-?\d+n+"$/,customFormat=/^-?\d+n$/,serializedData=text.replace(stringsOrLargeNumbers,(text2,digits,fractional,exponential)=>{let isString2=text2[0]==='"';if(isString2&&!!text2.match(noiseValueWithQuotes))return text2.substring(0,text2.length-1)+'n"';let isFractionalOrExponential=fractional||exponential,isLessThanMaxSafeInt=digits&&(digits.length<MAX_DIGITS||digits.length===MAX_DIGITS&&digits<=MAX_INT);return isString2||isFractionalOrExponential||isLessThanMaxSafeInt?text2:'"'+text2+'n"'});return originalParse(serializedData,(key,value,context)=>typeof value=="string"&&!!value.match(customFormat)?BigInt(value.substring(0,value.length-1)):typeof value=="string"&&!!value.match(noiseValue)?value.substring(0,value.length-1):typeof reviver!="function"?value:reviver(key,value,context))};var RequestError=class extends Error{name;status;request;response;constructor(message,statusCode,options){super(message,{cause:options.cause}),this.name="HttpError",this.status=Number.parseInt(statusCode),Number.isNaN(this.status)&&(this.status=0);"response"in options&&(this.response=options.response);let requestCopy=Object.assign({},options.request);options.request.headers.authorization&&(requestCopy.headers=Object.assign({},options.request.headers,{authorization:options.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})),requestCopy.url=requestCopy.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=requestCopy}};var VERSION2="10.0.8",defaults_default={headers:{"user-agent":`octokit-request.js/${VERSION2} ${getUserAgent()}`}};function isPlainObject2(value){if(typeof value!="object"||value===null||Object.prototype.toString.call(value)!=="[object Object]")return!1;let proto=Object.getPrototypeOf(value);if(proto===null)return!0;let Ctor=Object.prototype.hasOwnProperty.call(proto,"constructor")&&proto.constructor;return typeof Ctor=="function"&&Ctor instanceof Ctor&&Function.prototype.call(Ctor)===Function.prototype.call(value)}var noop=()=>"";async function fetchWrapper(requestOptions){let fetch=requestOptions.request?.fetch||globalThis.fetch;if(!fetch)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");let log=requestOptions.request?.log||console,parseSuccessResponseBody=requestOptions.request?.parseSuccessResponseBody!==!1,body=isPlainObject2(requestOptions.body)||Array.isArray(requestOptions.body)?JSONStringify(requestOptions.body):requestOptions.body,requestHeaders=Object.fromEntries(Object.entries(requestOptions.headers).map(([name,value])=>[name,String(value)])),fetchResponse;try{fetchResponse=await fetch(requestOptions.url,{method:requestOptions.method,body,redirect:requestOptions.request?.redirect,headers:requestHeaders,signal:requestOptions.request?.signal,...requestOptions.body&&{duplex:"half"}})}catch(error){let message="Unknown Error";if(error instanceof Error){if(error.name==="AbortError")throw error.status=500,error;message=error.message,error.name==="TypeError"&&"cause"in error&&(error.cause instanceof Error?message=error.cause.message:typeof error.cause=="string"&&(message=error.cause))}let requestError=new RequestError(message,500,{request:requestOptions});throw requestError.cause=error,requestError}let status=fetchResponse.status,url=fetchResponse.url,responseHeaders={};for(let[key,value]of fetchResponse.headers)responseHeaders[key]=value;let octokitResponse={url,status,headers:responseHeaders,data:""};if("deprecation"in responseHeaders){let matches=responseHeaders.link&&responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/),deprecationLink=matches&&matches.pop();log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink?`. See ${deprecationLink}`:""}`)}if(status===204||status===205)return octokitResponse;if(requestOptions.method==="HEAD"){if(status<400)return octokitResponse;throw new RequestError(fetchResponse.statusText,status,{response:octokitResponse,request:requestOptions})}if(status===304)throw octokitResponse.data=await getResponseData(fetchResponse),new RequestError("Not modified",status,{response:octokitResponse,request:requestOptions});if(status>=400)throw octokitResponse.data=await getResponseData(fetchResponse),new RequestError(toErrorMessage(octokitResponse.data),status,{response:octokitResponse,request:requestOptions});return octokitResponse.data=parseSuccessResponseBody?await getResponseData(fetchResponse):fetchResponse.body,octokitResponse}async function getResponseData(response){let contentType=response.headers.get("content-type");if(!contentType)return response.text().catch(noop);let mimetype=(0,import_fast_content_type_parse.safeParse)(contentType);if(isJSONResponse(mimetype)){let text="";try{return text=await response.text(),JSONParse(text)}catch{return text}}else return mimetype.type.startsWith("text/")||mimetype.parameters.charset?.toLowerCase()==="utf-8"?response.text().catch(noop):response.arrayBuffer().catch(()=>new ArrayBuffer(0))}function isJSONResponse(mimetype){return mimetype.type==="application/json"||mimetype.type==="application/scim+json"}function toErrorMessage(data){if(typeof data=="string")return data;if(data instanceof ArrayBuffer)return"Unknown error";if("message"in data){let suffix="documentation_url"in data?` - ${data.documentation_url}`:"";return Array.isArray(data.errors)?`${data.message}: ${data.errors.map(v=>JSON.stringify(v)).join(", ")}${suffix}`:`${data.message}${suffix}`}return`Unknown error: ${JSON.stringify(data)}`}function withDefaults2(oldEndpoint,newDefaults){let endpoint2=oldEndpoint.defaults(newDefaults);return Object.assign(function(route,parameters){let endpointOptions=endpoint2.merge(route,parameters);if(!endpointOptions.request||!endpointOptions.request.hook)return fetchWrapper(endpoint2.parse(endpointOptions));let request2=(route2,parameters2)=>fetchWrapper(endpoint2.parse(endpoint2.merge(route2,parameters2)));return Object.assign(request2,{endpoint:endpoint2,defaults:withDefaults2.bind(null,endpoint2)}),endpointOptions.request.hook(request2,endpointOptions)},{endpoint:endpoint2,defaults:withDefaults2.bind(null,endpoint2)})}var request=withDefaults2(endpoint,defaults_default);var VERSION3="0.0.0-development";function _buildMessageForResponseErrors(data){return`Request failed due to following response errors:
`+data.errors.map(e=>` - ${e.message}`).join(`
`)}var GraphqlResponseError=class extends Error{constructor(request2,headers,response){super(_buildMessageForResponseErrors(response)),this.request=request2,this.headers=headers,this.response=response,this.errors=response.errors,this.data=response.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},NON_VARIABLE_OPTIONS=["method","baseUrl","url","headers","request","query","mediaType","operationName"],FORBIDDEN_VARIABLE_OPTIONS=["query","method","url"],GHES_V3_SUFFIX_REGEX=/\/api\/v3\/?$/;function graphql(request2,query,options){if(options){if(typeof query=="string"&&"query"in options)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let key in options)if(FORBIDDEN_VARIABLE_OPTIONS.includes(key))return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`))}let parsedOptions=typeof query=="string"?Object.assign({query},options):query,requestOptions=Object.keys(parsedOptions).reduce((result,key)=>NON_VARIABLE_OPTIONS.includes(key)?(result[key]=parsedOptions[key],result):(result.variables||(result.variables={}),result.variables[key]=parsedOptions[key],result),{}),baseUrl=parsedOptions.baseUrl||request2.endpoint.DEFAULTS.baseUrl;return GHES_V3_SUFFIX_REGEX.test(baseUrl)&&(requestOptions.url=baseUrl.replace(GHES_V3_SUFFIX_REGEX,"/api/graphql")),request2(requestOptions).then(response=>{if(response.data.errors){let headers={};for(let key of Object.keys(response.headers))headers[key]=response.headers[key];throw new GraphqlResponseError(requestOptions,headers,response.data)}return response.data.data})}function withDefaults3(request2,newDefaults){let newRequest=request2.defaults(newDefaults);return Object.assign((query,options)=>graphql(newRequest,query,options),{defaults:withDefaults3.bind(null,newRequest),endpoint:newRequest.endpoint})}var graphql2=withDefaults3(request,{headers:{"user-agent":`octokit-graphql.js/${VERSION3} ${getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(customRequest){return withDefaults3(customRequest,{method:"POST",url:"/graphql"})}var b64url="(?:[a-zA-Z0-9_-]+)",sep="\\.",jwtRE=new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`),isJWT=jwtRE.test.bind(jwtRE);async function auth(token){let isApp=isJWT(token),isInstallation=token.startsWith("v1.")||token.startsWith("ghs_"),isUserToServer=token.startsWith("ghu_");return{type:"token",token,tokenType:isApp?"app":isInstallation?"installation":isUserToServer?"user-to-server":"oauth"}}function withAuthorizationPrefix(token){return token.split(/\./).length===3?`bearer ${token}`:`token ${token}`}async function hook(token,request2,route,parameters){let endpoint2=request2.endpoint.merge(route,parameters);return endpoint2.headers.authorization=withAuthorizationPrefix(token),request2(endpoint2)}var createTokenAuth=function(token){if(!token)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof token!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return token=token.replace(/^(token|bearer) +/i,""),Object.assign(auth.bind(null,token),{hook:hook.bind(null,token)})};var VERSION4="7.0.6";var noop2=()=>{},consoleWarn=console.warn.bind(console),consoleError=console.error.bind(console);function createLogger(logger={}){return typeof logger.debug!="function"&&(logger.debug=noop2),typeof logger.info!="function"&&(logger.info=noop2),typeof logger.warn!="function"&&(logger.warn=consoleWarn),typeof logger.error!="function"&&(logger.error=consoleError),logger}var userAgentTrail=`octokit-core.js/${VERSION4} ${getUserAgent()}`,Octokit=class{static VERSION=VERSION4;static defaults(defaults){return class extends this{constructor(...args){let options=args[0]||{};if(typeof defaults=="function"){super(defaults(options));return}super(Object.assign({},defaults,options,options.userAgent&&defaults.userAgent?{userAgent:`${options.userAgent} ${defaults.userAgent}`}:null))}}}static plugins=[];static plugin(...newPlugins){let currentPlugins=this.plugins;return class extends this{static plugins=currentPlugins.concat(newPlugins.filter(plugin=>!currentPlugins.includes(plugin)))}}constructor(options={}){let hook2=new before_after_hook_default.Collection,requestDefaults={baseUrl:request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},options.request,{hook:hook2.bind(null,"request")}),mediaType:{previews:[],format:""}};if(requestDefaults.headers["user-agent"]=options.userAgent?`${options.userAgent} ${userAgentTrail}`:userAgentTrail,options.baseUrl&&(requestDefaults.baseUrl=options.baseUrl),options.previews&&(requestDefaults.mediaType.previews=options.previews),options.timeZone&&(requestDefaults.headers["time-zone"]=options.timeZone),this.request=request.defaults(requestDefaults),this.graphql=withCustomRequest(this.request).defaults(requestDefaults),this.log=createLogger(options.log),this.hook=hook2,options.authStrategy){let{authStrategy,...otherOptions}=options,auth2=authStrategy(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:otherOptions},options.auth));hook2.wrap("request",auth2.hook),this.auth=auth2}else if(!options.auth)this.auth=async()=>({type:"unauthenticated"});else{let auth2=createTokenAuth(options.auth);hook2.wrap("request",auth2.hook),this.auth=auth2}let classConstructor=this.constructor;for(let i=0;i<classConstructor.plugins.length;++i)Object.assign(this,classConstructor.plugins[i](this,options))}request;graphql;log;hook;auth};function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _defineProperty(obj,key,value){return key=_toPropertyKey(key),key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key=="symbol"?key:String(key)}function _toPrimitive(input,hint){if(typeof input!="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==void 0){var res=prim.call(input,hint||"default");if(typeof res!="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return(hint==="string"?String:Number)(input)}var dedent=createDedent({}),dedent_default=dedent;function createDedent(options){return dedent3.withOptions=newOptions=>createDedent(_objectSpread(_objectSpread({},options),newOptions)),dedent3;function dedent3(strings,...values){let raw=typeof strings=="string"?[strings]:strings.raw,{alignValues=!1,escapeSpecialCharacters=Array.isArray(strings),trimWhitespace=!0}=options,result="";for(let i=0;i<raw.length;i++){let next=raw[i];if(escapeSpecialCharacters&&(next=next.replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`").replace(/\\\$/g,"$").replace(/\\\{/g,"{")),result+=next,i<values.length){let value=alignValues?alignValue(values[i],result):values[i];result+=value}}let lines=result.split(`
`),mindent=null;for(let l of lines){let m=l.match(/^(\s+)\S+/);if(m){let indent=m[1].length;mindent?mindent=Math.min(mindent,indent):mindent=indent}}if(mindent!==null){let m=mindent;result=lines.map(l=>l[0]===" "||l[0]===" "?l.slice(m):l).join(`
`)}return trimWhitespace&&(result=result.trim()),escapeSpecialCharacters&&(result=result.replace(/\\n/g,`
`).replace(/\\t/g," ").replace(/\\r/g,"\r").replace(/\\v/g,"\v").replace(/\\b/g,"\b").replace(/\\f/g,"\f").replace(/\\0/g,"\0").replace(/\\x([\da-fA-F]{2})/g,(_,h)=>String.fromCharCode(parseInt(h,16))).replace(/\\u\{([\da-fA-F]{1,6})\}/g,(_,h)=>String.fromCodePoint(parseInt(h,16))).replace(/\\u([\da-fA-F]{4})/g,(_,h)=>String.fromCharCode(parseInt(h,16)))),typeof Bun<"u"&&(result=result.replace(/\\u(?:\{([\da-fA-F]{1,6})\}|([\da-fA-F]{4}))/g,(_,braced,unbraced)=>{var _ref;let hex=(_ref=braced??unbraced)!==null&&_ref!==void 0?_ref:"";return String.fromCodePoint(parseInt(hex,16))})),result}}function alignValue(value,precedingText){if(typeof value!="string"||!value.includes(`
`))return value;let indentMatch=precedingText.slice(precedingText.lastIndexOf(`
`)+1).match(/^(\s+)/);if(indentMatch){let indent=indentMatch[1];return value.replace(/\n/g,`
${indent}`)}return value}var isString=obj=>typeof obj=="string",defer=()=>{let res,rej,promise=new Promise((resolve,reject)=>{res=resolve,rej=reject});return promise.resolve=res,promise.reject=rej,promise},makeString=object=>object==null?"":String(object),copy=(a,s,t2)=>{a.forEach(m=>{s[m]&&(t2[m]=s[m])})},lastOfPathSeparatorRegExp=/###/g,cleanKey=key=>key&&key.includes("###")?key.replace(lastOfPathSeparatorRegExp,"."):key,canNotTraverseDeeper=object=>!object||isString(object),getLastOfPath=(object,path,Empty)=>{let stack=isString(path)?path.split("."):path,stackIndex=0;for(;stackIndex<stack.length-1;){if(canNotTraverseDeeper(object))return{};let key=cleanKey(stack[stackIndex]);!object[key]&&Empty&&(object[key]=new Empty),Object.prototype.hasOwnProperty.call(object,key)?object=object[key]:object={},++stackIndex}return canNotTraverseDeeper(object)?{}:{obj:object,k:cleanKey(stack[stackIndex])}},setPath=(object,path,newValue)=>{let{obj,k}=getLastOfPath(object,path,Object);if(obj!==void 0||path.length===1){obj[k]=newValue;return}let e=path[path.length-1],p=path.slice(0,path.length-1),last=getLastOfPath(object,p,Object);for(;last.obj===void 0&&p.length;)e=`${p[p.length-1]}.${e}`,p=p.slice(0,p.length-1),last=getLastOfPath(object,p,Object),last?.obj&&typeof last.obj[`${last.k}.${e}`]<"u"&&(last.obj=void 0);last.obj[`${last.k}.${e}`]=newValue},pushPath=(object,path,newValue,concat)=>{let{obj,k}=getLastOfPath(object,path,Object);obj[k]=obj[k]||[],obj[k].push(newValue)},getPath=(object,path)=>{let{obj,k}=getLastOfPath(object,path);if(obj&&Object.prototype.hasOwnProperty.call(obj,k))return obj[k]},getPathWithDefaults=(data,defaultData,key)=>{let value=getPath(data,key);return value!==void 0?value:getPath(defaultData,key)},deepExtend=(target,source,overwrite)=>{for(let prop in source)prop!=="__proto__"&&prop!=="constructor"&&(prop in target?isString(target[prop])||target[prop]instanceof String||isString(source[prop])||source[prop]instanceof String?overwrite&&(target[prop]=source[prop]):deepExtend(target[prop],source[prop],overwrite):target[prop]=source[prop]);return target},regexEscape=str=>str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),_entityMap={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},escape=data=>isString(data)?data.replace(/[&<>"'\/]/g,s=>_entityMap[s]):data,RegExpCache=class{constructor(capacity){this.capacity=capacity,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(pattern){let regExpFromCache=this.regExpMap.get(pattern);if(regExpFromCache!==void 0)return regExpFromCache;let regExpNew=new RegExp(pattern);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(pattern,regExpNew),this.regExpQueue.push(pattern),regExpNew}},chars=[" ",",","?","!",";"],looksLikeObjectPathRegExpCache=new RegExpCache(20),looksLikeObjectPath=(key,nsSeparator,keySeparator)=>{nsSeparator=nsSeparator||"",keySeparator=keySeparator||"";let possibleChars=chars.filter(c=>!nsSeparator.includes(c)&&!keySeparator.includes(c));if(possibleChars.length===0)return!0;let r=looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c=>c==="?"?"\\?":c).join("|")})`),matched=!r.test(key);if(!matched){let ki=key.indexOf(keySeparator);ki>0&&!r.test(key.substring(0,ki))&&(matched=!0)}return matched},deepFind=(obj,path,keySeparator=".")=>{if(!obj)return;if(obj[path])return Object.prototype.hasOwnProperty.call(obj,path)?obj[path]:void 0;let tokens=path.split(keySeparator),current=obj;for(let i=0;i<tokens.length;){if(!current||typeof current!="object")return;let next,nextPath="";for(let j=i;j<tokens.length;++j)if(j!==i&&(nextPath+=keySeparator),nextPath+=tokens[j],next=current[nextPath],next!==void 0){if(["string","number","boolean"].includes(typeof next)&&j<tokens.length-1)continue;i+=j-i+1;break}current=next}return current},getCleanedCode=code=>code?.replace(/_/g,"-"),consoleLogger={type:"logger",log(args){this.output("log",args)},warn(args){this.output("warn",args)},error(args){this.output("error",args)},output(type,args){console?.[type]?.apply?.(console,args)}},Logger=class _Logger{constructor(concreteLogger,options={}){this.init(concreteLogger,options)}init(concreteLogger,options={}){this.prefix=options.prefix||"i18next:",this.logger=concreteLogger||consoleLogger,this.options=options,this.debug=options.debug}log(...args){return this.forward(args,"log","",!0)}warn(...args){return this.forward(args,"warn","",!0)}error(...args){return this.forward(args,"error","")}deprecate(...args){return this.forward(args,"warn","WARNING DEPRECATED: ",!0)}forward(args,lvl,prefix,debugOnly){return debugOnly&&!this.debug?null:(isString(args[0])&&(args[0]=`${prefix}${this.prefix} ${args[0]}`),this.logger[lvl](args))}create(moduleName){return new _Logger(this.logger,{prefix:`${this.prefix}:${moduleName}:`,...this.options})}clone(options){return options=options||this.options,options.prefix=options.prefix||this.prefix,new _Logger(this.logger,options)}},baseLogger=new Logger,EventEmitter=class{constructor(){this.observers={}}on(events,listener){return events.split(" ").forEach(event=>{this.observers[event]||(this.observers[event]=new Map);let numListeners=this.observers[event].get(listener)||0;this.observers[event].set(listener,numListeners+1)}),this}off(event,listener){if(this.observers[event]){if(!listener){delete this.observers[event];return}this.observers[event].delete(listener)}}once(event,listener){let wrapper=(...args)=>{listener(...args),this.off(event,wrapper)};return this.on(event,wrapper),this}emit(event,...args){this.observers[event]&&Array.from(this.observers[event].entries()).forEach(([observer,numTimesAdded])=>{for(let i=0;i<numTimesAdded;i++)observer(...args)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([observer,numTimesAdded])=>{for(let i=0;i<numTimesAdded;i++)observer(event,...args)})}},ResourceStore=class extends EventEmitter{constructor(data,options={ns:["translation"],defaultNS:"translation"}){super(),this.data=data||{},this.options=options,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(ns){this.options.ns.includes(ns)||this.options.ns.push(ns)}removeNamespaces(ns){let index=this.options.ns.indexOf(ns);index>-1&&this.options.ns.splice(index,1)}getResource(lng,ns,key,options={}){let keySeparator=options.keySeparator!==void 0?options.keySeparator:this.options.keySeparator,ignoreJSONStructure=options.ignoreJSONStructure!==void 0?options.ignoreJSONStructure:this.options.ignoreJSONStructure,path;lng.includes(".")?path=lng.split("."):(path=[lng,ns],key&&(Array.isArray(key)?path.push(...key):isString(key)&&keySeparator?path.push(...key.split(keySeparator)):path.push(key)));let result=getPath(this.data,path);return!result&&!ns&&!key&&lng.includes(".")&&(lng=path[0],ns=path[1],key=path.slice(2).join(".")),result||!ignoreJSONStructure||!isString(key)?result:deepFind(this.data?.[lng]?.[ns],key,keySeparator)}addResource(lng,ns,key,value,options={silent:!1}){let keySeparator=options.keySeparator!==void 0?options.keySeparator:this.options.keySeparator,path=[lng,ns];key&&(path=path.concat(keySeparator?key.split(keySeparator):key)),lng.includes(".")&&(path=lng.split("."),value=ns,ns=path[1]),this.addNamespaces(ns),setPath(this.data,path,value),options.silent||this.emit("added",lng,ns,key,value)}addResources(lng,ns,resources2,options={silent:!1}){for(let m in resources2)(isString(resources2[m])||Array.isArray(resources2[m]))&&this.addResource(lng,ns,m,resources2[m],{silent:!0});options.silent||this.emit("added",lng,ns,resources2)}addResourceBundle(lng,ns,resources2,deep,overwrite,options={silent:!1,skipCopy:!1}){let path=[lng,ns];lng.includes(".")&&(path=lng.split("."),deep=resources2,resources2=ns,ns=path[1]),this.addNamespaces(ns);let pack=getPath(this.data,path)||{};options.skipCopy||(resources2=JSON.parse(JSON.stringify(resources2))),deep?deepExtend(pack,resources2,overwrite):pack={...pack,...resources2},setPath(this.data,path,pack),options.silent||this.emit("added",lng,ns,resources2)}removeResourceBundle(lng,ns){this.hasResourceBundle(lng,ns)&&delete this.data[lng][ns],this.removeNamespaces(ns),this.emit("removed",lng,ns)}hasResourceBundle(lng,ns){return this.getResource(lng,ns)!==void 0}getResourceBundle(lng,ns){return ns||(ns=this.options.defaultNS),this.getResource(lng,ns)}getDataByLanguage(lng){return this.data[lng]}hasLanguageSomeTranslations(lng){let data=this.getDataByLanguage(lng);return!!(data&&Object.keys(data)||[]).find(v=>data[v]&&Object.keys(data[v]).length>0)}toJSON(){return this.data}},postProcessor={processors:{},addPostProcessor(module2){this.processors[module2.name]=module2},handle(processors,value,key,options,translator){return processors.forEach(processor=>{value=this.processors[processor]?.process(value,key,options,translator)??value}),value}},PATH_KEY=Symbol("i18next/PATH_KEY");function createProxy(){let state=[],handler=Object.create(null),proxy;return handler.get=(target,key)=>(proxy?.revoke?.(),key===PATH_KEY?state:(state.push(key),proxy=Proxy.revocable(target,handler),proxy.proxy)),Proxy.revocable(Object.create(null),handler).proxy}function keysFromSelector(selector,opts){let{[PATH_KEY]:path}=selector(createProxy()),keySeparator=opts?.keySeparator??".",nsSeparator=opts?.nsSeparator??":";if(path.length>1&&nsSeparator){let ns=opts?.ns,nsArray=Array.isArray(ns)?ns:null;if(nsArray&&nsArray.length>1&&nsArray.slice(1).includes(path[0]))return`${path[0]}${nsSeparator}${path.slice(1).join(keySeparator)}`}return path.join(keySeparator)}var shouldHandleAsObject=res=>!isString(res)&&typeof res!="boolean"&&typeof res!="number",Translator=class _Translator extends EventEmitter{constructor(services,options={}){super(),copy(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],services,this),this.options=options,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=baseLogger.create("translator"),this.checkedLoadedFor={}}changeLanguage(lng){lng&&(this.language=lng)}exists(key,o={interpolation:{}}){let opt={...o};if(key==null)return!1;let resolved=this.resolve(key,opt);if(resolved?.res===void 0)return!1;let isObject2=shouldHandleAsObject(resolved.res);return!(opt.returnObjects===!1&&isObject2)}extractFromKey(key,opt){let nsSeparator=opt.nsSeparator!==void 0?opt.nsSeparator:this.options.nsSeparator;nsSeparator===void 0&&(nsSeparator=":");let keySeparator=opt.keySeparator!==void 0?opt.keySeparator:this.options.keySeparator,namespaces=opt.ns||this.options.defaultNS||[],wouldCheckForNsInKey=nsSeparator&&key.includes(nsSeparator),seemsNaturalLanguage=!this.options.userDefinedKeySeparator&&!opt.keySeparator&&!this.options.userDefinedNsSeparator&&!opt.nsSeparator&&!looksLikeObjectPath(key,nsSeparator,keySeparator);if(wouldCheckForNsInKey&&!seemsNaturalLanguage){let m=key.match(this.interpolator.nestingRegexp);if(m&&m.length>0)return{key,namespaces:isString(namespaces)?[namespaces]:namespaces};let parts=key.split(nsSeparator);(nsSeparator!==keySeparator||nsSeparator===keySeparator&&this.options.ns.includes(parts[0]))&&(namespaces=parts.shift()),key=parts.join(keySeparator)}return{key,namespaces:isString(namespaces)?[namespaces]:namespaces}}translate(keys,o,lastKey){let opt=typeof o=="object"?{...o}:o;if(typeof opt!="object"&&this.options.overloadTranslationOptionHandler&&(opt=this.options.overloadTranslationOptionHandler(arguments)),typeof opt=="object"&&(opt={...opt}),opt||(opt={}),keys==null)return"";typeof keys=="function"&&(keys=keysFromSelector(keys,{...this.options,...opt})),Array.isArray(keys)||(keys=[String(keys)]),keys=keys.map(k=>typeof k=="function"?keysFromSelector(k,{...this.options,...opt}):String(k));let returnDetails=opt.returnDetails!==void 0?opt.returnDetails:this.options.returnDetails,keySeparator=opt.keySeparator!==void 0?opt.keySeparator:this.options.keySeparator,{key,namespaces}=this.extractFromKey(keys[keys.length-1],opt),namespace=namespaces[namespaces.length-1],nsSeparator=opt.nsSeparator!==void 0?opt.nsSeparator:this.options.nsSeparator;nsSeparator===void 0&&(nsSeparator=":");let lng=opt.lng||this.language,appendNamespaceToCIMode=opt.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(lng?.toLowerCase()==="cimode")return appendNamespaceToCIMode?returnDetails?{res:`${namespace}${nsSeparator}${key}`,usedKey:key,exactUsedKey:key,usedLng:lng,usedNS:namespace,usedParams:this.getUsedParamsDetails(opt)}:`${namespace}${nsSeparator}${key}`:returnDetails?{res:key,usedKey:key,exactUsedKey:key,usedLng:lng,usedNS:namespace,usedParams:this.getUsedParamsDetails(opt)}:key;let resolved=this.resolve(keys,opt),res=resolved?.res,resUsedKey=resolved?.usedKey||key,resExactUsedKey=resolved?.exactUsedKey||key,noObject=["[object Number]","[object Function]","[object RegExp]"],joinArrays=opt.joinArrays!==void 0?opt.joinArrays:this.options.joinArrays,handleAsObjectInI18nFormat=!this.i18nFormat||this.i18nFormat.handleAsObject,needsPluralHandling=opt.count!==void 0&&!isString(opt.count),hasDefaultValue=_Translator.hasDefaultValue(opt),defaultValueSuffix=needsPluralHandling?this.pluralResolver.getSuffix(lng,opt.count,opt):"",defaultValueSuffixOrdinalFallback=opt.ordinal&&needsPluralHandling?this.pluralResolver.getSuffix(lng,opt.count,{ordinal:!1}):"",needsZeroSuffixLookup=needsPluralHandling&&!opt.ordinal&&opt.count===0,defaultValue=needsZeroSuffixLookup&&opt[`defaultValue${this.options.pluralSeparator}zero`]||opt[`defaultValue${defaultValueSuffix}`]||opt[`defaultValue${defaultValueSuffixOrdinalFallback}`]||opt.defaultValue,resForObjHndl=res;handleAsObjectInI18nFormat&&!res&&hasDefaultValue&&(resForObjHndl=defaultValue);let handleAsObject=shouldHandleAsObject(resForObjHndl),resType=Object.prototype.toString.apply(resForObjHndl);if(handleAsObjectInI18nFormat&&resForObjHndl&&handleAsObject&&!noObject.includes(resType)&&!(isString(joinArrays)&&Array.isArray(resForObjHndl))){if(!opt.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let r=this.options.returnedObjectHandler?this.options.returnedObjectHandler(resUsedKey,resForObjHndl,{...opt,ns:namespaces}):`key '${key} (${this.language})' returned an object instead of string.`;return returnDetails?(resolved.res=r,resolved.usedParams=this.getUsedParamsDetails(opt),resolved):r}if(keySeparator){let resTypeIsArray=Array.isArray(resForObjHndl),copy2=resTypeIsArray?[]:{},newKeyToUse=resTypeIsArray?resExactUsedKey:resUsedKey;for(let m in resForObjHndl)if(Object.prototype.hasOwnProperty.call(resForObjHndl,m)){let deepKey=`${newKeyToUse}${keySeparator}${m}`;hasDefaultValue&&!res?copy2[m]=this.translate(deepKey,{...opt,defaultValue:shouldHandleAsObject(defaultValue)?defaultValue[m]:void 0,joinArrays:!1,ns:namespaces}):copy2[m]=this.translate(deepKey,{...opt,joinArrays:!1,ns:namespaces}),copy2[m]===deepKey&&(copy2[m]=resForObjHndl[m])}res=copy2}}else if(handleAsObjectInI18nFormat&&isString(joinArrays)&&Array.isArray(res))res=res.join(joinArrays),res&&(res=this.extendTranslation(res,keys,opt,lastKey));else{let usedDefault=!1,usedKey=!1;!this.isValidLookup(res)&&hasDefaultValue&&(usedDefault=!0,res=defaultValue),this.isValidLookup(res)||(usedKey=!0,res=key);let resForMissing=(opt.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&usedKey?void 0:res,updateMissing=hasDefaultValue&&defaultValue!==res&&this.options.updateMissing;if(usedKey||usedDefault||updateMissing){if(this.logger.log(updateMissing?"updateKey":"missingKey",lng,namespace,key,updateMissing?defaultValue:res),keySeparator){let fk=this.resolve(key,{...opt,keySeparator:!1});fk&&fk.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let lngs=[],fallbackLngs=this.languageUtils.getFallbackCodes(this.options.fallbackLng,opt.lng||this.language);if(this.options.saveMissingTo==="fallback"&&fallbackLngs&&fallbackLngs[0])for(let i=0;i<fallbackLngs.length;i++)lngs.push(fallbackLngs[i]);else this.options.saveMissingTo==="all"?lngs=this.languageUtils.toResolveHierarchy(opt.lng||this.language):lngs.push(opt.lng||this.language);let send=(l,k,specificDefaultValue)=>{let defaultForMissing=hasDefaultValue&&specificDefaultValue!==res?specificDefaultValue:resForMissing;this.options.missingKeyHandler?this.options.missingKeyHandler(l,namespace,k,defaultForMissing,updateMissing,opt):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(l,namespace,k,defaultForMissing,updateMissing,opt),this.emit("missingKey",l,namespace,k,res)};this.options.saveMissing&&(this.options.saveMissingPlurals&&needsPluralHandling?lngs.forEach(language=>{let suffixes=this.pluralResolver.getSuffixes(language,opt);needsZeroSuffixLookup&&opt[`defaultValue${this.options.pluralSeparator}zero`]&&!suffixes.includes(`${this.options.pluralSeparator}zero`)&&suffixes.push(`${this.options.pluralSeparator}zero`),suffixes.forEach(suffix=>{send([language],key+suffix,opt[`defaultValue${suffix}`]||defaultValue)})}):send(lngs,key,defaultValue))}res=this.extendTranslation(res,keys,opt,resolved,lastKey),usedKey&&res===key&&this.options.appendNamespaceToMissingKey&&(res=`${namespace}${nsSeparator}${key}`),(usedKey||usedDefault)&&this.options.parseMissingKeyHandler&&(res=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${namespace}${nsSeparator}${key}`:key,usedDefault?res:void 0,opt))}return returnDetails?(resolved.res=res,resolved.usedParams=this.getUsedParamsDetails(opt),resolved):res}extendTranslation(res,key,opt,resolved,lastKey){if(this.i18nFormat?.parse)res=this.i18nFormat.parse(res,{...this.options.interpolation.defaultVariables,...opt},opt.lng||this.language||resolved.usedLng,resolved.usedNS,resolved.usedKey,{resolved});else if(!opt.skipInterpolation){opt.interpolation&&this.interpolator.init({...opt,interpolation:{...this.options.interpolation,...opt.interpolation}});let skipOnVariables=isString(res)&&(opt?.interpolation?.skipOnVariables!==void 0?opt.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables),nestBef;if(skipOnVariables){let nb=res.match(this.interpolator.nestingRegexp);nestBef=nb&&nb.length}let data=opt.replace&&!isString(opt.replace)?opt.replace:opt;if(this.options.interpolation.defaultVariables&&(data={...this.options.interpolation.defaultVariables,...data}),res=this.interpolator.interpolate(res,data,opt.lng||this.language||resolved.usedLng,opt),skipOnVariables){let na=res.match(this.interpolator.nestingRegexp),nestAft=na&&na.length;nestBef<nestAft&&(opt.nest=!1)}!opt.lng&&resolved&&resolved.res&&(opt.lng=this.language||resolved.usedLng),opt.nest!==!1&&(res=this.interpolator.nest(res,(...args)=>lastKey?.[0]===args[0]&&!opt.context?(this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`),null):this.translate(...args,key),opt)),opt.interpolation&&this.interpolator.reset()}let postProcess=opt.postProcess||this.options.postProcess,postProcessorNames=isString(postProcess)?[postProcess]:postProcess;return res!=null&&postProcessorNames?.length&&opt.applyPostProcessor!==!1&&(res=postProcessor.handle(postProcessorNames,res,key,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...resolved,usedParams:this.getUsedParamsDetails(opt)},...opt}:opt,this)),res}resolve(keys,opt={}){let found,usedKey,exactUsedKey,usedLng,usedNS;return isString(keys)&&(keys=[keys]),Array.isArray(keys)&&(keys=keys.map(k=>typeof k=="function"?keysFromSelector(k,{...this.options,...opt}):k)),keys.forEach(k=>{if(this.isValidLookup(found))return;let extracted=this.extractFromKey(k,opt),key=extracted.key;usedKey=key;let namespaces=extracted.namespaces;this.options.fallbackNS&&(namespaces=namespaces.concat(this.options.fallbackNS));let needsPluralHandling=opt.count!==void 0&&!isString(opt.count),needsZeroSuffixLookup=needsPluralHandling&&!opt.ordinal&&opt.count===0,needsContextHandling=opt.context!==void 0&&(isString(opt.context)||typeof opt.context=="number")&&opt.context!=="",codes=opt.lngs?opt.lngs:this.languageUtils.toResolveHierarchy(opt.lng||this.language,opt.fallbackLng);namespaces.forEach(ns=>{this.isValidLookup(found)||(usedNS=ns,!this.checkedLoadedFor[`${codes[0]}-${ns}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(usedNS)&&(this.checkedLoadedFor[`${codes[0]}-${ns}`]=!0,this.logger.warn(`key "${usedKey}" for languages "${codes.join(", ")}" won't get resolved as namespace "${usedNS}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),codes.forEach(code=>{if(this.isValidLookup(found))return;usedLng=code;let finalKeys=[key];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(finalKeys,key,code,ns,opt);else{let pluralSuffix;needsPluralHandling&&(pluralSuffix=this.pluralResolver.getSuffix(code,opt.count,opt));let zeroSuffix=`${this.options.pluralSeparator}zero`,ordinalPrefix=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(needsPluralHandling&&(opt.ordinal&&pluralSuffix.startsWith(ordinalPrefix)&&finalKeys.push(key+pluralSuffix.replace(ordinalPrefix,this.options.pluralSeparator)),finalKeys.push(key+pluralSuffix),needsZeroSuffixLookup&&finalKeys.push(key+zeroSuffix)),needsContextHandling){let contextKey=`${key}${this.options.contextSeparator||"_"}${opt.context}`;finalKeys.push(contextKey),needsPluralHandling&&(opt.ordinal&&pluralSuffix.startsWith(ordinalPrefix)&&finalKeys.push(contextKey+pluralSuffix.replace(ordinalPrefix,this.options.pluralSeparator)),finalKeys.push(contextKey+pluralSuffix),needsZeroSuffixLookup&&finalKeys.push(contextKey+zeroSuffix))}}let possibleKey;for(;possibleKey=finalKeys.pop();)this.isValidLookup(found)||(exactUsedKey=possibleKey,found=this.getResource(code,ns,possibleKey,opt))}))})}),{res:found,usedKey,exactUsedKey,usedLng,usedNS}}isValidLookup(res){return res!==void 0&&!(!this.options.returnNull&&res===null)&&!(!this.options.returnEmptyString&&res==="")}getResource(code,ns,key,options={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(code,ns,key,options):this.resourceStore.getResource(code,ns,key,options)}getUsedParamsDetails(options={}){let optionsKeys=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],useOptionsReplaceForData=options.replace&&!isString(options.replace),data=useOptionsReplaceForData?options.replace:options;if(useOptionsReplaceForData&&typeof options.count<"u"&&(data.count=options.count),this.options.interpolation.defaultVariables&&(data={...this.options.interpolation.defaultVariables,...data}),!useOptionsReplaceForData){data={...data};for(let key of optionsKeys)delete data[key]}return data}static hasDefaultValue(options){let prefix="defaultValue";for(let option in options)if(Object.prototype.hasOwnProperty.call(options,option)&&option.startsWith(prefix)&&options[option]!==void 0)return!0;return!1}},LanguageUtil=class{constructor(options){this.options=options,this.supportedLngs=this.options.supportedLngs||!1,this.logger=baseLogger.create("languageUtils")}getScriptPartFromCode(code){if(code=getCleanedCode(code),!code||!code.includes("-"))return null;let p=code.split("-");return p.length===2||(p.pop(),p[p.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(p.join("-"))}getLanguagePartFromCode(code){if(code=getCleanedCode(code),!code||!code.includes("-"))return code;let p=code.split("-");return this.formatLanguageCode(p[0])}formatLanguageCode(code){if(isString(code)&&code.includes("-")){let formattedCode;try{formattedCode=Intl.getCanonicalLocales(code)[0]}catch{}return formattedCode&&this.options.lowerCaseLng&&(formattedCode=formattedCode.toLowerCase()),formattedCode||(this.options.lowerCaseLng?code.toLowerCase():code)}return this.options.cleanCode||this.options.lowerCaseLng?code.toLowerCase():code}isSupportedCode(code){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(code=this.getLanguagePartFromCode(code)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(code)}getBestMatchFromCodes(codes){if(!codes)return null;let found;return codes.forEach(code=>{if(found)return;let cleanedLng=this.formatLanguageCode(code);(!this.options.supportedLngs||this.isSupportedCode(cleanedLng))&&(found=cleanedLng)}),!found&&this.options.supportedLngs&&codes.forEach(code=>{if(found)return;let lngScOnly=this.getScriptPartFromCode(code);if(this.isSupportedCode(lngScOnly))return found=lngScOnly;let lngOnly=this.getLanguagePartFromCode(code);if(this.isSupportedCode(lngOnly))return found=lngOnly;found=this.options.supportedLngs.find(supportedLng=>supportedLng===lngOnly?!0:!supportedLng.includes("-")&&!lngOnly.includes("-")?!1:!!(supportedLng.includes("-")&&!lngOnly.includes("-")&&supportedLng.slice(0,supportedLng.indexOf("-"))===lngOnly||supportedLng.startsWith(lngOnly)&&lngOnly.length>1))}),found||(found=this.getFallbackCodes(this.options.fallbackLng)[0]),found}getFallbackCodes(fallbacks,code){if(!fallbacks)return[];if(typeof fallbacks=="function"&&(fallbacks=fallbacks(code)),isString(fallbacks)&&(fallbacks=[fallbacks]),Array.isArray(fallbacks))return fallbacks;if(!code)return fallbacks.default||[];let found=fallbacks[code];return found||(found=fallbacks[this.getScriptPartFromCode(code)]),found||(found=fallbacks[this.formatLanguageCode(code)]),found||(found=fallbacks[this.getLanguagePartFromCode(code)]),found||(found=fallbacks.default),found||[]}toResolveHierarchy(code,fallbackCode){let fallbackCodes=this.getFallbackCodes((fallbackCode===!1?[]:fallbackCode)||this.options.fallbackLng||[],code),codes=[],addCode=c=>{c&&(this.isSupportedCode(c)?codes.push(c):this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`))};return isString(code)&&(code.includes("-")||code.includes("_"))?(this.options.load!=="languageOnly"&&addCode(this.formatLanguageCode(code)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&addCode(this.getScriptPartFromCode(code)),this.options.load!=="currentOnly"&&addCode(this.getLanguagePartFromCode(code))):isString(code)&&addCode(this.formatLanguageCode(code)),fallbackCodes.forEach(fc=>{codes.includes(fc)||addCode(this.formatLanguageCode(fc))}),codes}},suffixesOrder={zero:0,one:1,two:2,few:3,many:4,other:5},dummyRule={select:count=>count===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},PluralResolver=class{constructor(languageUtils,options={}){this.languageUtils=languageUtils,this.options=options,this.logger=baseLogger.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(code,options={}){let cleanedCode=getCleanedCode(code==="dev"?"en":code),type=options.ordinal?"ordinal":"cardinal",cacheKey=JSON.stringify({cleanedCode,type});if(cacheKey in this.pluralRulesCache)return this.pluralRulesCache[cacheKey];let rule;try{rule=new Intl.PluralRules(cleanedCode,{type})}catch{if(typeof Intl>"u")return this.logger.error("No Intl support, please use an Intl polyfill!"),dummyRule;if(!code.match(/-|_/))return dummyRule;let lngPart=this.languageUtils.getLanguagePartFromCode(code);rule=this.getRule(lngPart,options)}return this.pluralRulesCache[cacheKey]=rule,rule}needsPlural(code,options={}){let rule=this.getRule(code,options);return rule||(rule=this.getRule("dev",options)),rule?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(code,key,options={}){return this.getSuffixes(code,options).map(suffix=>`${key}${suffix}`)}getSuffixes(code,options={}){let rule=this.getRule(code,options);return rule||(rule=this.getRule("dev",options)),rule?rule.resolvedOptions().pluralCategories.sort((pluralCategory1,pluralCategory2)=>suffixesOrder[pluralCategory1]-suffixesOrder[pluralCategory2]).map(pluralCategory=>`${this.options.prepend}${options.ordinal?`ordinal${this.options.prepend}`:""}${pluralCategory}`):[]}getSuffix(code,count,options={}){let rule=this.getRule(code,options);return rule?`${this.options.prepend}${options.ordinal?`ordinal${this.options.prepend}`:""}${rule.select(count)}`:(this.logger.warn(`no plural rule found for: ${code}`),this.getSuffix("dev",count,options))}},deepFindWithDefaults=(data,defaultData,key,keySeparator=".",ignoreJSONStructure=!0)=>{let path=getPathWithDefaults(data,defaultData,key);return!path&&ignoreJSONStructure&&isString(key)&&(path=deepFind(data,key,keySeparator),path===void 0&&(path=deepFind(defaultData,key,keySeparator))),path},regexSafe=val=>val.replace(/\$/g,"$$$$"),Interpolator=class{constructor(options={}){this.logger=baseLogger.create("interpolator"),this.options=options,this.format=options?.interpolation?.format||(value=>value),this.init(options)}init(options={}){options.interpolation||(options.interpolation={escapeValue:!0});let{escape:escape$1,escapeValue,useRawValueToEscape,prefix,prefixEscaped,suffix,suffixEscaped,formatSeparator,unescapeSuffix,unescapePrefix,nestingPrefix,nestingPrefixEscaped,nestingSuffix,nestingSuffixEscaped,nestingOptionsSeparator,maxReplaces,alwaysFormat}=options.interpolation;this.escape=escape$1!==void 0?escape$1:escape,this.escapeValue=escapeValue!==void 0?escapeValue:!0,this.useRawValueToEscape=useRawValueToEscape!==void 0?useRawValueToEscape:!1,this.prefix=prefix?regexEscape(prefix):prefixEscaped||"{{",this.suffix=suffix?regexEscape(suffix):suffixEscaped||"}}",this.formatSeparator=formatSeparator||",",this.unescapePrefix=unescapeSuffix?"":unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":unescapeSuffix||"",this.nestingPrefix=nestingPrefix?regexEscape(nestingPrefix):nestingPrefixEscaped||regexEscape("$t("),this.nestingSuffix=nestingSuffix?regexEscape(nestingSuffix):nestingSuffixEscaped||regexEscape(")"),this.nestingOptionsSeparator=nestingOptionsSeparator||",",this.maxReplaces=maxReplaces||1e3,this.alwaysFormat=alwaysFormat!==void 0?alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let getOrResetRegExp=(existingRegExp,pattern)=>existingRegExp?.source===pattern?(existingRegExp.lastIndex=0,existingRegExp):new RegExp(pattern,"g");this.regexp=getOrResetRegExp(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=getOrResetRegExp(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=getOrResetRegExp(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(str,data,lng,options){let match,value,replaces,defaultData=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},handleFormat=key=>{if(!key.includes(this.formatSeparator)){let path=deepFindWithDefaults(data,defaultData,key,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(path,void 0,lng,{...options,...data,interpolationkey:key}):path}let p=key.split(this.formatSeparator),k=p.shift().trim(),f=p.join(this.formatSeparator).trim();return this.format(deepFindWithDefaults(data,defaultData,k,this.options.keySeparator,this.options.ignoreJSONStructure),f,lng,{...options,...data,interpolationkey:k})};this.resetRegExp();let missingInterpolationHandler=options?.missingInterpolationHandler||this.options.missingInterpolationHandler,skipOnVariables=options?.interpolation?.skipOnVariables!==void 0?options.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:val=>regexSafe(val)},{regex:this.regexp,safeValue:val=>this.escapeValue?regexSafe(this.escape(val)):regexSafe(val)}].forEach(todo=>{for(replaces=0;match=todo.regex.exec(str);){let matchedVar=match[1].trim();if(value=handleFormat(matchedVar),value===void 0)if(typeof missingInterpolationHandler=="function"){let temp=missingInterpolationHandler(str,match,options);value=isString(temp)?temp:""}else if(options&&Object.prototype.hasOwnProperty.call(options,matchedVar))value="";else if(skipOnVariables){value=match[0];continue}else this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`),value="";else!isString(value)&&!this.useRawValueToEscape&&(value=makeString(value));let safeValue=todo.safeValue(value);if(str=str.replace(match[0],safeValue),skipOnVariables?(todo.regex.lastIndex+=value.length,todo.regex.lastIndex-=match[0].length):todo.regex.lastIndex=0,replaces++,replaces>=this.maxReplaces)break}}),str}nest(str,fc,options={}){let match,value,clonedOptions,handleHasOptions=(key,inheritedOptions)=>{let sep2=this.nestingOptionsSeparator;if(!key.includes(sep2))return key;let c=key.split(new RegExp(`${regexEscape(sep2)}[ ]*{`)),optionsString=`{${c[1]}`;key=c[0],optionsString=this.interpolate(optionsString,clonedOptions);let matchedSingleQuotes=optionsString.match(/'/g),matchedDoubleQuotes=optionsString.match(/"/g);((matchedSingleQuotes?.length??0)%2===0&&!matchedDoubleQuotes||(matchedDoubleQuotes?.length??0)%2!==0)&&(optionsString=optionsString.replace(/'/g,'"'));try{clonedOptions=JSON.parse(optionsString),inheritedOptions&&(clonedOptions={...inheritedOptions,...clonedOptions})}catch(e){return this.logger.warn(`failed parsing options string in nesting for key ${key}`,e),`${key}${sep2}${optionsString}`}return clonedOptions.defaultValue&&clonedOptions.defaultValue.includes(this.prefix)&&delete clonedOptions.defaultValue,key};for(;match=this.nestingRegexp.exec(str);){let formatters=[];clonedOptions={...options},clonedOptions=clonedOptions.replace&&!isString(clonedOptions.replace)?clonedOptions.replace:clonedOptions,clonedOptions.applyPostProcessor=!1,delete clonedOptions.defaultValue;let keyEndIndex=/{.*}/.test(match[1])?match[1].lastIndexOf("}")+1:match[1].indexOf(this.formatSeparator);if(keyEndIndex!==-1&&(formatters=match[1].slice(keyEndIndex).split(this.formatSeparator).map(elem=>elem.trim()).filter(Boolean),match[1]=match[1].slice(0,keyEndIndex)),value=fc(handleHasOptions.call(this,match[1].trim(),clonedOptions),clonedOptions),value&&match[0]===str&&!isString(value))return value;isString(value)||(value=makeString(value)),value||(this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`),value=""),formatters.length&&(value=formatters.reduce((v,f)=>this.format(v,f,options.lng,{...options,interpolationkey:match[1].trim()}),value.trim())),str=str.replace(match[0],value),this.regexp.lastIndex=0}return str}},parseFormatStr=formatStr=>{let formatName=formatStr.toLowerCase().trim(),formatOptions={};if(formatStr.includes("(")){let p=formatStr.split("(");formatName=p[0].toLowerCase().trim();let optStr=p[1].slice(0,-1);formatName==="currency"&&!optStr.includes(":")?formatOptions.currency||(formatOptions.currency=optStr.trim()):formatName==="relativetime"&&!optStr.includes(":")?formatOptions.range||(formatOptions.range=optStr.trim()):optStr.split(";").forEach(opt=>{if(opt){let[key,...rest]=opt.split(":"),val=rest.join(":").trim().replace(/^'+|'+$/g,""),trimmedKey=key.trim();formatOptions[trimmedKey]||(formatOptions[trimmedKey]=val),val==="false"&&(formatOptions[trimmedKey]=!1),val==="true"&&(formatOptions[trimmedKey]=!0),isNaN(val)||(formatOptions[trimmedKey]=parseInt(val,10))}})}return{formatName,formatOptions}},createCachedFormatter=fn=>{let cache={};return(v,l,o)=>{let optForCache=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(optForCache={...optForCache,[o.interpolationkey]:void 0});let key=l+JSON.stringify(optForCache),frm=cache[key];return frm||(frm=fn(getCleanedCode(l),o),cache[key]=frm),frm(v)}},createNonCachedFormatter=fn=>(v,l,o)=>fn(getCleanedCode(l),o)(v),Formatter=class{constructor(options={}){this.logger=baseLogger.create("formatter"),this.options=options,this.init(options)}init(services,options={interpolation:{}}){this.formatSeparator=options.interpolation.formatSeparator||",";let cf=options.cacheInBuiltFormats?createCachedFormatter:createNonCachedFormatter;this.formats={number:cf((lng,opt)=>{let formatter=new Intl.NumberFormat(lng,{...opt});return val=>formatter.format(val)}),currency:cf((lng,opt)=>{let formatter=new Intl.NumberFormat(lng,{...opt,style:"currency"});return val=>formatter.format(val)}),datetime:cf((lng,opt)=>{let formatter=new Intl.DateTimeFormat(lng,{...opt});return val=>formatter.format(val)}),relativetime:cf((lng,opt)=>{let formatter=new Intl.RelativeTimeFormat(lng,{...opt});return val=>formatter.format(val,opt.range||"day")}),list:cf((lng,opt)=>{let formatter=new Intl.ListFormat(lng,{...opt});return val=>formatter.format(val)})}}add(name,fc){this.formats[name.toLowerCase().trim()]=fc}addCached(name,fc){this.formats[name.toLowerCase().trim()]=createCachedFormatter(fc)}format(value,format,lng,options={}){if(!format||value==null)return value;let formats=format.split(this.formatSeparator);if(formats.length>1&&formats[0].indexOf("(")>1&&!formats[0].includes(")")&&formats.find(f=>f.includes(")"))){let lastIndex=formats.findIndex(f=>f.includes(")"));formats[0]=[formats[0],...formats.splice(1,lastIndex)].join(this.formatSeparator)}return formats.reduce((mem,f)=>{let{formatName,formatOptions}=parseFormatStr(f);if(this.formats[formatName]){let formatted=mem;try{let valOptions=options?.formatParams?.[options.interpolationkey]||{},l=valOptions.locale||valOptions.lng||options.locale||options.lng||lng;formatted=this.formats[formatName](mem,l,{...formatOptions,...options,...valOptions})}catch(error){this.logger.warn(error)}return formatted}else this.logger.warn(`there was no format function for ${formatName}`);return mem},value)}},removePending=(q,name)=>{q.pending[name]!==void 0&&(delete q.pending[name],q.pendingCount--)},Connector=class extends EventEmitter{constructor(backend,store,services,options={}){super(),this.backend=backend,this.store=store,this.services=services,this.languageUtils=services.languageUtils,this.options=options,this.logger=baseLogger.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=options.maxParallelReads||10,this.readingCalls=0,this.maxRetries=options.maxRetries>=0?options.maxRetries:5,this.retryTimeout=options.retryTimeout>=1?options.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(services,options.backend,options)}queueLoad(languages,namespaces,options,callback){let toLoad={},pending={},toLoadLanguages={},toLoadNamespaces={};return languages.forEach(lng=>{let hasAllNamespaces=!0;namespaces.forEach(ns=>{let name=`${lng}|${ns}`;!options.reload&&this.store.hasResourceBundle(lng,ns)?this.state[name]=2:this.state[name]<0||(this.state[name]===1?pending[name]===void 0&&(pending[name]=!0):(this.state[name]=1,hasAllNamespaces=!1,pending[name]===void 0&&(pending[name]=!0),toLoad[name]===void 0&&(toLoad[name]=!0),toLoadNamespaces[ns]===void 0&&(toLoadNamespaces[ns]=!0)))}),hasAllNamespaces||(toLoadLanguages[lng]=!0)}),(Object.keys(toLoad).length||Object.keys(pending).length)&&this.queue.push({pending,pendingCount:Object.keys(pending).length,loaded:{},errors:[],callback}),{toLoad:Object.keys(toLoad),pending:Object.keys(pending),toLoadLanguages:Object.keys(toLoadLanguages),toLoadNamespaces:Object.keys(toLoadNamespaces)}}loaded(name,err,data){let s=name.split("|"),lng=s[0],ns=s[1];err&&this.emit("failedLoading",lng,ns,err),!err&&data&&this.store.addResourceBundle(lng,ns,data,void 0,void 0,{skipCopy:!0}),this.state[name]=err?-1:2,err&&data&&(this.state[name]=0);let loaded={};this.queue.forEach(q=>{pushPath(q.loaded,[lng],ns),removePending(q,name),err&&q.errors.push(err),q.pendingCount===0&&!q.done&&(Object.keys(q.loaded).forEach(l=>{loaded[l]||(loaded[l]={});let loadedKeys=q.loaded[l];loadedKeys.length&&loadedKeys.forEach(n=>{loaded[l][n]===void 0&&(loaded[l][n]=!0)})}),q.done=!0,q.errors.length?q.callback(q.errors):q.callback())}),this.emit("loaded",loaded),this.queue=this.queue.filter(q=>!q.done)}read(lng,ns,fcName,tried=0,wait=this.retryTimeout,callback){if(!lng.length)return callback(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng,ns,fcName,tried,wait,callback});return}this.readingCalls++;let resolver=(err,data)=>{if(this.readingCalls--,this.waitingReads.length>0){let next=this.waitingReads.shift();this.read(next.lng,next.ns,next.fcName,next.tried,next.wait,next.callback)}if(err&&data&&tried<this.maxRetries){setTimeout(()=>{this.read(lng,ns,fcName,tried+1,wait*2,callback)},wait);return}callback(err,data)},fc=this.backend[fcName].bind(this.backend);if(fc.length===2){try{let r=fc(lng,ns);r&&typeof r.then=="function"?r.then(data=>resolver(null,data)).catch(resolver):resolver(null,r)}catch(err){resolver(err)}return}return fc(lng,ns,resolver)}prepareLoading(languages,namespaces,options={},callback){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),callback&&callback();isString(languages)&&(languages=this.languageUtils.toResolveHierarchy(languages)),isString(namespaces)&&(namespaces=[namespaces]);let toLoad=this.queueLoad(languages,namespaces,options,callback);if(!toLoad.toLoad.length)return toLoad.pending.length||callback(),null;toLoad.toLoad.forEach(name=>{this.loadOne(name)})}load(languages,namespaces,callback){this.prepareLoading(languages,namespaces,{},callback)}reload(languages,namespaces,callback){this.prepareLoading(languages,namespaces,{reload:!0},callback)}loadOne(name,prefix=""){let s=name.split("|"),lng=s[0],ns=s[1];this.read(lng,ns,"read",void 0,void 0,(err,data)=>{err&&this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`,err),!err&&data&&this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`,data),this.loaded(name,err,data)})}saveMissing(languages,namespace,key,fallbackValue,isUpdate,options={},clb=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(namespace)){this.logger.warn(`did not save key "${key}" as the namespace "${namespace}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(key==null||key==="")){if(this.backend?.create){let opts={...options,isUpdate},fc=this.backend.create.bind(this.backend);if(fc.length<6)try{let r;fc.length===5?r=fc(languages,namespace,key,fallbackValue,opts):r=fc(languages,namespace,key,fallbackValue),r&&typeof r.then=="function"?r.then(data=>clb(null,data)).catch(clb):clb(null,r)}catch(err){clb(err)}else fc(languages,namespace,key,fallbackValue,clb,opts)}!languages||!languages[0]||this.store.addResource(languages[0],namespace,key,fallbackValue)}}},get=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:args=>{let ret={};if(typeof args[1]=="object"&&(ret=args[1]),isString(args[1])&&(ret.defaultValue=args[1]),isString(args[2])&&(ret.tDescription=args[2]),typeof args[2]=="object"||typeof args[3]=="object"){let options=args[3]||args[2];Object.keys(options).forEach(key=>{ret[key]=options[key]})}return ret},interpolation:{escapeValue:!0,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),transformOptions=options=>(isString(options.ns)&&(options.ns=[options.ns]),isString(options.fallbackLng)&&(options.fallbackLng=[options.fallbackLng]),isString(options.fallbackNS)&&(options.fallbackNS=[options.fallbackNS]),options.supportedLngs&&!options.supportedLngs.includes("cimode")&&(options.supportedLngs=options.supportedLngs.concat(["cimode"])),options),noop3=()=>{},bindMemberFunctions=inst=>{Object.getOwnPropertyNames(Object.getPrototypeOf(inst)).forEach(mem=>{typeof inst[mem]=="function"&&(inst[mem]=inst[mem].bind(inst))})},I18n=class _I18n extends EventEmitter{constructor(options={},callback){if(super(),this.options=transformOptions(options),this.services={},this.logger=baseLogger,this.modules={external:[]},bindMemberFunctions(this),callback&&!this.isInitialized&&!options.isClone){if(!this.options.initAsync)return this.init(options,callback),this;setTimeout(()=>{this.init(options,callback)},0)}}init(options={},callback){this.isInitializing=!0,typeof options=="function"&&(callback=options,options={}),options.defaultNS==null&&options.ns&&(isString(options.ns)?options.defaultNS=options.ns:options.ns.includes("translation")||(options.defaultNS=options.ns[0]));let defOpts=get();this.options={...defOpts,...this.options,...transformOptions(options)},this.options.interpolation={...defOpts.interpolation,...this.options.interpolation},options.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=options.keySeparator),options.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=options.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=defOpts.overloadTranslationOptionHandler);let createClassOnDemand=ClassOrObject=>ClassOrObject?typeof ClassOrObject=="function"?new ClassOrObject:ClassOrObject:null;if(!this.options.isClone){this.modules.logger?baseLogger.init(createClassOnDemand(this.modules.logger),this.options):baseLogger.init(null,this.options);let formatter;this.modules.formatter?formatter=this.modules.formatter:formatter=Formatter;let lu=new LanguageUtil(this.options);this.store=new ResourceStore(this.options.resources,this.options);let s=this.services;s.logger=baseLogger,s.resourceStore=this.store,s.languageUtils=lu,s.pluralResolver=new PluralResolver(lu,{prepend:this.options.pluralSeparator}),formatter&&(s.formatter=createClassOnDemand(formatter),s.formatter.init&&s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new Interpolator(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new Connector(createClassOnDemand(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",(event,...args)=>{this.emit(event,...args)}),this.modules.languageDetector&&(s.languageDetector=createClassOnDemand(this.modules.languageDetector),s.languageDetector.init&&s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=createClassOnDemand(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new Translator(this.services,this.options),this.translator.on("*",(event,...args)=>{this.emit(event,...args)}),this.modules.external.forEach(m=>{m.init&&m.init(this)})}if(this.format=this.options.interpolation.format,callback||(callback=noop3),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let codes=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);codes.length>0&&codes[0]!=="dev"&&(this.options.lng=codes[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(fcName=>{this[fcName]=(...args)=>this.store[fcName](...args)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(fcName=>{this[fcName]=(...args)=>(this.store[fcName](...args),this)});let deferred=defer(),load=()=>{let finish=(err,t2)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),deferred.resolve(t2),callback(err,t2)};if(this.languages&&!this.isInitialized)return finish(null,this.t.bind(this));this.changeLanguage(this.options.lng,finish)};return this.options.resources||!this.options.initAsync?load():setTimeout(load,0),deferred}loadResources(language,callback=noop3){let usedCallback=callback,usedLng=isString(language)?language:this.language;if(typeof language=="function"&&(usedCallback=language),!this.options.resources||this.options.partialBundledLanguages){if(usedLng?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return usedCallback();let toLoad=[],append=lng=>{if(!lng||lng==="cimode")return;this.services.languageUtils.toResolveHierarchy(lng).forEach(l=>{l!=="cimode"&&(toLoad.includes(l)||toLoad.push(l))})};usedLng?append(usedLng):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>append(l)),this.options.preload?.forEach?.(l=>append(l)),this.services.backendConnector.load(toLoad,this.options.ns,e=>{!e&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),usedCallback(e)})}else usedCallback(null)}reloadResources(lngs,ns,callback){let deferred=defer();return typeof lngs=="function"&&(callback=lngs,lngs=void 0),typeof ns=="function"&&(callback=ns,ns=void 0),lngs||(lngs=this.languages),ns||(ns=this.options.ns),callback||(callback=noop3),this.services.backendConnector.reload(lngs,ns,err=>{deferred.resolve(),callback(err)}),deferred}use(module2){if(!module2)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!module2.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return module2.type==="backend"&&(this.modules.backend=module2),(module2.type==="logger"||module2.log&&module2.warn&&module2.error)&&(this.modules.logger=module2),module2.type==="languageDetector"&&(this.modules.languageDetector=module2),module2.type==="i18nFormat"&&(this.modules.i18nFormat=module2),module2.type==="postProcessor"&&postProcessor.addPostProcessor(module2),module2.type==="formatter"&&(this.modules.formatter=module2),module2.type==="3rdParty"&&this.modules.external.push(module2),this}setResolvedLanguage(l){if(!(!l||!this.languages)&&!["cimode","dev"].includes(l)){for(let li=0;li<this.languages.length;li++){let lngInLngs=this.languages[li];if(!["cimode","dev"].includes(lngInLngs)&&this.store.hasLanguageSomeTranslations(lngInLngs)){this.resolvedLanguage=lngInLngs;break}}!this.resolvedLanguage&&!this.languages.includes(l)&&this.store.hasLanguageSomeTranslations(l)&&(this.resolvedLanguage=l,this.languages.unshift(l))}}changeLanguage(lng,callback){this.isLanguageChangingTo=lng;let deferred=defer();this.emit("languageChanging",lng);let setLngProps=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},done=(err,l)=>{l?this.isLanguageChangingTo===lng&&(setLngProps(l),this.translator.changeLanguage(l),this.isLanguageChangingTo=void 0,this.emit("languageChanged",l),this.logger.log("languageChanged",l)):this.isLanguageChangingTo=void 0,deferred.resolve((...args)=>this.t(...args)),callback&&callback(err,(...args)=>this.t(...args))},setLng=lngs=>{!lng&&!lngs&&this.services.languageDetector&&(lngs=[]);let fl=isString(lngs)?lngs:lngs&&lngs[0],l=this.store.hasLanguageSomeTranslations(fl)?fl:this.services.languageUtils.getBestMatchFromCodes(isString(lngs)?[lngs]:lngs);l&&(this.language||setLngProps(l),this.translator.language||this.translator.changeLanguage(l),this.services.languageDetector?.cacheUserLanguage?.(l)),this.loadResources(l,err=>{done(err,l)})};return!lng&&this.services.languageDetector&&!this.services.languageDetector.async?setLng(this.services.languageDetector.detect()):!lng&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(setLng):this.services.languageDetector.detect(setLng):setLng(lng),deferred}getFixedT(lng,ns,keyPrefix){let fixedT=(key,opts,...rest)=>{let o;typeof opts!="object"?o=this.options.overloadTranslationOptionHandler([key,opts].concat(rest)):o={...opts},o.lng=o.lng||fixedT.lng,o.lngs=o.lngs||fixedT.lngs,o.ns=o.ns||fixedT.ns,o.keyPrefix!==""&&(o.keyPrefix=o.keyPrefix||keyPrefix||fixedT.keyPrefix);let selectorOpts={...this.options,...o};typeof o.keyPrefix=="function"&&(o.keyPrefix=keysFromSelector(o.keyPrefix,selectorOpts));let keySeparator=this.options.keySeparator||".",resultKey;return o.keyPrefix&&Array.isArray(key)?resultKey=key.map(k=>(typeof k=="function"&&(k=keysFromSelector(k,selectorOpts)),`${o.keyPrefix}${keySeparator}${k}`)):(typeof key=="function"&&(key=keysFromSelector(key,selectorOpts)),resultKey=o.keyPrefix?`${o.keyPrefix}${keySeparator}${key}`:key),this.t(resultKey,o)};return isString(lng)?fixedT.lng=lng:fixedT.lngs=lng,fixedT.ns=ns,fixedT.keyPrefix=keyPrefix,fixedT}t(...args){return this.translator?.translate(...args)}exists(...args){return this.translator?.exists(...args)}setDefaultNamespace(ns){this.options.defaultNS=ns}hasLoadedNamespace(ns,options={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;let lng=options.lng||this.resolvedLanguage||this.languages[0],fallbackLng=this.options?this.options.fallbackLng:!1,lastLng=this.languages[this.languages.length-1];if(lng.toLowerCase()==="cimode")return!0;let loadNotPending=(l,n)=>{let loadState=this.services.backendConnector.state[`${l}|${n}`];return loadState===-1||loadState===0||loadState===2};if(options.precheck){let preResult=options.precheck(this,loadNotPending);if(preResult!==void 0)return preResult}return!!(this.hasResourceBundle(lng,ns)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||loadNotPending(lng,ns)&&(!fallbackLng||loadNotPending(lastLng,ns)))}loadNamespaces(ns,callback){let deferred=defer();return this.options.ns?(isString(ns)&&(ns=[ns]),ns.forEach(n=>{this.options.ns.includes(n)||this.options.ns.push(n)}),this.loadResources(err=>{deferred.resolve(),callback&&callback(err)}),deferred):(callback&&callback(),Promise.resolve())}loadLanguages(lngs,callback){let deferred=defer();isString(lngs)&&(lngs=[lngs]);let preloaded=this.options.preload||[],newLngs=lngs.filter(lng=>!preloaded.includes(lng)&&this.services.languageUtils.isSupportedCode(lng));return newLngs.length?(this.options.preload=preloaded.concat(newLngs),this.loadResources(err=>{deferred.resolve(),callback&&callback(err)}),deferred):(callback&&callback(),Promise.resolve())}dir(lng){if(lng||(lng=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!lng)return"rtl";try{let l=new Intl.Locale(lng);if(l&&l.getTextInfo){let ti=l.getTextInfo();if(ti&&ti.direction)return ti.direction}}catch{}let rtlLngs=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],languageUtils=this.services?.languageUtils||new LanguageUtil(get());return lng.toLowerCase().indexOf("-latn")>1?"ltr":rtlLngs.includes(languageUtils.getLanguagePartFromCode(lng))||lng.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(options={},callback){let instance2=new _I18n(options,callback);return instance2.createInstance=_I18n.createInstance,instance2}cloneInstance(options={},callback=noop3){let forkResourceStore=options.forkResourceStore;forkResourceStore&&delete options.forkResourceStore;let mergedOptions={...this.options,...options,isClone:!0},clone=new _I18n(mergedOptions);if((options.debug!==void 0||options.prefix!==void 0)&&(clone.logger=clone.logger.clone(options)),["store","services","language"].forEach(m=>{clone[m]=this[m]}),clone.services={...this.services},clone.services.utils={hasLoadedNamespace:clone.hasLoadedNamespace.bind(clone)},forkResourceStore){let clonedData=Object.keys(this.store.data).reduce((prev,l)=>(prev[l]={...this.store.data[l]},prev[l]=Object.keys(prev[l]).reduce((acc,n)=>(acc[n]={...prev[l][n]},acc),prev[l]),prev),{});clone.store=new ResourceStore(clonedData,mergedOptions),clone.services.resourceStore=clone.store}if(options.interpolation){let mergedInterpolation={...get().interpolation,...this.options.interpolation,...options.interpolation},mergedForInterpolator={...mergedOptions,interpolation:mergedInterpolation};clone.services.interpolator=new Interpolator(mergedForInterpolator)}return clone.translator=new Translator(clone.services,mergedOptions),clone.translator.on("*",(event,...args)=>{clone.emit(event,...args)}),clone.init(mergedOptions,callback),clone.translator.options=mergedOptions,clone.translator.backendConnector.services.utils={hasLoadedNamespace:clone.hasLoadedNamespace.bind(clone)},clone}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}},instance=I18n.createInstance(),createInstance=instance.createInstance,dir=instance.dir,init=instance.init,loadResources=instance.loadResources,reloadResources=instance.reloadResources,use=instance.use,changeLanguage=instance.changeLanguage,getFixedT=instance.getFixedT,t=instance.t,exists=instance.exists,setDefaultNamespace=instance.setDefaultNamespace,hasLoadedNamespace=instance.hasLoadedNamespace,loadNamespaces=instance.loadNamespaces,loadLanguages=instance.loadLanguages;var import_obsidian41=require("obsidian");var import_obsidian6=require("obsidian");var import_obsidian5=require("obsidian"),import_slugify2=__toESM(require_slugify());var import_obsidian4=require("obsidian");var import_slugify=__toESM(require_slugify());var import_obsidian3=require("obsidian");function klona(x){if(typeof x!="object")return x;var k,tmp,str=Object.prototype.toString.call(x);if(str==="[object Object]"){if(x.constructor!==Object&&typeof x.constructor=="function"){tmp=new x.constructor;for(k in x)x.hasOwnProperty(k)&&tmp[k]!==x[k]&&(tmp[k]=klona(x[k]))}else{tmp={};for(k in x)k==="__proto__"?Object.defineProperty(tmp,k,{value:klona(x[k]),configurable:!0,enumerable:!0,writable:!0}):tmp[k]=klona(x[k])}return tmp}if(str==="[object Array]"){for(k=x.length,tmp=Array(k);k--;)tmp[k]=klona(x[k]);return tmp}return str==="[object Set]"?(tmp=new Set,x.forEach(function(val){tmp.add(klona(val))}),tmp):str==="[object Map]"?(tmp=new Map,x.forEach(function(val,key){tmp.set(klona(key),klona(val))}),tmp):str==="[object Date]"?new Date(+x):str==="[object RegExp]"?(tmp=new RegExp(x.source,x.flags),tmp.lastIndex=x.lastIndex,tmp):str==="[object DataView]"?new x.constructor(klona(x.buffer)):str==="[object ArrayBuffer]"?x.slice(0):str.slice(-6)==="Array]"?new x.constructor(x):x}var import_obsidian=require("obsidian");var isObject=obj=>{if(typeof obj=="object"&&obj!==null){if(typeof Object.getPrototypeOf=="function"){let prototype=Object.getPrototypeOf(obj);return prototype===Object.prototype||prototype===null}return Object.prototype.toString.call(obj)==="[object Object]"}return!1},merge2=(...objects)=>objects.reduce((result,current)=>{if(current===void 0)return result;if(Array.isArray(current))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(current).forEach(key=>{["__proto__","constructor","prototype"].includes(key)||(Array.isArray(result[key])&&Array.isArray(current[key])?result[key]=merge2.options.mergeArrays?merge2.options.uniqueArrayItems?Array.from(new Set(result[key].concat(current[key]))):[...result[key],...current[key]]:current[key]:isObject(result[key])&&isObject(current[key])?result[key]=merge2(result[key],current[key]):!isObject(result[key])&&isObject(current[key])?result[key]=merge2(current[key],void 0):result[key]=current[key]===void 0?merge2.options.allowUndefinedOverrides?current[key]:result[key]:current[key])}),result},{}),defaultOptions={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};merge2.options=defaultOptions;merge2.withOptions=(options,...objects)=>{merge2.options=Object.assign(Object.assign({},defaultOptions),options);let result=merge2(...objects);return merge2.options=defaultOptions,result};function frontmatterSettingsRepository(plugin,repo){let defaultConvert=getFrontmatterSettings(null,plugin.settings,repo);return!repo?.set||!plugin.repositoryFrontmatter[repo.smartKey]?defaultConvert:getFrontmatterSettings(plugin.repositoryFrontmatter[repo.smartKey],plugin.settings,repo)}function getFrontmatterSettings(frontmatter,settings,repo){let settingsConversion={convertWiki:settings.conversion.links.wiki,attachment:settings.embed.attachments,embed:settings.embed.notes,links:!0,removeEmbed:settings.embed.convertEmbedToLinks,charEmbedLinks:settings.embed.charConvert,dataview:settings.conversion.dataview,hardbreak:settings.conversion.hardbreak,unshared:settings.conversion.links.unshared,convertInternalLinks:settings.conversion.links.internal,includeLinks:settings.embed.sendSimpleLinks,unlink:!settings.conversion.links.unshared&&settings.conversion.links.unlink};return(repo?repo.shareAll?.enable:settings.plugin.shareAll?.enable)&&(settingsConversion.unshared=!0),frontmatter?(settingsConversion=settingsLink(frontmatter,settingsConversion),settingsConversion=settingsEmbed(frontmatter,settingsConversion),settingsConversion=settingAttachment(frontmatter,settingsConversion),frontmatter.dataview!=null&&(settingsConversion.dataview=frontmatter.dataview),frontmatter.hardbreak!=null&&(settingsConversion.hardbreak=frontmatter.hardbreak),getFrontmatterSettingRepository(repo,frontmatter,settingsConversion)):settingsConversion}function booleanRemoveEmbed(removeEmbed){return removeEmbed==="true"?"keep":removeEmbed==="false"?"remove":removeEmbed==="links"?"links":removeEmbed==="bake"||removeEmbed==="include"?"bake":"keep"}function getProperties(plugin,repository,frontmatter,checkSet){let settings=plugin.settings,github=repository??settings.github;if(checkSet&&repository&&plugin.repositoryFrontmatter[repository.smartKey]){let setFrontmatter=plugin.repositoryFrontmatter[repository.smartKey];delete setFrontmatter?.[settings.plugin.shareKey],frontmatter=merge2.withOptions({allowUndefinedOverrides:!1},setFrontmatter??{},frontmatter??{})}if(frontmatter&&typeof frontmatter.shortRepo=="string"&&frontmatter.shortRepo!=="default"){let smartKey=frontmatter.shortRepo.toLowerCase();github=settings.github.otherRepo.find(repo=>repo.smartKey.toLowerCase()===smartKey)??github}let Properties={branch:github.branch,repo:github.repo,owner:github.user,autoclean:!settings.github.dryRun.enable&&settings.upload.autoclean.enable,workflowName:github.workflow.name,commitMsg:github.workflow.commitMessage,automaticallyMergePR:github.automaticallyMergePR,verifiedRepo:github.verifiedRepo??!1,rateLimit:github.rateLimit,dryRun:{...settings.github.dryRun,autoclean:settings.upload.autoclean.enable&&settings.github.dryRun.enable}};if(settings.upload.behavior==="fixed"&&(Properties.autoclean=!1),!frontmatter||frontmatter.multipleRepo===void 0&&frontmatter.repo===void 0&&frontmatter.shortRepo===void 0)return parsePath(plugin,repository,Properties,frontmatter);let isFrontmatterAutoClean=null;if(frontmatter.multipleRepo){let multipleRepo=parseMultipleRepo(frontmatter,Properties);return parsePath(plugin,repository,multipleRepo,frontmatter)}else if(frontmatter.repo)if(typeof frontmatter.repo=="object")frontmatter.repo.branch!=null&&(Properties.branch=frontmatter.repo.branch),frontmatter.repo.repo!=null&&(Properties.repo=frontmatter.repo.repo),frontmatter.repo.owner!=null&&(Properties.owner=frontmatter.repo.owner),frontmatter.repo.autoclean!=null&&(Properties.autoclean=frontmatter.repo.autoclean,isFrontmatterAutoClean=!0);else{let repo=frontmatter.repo.split("/");isFrontmatterAutoClean=repo.length>4?!0:null,Properties=repositoryStringSlice(repo,Properties)}else if(frontmatter.shortRepo instanceof Array)return multipleShortKeyRepo(frontmatter,settings.github.otherRepo,Properties,plugin);return frontmatter.autoclean!=null&&isFrontmatterAutoClean===null&&(Properties.autoclean=frontmatter.autoclean),parsePath(plugin,repository,Properties)}function parseMultipleRepo(frontmatter,Properties){let multipleRepo=[];if(frontmatter.multipleRepo instanceof Array&&frontmatter.multipleRepo.length>0)for(let repo of frontmatter.multipleRepo)if(typeof repo=="object"){let repository=klona(Properties);repo.branch!=null&&(repository.branch=repo.branch),repo.repo!=null&&(repository.repo=repo.repo),repo.owner!=null&&(repository.owner=repo.owner),repo.autoclean!=null&&(repository.autoclean=repo.autoclean),multipleRepo.push(repository)}else{let repoString=repo.split("/"),repository=klona(Properties);multipleRepo.push(repositoryStringSlice(repoString,repository))}return removeDuplicateRepo(multipleRepo)}function removeDuplicateRepo(multipleRepo){return multipleRepo.filter((v,i,a)=>a.findIndex(t2=>t2.repo===v.repo&&t2.owner===v.owner&&t2.branch===v.branch&&t2.autoclean===v.autoclean)===i)}function multipleShortKeyRepo(frontmatter,allRepo,properties,plugin){if(frontmatter.shortRepo instanceof Array){let multipleRepo=[];for(let repo of frontmatter.shortRepo){let smartKey=repo.toLowerCase();if(smartKey==="default")multipleRepo.push(properties);else{let shortRepo=allRepo.find(repo2=>repo2.smartKey.toLowerCase()===smartKey);if(shortRepo){let repo2={branch:shortRepo.branch,repo:shortRepo.repo,owner:shortRepo.user,autoclean:properties.autoclean,automaticallyMergePR:shortRepo.automaticallyMergePR,workflowName:shortRepo.workflow.name,commitMsg:shortRepo.workflow.commitMessage,dryRun:properties.dryRun},parsedPath=parsePath(plugin,shortRepo,repo2);repo2=Array.isArray(parsedPath)?parsedPath[0]:parsedPath,multipleRepo.push(repo2)}}}return multipleRepo}return properties}function repositoryStringSlice(repo,properties){let newRepo=klona(properties);return repo.length===4&&(newRepo.branch=repo[2],newRepo.repo=repo[1],newRepo.owner=repo[0],newRepo.autoclean=repo[3]==="true"),repo.length===3?(newRepo.branch=repo[2],newRepo.repo=repo[1],newRepo.owner=repo[0]):repo.length===2?(newRepo.repo=repo[1],newRepo.owner=repo[0]):repo.length===1&&(newRepo.repo=repo[0]),newRepo}function getCategory(frontmatter,settings,paths){let key=paths?.category?.key??settings.upload.yamlFolderKey,category=frontmatter&&frontmatter[key]!=null?frontmatter[key]:paths?.defaultName??settings.upload.defaultName;return category instanceof Array?category.join("/"):category}function parsePath(plugin,repository,properties,frontmatter){properties=properties instanceof Array?properties:[properties];let settings=plugin.settings,splitArrayPath=path=>{if(path)return path instanceof Array?path.join("/"):path},matchType=type=>type&&type.match(/^(fixed|obsidian|yaml)$/i)?type:settings.upload.behavior;for(let repo of properties){let smartKey=repository?repository.smartKey:"default",path={type:matchType(frontmatter?.behavior),defaultName:frontmatter?.defaultName??frontmatter?.category?.value??frontmatter?.["category.value"]??settings.upload.defaultName,rootFolder:frontmatter?.rootFolder??settings.upload.rootFolder,category:{key:splitArrayPath(frontmatter?.category?.key??frontmatter?.["category.key"])??settings.upload.yamlFolderKey,value:getCategory(frontmatter,settings,void 0)},override:splitArrayPath(frontmatter?.path),smartkey:smartKey,attachment:{send:frontmatter?.attachment?.send??frontmatter?.["attachment.send"]??settings.embed.attachments,folder:splitArrayPath(frontmatter?.attachment?.send??frontmatter?.["attachment.folder"])??settings.embed.folder}},smartkeys={path:frontmatter?.[`${smartKey}.path`],category:frontmatter?.[`${smartKey}.category`],behavior:frontmatter?.[`${smartKey}.behavior`],attachment:frontmatter?.[`${smartKey}.attachment`],attachmentLinks:frontmatter?.[`${smartKey}.attachmentLinks`],rootFolder:frontmatter?.[`${smartKey}.rootFolder`],defaultName:{direct:frontmatter?.[`${smartKey}.defaultName`],asCategoryValue:frontmatter?.[`${smartKey}.category.value`]},categoryKey:{direct:frontmatter?.[`${smartKey}.${path.category}`],asKey:frontmatter?.[`${smartKey}.category.key`]}};if(smartkeys.path){path.override=splitArrayPath(smartkeys.path);continue}smartkeys.categoryKey.direct&&(path.category.key=smartkeys.categoryKey.direct),smartkeys.categoryKey.asKey&&(path.category.key=splitArrayPath(smartkeys.categoryKey.asKey)??path.category.key),smartkeys.rootFolder&&(path.rootFolder=splitArrayPath(smartkeys.rootFolder)),smartkeys.defaultName.direct&&(path.defaultName=splitArrayPath(smartkeys.defaultName.direct)),smartkeys.defaultName.asCategoryValue&&(path.defaultName=splitArrayPath(smartkeys.defaultName.asCategoryValue)??path.defaultName),smartkeys.category&&(typeof smartkeys.category=="object"?(smartkeys.category.value&&(path.defaultName=splitArrayPath(smartkeys.category.value)??path.defaultName),smartkeys.category.key&&(path.category.key=splitArrayPath(smartkeys.category.key)??path.category.key)):path.category.key=splitArrayPath(smartkeys.category)??path.category.key),smartkeys.behavior&&(path.type=matchType(smartkeys.behavior.toLowerCase())),smartkeys.attachment&&(typeof smartkeys.attachment=="object"?path.attachment={send:smartkeys.attachment?.send??path.attachment?.send,folder:splitArrayPath(smartkeys.attachment?.folder)??path.attachment.folder}:path.attachment.send=smartkeys.attachment),smartkeys.attachmentLinks&&(path.attachment.folder=(0,import_obsidian.normalizePath)(smartkeys.attachmentLinks.toString().replace(/\/$/,""))),path.category.value=getCategory(frontmatter,settings,path),repo.path=path}return properties}function getFrontmatterSettingRepository(repository,frontmatter,frontConvert){if(!repository||!repository?.smartKey)return frontConvert;let smartKey=repository.smartKey;frontConvert=settingsLink(frontmatter,frontConvert,smartKey),frontConvert=settingAttachment(frontmatter,frontConvert,smartKey),frontConvert=settingsEmbed(frontmatter,frontConvert,smartKey);let key=`${smartKey}.`;return frontmatter?.[`${key}dataview`]!=null&&(frontConvert.dataview=frontmatter[`${smartKey}dataview`]),frontmatter?.[`${key}hardbreak`]!=null&&(frontConvert.hardbreak=frontmatter[`${smartKey}hardbreak`]),frontmatter?.[`${key}includeLinks`]!=null&&(frontConvert.includeLinks=frontmatter[`${smartKey}includeLinks`]),frontConvert}function getLinkedFrontmatter(originalFrontmatter,sourceFile,plugin){let{settings}=plugin,{metadataCache,vault}=plugin.app,linkedKey=settings.plugin.setFrontmatterKey;if(!linkedKey||!originalFrontmatter||!sourceFile||!originalFrontmatter?.[linkedKey])return;let linkedFile;if(metadataCache.getFileCache(sourceFile)?.frontmatterLinks?.forEach(link=>{let fieldRegex=new RegExp(`${linkedKey}(\\.\\d+)?`,"g");link.key.match(fieldRegex)&&(linkedFile=link.link)}),!linkedFile)return;let linkedFrontmatterFile=metadataCache.getFirstLinkpathDest(linkedFile,sourceFile.path)??vault.getAbstractFileByPath(linkedFile);if(!(!linkedFrontmatterFile||!(linkedFrontmatterFile instanceof import_obsidian.TFile)))return metadataCache.getFileCache(linkedFrontmatterFile)?.frontmatter}function frontmatterFromFile(file,plugin,repo){let frontmatter=null,setFrontmatter=repo?.set&&plugin.repositoryFrontmatter[repo.smartKey]?plugin.repositoryFrontmatter[repo.smartKey]:null;if(file){frontmatter=plugin.app.metadataCache.getFileCache(file)?.frontmatter;let linkedFrontmatter=getLinkedFrontmatter(frontmatter,file,plugin);delete linkedFrontmatter?.[plugin.settings.plugin.shareKey],frontmatter=merge2.withOptions({allowUndefinedOverrides:!1},setFrontmatter??{},linkedFrontmatter??{},frontmatter??{})}return frontmatter}function settingsLink(frontmatter,settingsConversion,smartKey){let key="links";return smartKey&&(key=`${smartKey}.${key}`),frontmatter&&(frontmatter[key]!=null&&(typeof frontmatter[key]=="object"?(frontmatter[key].convert!=null&&(settingsConversion.links=frontmatter[key].convert),frontmatter[key].internals!=null&&(settingsConversion.convertInternalLinks=frontmatter[key].internals),frontmatter[key].mdlinks!=null&&(settingsConversion.convertWiki=frontmatter[key].mdlinks),frontmatter[key].nonShared!=null&&(settingsConversion.unshared=frontmatter[key].nonShared),frontmatter[key].unlink!=null&&(settingsConversion.unlink=frontmatter[key].unlink)):settingsConversion.links=frontmatter[key]),frontmatter[`${key}.convert`]!=null&&(settingsConversion.links=frontmatter[`${key}.convert`]),frontmatter[`${key}.internals`]!=null&&(settingsConversion.convertInternalLinks=frontmatter[`${key}.internals`]),frontmatter[`${key}.mdlinks`]!=null&&(settingsConversion.convertWiki=frontmatter[`${key}.mdlinks`]),frontmatter[`${key}.nonShared`]!=null&&(settingsConversion.unshared=frontmatter[`${key}.nonShared`]),frontmatter[`${key}.unlink`]!=null&&(settingsConversion.unlink=frontmatter[`${key}.unlink`]),frontmatter[smartKey?`${smartKey}.mdlinks`:"mdlinks"]!=null&&(settingsConversion.convertWiki=frontmatter[smartKey?`${smartKey}.mdlinks`:"mdlinks"]),frontmatter[smartKey?`${smartKey}.internals`:"internals"]!=null&&(settingsConversion.convertInternalLinks=frontmatter[smartKey?`${smartKey}.internals`:"internals"]),frontmatter[smartKey?`${smartKey}.nonShared`:"nonShared"]!=null&&(settingsConversion.unshared=frontmatter[smartKey?`${smartKey}.nonShared`:"nonShared"])),settingsConversion}function settingsEmbed(frontmatter,settingsConversion,smartkey){if(!frontmatter)return settingsConversion;let key=smartkey?`${smartkey}.embed`:"embed";frontmatter[key]!=null&&(typeof frontmatter[key]=="object"?(frontmatter[key].send!=null&&(settingsConversion.embed=frontmatter[key].send),frontmatter[key].remove!=null&&(settingsConversion.removeEmbed=booleanRemoveEmbed(frontmatter[key].remove)),frontmatter[key].char!=null&&(settingsConversion.charEmbedLinks=frontmatter[key].char)):settingsConversion.embed=frontmatter[key]),frontmatter[`${key}.send`]!=null&&(settingsConversion.embed=frontmatter[`${key}.send`]),frontmatter[`${key}.remove`]!=null&&(settingsConversion.removeEmbed=booleanRemoveEmbed(frontmatter[`${key}.remove`])),frontmatter[`${key}.char`]!=null&&(settingsConversion.charEmbedLinks=frontmatter[`${key}.char`]);let removeEmbedKey=smartkey?`${smartkey}.removeEmbed`:"removeEmbed";return frontmatter[removeEmbedKey]!=null&&(settingsConversion.removeEmbed=booleanRemoveEmbed(frontmatter[removeEmbedKey])),settingsConversion}function settingAttachment(frontmatter,settingsConversion,smartKey){if(!frontmatter)return settingsConversion;let key="attachment";return smartKey&&(key=`${smartKey}.${key}`),frontmatter[key]&&(typeof frontmatter[key]=="object"?(frontmatter[key].send!=null&&(settingsConversion.attachment=frontmatter[key].send),frontmatter[key].folder!=null&&(settingsConversion.attachmentLinks=frontmatter[key].folder)):settingsConversion.attachment=frontmatter[key]),frontmatter[`${key}.send`]!=null&&(settingsConversion.attachment=frontmatter[`${key}.send`]),frontmatter[`${key}.folder`]!=null&&(settingsConversion.attachmentLinks=frontmatter[`${key}.folder`]),settingsConversion.attachmentLinks&&(settingsConversion.attachmentLinks=(0,import_obsidian.normalizePath)(settingsConversion.attachmentLinks.toString().replace(/\/$/,""))),settingsConversion}function mergeFrontmatter(frontmatter,sourceFrontmatter,shareKey){return delete sourceFrontmatter?.[shareKey],sourceFrontmatter&&frontmatter&&(frontmatter=merge2.withOptions({allowUndefinedOverrides:!1},sourceFrontmatter,frontmatter)),frontmatter}var import_obsidian2=require("obsidian"),Logs=class{plugin;app;noticeLength;constructor(plugin){this.plugin=plugin,this.app=plugin.app,this.noticeLength=plugin.settings.plugin.noticeLength}async createLogFile(){let path=(0,import_obsidian2.normalizePath)(`${this.plugin.manifest.dir}/logs.txt`);await this.app.vault.adapter.exists(path)&&await this.app.vault.adapter.remove((0,import_obsidian2.normalizePath)(`${this.plugin.manifest.dir}/logs.txt`))}errorToMessage(error){if(error instanceof Object){if(error instanceof Error&&error.message)return error.message;let parsedError=JSON.parse(JSON.stringify(error));return Array.isArray(parsedError)?parsedError.join(", "):JSON.stringify(parsedError)}return typeof error=="string"?error:JSON.stringify(error)}writeToLog(error,type){if(this.plugin.settings.plugin?.dev){let logFile=(0,import_obsidian2.normalizePath)(`${this.plugin.manifest.dir}/logs.txt`),err=error,errMessage=this.errorToMessage(error),stack=err.stack?` ${err.stack.replace(errMessage,"").trim().replaceAll(`Error:
`,"").trim().replaceAll(`
`,`
`)}
`:`
`,header=`${new Date().toLocaleString()} [${type}]:
${errMessage.replaceAll(`
`,`
`)}
${stack}`;this.app.vault.adapter.exists(logFile).then(e=>{e?this.app.vault.adapter.append(logFile,header).catch(e2=>console.error(e2)):this.app.vault.adapter.write(logFile,header).catch(e2=>console.error(e2))}).catch(e=>console.error(e))}}notif(...messages){let settings=this.plugin.settings;settings.plugin?.noticeError&&new import_obsidian2.Notice(messages.join(" "),settings.plugin.noticeLength)}error(error){console.error(error),this.noticeError(error.message),this.writeToLog(error,"error")}warn(...messages){console.warn(...messages),this.notif(messages),this.writeToLog(messages,"warn")}info(...messages){console.info(...messages),this.notif(messages),this.writeToLog(messages,"info")}debug(...messages){this.plugin.settings.plugin?.dev&&([...messages],this.notif(messages),this.writeToLog(messages,"debug"))}trace(...messages){this.plugin.settings.plugin?.dev&&([...messages],this.notif(messages),this.writeToLog(messages,"debug"))}silly(...messages){this.plugin.settings.plugin?.dev&&([...messages],this.notif(messages),this.writeToLog(messages,"silly"))}noticeMobile(cls,icon,message){if(!import_obsidian2.Platform.isMobile)return;let noticeFrag=document.createDocumentFragment(),span=noticeFrag.createEl("span",{text:message,cls:["enveloppe",cls,"icons"]});return(0,import_obsidian2.setIcon)(span,icon),noticeFrag.createEl("span",{cls:["enveloppe",cls,"notification"]}).innerHTML=message,new import_obsidian2.Notice(noticeFrag,this.noticeLength)}noticeErrorUpload(properties){let repo=Array.isArray(properties)?properties:[properties];for(let repository of repo){let notif=document.createDocumentFragment(),notifSpan=notif.createSpan({cls:["error","enveloppe","icons","notification"]}),html=(0,import_obsidian2.sanitizeHTMLToDom)(instance.t("error.errorPublish",{repo:repository}));(0,import_obsidian2.setIcon)(notifSpan,"mail-warning"),notif.createSpan({cls:["error","enveloppe","notification"]}).appendChild(html),new import_obsidian2.Notice(notif,this.noticeLength)}}noticeSuccess(message){let notif=document.createDocumentFragment(),notifSpan=notif.createSpan({cls:["success","enveloppe","icons","notification"]}),html=(0,import_obsidian2.sanitizeHTMLToDom)(message);(0,import_obsidian2.setIcon)(notifSpan,"mail-check"),notif.createSpan({cls:["success","enveloppe","notification"]}).appendChild(html),new import_obsidian2.Notice(notif,this.noticeLength)}noticeError(message){let notif=document.createDocumentFragment(),notifSpan=notif.createSpan({cls:["error","enveloppe","icons","notification"]}),html=(0,import_obsidian2.sanitizeHTMLToDom)(message);(0,import_obsidian2.setIcon)(notifSpan,"alert-triangle"),notif.createSpan({cls:["error","enveloppe","notification"]}).appendChild(html),new import_obsidian2.Notice(notif,this.plugin.settings.plugin.noticeLength)}async publisherNotificationOneRepo(PublisherManager,file,settings,prop){let noticeValue=file instanceof import_obsidian2.TFile?`"${file.basename}"`:file,docSuccess=document.createDocumentFragment(),successMsg=file instanceof String?instance.t("informations.successfulPublish",{nbNotes:noticeValue,repo:prop}):instance.t("informations.successPublishOneNote",{file:noticeValue,repo:prop}),span=docSuccess.createEl("span",{text:successMsg,cls:["enveloppe","success","icons"]});if((0,import_obsidian2.setIcon)(span,"mail-check"),docSuccess.createEl("span",{cls:["enveloppe","success","notification"]}).innerHTML=successMsg,settings.github.workflow.name.length===0){new import_obsidian2.Notice(docSuccess,settings.plugin.noticeLength);return}let workflowSuccess=document.createDocumentFragment(),WorkflowSpan=workflowSuccess.createEl("span",{text:instance.t("informations.successfulPublish",{nbNotes:noticeValue,repo:prop}),cls:["enveloppe","wait","icons"]});(0,import_obsidian2.setIcon)(WorkflowSpan,"hourglass"),workflowSuccess.createEl("span",{cls:["enveloppe","wait","notification"]}).innerHTML=`${instance.t("informations.sendMessage",{nbNotes:noticeValue,repo:prop})}.<br>${instance.t("informations.waitingWorkflow")}`,new import_obsidian2.Notice(workflowSuccess,PublisherManager.settings.plugin.noticeLength),await PublisherManager.workflowGestion(prop)&&new import_obsidian2.Notice(docSuccess,settings.plugin.noticeLength)}async publisherNotification(PublisherManager,file,settings,prop){prop=Array.isArray(prop)?prop:[prop];for(let repository of prop)await this.publisherNotificationOneRepo(PublisherManager,file,settings,repository)}},EnveloppeErrors=class extends Error{constructor(message,options){super(),this.message=message;let{name,cause,stack}=options||{};name&&(this.name=name),cause&&(this.cause=cause),stack&&(this.stack=stack)}};function isInternalShared(frontmatter,properties,file){if(properties.frontmatter.general.unshared)return!0;if(properties.repository?.shareAll?.enable){let excludedFileName=properties.repository.shareAll.excludedFileName;return!file.basename.startsWith(excludedFileName)&&!isInDryRunFolder(properties.plugin.settings,properties.repository,file)}if(!frontmatter||isExcludedPath(properties.plugin.settings,file,properties.repository))return!1;let shareKey=properties.repository?.shareKey||properties.plugin.settings.plugin.shareKey;return frontmatter?.[shareKey]==null||["false","0","no"].includes(frontmatter[shareKey].toString().toLowerCase())?!1:["true","1","yes"].includes(frontmatter[shareKey].toString().toLowerCase())}function getRepoSharedKey(plugin,frontmatter,file){let{settings}=plugin,allOtherRepo=settings.github.otherRepo;if(settings.plugin.shareAll?.enable&&!frontmatter)return defaultRepo(settings);if(!frontmatter)return null;let linkedFrontmatter=getLinkedFrontmatter(frontmatter,file,plugin);return frontmatter=mergeFrontmatter(frontmatter,linkedFrontmatter,settings.plugin.shareKey),allOtherRepo.find(repo=>frontmatter?.[repo.shareKey])??defaultRepo(settings)}function isShared(meta,settings,file,otherRepo){if(!file||file.extension!=="md"||file.name.endsWith(".excalidraw.md"))return!1;let otherRepoWithShareAll=settings.github.otherRepo.filter(repo=>repo.shareAll?.enable);if(!settings.plugin.shareAll?.enable&&!otherRepoWithShareAll.length){let shareKey=otherRepo?otherRepo.shareKey:settings.plugin.shareKey;if(meta==null||meta?.[shareKey]==null||isExcludedPath(settings,file,otherRepo)||["false","0","no"].includes(meta[shareKey].toString().toLowerCase()))return!1;let shareKeyInFrontmatter=meta[shareKey].toString().toLowerCase();return["true","1","yes"].includes(shareKeyInFrontmatter)}else if(settings.plugin.shareAll?.enable||otherRepoWithShareAll.length>0){let allExcludedFileName=otherRepoWithShareAll.map(repo=>repo.shareAll.excludedFileName);if(allExcludedFileName.push(settings.plugin.shareAll.excludedFileName),allExcludedFileName.some(prefix=>prefix.trim().length>0&&!file.basename.startsWith(prefix)||prefix.trim().length===0))return!isExcludedPath(settings,file,otherRepo)}return!1}function isExcludedPath(settings,file,repository){let excludedFolder=settings.plugin.excludedFolder;if(settings.plugin.shareAll?.enable||repository?.shareAll?.enable){let excludedFromShare=repository?.shareAll?.excludedFileName??settings.plugin.shareAll?.excludedFileName;if(excludedFromShare&&file.name.startsWith(excludedFromShare))return!0}for(let folder of excludedFolder){let isRegex=folder.match(FIND_REGEX);if((isRegex?new RegExp(isRegex[1],isRegex[2]):null)?.test(file.path)||file.path.contains(folder.trim()))return!0}return isInDryRunFolder(settings,repository,file)}function multipleSharedKey(frontmatter,file,plugin){let keysInFile=[],{settings}=plugin;settings.plugin.shareAll?.enable&&keysInFile.push("share");let otherRepoWithShareAll=settings.github.otherRepo.filter(repo=>repo.shareAll);if(otherRepoWithShareAll.length>0)for(let repo of otherRepoWithShareAll)keysInFile.push(repo.smartKey);if(!frontmatter)return keysInFile;let linkedRepo=getLinkedFrontmatter(frontmatter,file,plugin);frontmatter=mergeFrontmatter(frontmatter,linkedRepo,settings.plugin.shareKey);let allKey=settings.github.otherRepo.map(repo=>repo.shareKey);allKey.push(settings.plugin.shareKey);for(let key of allKey)frontmatter?.[key]&&keysInFile.push(key);return[...new Set(keysInFile)]}function isAttachment(filename,attachmentExtern){if(filename.match(/excalidraw\.md$/i))return filename.match(/excalidraw\.md$/i);if(attachmentExtern&&attachmentExtern.length>0)for(let att of attachmentExtern){let naturalExt=new RegExp(`\\.${escapeRegex(att)}$`,"i"),isRegex=att.match(FIND_REGEX);if(isRegex){let regex=isRegex?new RegExp(isRegex[1],isRegex[2]):null;if(regex?.test(filename))return filename.match(regex)}else if(filename.match(naturalExt))return filename.match(naturalExt)}return filename.match(/(png|jpe?g|gif|bmp|svg|mp[34]|web[mp]|wav|m4a|ogg|3gp|flac|ogv|mov|mkv|pdf|excalidraw)$/i)}function checkIfRepoIsInAnother(source,target){source=source instanceof Array?source:[source],target=target instanceof Array?target:[target];let isSame=(source2,target2)=>source2.owner===target2.owner&&source2.repo===target2.repo&&source2.branch===target2.branch;for(let repoTarget of target)for(let repoSource of source)if(isSame(repoTarget,repoSource))return!0;for(let sourceRepo of source)for(let targetRepo of target)if(isSame(sourceRepo,targetRepo))return!0;return!1}async function checkEmptyConfiguration(prop,plugin,silent=!1){prop=Array.isArray(prop)?prop:[prop];let isEmpty=[];if((await plugin.loadToken()).length===0){isEmpty.push(!0);let whatIsEmpty=instance.t("common.ghToken");silent||new import_obsidian3.Notice(instance.t("error.isEmpty",{what:whatIsEmpty}),plugin.settings.plugin.noticeLength)}else for(let repo of prop)if(repo.repo.length===0){isEmpty.push(!0);let whatIsEmpty=instance.t("common.repository");silent||new import_obsidian3.Notice(instance.t("error.isEmpty",{what:whatIsEmpty}),plugin.settings.plugin.noticeLength)}else if(repo.owner.length===0){isEmpty.push(!0);let whatIsEmpty=instance.t("error.whatEmpty.owner");silent||new import_obsidian3.Notice(instance.t("error.isEmpty",{what:whatIsEmpty}),plugin.settings.plugin.noticeLength)}else if(repo.branch.length===0){isEmpty.push(!0);let whatIsEmpty=instance.t("error.whatEmpty.branch");silent||new import_obsidian3.Notice(instance.t("error.isEmpty",{what:whatIsEmpty}),plugin.settings.plugin.noticeLength)}else isEmpty.push(!1);return!isEmpty.every(value=>value)}function noTextConversion(conditionConvert){let convertWikilink=conditionConvert.convertWiki,imageSettings=conditionConvert.attachment,embedSettings=conditionConvert.embed,convertLinks=conditionConvert.links;return!convertWikilink&&convertLinks&&imageSettings&&embedSettings&&!conditionConvert.removeEmbed}async function checkRepositoryValidity(PublisherManager,repository=null,file,silent=!1){try{let frontmatter=frontmatterFromFile(file,PublisherManager.plugin,repository),prop=getProperties(PublisherManager.plugin,repository,frontmatter);if(await checkEmptyConfiguration(prop,PublisherManager.plugin,silent))return await PublisherManager.checkRepository(prop,silent),!0}catch(e){return PublisherManager.console.error(e),!1}return!1}async function checkRepositoryValidityWithProperties(PublisherManager,prop,numberOfFile=1){if(PublisherManager.settings.github.dryRun.enable)return!0;try{let verified=prop.verifiedRepo,rateLimit=prop.rateLimit;if(verified&&rateLimit)return!0;if(await checkEmptyConfiguration(prop,PublisherManager.plugin))return await PublisherManager.checkRepository(prop,!0),prop?.rateLimit===0||numberOfFile>20?await verifyRateLimitAPI(PublisherManager.octokit,PublisherManager.plugin,!1,numberOfFile)>0:!0}catch(e){return PublisherManager.console.error(e),!1}return!1}function defaultRepo(settings){return{smartKey:"default",user:settings.github.user,repo:settings.github.repo,branch:settings.github.branch,automaticallyMergePR:settings.github.automaticallyMergePR,verifiedRepo:settings.github.verifiedRepo,rateLimit:settings.github.rateLimit,api:{tiersForApi:settings.github.api.tiersForApi,hostname:settings.github.api.hostname},workflow:{commitMessage:settings.github.workflow.commitMessage,name:settings.github.workflow.name},createShortcuts:!1,shareKey:settings.plugin.shareKey.length>0?settings.plugin.shareKey:"share",copyLink:{links:settings.plugin.copyLink.links,removePart:settings.plugin.copyLink.removePart,transform:{toUri:settings.plugin.copyLink.transform.toUri,slugify:settings.plugin.copyLink.transform.slugify,applyRegex:settings.plugin.copyLink.transform.applyRegex}},set:null}}async function verifyToken(octokit,owner){try{await octokit.request("GET /user")}catch{throw new EnveloppeErrors(instance.t("commands.checkValidity.errorToken",{owner}),{cause:"invalid token"})}}async function verifyRateLimitAPI(octokit,plugin,commands=!1,numberOfFile=1){let settings=plugin.settings;try{let rateLimit=await octokit.request("GET /rate_limit"),remaining=rateLimit.data.resources.core.remaining,reset=rateLimit.data.resources.core.reset,time=new Date(reset*1e3).toLocaleTimeString();if(remaining<=numberOfFile)return new import_obsidian3.Notice(instance.t("commands.checkValidity.rateLimit.limited",{resetTime:time}),settings.plugin.noticeLength),0;let message=instance.t("commands.checkValidity.rateLimit.notLimited",{remaining,resetTime:time});return commands?new import_obsidian3.Notice(message,settings.plugin.noticeLength):plugin.console.info(message),remaining}catch(error){return error.status===404&&settings.github.api.tiersForApi==="Enterprise"&&error.response.data.message==="Rate limiting is not enabled."&&error.name==="HttpError"?5e3:(error.status!==401&&plugin.console.error(error),0)}}function forcePushAttachment(file,settings){return settings.embed.overrideAttachments.filter(path=>{let isRegex=path.path.match(FIND_REGEX),regex=isRegex?new RegExp(isRegex[1],isRegex[2]):null;return path.forcePush&&(regex?.test(file.path)||file.path===path.path||path.path.contains("{{all}}"))}).length!==0}function isFolderNote(properties){let{filepath:filepath2}=properties,{settings}=properties.plugin,{enable,rename}=settings.upload.folderNote;return enable?filepath2.split("/").pop()===rename:!1}function isInDryRunFolder(settings,repo,file){if(settings.github.dryRun.folderName.trim().length===0)return!1;let variables={owner:repo?.user??settings.github.user,repo:repo?.repo??settings.github.repo,branch:repo?.branch??settings.github.branch},folder=settings.github.dryRun.folderName.replace("{{owner}}",variables.owner).replace("{{repo}}",variables.repo).replace("{{branch}}",variables.branch);return file.path.startsWith((0,import_obsidian3.normalizePath)(folder))}function convertWikilinks(fileContent,conditionConvert,linkedFiles,plugin,sourceFrontmatter){if(noTextConversion(conditionConvert))return fileContent;let settings=plugin.settings,wikiRegex=/!?\[\[.*?\]\]/g,wikiMatches=fileContent.match(wikiRegex);if(wikiMatches){let fileRegex=/(\[\[).*?([\]|])/;for(let wikiMatch of wikiMatches){let fileMatch=wikiMatch.match(fileRegex),isEmbedBool=wikiMatch.startsWith("!"),isEmbed={cond:isEmbedBool,char:isEmbedBool?"!":""};if(fileMatch){let path=filepath(fileMatch[0]),fileName=sanitizeStrictFileName(fileMatch[0]),linkedFile=linkedFiles.find(item=>item.linkFrom.replace(/#.*/,"")===fileName),isNotAttachment=!isAttachment(fileName.trim(),settings.embed.unHandledObsidianExt);linkedFile&&!linkIsInFormatter(linkedFile,sourceFrontmatter)?fileContent=isLinkedFile(linkedFile,conditionConvert,isEmbed,plugin,isNotAttachment,fileContent,wikiMatch,path):!path.startsWith("http")&&!textIsInFrontmatter(path,sourceFrontmatter)&&(fileContent=strictStringConversion(isEmbed,isNotAttachment,wikiMatch,path,conditionConvert,plugin,fileContent))}}}return fileContent}function filepath(link){return link.replaceAll("[","").replaceAll("|","").replaceAll("]","").replaceAll("\\","")}function sanitizeStrictFileName(link){return link.replaceAll("[","").replaceAll("|","").replaceAll("]","").replaceAll("\\","").replaceAll("../","").replaceAll("./","").replace(/#.*/,"")}function isLinkedFile(linkedFile,conditionConvert,isEmbed,plugin,isNotAttachment,fileContent,wikiMatch,fileName){let altText,linkCreator=wikiMatch,settings=plugin.settings;linkedFile.linked.extension==="md"?(altText=linkedFile.altText?linkedFile.altText:linkedFile.linked.basename,altText=altText.replace("#"," > ").replace(/ > \^\w*/,"")):altText=linkedFile.altText?linkedFile.altText:"";let removeEmbed=(conditionConvert.removeEmbed==="remove"||conditionConvert.removeEmbed==="bake")&&isEmbed.cond&&linkedFile.linked.extension==="md";if(isEmbed.cond&&linkedFile.linked.extension==="md"&&conditionConvert.removeEmbed==="links"&&(isEmbed.char=`${conditionConvert.charEmbedLinks} `,linkCreator=wikiMatch.replace("!",isEmbed.char)),conditionConvert.convertWiki){let altMatch=wikiMatch.match(/(\|).*(]])/),altCreator=fileName.split("/"),altLink=creatorAltLink(altMatch,altCreator,fileName.split(".").at(-1),fileName);altLink=altLink.replace("#"," > ").replace(/ > \^\w*/,""),linkCreator=createMarkdownLinks(fileName,isEmbed.char,altLink,settings)}else{let altMatch=wikiMatch.match(/(\|).*(]])/);linkCreator=addAltForWikilinks(altMatch,linkCreator)}return linkedFile.linked.extension==="md"&&!conditionConvert.links&&!isEmbed.cond&&(linkCreator=altText),(!conditionConvert.attachment&&!isNotAttachment||removeEmbed)&&(linkCreator=""),replaceText(fileContent,wikiMatch,linkCreator,plugin,!0)}function strictStringConversion(isEmbed,isNotAttachment,wikiMatch,fileName,conditionConvert,plugin,fileContent){let altMatch=wikiMatch.match(/(\|).*(]])/),altCreator=fileName.split("/"),altLink=creatorAltLink(altMatch,altCreator,fileName.split(".").at(-1),fileName);altLink=altLink.replace("#"," > ").replace(/ > \^\w*/,"");let removeEmbed=isNotAttachment&&conditionConvert.removeEmbed==="remove"&&isEmbed.cond,linkCreator=wikiMatch;isEmbed.cond&&conditionConvert.removeEmbed==="links"&&isNotAttachment&&(isEmbed.char=`${conditionConvert.charEmbedLinks} `,linkCreator=linkCreator.replace("!",isEmbed.char));let settings=plugin.settings;return linkCreator=conditionConvert.convertWiki?createMarkdownLinks(fileName,isEmbed.char,altLink,settings):addAltForWikilinks(altMatch,linkCreator),isNotAttachment&&!conditionConvert.links&&!isEmbed.cond&&(linkCreator=altLink),(!conditionConvert.attachment&&!isNotAttachment||removeEmbed)&&(linkCreator=""),replaceText(fileContent,wikiMatch,linkCreator,plugin,!0)}function addAltForWikilinks(altMatch,linkCreator){if(!altMatch){let link=linkCreator.match(/\[{2}(.*)\]{2}/),altText=link?link[1].replace("#"," > ").replace(/ > \^\w*/,""):"";return linkCreator.replace(/\[{2}(.*)\]{2}/,`[[$1|${altText}]]`)}return linkCreator}function createMarkdownLinks(fileName,isEmbed,altLink,settings){let markdownName=isAttachment(fileName.trim(),settings.embed.unHandledObsidianExt)?fileName.trim():`${fileName.replace(/#.*/,"").trim()}.md`,ext=`.${markdownName.split(".").at(-1)}`;markdownName===".md"&&(markdownName="",ext="");let anchorMatch=fileName.match(/(#.*)/),anchor=anchorMatch?anchorMatch[0]:null,encodedUri=`${slugifyAnchor(markdownName.replace(ext,""),settings,!0)}${ext}`;return anchor=slugifyAnchor(anchor,settings),`${isEmbed}[${altLink}](${encodedUri}${anchor})`}function slugifyAnchor(anchor,settings,encode2){let slugifySetting=typeof settings.conversion.links.slugifyAnchor=="string"?settings.conversion.links.slugifyAnchor:"disable",symbol=encode2?"":"#";if(anchor&&slugifySetting!=="disable")switch(settings.conversion.links.slugifyAnchor){case"lower":return anchor.toLowerCase().replaceAll(" ","-");case"strict":return`${symbol}${(0,import_slugify.default)(anchor,{lower:!0,strict:!0})}`;default:return encode2?encodeURI(anchor):anchor}return encode2?anchor?encodeURI(anchor):"":anchor?.replaceAll(" ","%20")??""}function addAltText(link,linkedFile){return link.match(/\[{2}.*\]{2}/)&&!link.match(/(\|).*(]])/)?link.replace("|","").replace("]]",`|${linkedFile.altText}]]`):link}function escapeRegex(filepath2){return filepath2.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&")}async function convertToInternalGithub(fileContent,linkedFiles,sourceFile,frontmatter,properties){let frontmatterSettings=properties.frontmatter.general,settings=properties.plugin.settings;if(!frontmatterSettings.convertInternalLinks)return fileContent;for(let linkedFile of linkedFiles){let paths=await createRelativePath(sourceFile,linkedFile,frontmatter,properties),pathInGithub=paths.link;pathInGithub=pathInGithub.replace(".md","");let anchor=linkedFile.anchor?linkedFile.anchor:"",linkInMarkdown=escapeRegex(linkedFile.linkFrom.replace(anchor,"")).replaceAll(" ","%20")+anchor.replace("^","\\^");linkInMarkdown=linkInMarkdown.replaceAll(" ","%20");let escapedLinkedFile=escapeRegex(linkedFile.linkFrom),regexToReplace=new RegExp(`(\\[{2}${escapedLinkedFile}(\\\\?\\|.*?)?\\]{2})|(\\[.*?\\]\\((${escapedLinkedFile}|${linkInMarkdown})\\))`,"g"),matchedLink=fileContent.match(regexToReplace);if(matchedLink)for(let link of matchedLink){if(frontmatterSettings.unlink&&paths.unshared){fileContent=replaceText(fileContent,link,pathInGithub,properties.plugin,!0);continue}let regToReplace=new RegExp(`((${escapedLinkedFile})|(${linkInMarkdown}))`),pathInGithubWithAnchor=pathInGithub;linkedFile.anchor&&(pathInGithub=pathInGithub.replace(/#.*/,""),pathInGithubWithAnchor+=linkedFile.anchor);let newLink=link.replace(regToReplace,pathInGithubWithAnchor);link.match(/\[.*\]\(.*\)/)&&(linkedFile.linked.extension==="md"&&!linkedFile.linked.name.includes("excalidraw")&&(anchor=slugifyAnchor(anchor,settings),pathInGithub=`${pathInGithub.replaceAll(" ","%20")}.md#${anchor}`,pathInGithub=!pathInGithub.match(/(#.*)/)&&!pathInGithub.endsWith(".md")?`${pathInGithub}.md`:pathInGithub),newLink=`[${link.match(/\[(.*)\]/)[1]}](${encodeURI(pathInGithub)})`),newLink=addAltText(newLink,linkedFile),fileContent=replaceText(fileContent,link,newLink,properties.plugin,!0)}}return fileContent}function creatorAltLink(altMatch,altCreator,fileExtension,match){return altMatch?altMatch[0].replace("]]","").replace("|",""):fileExtension==="md"?altCreator.length>1?altCreator[altCreator.length-1]:altCreator[0]:match.split("/").at(-1)}function createRegexFromText(toReplace,withflag){let flags=withflag;if(!withflag){let flagsRegex=toReplace.match(/\/([gimy]+)$/);flags=flagsRegex?Array.from(new Set(flagsRegex[1].split(""))).join(""):""}return new RegExp(toReplace.replace(/\/(.+)\/.*/,"$1"),flags)}function findAndReplaceText(text,plugin,after){let settings=plugin.settings;if(!settings.conversion.censorText)return text;let censoring=after?settings.conversion.censorText.filter(censor=>censor.after):settings.conversion.censorText.filter(censor=>!censor.after);for(let censor of censoring)if(censor.entry.trim().length>0){let toReplace=censor.entry,replaceWith=censor.replace;if(toReplace.match(FIND_REGEX)){let regex=createRegexFromText(toReplace,censor.flags);text=censor.inCodeBlocks?text.replace(regex,replaceWith):replaceText(text,regex,replaceWith,plugin)}else text=censor.inCodeBlocks?text.replace(toReplace,replaceWith):replaceText(text,toReplace,replaceWith,plugin)}return text}function replaceText(fileContent,pattern,replaceWith,plugin,links){let regexWithString,regex;return pattern instanceof RegExp?(regexWithString="```[\\s\\S]*?```|`[^`]*`|",links&&(regexWithString+="\\\\?!?"),regexWithString+=pattern.source,regex=new RegExp(regexWithString,`g${pattern.flags.replace("g","")}`)):(regexWithString="```[\\s\\S]*?```|`[^`]*`|\\\\?!?",links&&(regexWithString+="\\\\?!?"),regexWithString+=escapeRegex(pattern),regex=new RegExp(regexWithString,"g")),fileContent.replace(regex,match=>{if(match.match(/`[^`]*`/)||match.match(/```[\s\S]*?```/))return match;if(links&&match.match(/^\\/))return match;try{let replaceWithParsed=JSON.parse(`"${replaceWith}"`);return match.replace(pattern,replaceWithParsed)}catch(e){return plugin.console.debug(e),match.replace(pattern,replaceWith)}})}function linkIsInFormatter(linkedFile,frontmatter){if(frontmatter)for(let key in frontmatter){let wikiLinks=`[[${linkedFile.linkFrom}]]`,regex=new RegExp(`\\[\\[${escapeRegex(linkedFile.linkFrom)}(\\|(.*))?\\]\\]`,"g");if(frontmatter[key]===wikiLinks||regex.test(frontmatter[key]))return!0}return!1}function textIsInFrontmatter(text,frontmatter){if(frontmatter)for(let key in frontmatter){let regex=new RegExp(`\\[\\[${escapeRegex(text)}(\\|(.*))?\\]\\]`,"g");if(frontmatter[key]===`[[${text}]]`||regex.test(frontmatter[key]))return!0}return!1}async function createRelativePath(sourceFile,targetFile,frontmatter,properties){let settings=properties.plugin.settings,shortRepo=properties.repository,sourcePath=getReceiptFolder(sourceFile,shortRepo,properties.plugin,properties.frontmatter.prop),frontmatterTarget=frontmatterFromFile(targetFile.linked,properties.plugin,properties.repository),targetRepo=getProperties(properties.plugin,shortRepo,frontmatterTarget),isFromAnotherRepo=checkIfRepoIsInAnother(properties.frontmatter.prop,targetRepo),shared=isInternalShared(frontmatterTarget,properties,targetFile.linked);properties.plugin.console.trace(`Shared: ${shared} for ${targetFile.linked.path}`);let defaultPath={link:getReceiptFolder(targetFile.linked,shortRepo,properties.plugin,targetRepo).split("/").at(-1)};if(targetFile.linked.extension==="md"&&!targetFile.linked.name.includes("excalidraw")&&(!isFromAnotherRepo||!shared))return{link:targetFile.destinationFilePath?targetFile.destinationFilePath:targetFile.linked.basename,unshared:!0};if(targetFile.linked.path===sourceFile.path)return console.error("Target and source path are equals! Using the default path generated by the frontmatter"),defaultPath;let frontmatterSettingsFromFile=getFrontmatterSettings(frontmatter,settings,shortRepo),frontmatterSettingsFromRepository=frontmatterSettingsRepository(properties.plugin,shortRepo),frontmatterSettings=merge2.withOptions({allowUndefinedOverrides:!1},frontmatterSettingsFromRepository,frontmatterSettingsFromFile),targetPath=targetFile.linked.extension==="md"&&!targetFile.linked.name.includes("excalidraw")?getReceiptFolder(targetFile.linked,shortRepo,properties.plugin,targetRepo):getImagePath(targetFile.linked,properties.plugin,frontmatterSettings,targetRepo);if(sourcePath===targetPath)return console.error("Target and source path are equals! Using the default path generated by the frontmatter"),defaultPath;if(!properties.plugin.settings.conversion.links.relativePath)return{link:`${properties.plugin.settings.conversion.links.textPrefix}${targetPath}`};let sourceList=sourcePath.split("/"),targetList=targetPath.split("/"),excludeUtilDiff=(sourceList2,targetList2)=>{let i=0;for(;i<sourceList2.length&&i<targetList2.length&&sourceList2[i]===targetList2[i];)i++;return sourceList2.slice(i)},diffTarget=folderPath=>folderPath.length>1?Array(folderPath.length-1).fill(".."):["."],diffSourcePath=excludeUtilDiff(sourceList,targetList),diffTargetPath=excludeUtilDiff(targetList,sourceList),relative=[...diffTarget(diffSourcePath),...diffTargetPath].join("/");return relative.trim()==="."||relative.trim()===""?(console.error("relative is :",relative," using default path generated by the frontmatter"),defaultPath):{link:relative}}function folderNoteIndexObs(file,vault,settings,fileName){let index=settings.upload.folderNote.rename,defaultPath=`${file.parent?`/${file.parent.path}/`:"/"}${regexOnFileName(fileName,settings)}`;if(!settings.upload.folderNote.enable)return defaultPath;let parentFolderName=file.parent?file.parent.name:"";if(fileName.replace(".md","")===parentFolderName)return`/${file.parent.path}/${index}`;let outsideFolder=vault.getAbstractFileByPath(file.path.replace(".md",""));return outsideFolder&&outsideFolder instanceof import_obsidian4.TFolder?`/${outsideFolder.path}/${index}`:defaultPath}function createObsidianPath(file,settings,vault,fileName,prop){fileName=folderNoteIndexObs(file,vault,settings,fileName);let path=(prop?.path?.defaultName&&prop.path.defaultName.length>0?prop.path.defaultName:settings.upload.defaultName.length>0?settings.upload.defaultName:"")+fileName,pathWithoutEnd=path.split("/").slice(0,-1).join("/"),fileNameOnly=path.split("/").at(-1)??"";return pathWithoutEnd=regexOnPath(pathWithoutEnd,settings),pathWithoutEnd.trim().length===0?fileNameOnly:`${pathWithoutEnd}/${fileNameOnly}`.replace(/^\//,"")}function folderNoteIndexYaml(fileName,frontmatter,settings,prop){let category=getCategory(frontmatter,settings,prop?.path),catSplit=category.split("/"),parentCatFolder=category.endsWith("/")?catSplit.at(-2):catSplit.at(-1);return settings.upload.folderNote.enable&&fileName.replace(".md","").toLowerCase()===parentCatFolder?.toLowerCase()?settings.upload.folderNote.rename:regexOnFileName(fileName,settings)}function createFrontmatterPath(settings,frontmatter,fileName,prop){let uploadSettings=settings.upload,folderCategory=getCategory(frontmatter,settings,prop?.path),path=prop?.path,folderNote=folderNoteIndexYaml(fileName,frontmatter,settings,prop),root=path?.rootFolder&&path.rootFolder.length>0?path.rootFolder:uploadSettings.rootFolder.length>0?uploadSettings.rootFolder:void 0,folderRoot=root&&!folderCategory.includes(root)?`${root}/`:"";if(folderCategory.trim().length===0)return folderNote;let folderRegex=regexOnPath(folderRoot+folderCategory,settings);return folderRegex.trim().length===0?folderNote:`${folderRegex}/${folderNote}`.replace(/^\//,"")}function regexOnFileName(fileName,settings){let uploadSettings=settings.upload;if(fileName===uploadSettings.folderNote.rename&&uploadSettings.folderNote.enable||uploadSettings.replaceTitle.length===0)return fileName;let extension=fileName.match(/\.[0-9a-z]+$/i)?.at(-1)??"";fileName=fileName.replace(extension,"");for(let regexTitle of uploadSettings.replaceTitle)if(regexTitle.regex?.trim().length>0){let toReplace=regexTitle.regex,replaceWith=regexTitle.replacement;if(toReplace.match(FIND_REGEX)){let regex=createRegexFromText(toReplace);fileName=fileName.replace(regex,replaceWith)}else fileName=fileName.replaceAll(toReplace,replaceWith)}return`${fileName}${extension}`}function regexOnPath(path,settings){let uploadSettings=settings.upload;if(uploadSettings.behavior==="fixed"||uploadSettings.replacePath.length===0)return path;for(let regexTitle of uploadSettings.replacePath)if(regexTitle.regex.trim().length>0){let toReplace=regexTitle.regex,replaceWith=regexTitle.replacement;if(toReplace.match(FIND_REGEX)){let regex=createRegexFromText(toReplace);path=path.replace(regex,replaceWith)}else path=path.replaceAll(toReplace,replaceWith)}return path}function getTitleField(frontmatter,file,settings){let fileName=file.name;return frontmatter&&settings.upload.frontmatterTitle.enable&&frontmatter[settings.upload.frontmatterTitle.key]&&frontmatter[settings.upload.frontmatterTitle.key]!==fileName?`${frontmatter[settings.upload.frontmatterTitle.key]}.md`:fileName}function getReceiptFolder(file,otherRepo,plugin,prop){let{vault}=plugin.app,settings=plugin.settings;if(file.extension==="md"){let frontmatter=frontmatterFromFile(file,plugin,otherRepo);prop||(prop=getProperties(plugin,otherRepo,frontmatter)),prop=prop instanceof Array?prop:[prop];let targetRepo=prop.find(repo=>repo.path?.smartkey===otherRepo?.smartKey||"default");targetRepo||(targetRepo=prop[0]);let fileName=getTitleField(frontmatter,file,settings),editedFileName=regexOnFileName(fileName,settings);if(!isShared(frontmatter,settings,file,otherRepo))return(0,import_obsidian4.normalizePath)(fileName);if(targetRepo.path?.override){let frontmatterPath=targetRepo.path.override;return frontmatterPath==""||frontmatterPath=="/"?(0,import_obsidian4.normalizePath)(editedFileName):(0,import_obsidian4.normalizePath)(`${frontmatterPath}/${editedFileName}`)}else return targetRepo.path?.type==="yaml"?(0,import_obsidian4.normalizePath)(createFrontmatterPath(settings,frontmatter,fileName,targetRepo)):targetRepo.path?.type==="obsidian"?(0,import_obsidian4.normalizePath)(createObsidianPath(file,settings,vault,fileName,targetRepo)):targetRepo.path?.defaultName&&targetRepo.path.defaultName.length>0?(0,import_obsidian4.normalizePath)(`${targetRepo.path.defaultName}/${editedFileName}`):(0,import_obsidian4.normalizePath)(editedFileName)}return file.path}function getImagePath(file,plugin,sourceFrontmatter,repository){let settings=plugin.settings,overridePath=repository instanceof Array?repository[0]:repository,imagePath=createImagePath(file,settings,sourceFrontmatter,overridePath),path=regexOnPath(imagePath.path,settings),name=regexOnFileName(imagePath.name,settings),originalFileName=file.name;return originalFileName.includes("excalidraw")&&(name=name.replace(".excalidraw.md",".svg"),path=path.replace(".excalidraw.md",".svg"),originalFileName=originalFileName.replace(".excalidraw.md",".svg")),(0,import_obsidian4.normalizePath)(path.replace(originalFileName,name))}function createImagePath(file,settings,sourceFrontmatter,overridePath){let fileName=file.name,filePath=file.path,result={path:filePath,name:fileName},behavior=overridePath?.path?.type?overridePath.path.type:settings.upload.behavior,rootFolder=overridePath?.path?.rootFolder?overridePath.path.rootFolder:settings.upload.rootFolder,defaultFolderName=overridePath?.path?.defaultName?overridePath.path.defaultName:settings.upload.defaultName;if(sourceFrontmatter?.attachmentLinks&&sourceFrontmatter.attachmentLinks.length>0)return result.path=(0,import_obsidian4.normalizePath)(`${sourceFrontmatter.attachmentLinks}/${fileName}`),result;if(settings.embed.useObsidianFolder)return behavior==="yaml"?result.path=rootFolder.length>0?(0,import_obsidian4.normalizePath)(`${rootFolder}/${filePath}`):filePath:result.path=defaultFolderName.length>0?(0,import_obsidian4.normalizePath)(`${defaultFolderName}/${filePath}`):filePath,result.path=applyOverriddenPath(fileName,result.path,settings).filePath,result;let defaultImageFolder=overridePath?.path?.attachment?.folder?overridePath.path?.attachment?.folder:settings.embed.folder,overriddenPath=applyOverriddenPath(fileName,filePath,settings);return overriddenPath.overridden?result.path=overriddenPath.filePath:defaultImageFolder.length>0?result.path=(0,import_obsidian4.normalizePath)(`${defaultImageFolder}/${fileName}`):defaultFolderName.length>0?result.path=(0,import_obsidian4.normalizePath)(`${defaultFolderName}/${fileName}`):result.path=filePath,result}function applyOverriddenPath(fileName,filePath,settings){let overridden=!1,isOverridden=settings.embed.overrideAttachments.filter(override=>{let isRegex=override.path.match(FIND_REGEX);return((isRegex?new RegExp(isRegex[1],isRegex[2]):void 0)?.test(filePath)||filePath===override.path||override.path.contains("{{all}}"))&&!override.destination.contains("{{default}}")});if(isOverridden.length>0){overridden=!0;for(let override of isOverridden){let isRegex=override.path.match(FIND_REGEX),regex=isRegex?new RegExp(isRegex[1],isRegex[2]):null,dest=override.destination.replace("{{name}}",fileName);filePath=regex?(0,import_obsidian4.normalizePath)(filePath.replace(regex,dest)):(0,import_obsidian4.normalizePath)(filePath.replace(override.path,dest))}}return{filePath,overridden}}function createListEdited(listUploaded,deleted,fileError){let listEdited={added:[],edited:[],deleted:[],unpublished:[],notDeleted:[]};return listUploaded.forEach(file=>{file.isUpdated?listEdited.edited.push(file.file):listEdited.added.push(file.file)}),listEdited.unpublished=fileError,deleted&&(listEdited.deleted=deleted.deleted,listEdited.notDeleted=deleted.undeleted),listEdited}async function getSettingsOfMetadataExtractor(app,settings){if(import_obsidian5.Platform.isMobile||!app.plugins.enabledPlugins.has("metadata-extractor")||settings.upload.metadataExtractorPath.length===0)return null;let metadataExtractor={allExceptMdFile:null,metadataFile:null,tagsFile:null},path=`${app.vault.configDir}/plugins/metadata-extractor`,plugin=app.plugins.getPlugin("metadata-extractor");return plugin?.settings?(plugin.settings.allExceptMdFile.length>0&&(metadataExtractor.allExceptMdFile=`${path}/${plugin.settings.allExceptMdFile}`),plugin.settings.metadataFile.length>0&&(metadataExtractor.metadataFile=`${path}/${plugin.settings.metadataFile}`),plugin.settings.tagFile.length>0&&(metadataExtractor.tagsFile=`${path}/${plugin.settings.tagFile}`),metadataExtractor):null}function checkSlash(link){let slash=link.match(/\/*$/);return slash&&slash[0].length!=1?`${link.replace(/\/*$/,"")}/`:link}async function createLink(file,multiRepo,plugin){let otherRepo=multiRepo.repository,settings=plugin.settings,repo=multiRepo.frontmatter,copyLink=otherRepo?otherRepo.copyLink:settings.plugin.copyLink,github=otherRepo||settings.github;if(!settings.plugin.copyLink.enable)return;let filepath2=getReceiptFolder(file,otherRepo,plugin,multiRepo.frontmatter),baseLink=copyLink.links;baseLink.length===0&&(baseLink=repo instanceof Array?`https://${github.user}.github.io/${settings.github.repo}/`:`https://${repo.owner}.github.io/${repo.repo}/`);let frontmatter=frontmatterFromFile(file,plugin,otherRepo),removePart=copyLink.removePart,smartKey=otherRepo?.smartKey?`${otherRepo.smartKey}.`:"";if(frontmatter&&(frontmatter[`${smartKey}baselink`]!=null?(baseLink=frontmatter[`${smartKey}baselink`],removePart=[]):frontmatter[`${smartKey}copylink`]&&typeof frontmatter[`${smartKey}.copylink`]=="object"&&(baseLink=frontmatter[`${smartKey}copylink`].base,removePart=frontmatter[`${smartKey}copylink`].remove??[]),frontmatter[`${smartKey}copylink.base`]&&(baseLink=frontmatter[`${smartKey}copylink.base`]),frontmatter[`${smartKey}copylink.remove`]&&(removePart=frontmatter[`${smartKey}copylink.remove`]??[])),baseLink=checkSlash(baseLink),removePart.length>0)for(let part of removePart)part.length>0&&(filepath2=filepath2.replace(part.trim(),""));filepath2=checkSlash(filepath2);let url=baseLink+filepath2,transform=copyLink.transform;transform||(transform=settings.plugin.copyLink.transform),transform.toUri===void 0&&(transform.toUri=settings.plugin.copyLink.transform.toUri),transform.slugify===void 0&&(transform.slugify=settings.plugin.copyLink.transform.slugify),transform.applyRegex===void 0&&(transform.applyRegex=settings.plugin.copyLink.transform.applyRegex),transform.toUri&&(url=encodeURI(url)),transform.slugify==="lower"?url=url.toLowerCase():transform.slugify==="strict"&&(url=(0,import_slugify2.default)(url,{lower:!0,strict:!0}));for(let apply of transform.applyRegex){let{regex,replacement}=apply;if(regex.match(FIND_REGEX)){let reg=createRegexFromText(regex);url=url.replace(reg,replacement)}else url=url.replace(new RegExp(regex,"g"),replacement)}await navigator.clipboard.writeText(url.replace(/([^:]\/)\/+/g,"$1"))}function trimObject(obj){let trimmed=JSON.stringify(obj,(_key,value)=>typeof value=="string"?value.trim().toLowerCase():value);return JSON.parse(trimmed)}function createTokenPath(plugin,tokenPath){let vault=plugin.app.vault;return tokenPath||(tokenPath=TOKEN_PATH),tokenPath=tokenPath.replace("%configDir%",vault.configDir),tokenPath=tokenPath.replace("%pluginID%",plugin.manifest.id),(0,import_obsidian5.normalizePath)(tokenPath)}async function createLinkCallback(repo,plugin){let id=repo?`copy-link-K${repo.smartKey}`:"copy-link",common=instance.t("common.repository"),name=instance.t("commands.copyLink.title");return name=repo?`${name} (${common} : ${repo.smartKey})`:name,{id,name,hotkeys:[],checkCallback:checking=>{let file=plugin.app.workspace.getActiveFile(),frontmatter=frontmatterFromFile(file,plugin,repo);if(file&&frontmatter&&isShared(frontmatter,plugin.settings,file,repo)){if(!checking){let multiRepo={frontmatter:getProperties(plugin,repo,frontmatter,!0),repository:repo};createLink(file,multiRepo,plugin),new import_obsidian6.Notice(instance.t("commands.copyLink.onActivation"),plugin.settings.plugin.noticeLength)}return!0}return!1}}}async function createLinkOnActiveFile(repo,plugin){let file=plugin.app.workspace.getActiveFile(),frontmatter=frontmatterFromFile(file,plugin,repo);if(file&&frontmatter&&isShared(frontmatter,plugin.settings,file,repo)){let multiRepo={frontmatter:getProperties(plugin,repo,frontmatter),repository:repo};await createLink(file,multiRepo,plugin),new import_obsidian6.Notice(instance.t("commands.copyLink.onActivation"),plugin.settings.plugin.noticeLength);return}new import_obsidian6.Notice(instance.t("commands.runOtherRepo.noFile"),plugin.settings.plugin.noticeLength)}var import_obsidian9=require("obsidian");var version="3.7.8",VERSION5=version,_hasBuffer=typeof Buffer=="function",_TD=typeof TextDecoder=="function"?new TextDecoder:void 0,_TE=typeof TextEncoder=="function"?new TextEncoder:void 0,b64ch="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",b64chs=Array.prototype.slice.call(b64ch),b64tab=(a=>{let tab={};return a.forEach((c,i)=>tab[c]=i),tab})(b64chs),b64re=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,_fromCC=String.fromCharCode.bind(String),_U8Afrom=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):it=>new Uint8Array(Array.prototype.slice.call(it,0)),_mkUriSafe=src=>src.replace(/=/g,"").replace(/[+\/]/g,m0=>m0=="+"?"-":"_"),_tidyB64=s=>s.replace(/[^A-Za-z0-9\+\/]/g,""),btoaPolyfill=bin=>{let u32,c0,c1,c2,asc="",pad=bin.length%3;for(let i=0;i<bin.length;){if((c0=bin.charCodeAt(i++))>255||(c1=bin.charCodeAt(i++))>255||(c2=bin.charCodeAt(i++))>255)throw new TypeError("invalid character found");u32=c0<<16|c1<<8|c2,asc+=b64chs[u32>>18&63]+b64chs[u32>>12&63]+b64chs[u32>>6&63]+b64chs[u32&63]}return pad?asc.slice(0,pad-3)+"===".substring(pad):asc},_btoa=typeof btoa=="function"?bin=>btoa(bin):_hasBuffer?bin=>Buffer.from(bin,"binary").toString("base64"):btoaPolyfill,_fromUint8Array=_hasBuffer?u8a=>Buffer.from(u8a).toString("base64"):u8a=>{let strs=[];for(let i=0,l=u8a.length;i<l;i+=4096)strs.push(_fromCC.apply(null,u8a.subarray(i,i+4096)));return _btoa(strs.join(""))},fromUint8Array=(u8a,urlsafe=!1)=>urlsafe?_mkUriSafe(_fromUint8Array(u8a)):_fromUint8Array(u8a),cb_utob=c=>{if(c.length<2){var cc=c.charCodeAt(0);return cc<128?c:cc<2048?_fromCC(192|cc>>>6)+_fromCC(128|cc&63):_fromCC(224|cc>>>12&15)+_fromCC(128|cc>>>6&63)+_fromCC(128|cc&63)}else{var cc=65536+(c.charCodeAt(0)-55296)*1024+(c.charCodeAt(1)-56320);return _fromCC(240|cc>>>18&7)+_fromCC(128|cc>>>12&63)+_fromCC(128|cc>>>6&63)+_fromCC(128|cc&63)}},re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,utob=u=>u.replace(re_utob,cb_utob),_encode=_hasBuffer?s=>Buffer.from(s,"utf8").toString("base64"):_TE?s=>_fromUint8Array(_TE.encode(s)):s=>_btoa(utob(s)),encode=(src,urlsafe=!1)=>urlsafe?_mkUriSafe(_encode(src)):_encode(src),encodeURI2=src=>encode(src,!0),re_btou=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,cb_btou=cccc=>{switch(cccc.length){case 4:var cp=(7&cccc.charCodeAt(0))<<18|(63&cccc.charCodeAt(1))<<12|(63&cccc.charCodeAt(2))<<6|63&cccc.charCodeAt(3),offset=cp-65536;return _fromCC((offset>>>10)+55296)+_fromCC((offset&1023)+56320);case 3:return _fromCC((15&cccc.charCodeAt(0))<<12|(63&cccc.charCodeAt(1))<<6|63&cccc.charCodeAt(2));default:return _fromCC((31&cccc.charCodeAt(0))<<6|63&cccc.charCodeAt(1))}},btou=b=>b.replace(re_btou,cb_btou),atobPolyfill=asc=>{if(asc=asc.replace(/\s+/g,""),!b64re.test(asc))throw new TypeError("malformed base64.");asc+="==".slice(2-(asc.length&3));let u24,r1,r2,binArray=[];for(let i=0;i<asc.length;)u24=b64tab[asc.charAt(i++)]<<18|b64tab[asc.charAt(i++)]<<12|(r1=b64tab[asc.charAt(i++)])<<6|(r2=b64tab[asc.charAt(i++)]),r1===64?binArray.push(_fromCC(u24>>16&255)):r2===64?binArray.push(_fromCC(u24>>16&255,u24>>8&255)):binArray.push(_fromCC(u24>>16&255,u24>>8&255,u24&255));return binArray.join("")},_atob=typeof atob=="function"?asc=>atob(_tidyB64(asc)):_hasBuffer?asc=>Buffer.from(asc,"base64").toString("binary"):atobPolyfill,_toUint8Array=_hasBuffer?a=>_U8Afrom(Buffer.from(a,"base64")):a=>_U8Afrom(_atob(a).split("").map(c=>c.charCodeAt(0))),toUint8Array=a=>_toUint8Array(_unURI(a)),_decode=_hasBuffer?a=>Buffer.from(a,"base64").toString("utf8"):_TD?a=>_TD.decode(_toUint8Array(a)):a=>btou(_atob(a)),_unURI=a=>_tidyB64(a.replace(/[-_]/g,m0=>m0=="-"?"+":"/")),decode=src=>_decode(_unURI(src)),isValid=src=>{if(typeof src!="string")return!1;let s=src.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(s)||!/[^\s0-9a-zA-Z\-_]/.test(s)},_noEnum=v=>({value:v,enumerable:!1,writable:!0,configurable:!0}),extendString=function(){let _add=(name,body)=>Object.defineProperty(String.prototype,name,_noEnum(body));_add("fromBase64",function(){return decode(this)}),_add("toBase64",function(urlsafe){return encode(this,urlsafe)}),_add("toBase64URI",function(){return encode(this,!0)}),_add("toBase64URL",function(){return encode(this,!0)}),_add("toUint8Array",function(){return toUint8Array(this)})},extendUint8Array=function(){let _add=(name,body)=>Object.defineProperty(Uint8Array.prototype,name,_noEnum(body));_add("toBase64",function(urlsafe){return fromUint8Array(this,urlsafe)}),_add("toBase64URI",function(){return fromUint8Array(this,!0)}),_add("toBase64URL",function(){return fromUint8Array(this,!0)})},extendBuiltins=()=>{extendString(),extendUint8Array()},gBase64={version,VERSION:VERSION5,atob:_atob,atobPolyfill,btoa:_btoa,btoaPolyfill,fromBase64:decode,toBase64:encode,encode,encodeURI:encodeURI2,encodeURL:encodeURI2,utob,btou,decode,isValid,fromUint8Array,toUint8Array,extendString,extendUint8Array,extendBuiltins};var import_obsidian7=require("obsidian");async function deleteFromGithub(silent=!1,branchName,filesManagement,repoProperties){let prop=Array.isArray(repoProperties.frontmatter)?repoProperties.frontmatter:[repoProperties.frontmatter],deleted=[];for(let repo of prop){let monoProperties={frontmatter:repo,repository:repoProperties.repository,convert:frontmatterSettingsRepository(filesManagement.plugin,repo)};deleted.push(await deleteFromGithubOneRepo(silent,branchName,filesManagement,monoProperties))}return deleted[0]}async function deleteFromGithubOneRepo(silent=!1,branchName,filesManagement,repoProperties){let repo=repoProperties.frontmatter,pconsole=filesManagement.console;if(repo.dryRun.autoclean)return cleanDryRun(silent,filesManagement,repoProperties);if(!repo.autoclean)return{success:!1,deleted:[],undeleted:[]};let getAllFile=await filesManagement.getAllFileFromRepo(branchName,repo),{octokit,plugin,settings,noticeLength}=filesManagement,filesInRepo=await filterGithubFile(getAllFile,settings,repo);if((settings.github.rateLimit===0||filesInRepo.length>settings.github.rateLimit)&&await verifyRateLimitAPI(octokit,plugin,!1,filesInRepo.length)===0)return console.warn("Rate limited exceeded, please try again later"),{success:!1,deleted:[],undeleted:[]};if(filesInRepo.length===0)return pconsole.trace(`No file to delete in ${repo.owner}/${repo.repo}`),{success:!1,deleted:[],undeleted:[]};let allSharedConverted=filesManagement.getAllFileWithPath(repoProperties.repository,repoProperties.convert,!0).map(file=>({converted:file.converted,repo:file.prop,otherPath:file.otherPaths})),deletedSuccess=0,deletedFailed=0,result={deleted:[],undeleted:[],success:!1};for(let file of filesInRepo){let isInObsidian=allSharedConverted.some(f=>f.converted===file.file||f.otherPath?.includes(file.file)),isMarkdownForAnotherRepo=file.file.trim().endsWith(".md")?!allSharedConverted.some(f=>{let prop=f.repo;return Array.isArray(prop)&&(prop=prop.find(r=>klona(r.repo)===klona(repo.repo))),(f.converted===file.file||f.otherPath?.includes(file.file))&&prop}):!1;(!isInObsidian||isMarkdownForAnotherRepo)&&(file.file.contains(settings.upload.folderNote.rename)&&await checkIndexFiles(octokit,file.file,repo)||(pconsole.trace(`trying to delete file : ${file.file} from ${repo.owner}/${repo.repo}`),(await octokit.request("DELETE /repos/{owner}/{repo}/contents/{+path}",{owner:repo.owner,repo:repo.repo,path:file.file,message:`DELETE FILE : ${file.file}`,sha:file.sha,branch:branchName})).status===200?(deletedSuccess++,result.deleted.push(file.file)):(deletedFailed++,result.undeleted.push(file.file))))}let successMsg=instance.t("deletion.noFile"),failedMsg="";return deletedSuccess>0&&(successMsg=instance.t("deletion.success",{nb:deletedSuccess.toString()})),deletedFailed>0&&(failedMsg=instance.t("deletion.failed",{nb:deletedFailed.toString()})),silent||new import_obsidian7.Notice(successMsg+failedMsg,noticeLength),result.success=deletedFailed===0,result}function excludedFileFromDelete(file,settings){let autoCleanExcluded=settings.upload.autoclean.excluded;if(autoCleanExcluded.length>0)for(let excludedFile of autoCleanExcluded){let isRegex=excludedFile.match(FIND_REGEX);if((isRegex?new RegExp(isRegex[1],isRegex[2]):null)?.test(file))return!0;if(file.trim().includes(excludedFile.trim())&&excludedFile.length>0)return!0}return!1}async function filterGithubFile(fileInRepo,settings,prop){let sharedFilesInRepo=[];for(let file of fileInRepo){let behavior=prop.path?.type??settings.upload.behavior,root=prop.path?.rootFolder??settings.upload.rootFolder,defaultName=prop.path?.defaultName??settings.upload.defaultName,attachmentFolder=prop.path?.attachment?.folder??settings.embed.folder,enabledAttachments=settings.upload.autoclean.includeAttachments&&isAttachment(file.file,settings.embed.unHandledObsidianExt);(file.file.includes(defaultName)||behavior==="yaml"&&file.file.includes(root)||attachmentFolder.length>0&&file.file.includes(attachmentFolder))&&!excludedFileFromDelete(file.file,settings)&&(enabledAttachments||file.file.match("md$"))&&sharedFilesInRepo.push(file)}return sharedFilesInRepo}function parseYamlFrontmatter(contents,filePath){let yamlFrontmatter=contents.split("---");if(yamlFrontmatter.length<2)return{};try{let yamlFrontmatterParsed=(0,import_obsidian7.parseYaml)(yamlFrontmatter[1]);return trimObject(yamlFrontmatterParsed)}catch(e){return console.warn(`Error parsing YAML frontmatter for ${filePath}`,e),{}}}async function checkIndexFiles(octokit,path,prop){let fileRequest=await octokit.request("GET /repos/{owner}/{repo}/contents/{+path}",{owner:prop.owner,repo:prop.repo,path});if(fileRequest.status===200){let fileContent=gBase64.decode(fileRequest.data.content),fileFrontmatter=parseYamlFrontmatter(fileContent,path);return fileFrontmatter.index==="true"||fileFrontmatter.delete==="false"||!fileFrontmatter.share}return!1}function cleanDryRun(silent=!1,filesManagement,repoProperties){let{vault,settings,plugin,noticeLength}=filesManagement,app=plugin.app,repo=repoProperties.frontmatter,pconsole=filesManagement.console;if(!repo.dryRun.folderName||repo.dryRun.folderName.length===0)throw new Error("DryRun folder path is empty, please check your settings");let dryRunFolderPath=(0,import_obsidian7.normalizePath)(repo.dryRun.folderName.replace("{{owner}}",repo.owner).replace("{{repo}}",repo.repo).replace("{{branch}}",repo.branch));if(dryRunFolderPath.trim().length===0||dryRunFolderPath==="/")throw new Error("DryRun folder path is empty, please check your settings");let dryRunFolder=vault.getAbstractFileByPath(dryRunFolderPath);if(!dryRunFolder||dryRunFolder instanceof import_obsidian7.TFile)return{success:!1,deleted:[],undeleted:[]};let dryRunFiles=[];import_obsidian7.Vault.recurseChildren(dryRunFolder,file=>{let enabledAttachments=settings.upload.autoclean.includeAttachments&&isAttachment(file.path,settings.embed.unHandledObsidianExt);!excludedFileFromDelete((0,import_obsidian7.normalizePath)(file.path.replace(dryRunFolderPath,"")),settings)&&(enabledAttachments||file.path.match("md$"))&&file instanceof import_obsidian7.TFile&&dryRunFiles.push(file)});let allSharedFiles=filesManagement.getAllFileWithPath(repoProperties.repository,repoProperties.convert,!0).map(file=>({converted:file.converted,repo:file.prop,otherPath:file.otherPaths})),deletedSuccess=0,result={deleted:[],undeleted:[],success:!1},deletedFolder=[];for(let file of dryRunFiles){let convertedPath=(0,import_obsidian7.normalizePath)(file.path.replace(dryRunFolderPath,"")),isInObsidian=allSharedFiles.some(f=>f.converted===convertedPath||f.otherPath?.includes(convertedPath)),isMarkdownForAnotherRepo=file.path.trim().endsWith(".md")?!allSharedFiles.some(f=>{let prop=f.repo;return Array.isArray(prop)&&(prop=prop.find(r=>klona(r.repo)===klona(repo.repo))),(f.converted===convertedPath||f.otherPath?.includes(convertedPath))&&prop}):!1;(!isInObsidian||isMarkdownForAnotherRepo)&&(convertedPath.contains(settings.upload.folderNote.rename)&&indexFileDryRun(file,app.metadataCache)||(pconsole.trace(`[DRY-RUN] trying to delete file : ${file.path} from ${dryRunFolderPath}`),vault.trash(file,!1),deletedSuccess++,deletedFolder.push(file)))}let dryRunFolders=[];import_obsidian7.Vault.recurseChildren(vault.getAbstractFileByPath(dryRunFolderPath),file=>{file instanceof import_obsidian7.TFolder&&dryRunFolders.push(file)});for(let folder of dryRunFolders.reverse())folder.children.filter(child=>!deletedFolder.includes(child)).length===0&&(deletedFolder.push(folder),vault.trash(folder,!1),deletedSuccess++);let successMsg=deletedSuccess>0?instance.t("deletion.success",{nb:deletedSuccess.toString()}):instance.t("deletion.noFile");return silent||new import_obsidian7.Notice(successMsg,noticeLength),result.success=deletedSuccess===0,result}function indexFileDryRun(file,metadataCache){let frontmatter=metadataCache.getFileCache(file)?.frontmatter;if(frontmatter){let index=frontmatter.index,deleteFile=frontmatter.delete,share=frontmatter.share;if(index===!0||deleteFile===!1||share===!1)return!0}return!1}var import_obsidian8=require("obsidian"),ListChangedFiles=class extends import_obsidian8.Modal{listChanged;constructor(app,listChanged){super(app),this.listChanged=listChanged}displayListOfFile(toDisplay,contentEl){if(!toDisplay.length)return;let ul=contentEl.createEl("ul",{cls:"list"});toDisplay.forEach(file=>{let emoji="\u2753",ext=file.split(".").pop()??"";["md"].includes(ext)?emoji="\u{1F5D2}\uFE0F":[".png",".jpg",".jpeg",".gif",".svg",".webp"].includes(`.${ext}`)?emoji="\u{1F5BC}\uFE0F":[".mp3",".wav",".ogg",".flac",".aac"].includes(`.${ext}`)?emoji="\u{1F3B5}":[".mp4",".avi",".mov",".mkv",".webm"].includes(`.${ext}`)?emoji="\u{1F3A5}":[".pdf"].includes(`.${ext}`)&&(emoji="\u{1F4C4}");let li=ul.createEl("li");li.createEl("span",{text:emoji,cls:"emoji"}),li.createEl("code",{text:file,cls:"code-title"})})}onOpen(){let{contentEl}=this;if(contentEl.empty(),contentEl.addClasses(["enveloppe","modals","list-changed"]),contentEl.createEl("h2",{text:instance.t("modals.listChangedFiles.title"),cls:"success"}),Object.keys(this.listChanged).contains("edited")){this.listChanged=this.listChanged,contentEl.createEl("h3",{text:`\u{1F4E4} ${instance.t("modals.listChangedFiles.added")}`}),this.displayListOfFile(this.listChanged.added,contentEl),contentEl.createEl("h3",{text:`\u2712\uFE0F ${instance.t("modals.listChangedFiles.edited")}`}),this.displayListOfFile(this.listChanged.edited,contentEl),contentEl.createEl("h3",{text:`\u{1F5D1}\uFE0F ${instance.t("modals.listChangedFiles.deleted")}`}),this.displayListOfFile(this.listChanged.deleted,contentEl);let span=contentEl.createDiv({cls:"error"});span.createEl("h2",{text:`\u274C ${instance.t("modals.listChangedFiles.error")}`}),span.createEl("h3",{text:`\u{1F4E4} ${instance.t("modals.listChangedFiles.unpublished")}`}),this.displayListOfFile(this.listChanged.unpublished,span),span.createEl("h3",{text:`\u267B\uFE0F ${instance.t("modals.listChangedFiles.notDeleted")}`}),this.displayListOfFile(this.listChanged.notDeleted,span)}else{this.listChanged=this.listChanged,contentEl.createEl("h3",{text:`\u{1F5D1}\uFE0F ${instance.t("modals.listChangedFiles.deleted")}`}),this.displayListOfFile(this.listChanged.deleted,contentEl);let span=contentEl.createSpan({cls:"error"});span.createEl("h3",{text:`\u274C ${instance.t("modals.listChangedFiles.error")}`}),span.createEl("h3",{text:`\u267B\uFE0F ${instance.t("modals.listChangedFiles.notDeleted")}`}),this.displayListOfFile(this.listChanged.undeleted,span)}}onClose(){let{contentEl}=this;contentEl.empty()}};async function purgeCallback(plugin,repo,branchName){let id=repo?`delete-clean-K${repo.smartKey}`:"delete-clean",name=instance.t("commands.publisherDeleteClean"),common=instance.t("common.repository");return name=repo?`${name} (${common} : ${repo.smartKey})`:name,{id,name,hotkeys:[],callback:async()=>{let frontmatter=getProperties(plugin,repo,void 0,!0),monoRepo={frontmatter:Array.isArray(frontmatter)?frontmatter[0]:frontmatter,repository:repo,convert:frontmatterSettingsRepository(plugin,repo)},publisher=await plugin.reloadOctokit(repo?.smartKey);await purge(publisher,branchName,monoRepo)}}}async function purge(PublisherManager,branchName,monoRepo){let noticeFragment=document.createDocumentFragment();if(noticeFragment.createSpan({cls:["enveloppe","notification"]}).innerHTML=instance.t("informations.startingClean",{repo:monoRepo.frontmatter}),new import_obsidian9.Notice(noticeFragment,PublisherManager.noticeLength),!await checkRepositoryValidityWithProperties(PublisherManager,monoRepo.frontmatter))return!1;PublisherManager.settings.github.dryRun.enable||await PublisherManager.newBranch(monoRepo.frontmatter);let deleted=await deleteFromGithub(!1,branchName,PublisherManager,monoRepo);PublisherManager.settings.github.dryRun.enable||await PublisherManager.updateRepository(monoRepo.frontmatter),PublisherManager.settings.plugin.displayModalRepoEditing&&new ListChangedFiles(PublisherManager.plugin.app,deleted).open()}async function purgeForRepo(plugin,repo,branchName){let prop=getProperties(plugin,repo,null,!0),publisher=await plugin.reloadOctokit(repo?.smartKey),mono={frontmatter:Array.isArray(prop)?prop[0]:prop,repository:repo,convert:frontmatterSettingsRepository(plugin,repo)};await purge(publisher,branchName,mono)}var import_obsidian10=require("obsidian");async function repositoryValidityActiveFile(plugin,repo){let file=plugin.app.workspace.getActiveFile();file?await checkRepositoryValidity(await plugin.reloadOctokit(repo?.smartKey),repo,file):new import_obsidian10.Notice("No file is active",plugin.settings.plugin.noticeLength)}async function checkRepositoryValidityCallback(plugin,repo){let id=repo?`check-plugin-repo-validity-K${repo.smartKey}`:"check-plugin-repo-validity",name=instance.t("commands.checkValidity.title"),common=instance.t("common.repository");name=repo?`${name} (${common} : ${repo.smartKey})`:name;let octokit=await plugin.reloadOctokit(repo?.smartKey);return{id,name,checkCallback:checking=>plugin.app.workspace.getActiveFile()?(checking||checkRepositoryValidity(octokit,repo,plugin.app.workspace.getActiveFile()),!0):!1}}var import_obsidian11=require("obsidian");function refreshOpenedSet(plugin){let findRepo=file=>file?plugin.settings.github.otherRepo.filter(repo=>repo.set===file.path):[];return{id:"reload-opened-set",name:instance.t("commands.refreshOpenedSet"),checkCallback:checking=>{let file=plugin.app.workspace.getActiveFile(),repos=findRepo(file);return file&&repos.length>0?(checking||repos.forEach(repo=>{plugin.repositoryFrontmatter[repo.smartKey]=plugin.app.metadataCache.getFileCache(file)?.frontmatter}),!0):!1}}}function refreshAllSets(plugin){return{id:"reload-all-sets",name:instance.t("commands.refreshAllSets"),checkCallback:checking=>{let allSets=plugin.settings.github.otherRepo.filter(repo=>repo.set!==""||repo.set!==null);return allSets.length>0?(checking||allSets.forEach(repo=>{if(!repo.set)return;let file=plugin.app.vault.getAbstractFileByPath(repo.set);!file||!(file instanceof import_obsidian11.TFile)||(plugin.repositoryFrontmatter[repo.smartKey]=plugin.app.metadataCache.getFileCache(file)?.frontmatter)}),!0):!1}}}var import_obsidian13=require("obsidian");var import_obsidian12=require("obsidian"),ShareStatusBar=class{statusBarItem;counter;numberOfNotesToPublish;attachment=!1;status;icon;noticeMobile;console;isMainFile;constructor(statusBarItem,numberOfNotesToPublish,attachment=!1,console2,isMainFile){this.statusBarItem=statusBarItem,this.counter=0,this.numberOfNotesToPublish=numberOfNotesToPublish,this.attachment=attachment,this.console=console2,this.isMainFile=isMainFile;let typeAttachment=this.attachment?instance.t("common.attachments"):instance.t("common.files"),msg=instance.t("statusBar.markedForSharing",{nb:this.numberOfNotesToPublish,type:typeAttachment});this.icon=this.statusBarItem.createEl("span",{cls:["enveloppe","icons"]}),this.statusBarItem.addClass("found-attachments"),(0,import_obsidian12.setIcon)(this.icon,"search-check"),this.status=this.statusBarItem.createEl("span",{text:`${msg}`}),this.status.addClass("found-attachments"),this.noticeMobile=this.console.noticeMobile("wait","search-check",msg)}increment(){let typeAttachment=this.attachment?instance.t("common.attachments"):instance.t("common.files"),msg=instance.t("statusBar.sharing",{type:typeAttachment.toLowerCase()});(0,import_obsidian12.setIcon)(this.icon,"hourglass"),this.status.setText(instance.t("statusBar.counter",{msg,counter:++this.counter,nb:this.numberOfNotesToPublish})),this.statusBarItem.addClass("sharing"),this.statusBarItem.removeClass("found-attachments"),this.noticeMobile?.noticeEl?.children[0]?.classList?.contains("load")||(setTimeout(()=>{this.noticeMobile?.hide()},4e3),this.noticeMobile=this.console.noticeMobile("load","hourglass",msg))}finish(displayDurationMillisec){activeDocument.querySelector(".status-bar-item.plugin-obsidian-mkdocs-publisher.success")&&this.statusBarItem.remove();let msg=this.attachment?instance.t("statusBar.success",{action:instance.t("common.shared"),type:instance.t("common.attachments")}):instance.t("statusBar.success",{action:instance.t("common.published"),type:instance.t("common.files")}),iconProp=this.isMainFile?"book-check":"mail-check";(0,import_obsidian12.setIcon)(this.icon,iconProp),this.counter>1?this.status.setText(instance.t("statusBar.counter",{msg,counter:this.counter,nb:this.numberOfNotesToPublish})):this.status.setText(instance.t("statusBar.main")),this.statusBarItem.addClass("success"),this.isMainFile&&this.statusBarItem.addClass("main-success"),this.statusBarItem.removeClass("sharing"),this.noticeMobile?.hide(),setTimeout(()=>{this.statusBarItem.remove()},displayDurationMillisec),setTimeout(()=>{this.noticeMobile?.hide()},displayDurationMillisec-4e3)}error(prop){this.statusBarItem.addClass("error"),this.statusBarItem.removeClass("sharing"),this.statusBarItem.removeClass("found-attachments"),(0,import_obsidian12.setIcon)(this.icon,"mail-warning"),this.status.innerHTML=instance.t("error.errorPublish",{repo:prop}),this.noticeMobile?.hide(),setTimeout(()=>{this.statusBarItem.remove()},8e3),setTimeout(()=>{this.noticeMobile?.hide()},4e3)}};async function uploadAllNotesCallback(plugin,repo,branchName){let id=repo?`publish-all-K${repo.smartKey}`:"publish-all",name=instance.t("commands.uploadAllNotes"),common=instance.t("common.repository");return name=repo?`${name} (${common} : ${repo.smartKey})`:name,{id,name,callback:async()=>{await uploadAllNotes(plugin,repo,branchName)}}}async function uploadAllNotes(plugin,repo,branchName){let statusBarItems=plugin.addStatusBarItem();plugin.console.noticeMobile("load","hourglass",instance.t("informations.wait_plural"));let publisher=await plugin.reloadOctokit(repo?.smartKey),sharedFiles=publisher.getSharedFiles(repo),prop=getProperties(plugin,repo,void 0,!0),mono={frontmatter:Array.isArray(prop)?prop[0]:prop,repository:repo,convert:frontmatterSettingsRepository(plugin,repo)};await shareAllMarkedNotes(publisher,statusBarItems,branchName,mono,sharedFiles,!0)}async function shareAllMarkedNotes(PublisherManager,statusBarItems,branchName,monoRepo,sharedFiles,createGithubBranch=!0,sourceFrontmatter=null){let statusBar=new ShareStatusBar(statusBarItems,sharedFiles.length,void 0,PublisherManager.console),plugin=PublisherManager.plugin,prop=monoRepo.frontmatter;try{let fileError=[],listStateUploaded=[];if(sharedFiles.length>0){if(createGithubBranch){if(!await checkRepositoryValidityWithProperties(PublisherManager,prop,sharedFiles.length))return!1;await PublisherManager.newBranch(prop)}for(let sharedFile of sharedFiles)try{statusBar.increment();let uploaded=await PublisherManager.publish(sharedFile,!1,monoRepo,void 0,void 0,sourceFrontmatter);uploaded&&listStateUploaded.push(...uploaded.uploaded)}catch(e){fileError.push(sharedFile.name),new import_obsidian13.Notice(instance.t("error.unablePublishNote",{file:sharedFile.name}),PublisherManager.noticeLength),plugin.console.trace(e)}statusBar.finish(8e3);let noticeValue=`${listStateUploaded.length} notes`,deleted=await deleteFromGithub(!0,branchName,PublisherManager,monoRepo),settings=PublisherManager.settings;if(settings.upload.metadataExtractorPath.length>0&&import_obsidian13.Platform.isDesktop){let metadataExtractor=await getSettingsOfMetadataExtractor(PublisherManager.plugin.app,settings);metadataExtractor&&await PublisherManager.uploadMetadataExtractorFiles(metadataExtractor,prop)}if(await PublisherManager.updateRepository(prop)){if(await plugin.console.publisherNotification(PublisherManager,noticeValue,settings,prop),settings.plugin.displayModalRepoEditing){let listEdited=createListEdited(listStateUploaded,deleted,fileError);new ListChangedFiles(PublisherManager.plugin.app,listEdited).open()}}else plugin.console.noticeErrorUpload(prop)}}catch(error){plugin.console.trace(error);let errorFrag=document.createDocumentFragment(),errorSpan=errorFrag.createSpan({cls:["error","enveloppe","icons","notification"]});(0,import_obsidian13.setIcon)(errorSpan,"mail-warning"),errorFrag.createSpan({cls:["error","enveloppe","notification"],text:instance.t("error.unablePublishMultiNotes")}),statusBar.error(prop)}}var import_obsidian14=require("obsidian");async function uploadAllEditedNotesCallback(plugin,repo,branchName){let id=repo?`upload-all-edited-new-K${repo.smartKey}`:"upload-all-edited-new",name=instance.t("commands.uploadAllNewEditedNote"),common=instance.t("common.repository");return name=repo?`${name} (${common} : ${repo.smartKey})`:name,{id,name,callback:async()=>{await uploadAllEditedNotes(plugin,branchName,repo)}}}async function uploadAllEditedNotes(plugin,branchName,repo=null){let publisher=await plugin.reloadOctokit(repo?.smartKey),prop=getProperties(plugin,repo,null,!0);await shareAllEditedNotes(publisher,branchName,{frontmatter:Array.isArray(prop)?prop[0]:prop,repository:repo,convert:frontmatterSettingsRepository(plugin,repo)})}async function shareAllEditedNotes(PublisherManager,branchName,monoRepo){let plugin=PublisherManager.plugin;new import_obsidian14.Notice(instance.t("informations.scanningRepo"),PublisherManager.noticeLength);let sharedFilesWithPaths=PublisherManager.getAllFileWithPath(monoRepo.repository,monoRepo.convert),githubSharedNotes=await PublisherManager.getAllFileFromRepo(monoRepo.frontmatter.branch,monoRepo.frontmatter),newSharedFiles=PublisherManager.getNewFiles(sharedFilesWithPaths,githubSharedNotes),newlySharedNotes=await PublisherManager.getEditedFiles(sharedFilesWithPaths,githubSharedNotes,newSharedFiles);if(newlySharedNotes.length>0){new import_obsidian14.Notice(instance.t("informations.foundNoteToSend",{nbNotes:newlySharedNotes.length}),PublisherManager.noticeLength);let statusBarElement=plugin.addStatusBarItem();if(!await checkRepositoryValidityWithProperties(PublisherManager,monoRepo.frontmatter,newlySharedNotes.length))return!1;await PublisherManager.newBranch(monoRepo.frontmatter),await shareAllMarkedNotes(PublisherManager,statusBarElement,branchName,monoRepo,newlySharedNotes,!1);return}new import_obsidian14.Notice(instance.t("informations.noNewNote"),PublisherManager.noticeLength)}async function shareOnlyEdited(PublisherManager,branchName,monoRepo){let shortRepo=monoRepo.repository,prop=monoRepo.frontmatter;new import_obsidian14.Notice(instance.t("informations.scanningRepo"),PublisherManager.noticeLength);let sharedFilesWithPaths=PublisherManager.getAllFileWithPath(shortRepo,monoRepo.convert),githubSharedNotes=await PublisherManager.getAllFileFromRepo(prop.branch,prop),newSharedFiles=[],newlySharedNotes=await PublisherManager.getEditedFiles(sharedFilesWithPaths,githubSharedNotes,newSharedFiles);if(newlySharedNotes.length>0){new import_obsidian14.Notice(instance.t("informations.foundNoteToSend",{nbNotes:newlySharedNotes.length}),PublisherManager.noticeLength);let statusBarElement=PublisherManager.plugin.addStatusBarItem();if(!await checkRepositoryValidityWithProperties(PublisherManager,prop,newlySharedNotes.length))return!1;await PublisherManager.newBranch(prop),await shareAllMarkedNotes(PublisherManager,statusBarElement,branchName,monoRepo,newlySharedNotes,!1);return}new import_obsidian14.Notice(instance.t("informations.noNewNote"),PublisherManager.noticeLength)}async function shareEditedOnly(branchName,repo,plugin){let publisher=await plugin.reloadOctokit(repo?.smartKey),prop=getProperties(plugin,repo,null,!0);await shareOnlyEdited(publisher,branchName,{frontmatter:Array.isArray(prop)?prop[0]:prop,repository:repo,convert:frontmatterSettingsRepository(plugin,repo)})}async function shareEditedOnlyCallback(repo,branchName,plugin){let id=repo?`upload-edited-K${repo.smartKey}`:"upload-edited",name=instance.t("commands.uploadAllEditedNote"),common=instance.t("common.repository");return name=repo?`${name} (${common} : ${repo.smartKey})`:name,{id,name,callback:async()=>{await shareEditedOnly(branchName,repo,plugin)}}}var import_obsidian15=require("obsidian");async function uploadNewNotesCallback(plugin,repo,branchName){let id=repo?`upload-new-K${repo.smartKey}`:"upload-new",name=instance.t("commands.uploadNewNotes"),common=instance.t("common.repository");return name=repo?`${name} (${common} : ${repo.smartKey})`:name,{id,name,callback:async()=>{await uploadNewNotes(plugin,branchName,repo)}}}async function uploadNewNotes(plugin,branchName,repo){let publisher=await plugin.reloadOctokit(repo?.smartKey),prop=getProperties(plugin,repo,null,!0);await shareNewNote(publisher,branchName,{frontmatter:Array.isArray(prop)?prop[0]:prop,repository:repo,convert:frontmatterSettingsRepository(plugin,repo)})}async function shareNewNote(PublisherManager,branchName,monoRepo){let plugin=PublisherManager.plugin;new import_obsidian15.Notice(instance.t("informations.scanningRepo"),PublisherManager.noticeLength);let sharedFilesWithPaths=PublisherManager.getAllFileWithPath(monoRepo.repository,monoRepo.convert),githubSharedNotes=await PublisherManager.getAllFileFromRepo(monoRepo.frontmatter.branch,monoRepo.frontmatter),newlySharedNotes=PublisherManager.getNewFiles(sharedFilesWithPaths,githubSharedNotes);if(newlySharedNotes.length>0){new import_obsidian15.Notice(instance.t("informations.foundNoteToSend",{nbNotes:newlySharedNotes.length}),PublisherManager.noticeLength);let statusBarElement=plugin.addStatusBarItem();if(!await checkRepositoryValidityWithProperties(PublisherManager,monoRepo.frontmatter,newlySharedNotes.length))return!1;await PublisherManager.newBranch(monoRepo.frontmatter),await shareAllMarkedNotes(PublisherManager,statusBarElement,branchName,monoRepo,newlySharedNotes,!1);return}new import_obsidian15.Notice(instance.t("informations.noNewNote"),PublisherManager.noticeLength)}var import_obsidian16=require("obsidian");async function shareOneNoteCallback(repo,plugin){let id=repo?`share-one-K${repo.smartKey}`:"share-one",name=instance.t("commands.shareActiveFile"),common=instance.t("common.repository");name=repo?`${name} (${common} : ${repo.smartKey})`:name;let octokit=await plugin.reloadOctokit(repo?.smartKey);return{id,name,hotkeys:[],checkCallback:checking=>{let file=plugin.app.workspace.getActiveFile(),frontmatter=frontmatterFromFile(file,plugin,repo);return file&&frontmatter&&isShared(frontmatter,plugin.settings,file,repo)?(checking||shareOneNote(octokit,file,repo,frontmatter,file.basename),!0):!1}}}async function shareOneNote(PublisherManager,file,repository=null,sourceFrontmatter,title){let{settings,plugin}=PublisherManager,app=PublisherManager.plugin.app;plugin.console.noticeMobile("load","hourglass",instance.t("informations.wait",{file:file.basename}));let frontmatter=frontmatterFromFile(file,PublisherManager.plugin,null);frontmatter=mergeFrontmatter(frontmatter,sourceFrontmatter,PublisherManager.settings.plugin.shareKey);let prop=getProperties(plugin,repository,frontmatter),isValid2;if(prop instanceof Array){let isValidArray=[];for(let repo of prop)isValidArray.push(await checkRepositoryValidityWithProperties(PublisherManager,repo));isValid2=isValidArray.every(v=>v)}else isValid2=await checkRepositoryValidityWithProperties(PublisherManager,prop);let multiRepo={frontmatter:prop,repository};if(!isValid2)return plugin.console.noticeErrorUpload(prop),!1;settings.github.dryRun.enable||await PublisherManager.newBranch(prop);let publishSuccess=await PublisherManager.publish(file,!0,multiRepo,[],!0,sourceFrontmatter);if(publishSuccess){if(settings.upload.metadataExtractorPath.length>0&&import_obsidian16.Platform.isDesktop){let metadataExtractor=await getSettingsOfMetadataExtractor(app,settings);metadataExtractor&&await PublisherManager.uploadMetadataExtractorFiles(metadataExtractor,prop)}if(await PublisherManager.updateRepository(prop,settings.github.dryRun.enable)){if(await plugin.console.publisherNotification(PublisherManager,title,settings,prop),await createLink(file,multiRepo,plugin),settings.plugin.displayModalRepoEditing){let listEdited=createListEdited(publishSuccess.uploaded,publishSuccess.deleted,publishSuccess.error);new ListChangedFiles(app,listEdited).open()}}else plugin.console.noticeErrorUpload(prop)}}async function shareActiveFile(plugin,repo){let file=plugin.app.workspace.getActiveFile(),frontmatter=frontmatterFromFile(file,plugin,repo);file&&frontmatter&&isShared(frontmatter,plugin.settings,file,repo)?await shareOneNote(await plugin.reloadOctokit(repo?.smartKey),file,repo,frontmatter):new import_obsidian16.Notice(instance.t("commands.runOtherRepo.noFile"),plugin.settings.plugin.noticeLength)}var import_obsidian18=require("obsidian");var import_obsidian17=require("obsidian");var ChooseWhichRepoToRun=class extends import_obsidian17.FuzzySuggestModal{plugin;branchName;settings;constructor(app,plugin,branchName){super(app),this.plugin=plugin,this.branchName=branchName,this.settings=plugin.settings}getItems(){return this.settings.github.otherRepo}getItemText(item){return item.smartKey}onChooseItem(item,_evt){new SuggestOtherRepoCommandsModal(this.plugin.app,this.plugin,this.branchName,item).open()}},ChooseRepoToRun=class extends import_obsidian17.FuzzySuggestModal{plugin;branchName;keyToFind;type;settings;fileName;onSubmit;constructor(app,plugin,keyToFind=null,branchName,type,fileName,onSubmit){super(app),this.plugin=plugin,this.branchName=branchName,this.keyToFind=keyToFind,this.onSubmit=onSubmit,this.fileName=fileName,this.type=type,this.settings=plugin.settings}getItems(){let repoFound=[],defRepo=defaultRepo(this.settings);return this.type==="file"&&(this.settings.plugin.shareAll?.enable&&!this.fileName?.startsWith(this.settings.plugin.shareAll?.excludedFileName)&&repoFound.push(defRepo),this.keyToFind&&(repoFound=repoFound.concat(this.settings.github.otherRepo.filter(repo=>repo.shareKey==this.keyToFind)),this.keyToFind===defRepo.shareKey&&repoFound.push(defRepo))),repoFound=repoFound.concat(this.settings.github.otherRepo.filter(repo=>repo.shareAll?.enable&&!this.fileName?.startsWith(repo.shareAll?.excludedFileName))),repoFound.length===0?[defRepo,...this.settings.github.otherRepo]:(repoFound.push(defRepo),[...new Set(repoFound)])}getItemText(item){return item.smartKey}onChooseItem(item,_evt){this.onSubmit(item)}},SuggestOtherRepoCommandsModal=class extends import_obsidian17.FuzzySuggestModal{plugin;branchName;repo;settings;constructor(app,plugin,branchName,repo){super(app),this.plugin=plugin,this.branchName=branchName,this.repo=repo,this.settings=plugin.settings}getItems(){let cmd=[{commands:"shareAllMarkedNotes",name:instance.t("commands.uploadAllNotes")},{commands:"shareOneNote",name:instance.t("commands.shareActiveFile")},{commands:"shareNewNote",name:instance.t("commands.uploadNewNotes")},{commands:"shareAllEditedNotes",name:instance.t("commands.uploadAllNewEditedNote")},{commands:"shareOnlyEdited",name:instance.t("commands.uploadAllEditedNote")},{commands:"checkRepositoryValidity",name:instance.t("commands.checkValidity.title")}];return this.settings.plugin.copyLink&&cmd.push({commands:"createLink",name:instance.t("commands.copyLink.title")}),this.settings.upload.autoclean.enable&&this.settings.upload.behavior!=="fixed"&&cmd.push({commands:"deleteUnsharedDeletedNotes",name:instance.t("commands.publisherDeleteClean")}),cmd}getItemText(item){return item.name}onChooseItem(item,_evt){switch(item.commands){case"shareAllMarkedNotes":uploadAllNotes(this.plugin,this.repo,this.branchName);break;case"deleteUnsharedDeletedNotes":purgeForRepo(this.plugin,this.repo,this.branchName);break;case"shareNewNote":uploadNewNotes(this.plugin,this.branchName,this.repo);break;case"shareAllEditedNotes":uploadAllEditedNotes(this.plugin,this.branchName,this.repo);break;case"shareOnlyEdited":shareEditedOnly(this.branchName,this.repo,this.plugin);break;case"shareOneNote":shareActiveFile(this.plugin,this.repo);break;case"createLink":createLinkOnActiveFile(this.repo,this.plugin);break;case"checkRepositoryValidity":repositoryValidityActiveFile(this.plugin,this.repo);break}}};function addMenuFile(plugin,file,branchName,menu){let frontmatterSharedKey=frontmatterFromFile(file,plugin,null),getSharedKey=getRepoSharedKey(plugin,frontmatterSharedKey,file),frontmatter=frontmatterFromFile(file,plugin,getSharedKey),allKeysFromFile=multipleSharedKey(frontmatter,file,plugin);if(!(isShared(frontmatter,plugin.settings,file,getSharedKey)&&plugin.settings.plugin.fileMenu))return;let prop=getProperties(plugin,getSharedKey,frontmatter,!0);menu.addItem(item=>{if(allKeysFromFile.length>1||prop instanceof Array&&prop.length>1){import_obsidian18.Platform.isDesktop?item.setTitle("Enveloppe").setIcon("mail-open"):(menu.addSeparator(),item.setIsLabel(!0)),subMenuCommandsFile(plugin,item,file,branchName,getSharedKey,menu);return}let fileName=plugin.getTitleFieldForCommand(file,plugin.app.metadataCache.getFileCache(file)?.frontmatter).replace(".md","");if(!frontmatter||!frontmatter[plugin.settings.plugin.shareKey]){let otherRepo=plugin.settings.github.otherRepo.find(repo=>repo.shareAll?.enable);otherRepo?getSharedKey=otherRepo:plugin.settings.plugin.shareAll?.enable&&(getSharedKey=defaultRepo(plugin.settings))}else frontmatter[plugin.settings.plugin.shareKey]&&(getSharedKey=defaultRepo(plugin.settings));item.setTitle(instance.t("commands.shareViewFiles.multiple.on",{doc:fileName,smartKey:getSharedKey?.smartKey?.toUpperCase()||instance.t("common.default").toUpperCase()})).setIcon("file-up").onClick(async()=>{await shareOneNote(await plugin.reloadOctokit(getSharedKey?.smartKey),file,getSharedKey,frontmatter,fileName)})})}function subMenuCommandsFile(plugin,item,file,branchName,repo,originalMenu){let frontmatter=frontmatterFromFile(file,plugin,repo),fileName=plugin.getTitleFieldForCommand(file,frontmatter).replace(".md",""),subMenu=import_obsidian18.Platform.isDesktop?item.setSubmenu():originalMenu,prop=getProperties(plugin,repo,frontmatter,!0);prop=prop instanceof Array?prop:[prop],(repo?.shareKey===plugin.settings.plugin.shareKey||frontmatter?.[plugin.settings.plugin.shareKey])&&(!frontmatter?.repo||!frontmatter?.multipleRepo)&&subMenu.addItem(subItem=>{subItem.setTitle(instance.t("commands.shareViewFiles.multiple.on",{smartKey:instance.t("common.default").toUpperCase(),doc:fileName})).setIcon("file-up").onClick(async()=>{await shareOneNote(await plugin.reloadOctokit(),file,defaultRepo(plugin.settings),null,fileName)})});let activatedRepoCommands=plugin.settings.github.otherRepo.filter(repo2=>repo2.createShortcuts);return activatedRepoCommands.length>0&&activatedRepoCommands.forEach(otherRepo=>{(otherRepo.shareKey===repo?.shareKey||frontmatter?.[otherRepo.shareKey])&&subMenu.addItem(item2=>{item2.setTitle(instance.t("commands.shareViewFiles.multiple.on",{smartKey:otherRepo.smartKey.toUpperCase(),doc:fileName})).setIcon("file-up").onClick(async()=>{await shareOneNote(await plugin.reloadOctokit(otherRepo?.smartKey),file,otherRepo,frontmatter,fileName)})})}),prop.length>1&&prop.forEach(repoFront=>{subMenu.addItem(item2=>{item2.setTitle(instance.t("commands.shareViewFiles.multiple.on",{smartKey:repoFront.repo.toUpperCase(),doc:fileName})).setIcon("file-up").onClick(async()=>{await shareOneNote(await plugin.reloadOctokit(),file,repo,frontmatter,fileName)})})}),subMenu.addItem(subItem=>{subItem.setTitle(instance.t("commands.shareViewFiles.multiple.other")).setIcon("file-input").onClick(async()=>{new ChooseRepoToRun(plugin.app,plugin,repo?.shareKey,branchName,"file",file.basename,async item2=>{let sourceFrontmatter=frontmatterFromFile(file,plugin,item2);await shareOneNote(await plugin.reloadOctokit(item2.smartKey),file,item2,sourceFrontmatter,fileName)}).open()})}),subMenu}var import_obsidian19=require("obsidian");async function shareFolderRepo(plugin,folder,branchName,repo){let publisher=await plugin.reloadOctokit(repo?.smartKey),statusBarItems=plugin.addStatusBarItem(),prop=getProperties(plugin,repo,null,!0),monoProperties={frontmatter:Array.isArray(prop)?prop[0]:prop,repository:repo,convert:frontmatterSettingsRepository(plugin,repo)};await shareAllMarkedNotes(publisher,statusBarItems,branchName,monoProperties,publisher.getSharedFileOfFolder(folder,repo,!0),!0)}function addSubMenuCommandsFolder(plugin,item,folder,branchName,originalMenu){let subMenu=import_obsidian19.Platform.isDesktop?item.setSubmenu():originalMenu;isExcludedPath(plugin.settings,folder,defaultRepo(plugin.settings))||subMenu.addItem(subItem=>{subItem.setTitle(instance.t("commands.shareViewFiles.multiple.on",{smartKey:instance.t("common.default").toUpperCase(),doc:folder.name})).setIcon("folder-up").onClick(async()=>{let repo=getRepoSharedKey(plugin,void 0);await shareFolderRepo(plugin,folder,branchName,repo)})});let activatedRepoCommands=plugin.settings.github.otherRepo.filter(repo=>repo.createShortcuts);return activatedRepoCommands.length>0&&activatedRepoCommands.forEach(otherRepo=>{isInDryRunFolder(plugin.settings,otherRepo,folder)||subMenu.addItem(item2=>{item2.setTitle(instance.t("commands.shareViewFiles.multiple.on",{smartKey:otherRepo.smartKey.toUpperCase(),doc:folder.name})).setIcon("folder-up").onClick(async()=>{await shareFolderRepo(plugin,folder,branchName,otherRepo)})})}),subMenu.addItem(subItem=>{subItem.setTitle(instance.t("commands.shareViewFiles.multiple.other")).setIcon("folder-symlink").onClick(async()=>{new ChooseRepoToRun(plugin.app,plugin,null,branchName,"folder",null,async item2=>{await shareFolderRepo(plugin,folder,branchName,item2)}).open()})}),subMenu}async function addMenuFolder(menu,folder,branchName,plugin){menu.addItem(item=>{if(plugin.settings.github?.otherRepo?.length>0){import_obsidian19.Platform.isDesktop?(item.setTitle("Enveloppe"),item.setIcon("mail-open")):(menu.addSeparator(),item.setIsLabel(!0)),addSubMenuCommandsFolder(plugin,item,folder,branchName,menu);return}item.setSection("action"),item.setTitle(instance.t("commands.shareViewFiles.multiple.on",{smartKey:instance.t("common.default").toUpperCase(),doc:folder.name})).setIcon("folder-up").onClick(async()=>{let repo=getRepoSharedKey(plugin);await shareFolderRepo(plugin,folder,branchName,repo)})})}var import_obsidian25=require("obsidian");var import_obsidian24=require("obsidian"),import_obsidian_dataview3=__toESM(require_lib());var import_obsidian23=require("obsidian");var import_obsidian22=require("obsidian");var import_obsidian20=require("obsidian"),import_obsidian_dataview=__toESM(require_lib());var DataviewCompiler=class{settings;properties;path;dvApi;sourceText;constructor(settings,properties,path,dvApi,sourceText){this.settings=settings,this.properties=properties,this.path=path,this.dvApi=dvApi,this.sourceText=sourceText}dvJsMatch(){let dataviewJsPrefix=this.dvApi.settings.dataviewJsKeyword||"dataviewjs",dataViewJsRegex=new RegExp(`\`\`\`${escapeRegex(dataviewJsPrefix)}\\s(.+?)\`\`\``,"gsm");return this.sourceText.matchAll(dataViewJsRegex)}dvInlineQueryMatches(){let inlineQueryPrefix=this.dvApi.settings.inlineQueryPrefix||"=",inlineDataViewRegex=new RegExp(`\`${escapeRegex(inlineQueryPrefix)}(.+?)\``,"gsm");return this.sourceText.matchAll(inlineDataViewRegex)}dvInlineJSMatches(){let inlineJsQueryPrefix=this.dvApi.settings.inlineJsQueryPrefix||"$=",inlineJsDataViewRegex=new RegExp(`\`${escapeRegex(inlineJsQueryPrefix)}(.+?)\``,"gsm");return this.sourceText.matchAll(inlineJsDataViewRegex)}matches(){return{dataviewJsMatches:this.dvJsMatch(),inlineMatches:this.dvInlineQueryMatches(),inlineJsMatches:this.dvInlineJSMatches()}}async dataviewDQL(query){let{isInsideCallout,finalQuery}=sanitizeQuery(query),markdown=removeDataviewQueries(await this.dvApi.tryQueryMarkdown(finalQuery,this.path),this.properties.frontmatter.general);return isInsideCallout?surroundWithCalloutBlock(markdown):markdown}async dataviewJS(query){let{isInsideCallout,finalQuery}=sanitizeQuery(query),md=await this.tryExecuteJs(finalQuery,100),markdown=removeDataviewQueries(md,this.properties.frontmatter.general);return isInsideCallout?surroundWithCalloutBlock(markdown):markdown}async inlineDQLDataview(query){let dataviewResult=this.dvApi.evaluateInline(query,this.path);return dataviewResult.successful?removeDataviewQueries(dataviewResult.value,this.properties.frontmatter.general):removeDataviewQueries(this.dvApi.settings.renderNullAs,this.properties.frontmatter.general)}async tryExecuteJs(evaluateQuery,max=50){let div=createEl("div"),component=new import_obsidian20.Component;component.load(),await this.dvApi.executeJs(evaluateQuery,div,component,this.path);let counter=0;for(;!div.querySelector("[data-tag-name]")&&counter<max;)await this.delay(5),counter++;return(0,import_obsidian20.htmlToMarkdown)(div)}delay(ms){return new Promise((resolve,_)=>{setTimeout(resolve,ms)})}async inlineDataviewJS(query){let evaluateQuery=`
const query = ${query};
dv.el("div", query);
`,markdown=await this.tryExecuteJs(evaluateQuery);return removeDataviewQueries(markdown,this.properties.frontmatter.general)}};async function convertDataviewQueries(text,path,frontmatter,sourceFile,properties){let plugin=properties.plugin,app=plugin.app,settings=plugin.settings,replacedText=text,dataViewRegex=/```dataview\s(.+?)```/gms;if(!app.plugins.plugins?.dataview?._loaded)return replacedText;let dvApi=(0,import_obsidian_dataview.getAPI)(app);if(!dvApi)return replacedText;let matches=text.matchAll(dataViewRegex),compiler=new DataviewCompiler(settings,properties,path,dvApi,text),{dataviewJsMatches,inlineMatches,inlineJsMatches}=compiler.matches();if(!matches&&!inlineMatches&&!dataviewJsMatches&&!inlineJsMatches)return plugin.console.warn("No dataview queries found"),replacedText;let error=instance.t("error.dataview");for(let queryBlock of matches)try{let block=queryBlock[0],markdown=await compiler.dataviewDQL(queryBlock[1]);replacedText=replacedText.replace(block,markdown)}catch(e){return plugin.console.debug(e),plugin.console.warn(error),queryBlock[0]}for(let queryBlock of dataviewJsMatches)try{let block=queryBlock[0],markdown=await compiler.dataviewJS(queryBlock[1]);replacedText=replacedText.replace(block,markdown)}catch(e){return plugin.console.debug(e),plugin.console.warn(error),queryBlock[0]}for(let inlineQuery of inlineMatches)try{let code=inlineQuery[0],query=inlineQuery[1].trim(),markdown=await compiler.inlineDQLDataview(query);replacedText=replacedText.replace(code,markdown)}catch(e){return plugin.console.debug(e),plugin.console.warn(error),inlineQuery[0]}for(let inlineJsQuery of inlineJsMatches)try{let code=inlineJsQuery[0],markdown=await compiler.inlineDataviewJS(inlineJsQuery[1].trim());replacedText=replacedText.replace(code,markdown)}catch(e){return plugin.console.debug(e),plugin.console.warn(error),inlineJsQuery[0]}return await convertDataviewLinks(replacedText,frontmatter,sourceFile,properties)}function removeDataviewQueries(dataviewMarkdown,frontmatterSettings){let toStr=dataviewMarkdown?.toString();return frontmatterSettings.dataview&&dataviewMarkdown&&toStr?toStr:""}async function convertDataviewLinks(md,frontmatter,sourceFile,properties){let dataviewPath=getDataviewPath(md,properties.plugin);return md=await convertToInternalGithub(md,dataviewPath,sourceFile,frontmatter,properties),convertWikilinks(md,properties.frontmatter.general,dataviewPath,properties.plugin,frontmatter)}function getDataviewPath(markdown,plugin){let{settings}=plugin,vault=plugin.app.vault;if(!settings.conversion.dataview)return[];let wikiRegex=/\[\[(.*?)\]\]/gim,wikiMatches=markdown.matchAll(wikiRegex),linkedFiles=[];if(!wikiMatches)return[];if(wikiMatches)for(let wikiMatch of wikiMatches){let altText=wikiMatch[1].replace(/(.*)\\?\|/i,""),linkFrom=wikiMatch[1].replace(/\\?\|(.*)/,""),linked=vault.getAbstractFileByPath(linkFrom)instanceof import_obsidian20.TFile?vault.getAbstractFileByPath(linkFrom):null;linked&&linkedFiles.push({linked,linkFrom,altText,type:"link"})}return linkedFiles}function sanitizeQuery(query){let isInsideCallout=!1,parts=query.split(`
`),sanitized=[];for(let part of parts)part.startsWith(">")?(isInsideCallout=!0,sanitized.push(part.substring(1).trim())):sanitized.push(part);let finalQuery=query;return isInsideCallout&&(finalQuery=sanitized.join(`
`)),{isInsideCallout,finalQuery}}function surroundWithCalloutBlock(input){return` ${input.split(`
`).join(`
> `)}`}var import_obsidian21=require("obsidian"),import_obsidian_dataview2=__toESM(require_lib());function applyIndent(text,indent){return indent?text.trim().replace(/(\r?\n)/g,`$1${indent}`):text}function stripFirstBullet(text){return text.replace(/^[ \t]*(?:[-*+]|[0-9]+[.)]) +/,"")}function dedent2(text){let firstIndent=text.match(/^([ \t]*)/);return firstIndent?text.replace(new RegExp(`^${firstIndent[0].replace(/\\/g,"\\$&")}`,"gm"),""):text}function stripBlockId(str){return str.replace(/ +\^[^ \n\r]+$/gm,"")}function stripFrontmatter(text){return text&&text.replace(/^---[\s\S]+?\r?\n---(?:\r?\n\s*|$)/,"")}function sanitizeBakedContent(text){return stripBlockId(stripFrontmatter(text))}function extractSubpath(content,subpathResult,cache){if(subpathResult.type==="block"&&subpathResult.list&&cache.listItems){let targetItem=subpathResult.list,ancestors=new Set([targetItem.position.start.line]),start2=targetItem.position.start.offset-targetItem.position.start.col,end2=targetItem.position.end.offset,found=!1;for(let item of cache.listItems){if(targetItem===item){found=!0;continue}else if(!found)continue;if(!ancestors.has(item.parent))break;ancestors.add(item.position.start.line),end2=item.position.end.offset}return stripBlockId(dedent2(content.substring(start2,end2)))}let start=subpathResult.start.offset,end=subpathResult.end?subpathResult.end.offset:content.length;return stripBlockId(content.substring(start,end))}async function bakeEmbeds(originalFile,ancestor,properties,subpath,linkedNotes){let{plugin}=properties,{app,settings}=plugin,{vault,metadataCache}=plugin.app,text=await vault.cachedRead(originalFile),cache=metadataCache.getFileCache(originalFile);if(!cache)return text;let resolvedSubpath=subpath?(0,import_obsidian21.resolveSubpath)(cache,subpath):null;resolvedSubpath&&resolvedSubpath.type!=="footnote"&&(text=extractSubpath(text,resolvedSubpath,cache));let embeds=cache.embeds;if(!embeds||embeds.length===0)return text;let targets=[...embeds];targets.sort((a,b)=>a.position.start.offset-b.position.start.offset);let newAncestors=new Set(ancestor);newAncestors.add(originalFile);let posOffset=0;for(let embed of targets){let{path,subpath:subpath2}=(0,import_obsidian21.parseLinktext)(embed.link),linked=metadataCache.getFirstLinkpathDest(path,originalFile.path);if(linked===null||linked?.extension!=="md")continue;let start=embed.position.start.offset+posOffset,end=embed.position.end.offset+posOffset,prevLen=end-start,before=text.substring(0,start),after=text.substring(end),replaceTarget=async replacement=>{if(settings.embed.bake?.textAfter){let textAfter=await changeUrl(settings.embed.bake?.textAfter,properties,linked,originalFile,linkedNotes);textAfter=changeTitle(textAfter,linked,app,settings);let newLine=replacement.match(/[\s\n]/g)?"":`
`;replacement=`${replacement}${newLine}${textAfter}`}if(settings.embed.bake?.textBefore){let textBefore=await changeUrl(settings.embed.bake?.textBefore,properties,linked,originalFile,linkedNotes);textBefore=changeTitle(textBefore,linked,app,settings),replacement=`${textBefore}
${replacement}`}text=before+replacement+after,posOffset+=replacement.length-prevLen},frontmatter=metadataCache.getFileCache(linked)?.frontmatter,shared=isShared(frontmatter,settings,linked,properties.repository),listMatch=before.match(/(?:^|\n)([ \t]*)(?:[-*+]|[0-9]+[.)]) +$/);if(newAncestors.has(linked)||!shared)continue;let baked=sanitizeBakedContent(await bakeEmbeds(linked,newAncestors,properties,subpath2,linkedNotes));await replaceTarget(listMatch?applyIndent(stripFirstBullet(baked),listMatch[1]):baked)}return text}async function changeUrl(textToAdd,properties,linked,sourceFile,linkedNotes){let frontmatter=properties.plugin.app.metadataCache.getFileCache(linked)?.frontmatter;if(!frontmatter)return textToAdd;let linkedNote=linkedNotes.find(note=>note.linked===linked);if(!linkedNote)return textToAdd;if(properties.frontmatter.general.convertInternalLinks){let relativePath=await createRelativePath(sourceFile,linkedNote,frontmatter,properties);return textToAdd.replace(/\{{2}url\}{2}/gim,relativePath.link)}return textToAdd.replace(/\{{2}url\}{2}/gim,linkedNote.linked.path)}function changeTitle(textToAdd,linked,app,settings){let title=linked.basename,frontmatter=app.metadataCache.getFileCache(linked)?.frontmatter;if(!frontmatter)return textToAdd.replace(/\{{2}title\}{2}/gim,title);let getTitle=regexOnFileName(getTitleField(frontmatter,linked,settings),settings).replace(".md","");return textToAdd.replace(/\{{2}title\}{2}/gim,getTitle)}async function convertInlineDataview(text,plugin,sourceFile){let{settings,app}=plugin;if(settings.conversion.tags.fields.length===0||!app.plugins.enabledPlugins.has("dataview"))return text;let dvApi=(0,import_obsidian_dataview2.getAPI)();if(!dvApi)return text;let dataviewLinks=dvApi.page(sourceFile.path);if(!dataviewLinks)return text;let valueToAdd=[];for(let field of settings.conversion.tags.fields){let fieldValue=dataviewLinks[field];if(fieldValue)if(fieldValue.constructor.name==="Link"){fieldValue=fieldValue;let stringifyField=dataviewExtract(fieldValue,settings);stringifyField&&valueToAdd.push(stringifyField)}else if(fieldValue instanceof Array)for(let item of fieldValue){let stringifyField=item;item&&item.constructor.name==="Link"?(stringifyField=dataviewExtract(item,settings),stringifyField&&valueToAdd.push(stringifyField)):stringifyField&&!settings.conversion.tags.exclude.includes(stringifyField.toString())&&valueToAdd.push(stringifyField.toString())}else settings.conversion.tags.exclude.includes(fieldValue.toString())||valueToAdd.push(fieldValue.toString())}return valueToAdd.length>0?addToYaml(text,valueToAdd.filter(Boolean),{properties:null,file:sourceFile}):text}function dataviewExtract(fieldValue,settings){let filename=(name=>/([^/\\.]*)(\..*)?$/.exec(name)[1])(fieldValue.path).toString(),display=fieldValue.display?fieldValue.display.toString():filename;return!settings.conversion.tags.exclude.includes(display)&&!settings.conversion.tags.fields.includes(filename)?display:null}function addHardLineBreak(text,plugin,frontmatter){try{let{exists:exists2,contentStart,from}=(0,import_obsidian22.getFrontMatterInfo)(text);if(frontmatter.hardbreak){if(exists2){let substring=text.substring(contentStart).replace(/\n/gm,`
`).replace(/^\s*\\\s*$/gim,"<br/>");return`---
${text.slice(from,contentStart)}${substring}`}return text.replace(/\n/gm,`
`)}else if(exists2){let newText=text.substring(contentStart).replace(/^\s*\\\s*$/gim,"<br/>");return`---
${text.slice(from,contentStart)}${newText}`}return text.replace(/^\s*\\\s*$/gim,"<br/>")}catch(e){return plugin.console.error(e),text}}function setTags(toAdd,tags){return!tags||!Array.isArray(tags)?toAdd:(tags=tags.map(tag=>tag.replaceAll("/","_")),Array.isArray(tags)?[...new Set([...tags,...toAdd])]:[...new Set([...toAdd,tags])])}function tagsToYaml(toAdd,plugin,yaml){if(yaml.tag)try{toAdd=[...setTags(toAdd,yaml.tag)],delete yaml.tag}catch(e){plugin.console.error(e)}if(yaml.tags)try{yaml.tags=[...setTags(toAdd,yaml.tags)]}catch(e){plugin.console.error(e)}else yaml.tags=toAdd;return yaml}function addToYaml(text,toAdd,folderNoteParaMeters){let properties=folderNoteParaMeters?.properties,{contentStart,exists:exists2,frontmatter}=(0,import_obsidian22.getFrontMatterInfo)(text);if(!properties||!properties.plugin.settings.conversion.tags.inline&&!properties.plugin.settings.upload.folderNote.addTitle)return text;let yamlObject=(0,import_obsidian22.parseYaml)(exists2?frontmatter:"{}");try{if(yamlObject&&toAdd.length>0&&(yamlObject=tagsToYaml(toAdd,properties.plugin,yamlObject)),folderNoteParaMeters?.properties&&(yamlObject=titleToYaml(yamlObject,folderNoteParaMeters.properties,folderNoteParaMeters.file)),yamlObject&&Object.keys(yamlObject).length>0)return`---
${(0,import_obsidian22.stringifyYaml)(yamlObject)}---
${exists2?text.slice(contentStart):text}`}catch{return new import_obsidian22.Notice(instance.t("error.parseYaml"),properties.plugin.settings.plugin.noticeLength),text}return new import_obsidian22.Notice(instance.t("error.parseYaml"),properties.plugin.settings.plugin.noticeLength),text}function titleToYaml(yaml,properties,file){let settings=properties.plugin.settings.upload.folderNote.addTitle;return settings&&!yaml[settings.key]&&isFolderNote(properties)&&settings.enable&&(yaml[settings.key]=file.basename),yaml}function inlineTags(settings,file,metadataCache,frontmatter){if(!settings.conversion.tags.inline)return[];let inlineTags2=metadataCache.getFileCache(file)?.tags,inlineTagsInText=inlineTags2?inlineTags2.map(t2=>t2.tag.replace("#","").replaceAll("/","_")):[],frontmatterTags=(0,import_obsidian22.parseFrontMatterTags)(frontmatter),yamlTags=frontmatterTags?frontmatterTags.map(t2=>t2.replace("#","").replaceAll("/","_")):[];return[...new Set([...inlineTagsInText,...yamlTags])]}async function processYaml(file,frontmatter,text,multiProperties){let{plugin}=multiProperties,{settings,app}=plugin,metadataCache=app.metadataCache,toAdd=inlineTags(settings,file,metadataCache,frontmatter);return addToYaml(text,toAdd,{properties:multiProperties,file})}async function mainConverting(text,file,frontmatter,linkedFiles,properties){let{plugin}=properties;return properties.frontmatter.general.removeEmbed==="bake"&&(text=await bakeEmbeds(file,new Set,properties,null,linkedFiles)),text=findAndReplaceText(text,plugin,!1),text=await processYaml(file,frontmatter,text,properties),text=await convertToInternalGithub(text,linkedFiles,file,frontmatter,properties),text=convertWikilinks(text,properties.frontmatter.general,linkedFiles,plugin,frontmatter),text=await convertDataviewQueries(text,file.path,frontmatter,file,properties),text=await convertInlineDataview(text,plugin,file),text=addHardLineBreak(text,plugin,properties.frontmatter.general),findAndReplaceText(text,plugin,!0)}async function convertToHTMLSVG(file,app){try{let excalidraw=app.plugins.getPlugin("obsidian-excalidraw-plugin");if(!excalidraw)return null;let ea=excalidraw.ea,settings=ea.getExportSettings(!1,!0),embeddedFilesLoader=ea.getEmbeddedFilesLoader(!0);return(await ea.createSVG(file.path,!0,settings,embeddedFilesLoader)).outerHTML}catch(e){return console.error(e),null}}var Publisher=class{octokit;plugin;vault;metadataCache;settings;branchName;console;noticeLength;constructor(octokit,plugin){this.vault=plugin.app.vault,this.metadataCache=plugin.app.metadataCache,this.settings=plugin.settings,this.octokit=octokit,this.plugin=plugin,this.branchName=plugin.branchName,this.console=plugin.console,this.noticeLength=this.settings.plugin.noticeLength}async statusBarForEmbed(linkedFiles,fileHistory,deepScan,properties){let uploadedFile=[],fileError=[];if(linkedFiles.length>0){let statusBarItems=this.plugin.addStatusBarItem(),statusBar=new ShareStatusBar(statusBarItems,linkedFiles.length,!0,this.console),prop=properties.frontmatter.prop,repoProperties={frontmatter:properties.frontmatter.prop,repository:properties.repository,convert:properties.frontmatter.general};try{for(let file of linkedFiles)try{if(!fileHistory.includes(file)){let isExcalidraw=file.name.includes("excalidraw");if(file.extension==="md"&&!isExcalidraw&&deepScan){let published=await this.publish(file,!1,repoProperties,fileHistory,!0,properties.frontmatter.source);published&&uploadedFile.push(...published.uploaded)}else if(isAttachment(file.name,this.settings.embed.unHandledObsidianExt)&&properties.frontmatter.general.attachment){let published=await this.uploadImage(file,properties);fileHistory.push(file),published&&uploadedFile.push(published)}}statusBar.increment()}catch(e){new import_obsidian23.Notice(instance.t("error.unablePublishNote",{file:file.name}),this.noticeLength),fileError.push(file.name),this.console.error(e)}statusBar.finish(8e3)}catch(e){throw this.console.noticeErrorUpload(prop),statusBar.error(prop),new EnveloppeErrors(e.message,{cause:e})}}return{fileHistory,uploaded:uploadedFile,error:fileError}}async publish(file,autoclean=!1,repo,fileHistory=[],deepScan=!1,sourceFrontmatter){let shareFiles=new FilesManagement(this.octokit,this.plugin),frontmatter=frontmatterFromFile(file,this.plugin,null),filePath=getReceiptFolder(file,repo.repository,this.plugin,repo.frontmatter);if(!isShared(frontmatter,this.settings,file,repo.repository))return!1;if(!await shareFiles.wasEditedSinceLastSync(file,repo.repository,filePath)&&fileHistory.length>0){let msg2=instance.t("publish.upToDate",{file:file.name,repo:`${repo.repository?.user??this.settings.github.user}/${repo.repository?.repo??this.settings.github.repo}:${repo.repository?.branch??this.branchName}`});return new import_obsidian23.Notice(msg2,this.noticeLength),!1}frontmatter=mergeFrontmatter(frontmatter,sourceFrontmatter,this.settings.plugin.shareKey);let prop=getProperties(this.plugin,repo.repository,frontmatter),isNotEmpty=await checkEmptyConfiguration(prop,this.plugin);if(repo.frontmatter=prop,fileHistory.includes(file)||!checkIfRepoIsInAnother(prop,repo.frontmatter)||!isNotEmpty)return!1;this.console.trace(`Publishing file: ${file.path}`),fileHistory.push(file);let frontmatterSettingsFromFile=getFrontmatterSettings(frontmatter,this.settings,repo.repository),frontmatterRepository=frontmatterSettingsRepository(this.plugin,repo.repository),frontmatterSettings=merge2.withOptions({allowUndefinedOverrides:!1},frontmatterRepository,frontmatterSettingsFromFile),multiProperties={plugin:this.plugin,frontmatter:{general:frontmatterSettings,prop:repo.frontmatter},repository:repo.repository,filepath:filePath},embedFiles=shareFiles.getSharedEmbed(file,frontmatterSettings);embedFiles=await shareFiles.getMetadataLinks(file,embedFiles,frontmatterSettings);let linkedFiles=shareFiles.getLinkedByEmbedding(file),text=await this.vault.cachedRead(file);text=await mainConverting(text,file,frontmatter,linkedFiles,multiProperties);let path=multiProperties.filepath,props=Array.isArray(repo.frontmatter)?repo.frontmatter:[repo.frontmatter],multiRepMsg="";for(let prop2 of props)multiRepMsg+=`[${prop2.owner}/${prop2.repo}/${prop2.branch}] `;let msg=`Publishing ${file.name} to ${multiRepMsg}`;this.console.trace(msg);let fileDeleted=[],updated=[],fileError=[];for(let repo2 of props){let monoProperties={plugin:this.plugin,frontmatter:{general:frontmatterSettings,prop:repo2,source:sourceFrontmatter},repository:multiProperties.repository,filepath:multiProperties.filepath},deleted=await this.uploadOnMultipleRepo(file,text,path,embedFiles,fileHistory,deepScan,shareFiles,autoclean,monoProperties);fileDeleted.push(deleted.deleted),updated.push(deleted.uploaded),fileError.push(...deleted.error)}return{deleted:fileDeleted[0],uploaded:updated[0],error:fileError}}async uploadOnMultipleRepo(file,text,path,embedFiles,fileHistory,deepScan,shareFiles,autoclean,properties){let load=this.plugin.addStatusBarItem();load.createEl("span",{cls:["enveloppe","loading","icons"]}),(0,import_obsidian23.setIcon)(load,"loader"),load.createEl("span",{text:instance.t("statusBar.loading"),cls:["enveloppe","loading","icons"]}),embedFiles=await this.cleanLinkedImageIfAlreadyInRepo(embedFiles,properties);let repo=properties.frontmatter.prop;this.console.trace(`Upload ${file.name}:${path} on ${repo.owner}/${repo.repo}:${this.branchName}`);let notifMob=this.console.noticeMobile("wait","loader",instance.t("statusBar.loading")),deleted={success:!1,deleted:[],undeleted:[]};load.hide(),notifMob?.hide();let statusBarItems=this.plugin.addStatusBarItem(),loadBar=new ShareStatusBar(statusBarItems,1,!1,this.console,!0),uploaded=await this.uploadText(text,path,file.name,repo);if(loadBar.increment(),!uploaded)return loadBar.error(properties.frontmatter.prop),{deleted,uploaded:[],error:[`Error while uploading ${file.name} to ${repo.owner}/${repo.repo}/${repo.branch}`]};let embedded=await this.statusBarForEmbed(embedFiles,fileHistory,deepScan,properties),embeddedUploaded=embedded.uploaded;return embeddedUploaded.push(uploaded),(autoclean||repo.dryRun.autoclean)&&(deleted=await deleteFromGithub(!0,this.branchName,shareFiles,{frontmatter:repo,repository:properties.repository,convert:properties.frontmatter.general})),loadBar.finish(8e3),{deleted,uploaded:embeddedUploaded,error:embedded.error}}async upload(content,path,title="",prop){if(!prop.repo)throw new import_obsidian23.Notice("Config error : You need to define a github repo in the plugin settings",this.noticeLength),{};if(!prop.owner)throw new import_obsidian23.Notice("Config error : You need to define your github username in the plugin settings",this.noticeLength),{};let octokit=this.octokit,msg=`PUSH NOTE : ${title}`;isAttachment(path,this.settings.embed.unHandledObsidianExt)&&(title=path.split("/")[path.split("/").length-1],msg=`PUSH ATTACHMENT : ${title}`);let payload={owner:prop.owner,repo:prop.repo,path,message:`Adding ${title}`,content,sha:"",branch:this.branchName},result={isUpdated:!1,file:title};try{let response=await octokit.request("GET /repos/{owner}/{repo}/contents/{+path}",{owner:prop.owner,repo:prop.repo,path,ref:this.branchName});response.status===200&&response.data.type==="file"&&(payload.sha=response.data.sha,result.isUpdated=!0)}catch{this.console.trace(instance.t("error.normal"))}return payload.message=msg,await octokit.request("PUT /repos/{owner}/{repo}/contents/{+path}",payload),result}async uploadImage(imageFile,properties){let imageBin=await this.vault.readBinary(imageFile),prop=properties.frontmatter.prop,image64=(0,import_obsidian23.arrayBufferToBase64)(imageBin);if(imageFile.name.includes("excalidraw")){let svg=await convertToHTMLSVG(imageFile,this.plugin.app);svg&&(image64=gBase64.encode(svg).toString(),imageBin=Buffer.from(image64,"base64"))}let path=getImagePath(imageFile,this.plugin,properties.frontmatter.general,properties.frontmatter.prop);if(this.settings.github.dryRun.enable){let folderName=(this.settings.github.dryRun.folderName.trim().length>0?this.settings.github.dryRun.folderName:"enveloppe").replace("{{repo}}",prop.repo).replace("{{branch}}",prop.branch).replace("{{owner}}",prop.owner),dryRunPath=(0,import_obsidian23.normalizePath)(`${folderName}/${path}`),isAlreadyExist=this.vault.getAbstractFileByPath(dryRunPath);if(isAlreadyExist&&isAlreadyExist instanceof import_obsidian23.TFile){let needToByUpdated=isAlreadyExist.stat.mtime>imageFile.stat.mtime;return needToByUpdated&&await this.vault.modifyBinary(isAlreadyExist,imageBin),{isUpdated:needToByUpdated,file:imageFile.name}}let folder=dryRunPath.split("/").slice(0,-1).join("/"),folderExists=this.vault.getAbstractFileByPath(folder);return(!folderExists||!(folderExists instanceof import_obsidian23.TFolder))&&await this.vault.createFolder(folder),await this.vault.createBinary(dryRunPath,imageBin),{isUpdated:!0,file:imageFile.name}}return await this.upload(image64,path,"",properties.frontmatter.prop)}async uploadText(text,path,title="",prop){if(this.settings.github.dryRun.enable){let folderName=this.settings.github.dryRun.folderName.replace("{{repo}}",prop.repo).replace("{{branch}}",prop.branch).replace("{{owner}}",prop.owner),newPath=(0,import_obsidian23.normalizePath)(`${folderName}/${path}`),isAlreadyExist=this.vault.getAbstractFileByPath(newPath);if(isAlreadyExist&&isAlreadyExist instanceof import_obsidian23.TFile)return await this.vault.modify(isAlreadyExist,text),{isUpdated:!0,file:title};let folder=newPath.split("/").slice(0,-1).join("/"),folderExists=this.vault.getAbstractFileByPath(folder);(!folderExists||!(folderExists instanceof import_obsidian23.TFolder))&&await this.vault.createFolder(folder);let alreadyExists=this.vault.getAbstractFileByPath(newPath);return alreadyExists&&alreadyExists instanceof import_obsidian23.TFile?await this.vault.modify(alreadyExists,text):await this.vault.create(newPath,text),{isUpdated:!1,file:title}}try{let contentBase64=gBase64.encode(text).toString();return await this.upload(contentBase64,path,title,prop)}catch(e){console.error(e);return}}async uploadMetadataExtractorFiles(metadataExtractor,prop){if(metadataExtractor){if(this.settings.github.dryRun.enable)return;for(let file of Object.values(metadataExtractor))if(file){let contents=await this.vault.adapter.read(file),path=`${this.settings.upload.metadataExtractorPath}/${file.split("/").pop()}`;prop=Array.isArray(prop)?prop:[prop];for(let repo of prop)await this.uploadText(contents,path,file.split("/").pop(),repo)}}}async workflowGestion(prop){if(this.settings.github.dryRun.enable)return!1;let finished=!1;if(prop.workflowName.length===0)return!1;let octokit=this.octokit;for(await octokit.request("POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches",{owner:prop.owner,repo:prop.repo,workflow_id:prop.workflowName,ref:prop.branch});!finished;){await sleep(1e4);let workflowGet=await octokit.request("GET /repos/{owner}/{repo}/actions/runs",{owner:prop.owner,repo:prop.repo});if(workflowGet.data.workflow_runs.length>0){let build=workflowGet.data.workflow_runs.find(run=>run.name===prop.workflowName.replace(".yml","").replace(".yaml",""));if(build&&build.status==="completed")return finished=!0,!0}}return!1}async cleanLinkedImageIfAlreadyInRepo(embedFiles,properties){let newLinkedFiles=[];for(let file of embedFiles)if(isAttachment(file.name,this.settings.embed.unHandledObsidianExt)){let imagePath=getImagePath(file,this.plugin,properties.frontmatter.general,properties.frontmatter.prop),prop=properties.frontmatter;if(this.settings.github.dryRun.enable){newLinkedFiles.push(file);continue}try{if(forcePushAttachment(file,this.settings)){newLinkedFiles.push(file);continue}if((await this.octokit.request("GET /repos/{owner}/{repo}/contents/{+path}",{owner:prop.prop.owner,repo:prop.prop.repo,path:imagePath,ref:this.branchName})).status===200){let reply=await this.octokit.request("GET /repos/{owner}/{repo}/commits",{owner:prop.prop.owner,repo:prop.prop.repo,path:imagePath,sha:this.branchName});if(reply.status===200){let lastEditedInRepo=reply.data[0]?.commit?.committer?.date,lastEditedDate=lastEditedInRepo?new Date(lastEditedInRepo):void 0,lastEditedAttachment=new Date(file.stat.mtime);lastEditedDate&&lastEditedAttachment>lastEditedDate||!lastEditedDate?newLinkedFiles.push(file):this.console.trace(instance.t("error.alreadyExists",{file:file.name}))}}}catch{newLinkedFiles.push(file)}}else newLinkedFiles.push(file);return newLinkedFiles}};var FilesManagement=class extends Publisher{console;constructor(octokit,plugin){super(octokit,plugin),this.console=plugin.console}getSharedFiles(repo){let files=this.vault.getMarkdownFiles(),sharedFile=[];for(let file of files)try{let frontMatter=this.metadataCache.getCache(file.path)?.frontmatter;isShared(frontMatter,this.settings,file,repo)&&sharedFile.push(file)}catch(e){this.console.trace(e)}return sharedFile}getSharedFileOfFolder(folder,repo,addFolderNote){let files=[];for(let file of folder.children)if(file instanceof import_obsidian24.TFolder)files.push(...this.getSharedFileOfFolder(file,repo));else try{let frontMatter=this.metadataCache.getCache(file.path)?.frontmatter;isShared(frontMatter,this.settings,file,repo)&&files.push(file)}catch(e){this.console.trace(e)}if(addFolderNote){let folderNote=this.vault.getAbstractFileByPath(`${folder.path}.md`);if(folderNote&&folderNote instanceof import_obsidian24.TFile){let frontMatter=this.metadataCache.getCache(folderNote.path)?.frontmatter;isShared(frontMatter,this.settings,folderNote,repo)&&!files.includes(folderNote)&&files.push(folderNote)}}return[...new Set(files)]}getAllFileWithPath(repo,convert,withBackLinks){let files=this.vault.getFiles().filter(x=>!x.path.startsWith(this.settings.github.dryRun.folderName)),allFileWithPath=[],sourceFrontmatter=getProperties(this.plugin,repo,null,!0);for(let file of files)if(isAttachment(file.name,this.settings.embed.unHandledObsidianExt)){let filepath2=getImagePath(file,this.plugin,convert,sourceFrontmatter);allFileWithPath.push({converted:filepath2,real:file,otherPaths:this.getBackLinksOfImage(file,repo,withBackLinks)})}else if(file.extension=="md"){let frontMatter=frontmatterFromFile(file,this.plugin,repo);if(isShared(frontMatter,this.settings,file,repo)){let prop=getProperties(this.plugin,repo,frontMatter),filepath2=getReceiptFolder(file,repo,this.plugin,prop);allFileWithPath.push({converted:filepath2,real:file,prop})}}return allFileWithPath}getBackLinksOfImage(file,repository,withBackLinks){if(!withBackLinks)return;let backlinks=this.metadataCache.getBacklinksForFile(file);if(backlinks.count()===0)return;let otherPath=[];for(let backlink of backlinks.keys()){let tfile=this.vault.getAbstractFileByPath(backlink);if(tfile&&tfile instanceof import_obsidian24.TFile){let frontmatter=this.metadataCache.getFileCache(tfile)?.frontmatter;if(!frontmatter)continue;let propertiesConversion=getFrontmatterSettings(frontmatter,this.settings,repository),properties=getProperties(this.plugin,repository,frontmatter),path=getImagePath(file,this.plugin,propertiesConversion,properties);otherPath.push(path)}}return otherPath.length>0?otherPath:void 0}getLinkedByEmbedding(file){let linkedFiles=this.getLinkedFiles(file),imageEmbedded=this.metadataCache.getFileCache(file)?.embeds;if(imageEmbedded!=null)for(let image of imageEmbedded)try{let imageLink=this.metadataCache.getFirstLinkpathDest(image.link.replace(/#.*/,""),file.path);if(imageLink!==null){let altText=image.displayText!==imageLink.path.replace(".md","")?image.displayText:imageLink.basename,frontmatterDestinationFilePath;if(this.settings.upload.frontmatterTitle.enable&&this.settings.conversion.links.wikiDisplayText){let frontmatter=this.metadataCache.getCache(imageLink.path)?.frontmatter;frontmatter?.[this.settings.upload.frontmatterTitle.key]&&(frontmatterDestinationFilePath=frontmatter[this.settings.upload.frontmatterTitle.key],altText===imageLink.basename&&(altText=frontmatterDestinationFilePath))}let thisLinkedFile={linked:imageLink,linkFrom:image.link,altText,destinationFilePath:frontmatterDestinationFilePath,type:"embed",position:{start:image.position.start.offset,end:image.position.end.offset}};image.link.includes("#")&&(thisLinkedFile.anchor=`#${image.link.split("#")[1]}`),linkedFiles.push(thisLinkedFile)}}catch(e){this.console.trace(e)}return[...new Set(linkedFiles)]}getLinkedFiles(file){let embedCaches=this.metadataCache.getCache(file.path)?.links,embedList=[];if(embedCaches!=null){for(let embedCache of embedCaches)try{let linkedFile=this.metadataCache.getFirstLinkpathDest(embedCache.link.replace(/#.*/,""),file.path);if(linkedFile){let altText=embedCache.original.match(/\[.*\]\(.*\)/)?embedCache.original.match(/\[(.*)\]/)[1]:embedCache.displayText!==linkedFile.path.replace(".md","")?embedCache.displayText:linkedFile.basename,frontmatterDestinationFilePath;if(this.settings.upload.frontmatterTitle.enable&&!this.settings.conversion.links.wikiDisplayText){let frontmatter=this.metadataCache.getCache(linkedFile.path)?.frontmatter;frontmatter?.[this.settings.upload.frontmatterTitle.key]&&(frontmatterDestinationFilePath=frontmatter[this.settings.upload.frontmatterTitle.key],altText===linkedFile.basename&&(altText=frontmatterDestinationFilePath))}let thisEmbed={linked:linkedFile,linkFrom:embedCache.link,altText,destinationFilePath:frontmatterDestinationFilePath,type:"link"};embedCache.link.includes("#")&&(thisEmbed.anchor=`#${embedCache.link.split("#")[1]}`),embedList.push(thisEmbed)}}catch(e){this.console.debug(`Error with this links : ${embedCache.link}`,e)}return[...new Set(embedList)]}return[]}getSharedEmbed(file,frontmatterSourceFile){let embedCaches=this.metadataCache.getCache(file.path)?.embeds??[],cacheLinks=this.metadataCache.getCache(file.path)?.links??[],imageList=[];for(let embed of embedCaches){let embedFile=this.checkIfFileIsShared(embed,file,frontmatterSourceFile,"embed");embedFile&&imageList.push(embedFile)}for(let link of cacheLinks){let linkFile=this.checkIfFileIsShared(link,file,frontmatterSourceFile,"link");linkFile&&imageList.push(linkFile)}return[...new Set(imageList)].filter(x=>x!==null)}checkIfFileIsShared(embed,file,frontmatterSourceFile,fromWhat){try{let imageLink=this.metadataCache.getFirstLinkpathDest(embed.link.replace(/#(.*)/,""),file.path);if(imageLink)return this.imageSharedOrNote(imageLink,frontmatterSourceFile,fromWhat)}catch(e){this.console.debug(`Error with this file : ${embed.displayText}`,e)}}async getLastEditedTimeRepo(githubRepo){let lastCommittedFile=(await this.octokit.request("GET /repos/{owner}/{repo}/commits",{owner:this.settings.github.user,repo:this.settings.github.repo,path:githubRepo.file})).data[0];return!lastCommittedFile||!lastCommittedFile.commit||!lastCommittedFile.commit.committer||!lastCommittedFile.commit.committer.date?null:new Date(lastCommittedFile.commit.committer.date)}async getAllFileFromRepo(branchToScan,repo){let filesInRepo=[];try{let repoContents=await this.octokit.request("GET /repos/{owner}/{repo}/git/trees/{tree_sha}",{owner:repo.owner,repo:repo.repo,tree_sha:branchToScan,recursive:"true"});if(repoContents.status===200){let files=repoContents.data.tree;for(let file of files){if(!file.path||!file.sha)continue;let basename=name=>/([^/\\.]*)(\..*)?$/.exec(name)[1];file.type==="blob"&&basename(file.path).length>0&&filesInRepo.push({file:file.path,sha:file.sha})}}}catch(e){this.console.debug(e)}return filesInRepo}getNewFiles(allFileWithPath,githubSharedFiles){let newFiles=[];for(let file of allFileWithPath)if(!githubSharedFiles.some(x=>x.file===file.converted.trim())){let fileInVault=this.vault.getAbstractFileByPath(file.real.path.trim()),isMarkdown=fileInVault instanceof import_obsidian24.TFile&&fileInVault.extension==="md"&&!fileInVault.name.endsWith(".excalidraw.md");fileInVault&&isMarkdown&&newFiles.push(fileInVault)}return newFiles}getImageByPath(source,field,frontmatterSourceFile){field.constructor.name==="Link"&&(field=field.path),source.constructor.name==="Link"&&(source=source.path);let imageLink=this.metadataCache.getFirstLinkpathDest(field,source);if(imageLink)return this.imageSharedOrNote(imageLink,frontmatterSourceFile)}imageSharedOrNote(file,settingsConversion,fromWhat="embed"){let transferImage=fromWhat==="embed"?settingsConversion.attachment:settingsConversion.includeLinks,transferEmbeds=fromWhat==="embed"?settingsConversion.embed:settingsConversion.includeLinks;if(isAttachment(file.name,this.settings.embed.unHandledObsidianExt)&&transferImage||transferEmbeds&&file.extension==="md")return file}async getMetadataLinks(file,embedFiles,frontmatterSettings){for(let field of this.settings.embed.keySendFile){let frontmatterLink=this.metadataCache.getFileCache(file)?.frontmatterLinks,imageLinkPath=[];frontmatterLink&&frontmatterLink.forEach(link=>{let fieldRegex=new RegExp(`${field}(\\.\\d+)?`,"g");link.key.match(fieldRegex)&&imageLinkPath.push(link.link)});for(let path of imageLinkPath){let imageLink=this.metadataCache.getFirstLinkpathDest(path,file.path)??this.vault.getAbstractFileByPath(path);imageLink instanceof import_obsidian24.TFile&&!embedFiles.includes(imageLink)&&embedFiles.push(this.imageSharedOrNote(imageLink,frontmatterSettings))}}if(embedFiles=[...new Set(embedFiles)].filter(x=>x!=null),this.plugin.app.plugins.enabledPlugins.has("dataview")){let dvApi=(0,import_obsidian_dataview3.getAPI)();if(!dvApi)return embedFiles;let dataviewMetadata=dvApi.page(file.path);if(!dataviewMetadata)return embedFiles;for(let field of this.settings.embed.keySendFile){let fieldValue=dataviewMetadata[field];if(fieldValue!=null)if(fieldValue.constructor.name==="Array")for(let value of fieldValue){let path=this.getImageByPath(file.path,value,frontmatterSettings);path&&embedFiles.push(path)}else{let path=this.getImageByPath(file.path,fieldValue.toString(),frontmatterSettings);path&&embedFiles.push(path)}}}return[...new Set(embedFiles)].filter(x=>x!=null)}async getEditedFiles(allFileWithPath,githubSharedFiles,newFiles){for(let file of allFileWithPath)if(githubSharedFiles.some(x=>x.file===file.converted.trim())){let githubSharedFile=githubSharedFiles.find(x=>x.file===file.converted.trim());if(!githubSharedFile)continue;let repoEditedTime=await this.getLastEditedTimeRepo(githubSharedFile),fileInVault=this.vault.getAbstractFileByPath(file.real.path.trim()),isMarkdown=fileInVault instanceof import_obsidian24.TFile&&fileInVault?.extension==="md"&&!fileInVault?.name.endsWith(".excalidraw.md");if(fileInVault&&isMarkdown){let vaultEditedTime=new Date(fileInVault.stat.mtime);repoEditedTime&&vaultEditedTime>repoEditedTime&&(this.console.debug(`edited file : ${fileInVault.path} / ${vaultEditedTime} vs ${repoEditedTime}`),newFiles.push(fileInVault))}}return newFiles}async wasEditedSinceLastSync(file,repo,repoPath){if(this.settings.embed.forcePush||this.settings.embed.forcePush==null||this.settings.github.dryRun.enable)return!0;let githubFile=await this.octokit.request("GET /repos/{owner}/{repo}/commits",{owner:repo?.user??this.settings.github.user,repo:repo?.repo??this.settings.github.repo,path:repoPath});if(githubFile.status!==200)return!0;let vaultEditedTime=new Date(file.stat.mtime),lastCommittedFile=githubFile.data[0];if(!lastCommittedFile||!lastCommittedFile.commit||!lastCommittedFile.commit.committer||!lastCommittedFile.commit.committer.date)return!0;let githubDate=new Date(lastCommittedFile.commit.committer.date);return vaultEditedTime>githubDate}};var GithubBranch=class extends FilesManagement{console;constructor(octokit,plugin){super(octokit,plugin),this.console=plugin.console}async newBranch(prop){prop=Array.isArray(prop)?prop:[prop];for(let repo of prop)await this.newBranchOnRepo(repo)}async findMainBranch(prop,branchName){let branch=await this.octokit.request("GET /repos/{owner}/{repo}/branches/{branch}",{owner:prop.owner,repo:prop.repo,branch:branchName||prop.branch});return branch.status===200&&branch?.data.name===(branchName||prop.branch)}async newBranchOnRepo(prop){let mainBranch=await this.octokit.request("GET /repos/{owner}/{repo}/branches/{branch}",{owner:prop.owner,repo:prop.repo,branch:prop.branch});if(mainBranch.status!==200)throw new Error(dedent_default(`No main branch found for ${prop.repo}, please check the branch name in the settings.
- Branch Status: ${mainBranch.status}
- Repo: ${prop.owner}/${prop.repo}
- Branch: ${prop.branch}`));try{let shaMainBranch=mainBranch.data.commit.sha,branch=await this.octokit.request("POST /repos/{owner}/{repo}/git/refs",{owner:prop.owner,repo:prop.repo,ref:`refs/heads/${this.branchName}`,sha:shaMainBranch});return this.console.info(instance.t("publish.branch.success",{branchStatus:branch.status,repo:prop})),branch.status===201}catch{try{this.console.warn("Branch already exists, trying to find it");let mainBranch2=await this.findMainBranch(prop,this.branchName);return this.console.debug("Branch already exists",mainBranch2),mainBranch2?this.console.info(instance.t("publish.branch.alreadyExists",{branchName:this.branchName,repo:prop})):this.console.error(new Error(`No main branch found for ${prop.repo}, please check the branch name in the settings`)),mainBranch2}catch(e){return this.console.error(e),!1}}}async pullRequestOnRepo(prop){try{let pr=await this.octokit.request("POST /repos/{owner}/{repo}/pulls",{owner:prop.owner,repo:prop.repo,title:instance.t("publish.branch.prMessage",{branchName:this.branchName}),body:"",head:this.branchName,base:prop.branch});return pr.status===201?pr.data.number:0}catch(e){e?.status===422&&this.console.warn("Github error 422: Unprocessable Entity. Verify your base branch!",e?.response?.data),this.console.trace(e);try{return(await this.octokit.request("GET /repos/{owner}/{repo}/pulls",{owner:prop.owner,repo:prop.repo,state:"open"})).data[0]?.number||0}catch(e2){return this.console.info(instance.t("publish.branch.error",{error:e2,repo:prop})),0}}}async deleteBranchOnRepo(prop){try{return(await this.octokit.request(`DELETE /repos/{owner}/{repo}/git/refs/heads/${this.branchName}`,{owner:prop.owner,repo:prop.repo})).status===200}catch(e){return this.console.trace(e),!1}}async mergePullRequestOnRepo(pullRequestNumber,prop){let commitMsg=prop.commitMsg||prop.commitMsg.trim().length>0?`${prop.commitMsg} #${pullRequestNumber}`:`[PUBLISHER] Merge #${pullRequestNumber}`;try{return(await this.octokit.request("PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge",{owner:prop.owner,repo:prop.repo,pull_number:pullRequestNumber,commit_title:commitMsg,merge_method:"squash"})).status===200}catch(e){return this.console.warn(e),new import_obsidian25.Notice(instance.t("error.mergeconflic"),this.noticeLength),!1}}async updateRepository(prop,dryRun=!1){if(dryRun)return!0;prop=Array.isArray(prop)?prop:[prop];let success=[];for(let repo of prop)success.push(await this.updateRepositoryOnOne(repo));return!success.every(value=>!value)}async updateRepositoryOnOne(prop){if(this.settings.github.dryRun.enable)return!0;try{let pullRequest=await this.pullRequestOnRepo(prop);return pullRequest===0?!1:prop.automaticallyMergePR&&pullRequest!==0?await this.mergePullRequestOnRepo(pullRequest,prop)?(await this.deleteBranchOnRepo(prop),!0):!1:!0}catch(e){return this.console.warn(e),new import_obsidian25.Notice(instance.t("error.errorConfig",{repo:prop}),this.noticeLength),!1}}async checkRepository(prop,silent=!0){prop=Array.isArray(prop)?prop:[prop],await verifyToken(this.octokit,this.settings.github.user);for(let repo of prop)if((await this.octokit.request("GET /repos/{owner}/{repo}",{owner:repo.owner,repo:repo.repo}).catch(e=>{if(e.status===404)throw new import_obsidian25.Notice(instance.t("commands.checkValidity.inRepo.error404",{repo}),this.noticeLength),new EnveloppeErrors(instance.t("commands.checkValidity.inRepo.error404",{repo}));if(e.status===403)throw new import_obsidian25.Notice(instance.t("commands.checkValidity.inRepo.error403",{repo}),this.noticeLength),new EnveloppeErrors(instance.t("commands.checkValidity.inRepo.error403",{repo}));if(e.status===301)throw new import_obsidian25.Notice(instance.t("commands.checkValidity.inRepo.error301",{repo}),this.noticeLength),new EnveloppeErrors(instance.t("commands.checkValidity.inRepo.error301",{repo}))})).status===200){if(this.console.info(instance.t("commands.checkValidity.repoExistsTestBranch",{repo})),!await this.findMainBranch(repo))throw new EnveloppeErrors(instance.t("commands.checkValidity.inBranch.error404",{repo}),{cause:"Branch not found"});this.console.info(instance.t("commands.checkValidity.success",{repo})),silent||this.console.noticeSuccess(instance.t("commands.checkValidity.success",{repo}))}}};var import_obsidian26=require("obsidian");var de_default={commands:{checkValidity:{error:"Falsche Konfiguration",errorToken:"",inBranch:{error403:"Fehler 403: {{- repo.owner}}/{{- repo.repo}} wurde dauerhaft aus {{- repo.branch}} verschoben.",error404:"Fehler 404: Der Zweig {{- repo.branch}} wurde nicht in {{- repo.owner}}/{{- repo.repo}} gefunden."},inRepo:{error301:"",error403:"",error404:""},rateLimit:{command:"\xDCberpr\xFCfen Sie die Durchsatzratenbegrenzung der GitHub-API",limited:"Sie haben das Durchsatzratenbegrenzung der GitHub-API erreicht. Das Limit wird um {{- resetTime}} Uhr zur\xFCckgesetzt.",notLimited:"Sie haben keine Durchsatzratenbegrenzung. Sie k\xF6nnen {{- remaining}} Anfragen stellen, bevor das Limit um {{- resetTime}} Uhr zur\xFCckgesetzt wird."},repoExistsTestBranch:"Das Repository {{- repo.owner}}/{{- repo.repo}} existiert. Ich teste jetzt den {{- repo.branch}}-Zweig.",success:"{{- repo.owner}}/{{- repo.repo}} scheint g\xFCltig zu sein!",title:"Test der Verbindung mit dem konfigurierten Repository"},copyLink:{onActivation:"Link in die Zwischenablage kopiert",title:"Einen Link zu dieser Notiz erstellen"},publisherDeleteClean:"Bereinigen von veralteten und gel\xF6schten Dateien",refreshAllSets:"(Andere Repositories): Alle gespeicherten Sets neu laden",refreshOpenedSet:"(Andere Repositories): Ge\xF6ffnetes Thema neu laden",runOtherRepo:{noFile:"Keine Datei ist aktiv oder die Datei ist nicht freigegeben",title:"Befehl f\xFCr ein Repository ausf\xFChren"},shareActiveFile:"Hochladen der momentan aktiven Notiz",shareViewFiles:{multiple:{on:"Hochladen von {{- doc}} auf {{- smartKey }}",other:"Hochladen auf\u2026"}},uploadAllEditedNote:"Alle ver\xF6ffentlichten Notizen aktualisieren",uploadAllNewEditedNote:"Aktualisieren der ver\xF6ffentlichten und Hochladen neuer Notizen",uploadAllNotes:"Alle freigegebenen Notizen hochladen",uploadNewNotes:"Unver\xF6ffentlichte Notizen hochladen"},common:{add:"Hinzuf\xFCgen von {{- things}}",after:"Nach",attachments:"Anh\xE4nge",before:"Vor",cancel:"Abbrechen",close:"Schlie\xDFen",default:"Standard",defaultName:"Standardordner",delete:"{{- Dinge}} l\xF6schen",edit:"{{- Dinge}} bearbeiten",error:"Fehler",files:"Dateien",ghToken:"GitHub token",here:"hier",in:"in",no:"Nein",or:"oder",path:{file:"Dateiname",folder:"Pfad des Ordners",full:"Dateipfad"},points:": ",published:"ver\xF6ffentlicht",regex:"Regex",rename:"Umbenannte(r) Schl\xFCssel\u2026",repository:"Repository",rootFolder:"Stammordner",save:"sichern",shared:"geteilt",text:"Text",warning:"Warnung",yes:"Ja"},deletion:{failed:"Das L\xF6schen von {{- nb}}-Dateien ist fehlgeschlagen.",noFile:"Es wurden keine Dateien gel\xF6scht.",success:"{{- nb}} Dateien wurden erfolgreich gel\xF6scht."},error:{alreadyExists:"{{- file}} existiert bereits.",autoClean:"Da {{- what}} leer ist, wurde die automatische Bereinigung deaktiviert. Sie k\xF6nnen sie reaktivieren, aber achten Sie darauf keine Dateien zu l\xF6schen, die Ihre Vorlage ben\xF6tigt.",dataview:"Dataview-Abfrage kann nicht gerendert werden. Bitte aktualisieren Sie das Dataview-Plugin auf die neueste Version.",errorConfig:"Fehler bei der Konfiguration von {{- repo.owner}}/{{- repo.repo}}. Bitte \xFCberpr\xFCfen Sie Ihre Einstellungen.",errorPublish:"Fehler beim Hochladen auf <u>{{- repo.owner}}/{{- repo.repo}}</u>: <i>{{- repo.branch}}</i>",isEmpty:"{{- what}} ist leer.",mergeconflic:"Die Pull-Anfrage kann nicht zusammengef\xFChrt werden, Sie m\xFCssen dies manuell tun.",normal:"Der 404-Fehler ist normal! Es bedeutet, dass die Datei noch nicht existiert. Machen Sie sich keine Sorgen \u2764.",parseYaml:`Fehler beim Hinzuf\xFCgen von Tags oder Titeln zum Thema.
Dataview oder ein anderes Plugin st\xF6rt das Hinzuf\xFCgen.
Schritt \xFCbersprungen.`,"reading-token-file":"Fehler: Der Pfad scheint falsch zu sein.",unablePublishMultiNotes:"Mehrere Notizen k\xF6nnen nicht hochgeladen werden, etwas ist schief gelaufen.",unablePublishNote:"",whatEmpty:{branch:"Zweig",owner:"Eigent\xFCmer"}},informations:{foundNoteToSend:"",migrating:{fileReplace:"",normalFormat:"",oldSettings:"",subFolder:""},noNewNote:"",scanningRepo:"",sendMessage:"",startingClean:"",successPublishOneNote:"",successfulPublish:"",wait:"",wait_plural:"",waitingWorkflow:""},modals:{export:{copy:"",desc:"",download:"Herunterladen",title:""},import:{desc:"",error:{isEmpty:"",span:""},importFromFile:"",paste:"",presets:{desc:"",title:""},title:""},listChangedFiles:{added:"",deleted:"",edited:"",error:"",notDeleted:"",title:"",unpublished:""}},publish:{branch:{alreadyExists:"",error:"",prMessage:"",success:""},upToDate:""},regex:{entry:"",replace:""},settings:{conversion:{dataview:{desc:"",title:""},desc:"",hardBreak:{desc:"",title:""},links:{anchor:{desc:"",title:""},desc:"",folderNote:{desc:"",title:""},internals:{dataview:"",desc:"",shareAll:"",title:""},key:"<code>links: false</code>",nonShared:{desc:"",title:""},relativePath:{desc:"",title:""},slugify:{desc:"",disable:"",lower:"",strict:"",title:""},textBefore:{desc:"",title:""},title:"",unlink:{desc:"",title:""},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"",title:""}},sectionTitle:"",tags:{desc:"",exclude:{desc:"",placeholder:"",title:""},inlineTags:{desc:"",title:""},title:""},title:""},embed:{attachment:"",bake:{text:"",textAfter:{title:""},textBefore:{title:""},title:"",variable:{desc:"",title:"",url:""},warning:""},char:{desc:"",title:""},defaultImageFolder:{desc:"",title:""},forcePush:{all:"",default:"",desc:"",info:"",title:""},imagePath:{desc:"",title:""},links:{desc:"",dp:{bake:"",keep:"",links:"",remove:""},title:""},notes:"",overrides:{desc:"",modal:{dest:"",path:"",title:""}},sendSimpleLinks:{desc:"",title:""},title:"",transferImage:{title:""},transferMetaFile:{desc:"",title:""},transferNotes:{desc:"",title:""}},embeds:{unHandledObsidianExt:{desc:"",title:""}},github:{apiType:{desc:"",dropdown:{enterprise:"",free:""},hostname:{desc:"",title:""},title:""},automaticallyMergePR:"",branch:{desc:"",title:""},dryRun:{enable:{desc:"",title:""},folder:{desc:"",error:"",title:""}},ghToken:{button:{configDir:"",default:"",description:"",pluginID:"",tooltip:"",variables:""},desc:"",error:""},repoName:{desc:"",placeholder:"",title:""},smartRepo:{button:"",modals:{default:"",desc:"",duplicate:"",empty:"",frontmatterInfo:"",newRepo:"",otherConfig:"",shortcuts:{desc:"",title:""},title:""}},testConnection:"",title:"",username:{desc:"",title:""}},githubWorkflow:{autoCleanUp:{desc:"",popup:{desc:"",exclude:"",sure:"",title:""},title:""},excludedFiles:{desc:"",title:""},githubAction:{desc:"",title:""},includeAttachments:{desc:"",title:""},prRequest:{desc:"",error:"",title:""},useMetadataExtractor:{desc:"",title:""}},help:{frontmatter:{attachment:{folder:"",send:""},autoclean:"",baselink:{desc:"",remove:""},convert:{enableOrDisable:"",syntax:""},dataview:"",desc:"",embed:{char:"",remove:{bake:"",desc:"",keep:"",links:"",remove:""},send:""},hardBreak:"",includeLinks:"",internals:"",mdlinks:"",nestedKey:"",nonShared:"",path:"",repo:{branch:"",desc:"",owner:""},share:{other:"",title:""},shortRepo:"",title:"",titleKey:"",unlink:""},multiRepoHelp:{desc:"",desc2:"",exampleDesc:"",title:""},title:"",usefulLinks:{discussion:"",documentation:"",issue:"",title:"",translation:""}},plugin:{copyLink:{applyRegex:{desc:"",title:""},baselink:{desc:"",title:""},command:{desc:""},desc:"",linkPathRemover:{desc:"",title:""},title:"",toUri:{desc:"",title:""}},dev:{desc:"",title:""},editorMenu:{desc:"",title:""},embedEditRepo:{desc:"",title:""},excludedFolder:{desc:"",title:""},fileMenu:{desc:"",title:""},head:{copyLinks:"",log:"",menu:"",other:"",share:""},logNoticeHeader:{desc:"",title:""},noticeLength:{desc:"",error:"",title:""},saveTab:{desc:"",title:""},set:{desc:"",title:""},setImport:{desc:"",title:""},shareKey:{all:{desc:"",title:""},desc:"",excludedFileName:{title:""},otherRepo:"",title:""},title:""},regexReplacing:{empty:"",emptyRegex:"",forbiddenValue:"",inCodeBlocks:{runIn:"",runOut:""},invalidRegex:"",modal:{desc:"",force:"",keywords:"",name:"",title:{all:"",only:"",text:""}},momentReplaceRegex:"",warningPath:""},upload:{defaultFolder:{desc:"",placeholder:"",title:""},folderBehavior:{desc:"",fixedFolder:"",obsidianPath:"",title:"",yaml:""},folderNote:{addTitle:{key:"",title:""}},frontmatterKey:{desc:"",placeholder:"",title:""},regexFilePathTitle:{desc:"",title:{FolderPathTitle:"",titleOnly:""}},rootFolder:{desc:"",other:"",title:""},title:"",useFrontmatterTitle:{desc:"",title:""}}},statusBar:{counter:"",loading:"",main:"",markedForSharing:"",sharing:"",success:""}};var en_default={commands:{checkValidity:{error:"Incorrect configuration",errorToken:"Error 401: The token associated to {{- owner}} is not valid. Please, create a new token.",inBranch:{error403:"Error 403: {{- repo.owner}}/{{- repo.repo}} was moved permanently (from {{- repo.branch}}).",error404:"Error 404: The branch {{- repo.branch}} was not found in {{- repo.owner}}/{{- repo.repo}}."},inRepo:{error301:"Error 301: {{- repo.owner}}/{{- repo.repo}} was moved permanently.",error403:"Error 403: this action is forbidden for {{- repo.owner}}/{{- repo.repo}}.",error404:"Error 404: {{- repo.owner}}/{{- repo.repo}}: is not found."},rateLimit:{command:"Check the rate limit of the GitHub API",limited:"You have reached the rate limit of the GitHub API. The limit will be reset at {{- resetTime}}.",notLimited:"You are not rate limited. You can make {{- remaining}} requests before the limit is reset at {{- resetTime}}."},repoExistsTestBranch:"Repository {{- repo.owner}}/{{- repo.repo}} exists. Now testing the {{- repo.branch}} branch.",success:"{{- repo.owner}}/{{- repo.repo}} seems to be valid!",title:"Test the connection to the configured repository"},copyLink:{onActivation:"Link copied to your clipboard",title:"Create a link to this note"},publisherDeleteClean:"Purge depublished and deleted files",refreshAllSets:"(Others repositories): Reload all saved sets",refreshOpenedSet:"(Other repositories): Reload opened frontmatter",runOtherRepo:{noFile:"No file is active or the file is not shared",title:"Run command for a repository"},shareActiveFile:"Upload single current active note",shareViewFiles:{multiple:{on:"Upload {{- doc}} to {{- smartKey }}",other:"Upload to\u2026"}},uploadAllEditedNote:"Refresh all published notes",uploadAllNewEditedNote:"Refresh published and upload new notes",uploadAllNotes:"Upload all shared notes",uploadNewNotes:"Upload only new notes"},common:{add:"Add {{- things}}",after:"After",attachments:"Attachments",before:"Before",cancel:"Cancel",close:"Close",default:"default",defaultName:"default folder",delete:"Delete {{- things}}",edit:"Edit {{- things}}",error:"Error",files:"Files",ghToken:"GitHub token",here:"here",in:"in",no:"No",or:"or",path:{file:"File name",folder:"Folder path",full:"Filepath"},points:": ",published:"published",regex:"regex",rename:"Renamed key(s)\u2026",repository:"Repository",rootFolder:"root folder",save:"Save",shared:"shared",text:"text",warning:"Warning",yes:"Yes"},deletion:{failed:"Failed to delete {{- nb}} files.",noFile:"No files have been deleted.",success:"Successfully deleted {{- nb}} files."},error:{alreadyExists:"{{- file}} already exists.",autoClean:"Since {{- what}} is empty, auto-cleaning is disabled. You can reactive it, but beware of file deletion that your template needs.",dataview:"Unable to render dataview query. Please update the dataview plugin to the last version.",errorConfig:"Error configuring {{- repo.owner}}/{{- repo.repo}}. Please check your settings.",errorPublish:"Error during upload to <u>{{- repo.owner}}/{{- repo.repo}}</u>: <i>{{- repo.branch}}</i>",isEmpty:"{{- what}} is empty.",mergeconflic:"Pull-request is not mergeable, you need to do it manually.",normal:"The 404 error is normal ! It means that the file does not exist yet. Don't worry \u2764.",parseYaml:`Error adding tags or title to the frontmatter.
Dataview or another plugin must be interfering with it.
Step skipped.`,"reading-token-file":"Error: the path seems incorrect.",unablePublishMultiNotes:"Unable to upload multiple notes, something went wrong.",unablePublishNote:"Unable to upload note {{- file}}, skipping it",whatEmpty:{branch:"Branch",owner:"Owner"}},informations:{foundNoteToSend:"Found {{- nbNotes}} new notes to send",migrating:{fileReplace:"Migration of filename replace to the new format\u2026",normalFormat:"Migrating settings\u2026",oldSettings:"Migration of old settings to new settings format\u2026",subFolder:"Adding replacing subfolder to the folderpath replacement\u2026"},noNewNote:"No new notes to upload.",scanningRepo:"Scanning the repository, may take a while\u2026",sendMessage:"Upload <i>{{- nbNotes}}</i> notes to <u>{{- repo.owner}}/{{- repo.repo}}</u>",startingClean:"Starting cleaning <u>{{- repo.owner}}/{{- repo.repo}}</u>",successPublishOneNote:"Successfully uploaded <i><u>{{- file}}</u></i> to <u>{{- repo.owner}}/{{- repo.repo}}</u>",successfulPublish:"Successfully uploaded <i>{{- nbNotes}}</i> to <u>{{- repo.owner}}/{{- repo.repo}}</u>",wait:"Scanning file {{-file}}... Please wait...",wait_plural:"Scanning files... Please wait...",waitingWorkflow:"Now, waiting for the workflow to be completed\u2026"},modals:{export:{copy:"Copy to clipboard",desc:"Export settings to clipboard or a file.",download:"Download",title:"Export settings"},import:{desc:"Import settings from text or a file. Note: this will overwrite your current settings (except for username, repo name and token).",error:{isEmpty:"the configuration is empty.",span:"Error importing configuration: "},importFromFile:"Import from file",paste:"Paste configuration here\u2026",presets:{desc:'Load presets from the repository "plugin-presets"',title:"Presets"},title:"Import settings"},listChangedFiles:{added:"Added",deleted:"Deleted",edited:"Edited",error:"Errors",notDeleted:"Cannot be deleted",title:"List of files edited in the repository",unpublished:"Cannot be published"}},publish:{branch:{alreadyExists:"Branch already exists ({{- branchName}} on {{- repo.owner}}/{{- repo.repo}} - Using it.",error:"Error with {{- repo.owner}}/{{- repo.repo}}: {{- error}}",prMessage:"Pull-Request [{{- branchName}}] from Obsidian",success:"Branch successfully created (status: {{- branchStatus}}) on {{- repo.owner}}/{{- repo.repo}}"},upToDate:"{{- file}} is up-to-date on {{- repo}}"},regex:{entry:"Value to replace",replace:"Replacement"},settings:{conversion:{dataview:{desc:`Convert Dataview queries to markdown.
Only works if Dataview and internal link conversion are enabled.`,title:"Dataview"},desc:"These options won't change the content of the file in your Obsidian Vault, but will change the content of the file in GitHub.",hardBreak:{desc:"Add a markdown hard line break (double whitespace) after each line.",title:"Markdown hard line break"},links:{anchor:{desc:"Standardize anchor: transform it and replace space with hyphen.",title:"Slugify anchor markdown link"},desc:"Put $t(settings.conversion.links.key) in the frontmatter of a note to prevent links to it to be converted and keep the alt text (or filename)",folderNote:{desc:"Rename files to a specified name (default: index.md) if it has the same name as their parent folder/category (also works if the note is outside of the folder).",title:"Folder note"},internals:{dataview:"Mandatory if you want to convert links in dataview blocks!",desc:"Convert internal links to their counterpart in the repository, with relative path.",shareAll:'Includes all links for the "share all" settings, as it impossible without frontmatter to know the sharing state of a file.',title:"Internal links"},key:"<code>links: false</code>",nonShared:{desc:"Same option as internal links, but for notes that are not yet published. Disabled, only the filename will be conserved.",title:"Convert internal links pointing to unpublished notes"},relativePath:{desc:"Create the internals paths as relative path.",title:"Relative path"},slugify:{desc:"Standardize links: transform it and replace space with hyphen. ",disable:"Disable",lower:"Lower",strict:"Strict: Text without capital letters or special characters. ",title:"Sluglify markdown links"},textBefore:{desc:"Add a string before the created path. Use {{- slash}} to create absolute path. This text will be happened only if a path should be generated.",title:"Text before path"},title:"Links",unlink:{desc:"E.g. `[[note name|alias]]` \u2192 `alias`",title:"Unlink unshared files"},wikiDisplayText:{desc:"Maintain display text when converting wikilinks",title:"Wiki display text"},wikilinks:{desc:"Convert Wikilinks to MDlinks, without changing the contents.",title:"[[Wikilinks]] to [MDlinks](links)"}},sectionTitle:"Main text",tags:{desc:"This will convert any properties or dataview inline field into properties tags. Separate fields with a comma.",exclude:{desc:"This will exclude value from being converted. Separate fields with a comma.",placeholder:"Field value",title:"Exclude value from conversion"},inlineTags:{desc:'Add your inline tags in your properties tags field and converting nested tags with replacing "/" with "_"',title:"Inline tags"},title:"Convert properties/dataview fields into tags"},title:"Content"},embed:{attachment:"Attachments",bake:{text:"Allow you to add text before and after each embed, for example adding HTML or stylize the block with markdown.",textAfter:{title:"Text after the block"},textBefore:{title:"Text before the block"},title:"Include embed settings",variable:{desc:"It is possible to use the following variable:",title:": note embedded title",url:": path to the embedded note"},warning:"If you use HTML, depending of your host settings, the markdown will broke."},char:{desc:"Character(s) to add before the link.",title:"Embed characters"},defaultImageFolder:{desc:"To use a folder different from default",title:"Default attachment folder"},forcePush:{all:": Change the destination of all attachments (and/or force them to be sent).",default:": Use the default destination path.",desc:"Always upload linked notes to the repository, even if they are already present and up-to-date.",info:"By default, attachments are only sent if they have been modified since they were last sent, or if they do not exist in the repository.",title:"Forced updates"},imagePath:{desc:"Use the obsidian folder structure or configure a default folder below",title:"Structure"},links:{desc:"Allow to edit the links of the embeds, removing entirely the citation, or transform to a simple link",dp:{bake:"Include embed contents",keep:"No change",links:"Transform to link",remove:"Remove link completely"},title:"Change embed markup"},notes:"Embed notes",overrides:{desc:"Allow to send an attachment into a specific path and force push attachments.",modal:{dest:"Destination",path:"Path or extension",title:"Override attachments path"}},sendSimpleLinks:{desc:"Apply the following settings on files linked by simples links (including attachment).",title:"Send linked files"},title:"Attachment & embeds ",transferImage:{title:"Transfer attachments"},transferMetaFile:{desc:"Set the names of the metadata field you want to use to send files. Separate fields with a comma. Dataview inline field are supported.",title:"Send files using a metadata field"},transferNotes:{desc:"Send embedded notes in a shared file to GitHub. Only shared files will be sent!",title:"Transfer embedded notes"}},embeds:{unHandledObsidianExt:{desc:`Separate extensions with a comma.
Regexes are supported when enclosed by /, such as /regex/.
Don't include the period!`,title:"Allow extensions not natively supported by Obsidian"}},github:{apiType:{desc:"Choose between the GitHub API or the GitHub Enterprise API (only GitHub Enterprise users \u2014 Advanced user!).",dropdown:{enterprise:"Enterprise",free:"Free/Pro/Team (default)"},hostname:{desc:"The hostname of your GitHub Enterprise instance.",title:"GitHub Enterprise Hostname"},title:"API Type"},automaticallyMergePR:"Automatically merge pull requests",branch:{desc:'If you use a different branch than "main"',title:"Main branch"},dryRun:{enable:{desc:"Disable GitHub push and all other action and only perform a dry-run to see what would be pushed or deleted in the repository.",title:"Test mode"},folder:{desc:"Use {{owner}}, {{repo}} and {{branch}} to dynamically name the folder.",error:"The folder name can't be empty!",title:"Folder where the repository will be simulated (test mode only)"}},ghToken:{button:{configDir:": The configuration folder of Obsidian",default:"By default, it will be in:",description:"You can edit the file path where the token will be stored.",pluginID:": The plugin ID",tooltip:"Modify the path of the file containing the token",variables:"You can use the following variables:"},desc:"A GitHub token with repository permission. You can generate it ",error:"The token mustn't be empty!"},repoName:{desc:"The name of the repository where you store your blog.",placeholder:"mkdocs-template",title:"Repository name"},smartRepo:{button:"Manage more repositories",modals:{default:'The name "default" is reserved for your primary configuration.',desc:'These "other repositories" allow you to use all the commands on the repositories added below.',duplicate:"Smartkey must be unique!",empty:"Smartkeys cannot be empty",frontmatterInfo:'Using the "shortRepo" properties key with the "smartKey" also allows you to use this repository in a file without having to write its path.',newRepo:"a new repository",otherConfig:"Other settings",shortcuts:{desc:"Add all commands for this repository in the command palette",title:"Shortcuts"},title:"Manage others repositories"}},testConnection:"Test connection",title:"GitHub config",username:{desc:"The username or organization hosting the repo in GitHub",title:"GitHub username"}},githubWorkflow:{autoCleanUp:{desc:"Remove depublished files (stopped sharing or deleted) from GitHub",popup:{desc:"Enabling the auto-clean when the name of the {{- what}} is empty can delete all files within your repository, including templates, workflows, icons or README.",exclude:`Don't forget to exclude the files and folders you need for your repository.
Additionally, you can always revert files deleted by GitHub's pull-request system.`,sure:"Are you sure you want to enable this feature?",title:"Enable autoclean"},title:"Auto clean up"},excludedFiles:{desc:'If you want to exclude some folders or files from the autoclean, add them here. You can use regex by surrounding the string with "/". Separate files with a comma.',title:"Excluded files and folder"},githubAction:{desc:'If you want to activate a GitHub action when the plugin pushes the file, set the name of the file (in your .github/workflows folder). Only a workflow with the "workflow_dispatch" event will be triggered.',title:"GitHub action name"},includeAttachments:{desc:"Attachments will also be auto-cleaned among other notes.",title:"Self-cleaning of attachments"},prRequest:{desc:"The message sent when the pull request is merged. Will always be followed by the pull-request number.",error:"You can't use an empty string here!",title:"Commit message"},useMetadataExtractor:{desc:"Send the files generated by the metadata-extractor plugin to this folder.",title:"Metadata-extractor files"}},help:{frontmatter:{attachment:{folder:"Change the default folder for the attachments",send:"Send all attachments to GitHub"},autoclean:"Disable or enable autocleaning",baselink:{desc:"Change the base link for the copy link command. Also disable the link replacer part. Can be used as an properties object with the name ",remove:"Remove part of the link. It must be a list!"},convert:{enableOrDisable:"Enable or disable the conversion of links. Disabling this will remove the",syntax:"syntax, while keeping the file name or the alternative text."},dataview:"Convert dataview queries to markdown.",desc:"Moreover, there are some properties keys that can be useful for your workflow. The code below shows the default settings, but feel free to change it to your needs in each note!",embed:{char:'Add a character(s) before the embedded links. Used only if you set "remove" to "links".',remove:{bake:"Include the content of the embed (support blocks, heading and entire file)",desc:"Modify the aspect of the embedded files link. Can take the followed value:",keep:"Leave as in Obsidian",links:'Convert to links (delete or edit the "!")',remove:"Delete the citation completely and leave an empty line"},send:"Send embedded note to GitHub"},hardBreak:"Convert all linebreaks to markdown \xABhard break\xBB.",includeLinks:"Allows sending files linked by a simple link, such as",internals:"Convert internal links to their counterpart in the website, with relative path. Disabled, the plugin will keep the internal link as is.",mdlinks:"Convert all ",nestedKey:`It's also possible to use "dot" syntax, i.e. to denote nested keys with dots. For example, using `,nonShared:"Convert internal links pointing to an unshared file to their counterpart in the website, with relative path. Disabled, the plugin will keep the filename.",path:"You can override all path settings using this key. The path will be relative to the root of your repository.",repo:{branch:"Branch of the repo",desc:"Change the default repo for the note.",owner:"Owner of the repo"},share:{other:"You could also use another shareKey based on the key set in \xAB Manage other repo \xBB. It allows you to separate your different repository. If the main and secondaries key are used, the main repo will be used.",title:"This key is used to share a note with the plugin."},shortRepo:"Allow to use one of the repo set in other repo settings.",title:"Property key cheatsheet",titleKey:"Change the title of the note.",unlink:"Deletes link syntax (retains only name or alias) for unshared files only."},multiRepoHelp:{desc:"If you want to send your notes to multiple repository, you can use the ",desc2:"key in your properties. The value of this key must be a list of repository. Each repository must have the following keys ",exampleDesc:"The code below show an example based on your settings.",title:"Send to multiple repository"},title:"Help",usefulLinks:{discussion:"Discussion",documentation:"Documentation",issue:"Report a problem",title:"Useful links",translation:"Help with translation"}},plugin:{copyLink:{applyRegex:{desc:'Encapsulate between "/" to use regexes (ie: /regex/).',title:"Add a text transformation to the URL"},baselink:{desc:"The base link of your website. By default: https://username.github.io/repo/",title:"Base link"},command:{desc:"Add a command to copy the link of the note (need reloading the plugin to take effect)"},desc:"Send a link to your note in your clipboard",linkPathRemover:{desc:"Delete this part of the links created. Separate with a comma if several values are to be deleted.",title:"Deleting part of the link"},title:"Copy link",toUri:{desc:"Convert the link to a URI (substitute into percent-encoding)",title:"Encode to URI"}},dev:{desc:"Advanced user only. Will display as notice according to the previous setting.",title:"Display developer logs"},editorMenu:{desc:"Add a sharing command in the right-click menu",title:"Editor menu"},embedEditRepo:{desc:"Display a modal how the new version differs",title:"Show what files are edited, added, or deleted after uploaded"},excludedFolder:{desc:"Never publish file in these folders, regardless of the share key. Read the docs for more info.",title:"Excluded folders"},fileMenu:{desc:"Add a sharing command in the file menu",title:"File menu"},head:{copyLinks:"Link building & copy",log:"Logs",menu:"Menu",other:"Others",share:"Sharing config"},logNoticeHeader:{desc:"On mobile, it can be hard to debug the plugin. Enable this option to log every error in a Notice.",title:"Notice every error"},noticeLength:{desc:"Display length of the differents notifications send by the plugin. Set 0 to display them indefinitelly.",error:"Please use a valid number.",title:"Notice display length (in seconds)"},saveTab:{desc:"Allows you to reopen the settings on the previously used tab",title:"Save tab"},set:{desc:"Choose the property key you want to use to link the property of a file to another, without rewrite them each time. Work only for file linked by a wikilink in the frontmatter.",title:"Set of options"},setImport:{desc:"Import a set of options from the frontmatter of a file",title:"Import an option group"},shareKey:{all:{desc:"Share all files regardless of the state of the share key of the notes",title:"Share all files"},desc:"The YAML frontmatter key to publish your file on the website. Default is `share`.",excludedFileName:{title:"Exclude files with names starting with\u2026"},otherRepo:"You can also define a share key to separate with others, without using the shortRepo key.",title:"Share key"},title:"Plugin settings"},regexReplacing:{empty:"Replacement can be empty to remove the whole string.",emptyRegex:"The value to replace cannot be empty",forbiddenValue:"The {{- what}} cannont contain the character: {{- forbiddenChar}}",inCodeBlocks:{runIn:"Runned in code-blocks",runOut:"Not runned in the code blocks"},invalidRegex:"An error has occurred: {{- e}}",modal:{desc:'Replace text in the file with the given value. Enclose the text between "/" to use regex (ie: /regex/).',force:"Force push",keywords:"Keywords",name:": Use the filename.",title:{all:"Folder path & filename replacer",only:"Replace filename",text:"Text replacer"}},momentReplaceRegex:"Run replacement {{- moment}} the other plugin conversion (dataview, internal links\u2026)",warningPath:'Warning! Using the character "/" will edit the path, be careful with this option.'},upload:{defaultFolder:{desc:"Set the default reception folder. Leave it empty to use the root of the repository.",placeholder:"docs",title:"Default folder"},folderBehavior:{desc:"Choose the file tree in the repository, with using a property key, a fixed folder or your Obsidian file tree.",fixedFolder:"Fixed Folder",obsidianPath:"Obsidian Path",title:"File tree in repository",yaml:"Property key"},folderNote:{addTitle:{key:'Use a key other than "title"',title:'Automatically add the "title" key with the file name'}},frontmatterKey:{desc:"Set the key where to get the folder's value.",placeholder:"category",title:"Property key"},regexFilePathTitle:{desc:'If the text is between "/" (ie: /regex/), it will be used as a regex. Otherwise, it will be used as a string.',title:{FolderPathTitle:"Apply edit on the folder path or the filename (automatically)",titleOnly:"Apply edit on the filename (automatically)"}},rootFolder:{desc:"Append this path to the folder set by the properties key",other:"Use this folder as root within the repository (each path will be prepend by it).",title:"Root folder"},title:"File paths",useFrontmatterTitle:{desc:'Use a property value to generate the filename. By default, "title" is used. ',title:"Set the key where to get the value of the filename"}}},statusBar:{counter:"{{- msg}}: {{- counter}}/{{- nb}}",loading:"Loading\u2026",main:"File published !",markedForSharing:"{{- nb}} {{- type}} marked for sharing",sharing:"Sharing {{- type}}",success:"{{- type}} {{- action}}"}};var es_default={commands:{checkValidity:{error:"Configuraci\xF3n err\xF3nea",errorToken:"",inBranch:{error403:"Error 403: {{- repo.owner}}/{{- repo.repo}} se ha movido permanentemente (desde {{- repo.branch}}).",error404:"Error 404: La rama {{- repo.branch}} no se encontr\xF3 en {{- repo.owner}}/{{- repo.repo}}."},inRepo:{error301:"",error403:"",error404:""},rateLimit:{command:"",limited:"",notLimited:""},repoExistsTestBranch:"",success:"",title:""},copyLink:{onActivation:"",title:""},publisherDeleteClean:"",refreshAllSets:"",refreshOpenedSet:"",runOtherRepo:{noFile:"",title:""},shareActiveFile:"",shareViewFiles:{multiple:{on:"",other:""}},uploadAllEditedNote:"",uploadAllNewEditedNote:"",uploadAllNotes:"",uploadNewNotes:""},common:{add:"",after:"",attachments:"",before:"",cancel:"",close:"",default:"",defaultName:"",delete:"",edit:"",error:"",files:"",ghToken:"",here:"",in:"",no:"",or:"",path:{file:"",folder:"",full:""},points:"",published:"",regex:"",rename:"",repository:"",rootFolder:"",save:"",shared:"",text:"",warning:"",yes:""},deletion:{failed:"",noFile:"",success:""},error:{alreadyExists:"",autoClean:"",dataview:"",errorConfig:"",errorPublish:"",isEmpty:"",mergeconflic:"",normal:"",parseYaml:"","reading-token-file":"",unablePublishMultiNotes:"",unablePublishNote:"",whatEmpty:{branch:"",owner:""}},informations:{foundNoteToSend:"",migrating:{fileReplace:"",normalFormat:"",oldSettings:"",subFolder:""},noNewNote:"",scanningRepo:"",sendMessage:"",startingClean:"",successPublishOneNote:"",successfulPublish:"",wait:"",wait_plural:"",waitingWorkflow:""},modals:{export:{copy:"",desc:"",download:"",title:""},import:{desc:"",error:{isEmpty:"",span:""},importFromFile:"",paste:"",presets:{desc:"",title:""},title:""},listChangedFiles:{added:"",deleted:"",edited:"",error:"",notDeleted:"",title:"",unpublished:""}},publish:{branch:{alreadyExists:"",error:"",prMessage:"",success:""},upToDate:""},regex:{entry:"",replace:""},settings:{conversion:{dataview:{desc:"",title:""},desc:"",hardBreak:{desc:"",title:""},links:{anchor:{desc:"",title:""},desc:"",folderNote:{desc:"",title:""},internals:{dataview:"",desc:"",shareAll:"",title:""},key:"<code>links: false</code>",nonShared:{desc:"",title:""},relativePath:{desc:"",title:""},slugify:{desc:"",disable:"",lower:"",strict:"",title:""},textBefore:{desc:"",title:""},title:"",unlink:{desc:"",title:""},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"",title:""}},sectionTitle:"",tags:{desc:"",exclude:{desc:"",placeholder:"",title:""},inlineTags:{desc:"",title:""},title:""},title:""},embed:{attachment:"",bake:{text:"",textAfter:{title:""},textBefore:{title:""},title:"",variable:{desc:"",title:"",url:""},warning:""},char:{desc:"",title:""},defaultImageFolder:{desc:"",title:""},forcePush:{all:"",default:"",desc:"",info:"",title:""},imagePath:{desc:"",title:""},links:{desc:"",dp:{bake:"",keep:"",links:"",remove:""},title:""},notes:"",overrides:{desc:"",modal:{dest:"",path:"",title:""}},sendSimpleLinks:{desc:"",title:""},title:"",transferImage:{title:""},transferMetaFile:{desc:"",title:""},transferNotes:{desc:"",title:""}},embeds:{unHandledObsidianExt:{desc:"",title:""}},github:{apiType:{desc:"",dropdown:{enterprise:"",free:""},hostname:{desc:"",title:""},title:""},automaticallyMergePR:"",branch:{desc:"",title:""},dryRun:{enable:{desc:"",title:""},folder:{desc:"",error:"",title:""}},ghToken:{button:{configDir:"",default:"",description:"",pluginID:"",tooltip:"",variables:""},desc:"",error:""},repoName:{desc:"",placeholder:"",title:""},smartRepo:{button:"",modals:{default:"",desc:"",duplicate:"",empty:"",frontmatterInfo:"",newRepo:"",otherConfig:"",shortcuts:{desc:"",title:""},title:""}},testConnection:"",title:"",username:{desc:"",title:""}},githubWorkflow:{autoCleanUp:{desc:"",popup:{desc:"",exclude:"",sure:"",title:""},title:""},excludedFiles:{desc:"",title:""},githubAction:{desc:"",title:""},includeAttachments:{desc:"",title:""},prRequest:{desc:"",error:"",title:""},useMetadataExtractor:{desc:"",title:""}},help:{frontmatter:{attachment:{folder:"",send:""},autoclean:"",baselink:{desc:"",remove:""},convert:{enableOrDisable:"",syntax:""},dataview:"",desc:"",embed:{char:"",remove:{bake:"",desc:"",keep:"",links:"",remove:""},send:""},hardBreak:"",includeLinks:"",internals:"",mdlinks:"",nestedKey:"",nonShared:"",path:"",repo:{branch:"",desc:"",owner:""},share:{other:"",title:""},shortRepo:"",title:"",titleKey:"",unlink:""},multiRepoHelp:{desc:"",desc2:"",exampleDesc:"",title:""},title:"",usefulLinks:{discussion:"",documentation:"",issue:"",title:"",translation:""}},plugin:{copyLink:{applyRegex:{desc:"",title:""},baselink:{desc:"",title:""},command:{desc:""},desc:"",linkPathRemover:{desc:"",title:""},title:"",toUri:{desc:"",title:""}},dev:{desc:"",title:""},editorMenu:{desc:"",title:""},embedEditRepo:{desc:"",title:""},excludedFolder:{desc:"",title:""},fileMenu:{desc:"",title:""},head:{copyLinks:"",log:"",menu:"",other:"",share:""},logNoticeHeader:{desc:"",title:""},noticeLength:{desc:"",error:"",title:""},saveTab:{desc:"",title:""},set:{desc:"",title:""},setImport:{desc:"",title:""},shareKey:{all:{desc:"",title:""},desc:"",excludedFileName:{title:""},otherRepo:"",title:""},title:""},regexReplacing:{empty:"",emptyRegex:"",forbiddenValue:"",inCodeBlocks:{runIn:"",runOut:""},invalidRegex:"",modal:{desc:"",force:"",keywords:"",name:"",title:{all:"",only:"",text:""}},momentReplaceRegex:"",warningPath:""},upload:{defaultFolder:{desc:"",placeholder:"",title:""},folderBehavior:{desc:"",fixedFolder:"",obsidianPath:"",title:"",yaml:""},folderNote:{addTitle:{key:"",title:""}},frontmatterKey:{desc:"",placeholder:"",title:""},regexFilePathTitle:{desc:"",title:{FolderPathTitle:"",titleOnly:""}},rootFolder:{desc:"",other:"",title:""},title:"",useFrontmatterTitle:{desc:"",title:""}}},statusBar:{counter:"",loading:"",main:"",markedForSharing:"",sharing:"",success:""}};var fi_default={commands:{checkValidity:{error:"Virheellinen kokoonpano",errorToken:"",inBranch:{error403:"",error404:""},inRepo:{error301:"",error403:"",error404:""},rateLimit:{command:"Tarkista GitHub API:n nopeusrajoitus",limited:"Olet saavuttanut GitHub API:n nopeusrajan. Raja nollataan hetkell\xE4 {{- resetTime}}.",notLimited:"Sinulla ei ole rajoituksia. Voit tehd\xE4 {{- remaining}} pyynt\xF6\xE4 ennen kuin raja nollataan hetkell\xE4 {{- resetTime}}."},repoExistsTestBranch:"",success:"{{- repo.owner}}/{{- repo.repo}} n\xE4ytt\xE4\xE4 olevan kelvollinen!",title:"Testaa yhteytt\xE4 m\xE4\xE4ritettyyn tietovarastoon"},copyLink:{onActivation:"Linkki kopioitu leikep\xF6yd\xE4llesi",title:"Luo linkki t\xE4h\xE4n muistiinpanoon"},publisherDeleteClean:"Puhdistaa julkaisusta poistetut tiedostot ja poistetut tiedostot",refreshAllSets:"(Muut tietovarastot): Lataa kaikki tallennetut kohteet uudelleen",refreshOpenedSet:"",runOtherRepo:{noFile:"Mik\xE4\xE4n tiedosto ei ole aktiivinen tai tiedostoa ei ole jaettu",title:"Suorita komento tietovarastolle"},shareActiveFile:"Uloslataa yksitt\xE4inen aktiivinen muistiinpano",shareViewFiles:{multiple:{on:"Uloslataa {{- doc}} {{- smartKey }}:een",other:"Uloslataa kohteeseen\u2026"}},uploadAllEditedNote:"Virkist\xE4 kaikkia julkaistuja muistiinpanoja",uploadAllNewEditedNote:"Virkist\xE4 julkaistut muistiinpanot ja uloslataa uudet muistiinpanot",uploadAllNotes:"Uloslataa kaikki jaetut muistiinpanot",uploadNewNotes:"Uloslataa julkaisemattomat muistiinpanot"},common:{add:"Lis\xE4\xE4 {{- things}}",after:"J\xE4lkeen",attachments:"Liitteet",before:"Ennen",cancel:"Peru",close:"Sulje",default:"oletus",defaultName:"oletuskansio",delete:"Poista {{- things}}",edit:"Muokkaa {{- things}}",error:"Virhe",files:"Tiedostot",ghToken:"GitHub-tunnus",here:"t\xE4\xE4ll\xE4",in:"t\xE4h\xE4n",no:"Ei",or:"tai",path:{file:"Tiedoston nimi",folder:"Kansion polku",full:"Tiedoston polku"},points:"",published:"julkaistu",regex:"",rename:"Uudelleennimetyt avaimet\u2026",repository:"Tietovarasto",rootFolder:"juurikansio",save:"Tallenna",shared:"jaettu",text:"teksti",warning:"Varoitus",yes:"Kyll\xE4"},deletion:{failed:"{{- nb}} tiedostojen poistaminen ep\xE4onnistui.",noFile:"Tiedostoja ei ole poistettu.",success:"{{- nb}} tiedostoa poistettiin onnistuneesti."},error:{alreadyExists:"{{- file}} on jo olemassa.",autoClean:"Koska {{- what}} on tyhj\xE4, automaattinen puhdistus on poistettu k\xE4yt\xF6st\xE4. Voit aktivoida sen uudelleen, mutta varo tiedostojen poistamista, jota mallisi tarvitsee.",dataview:"",errorConfig:"Virhe m\xE4\xE4ritett\xE4ess\xE4 {{- repo.owner}}/{{- repo.repo}}. Tarkista asetuksesi.",errorPublish:"Virhe uloslatauksen aikana <u>{{- repo.owner}}/{{- repo.repo}}</u>:een: <i>{{- repo.branch}}</i>",isEmpty:"{{- what}} on tyhj\xE4.",mergeconflic:"Vetopyynt\xF6 ei ole yhdistett\xE4viss\xE4, se on teht\xE4v\xE4 manuaalisesti.",normal:"404-virhe on normaali; se tarkoittaa, ett\xE4 tiedostoa ei ole viel\xE4 olemassa. \xC4l\xE4 huoli, \u2764.",parseYaml:"","reading-token-file":"Virhe: polku n\xE4ytt\xE4\xE4 v\xE4\xE4r\xE4lt\xE4.",unablePublishMultiNotes:"Useiden muistiinpanojen uloslataaminen ei onnistu. jotain meni pieleen.",unablePublishNote:"Muistiinpanoa {{- file}} ei voi ulosladata, se ohitetaan",whatEmpty:{branch:"Haara",owner:"Omistaja"}},informations:{foundNoteToSend:"L\xF6ytyi {{- nbNotes}} uutta l\xE4hetett\xE4v\xE4\xE4 muistiinpanoa",migrating:{fileReplace:"",normalFormat:"Asetuksia siirret\xE4\xE4n\u2026",oldSettings:"Vanhojen asetusten siirto uuteen asetusmuotoon\u2026",subFolder:""},noNewNote:"Ei uusia ulosladattavia muistiinpanoja.",scanningRepo:"Tietovaraston skannaus voi kest\xE4\xE4 hetken\u2026",sendMessage:"Uloslataa <i>{{- nbNotes}}</i> muistiinpanoa <u>{{- repo.owner}}/{{- repo.repo}}</u>:een",startingClean:"Aloitetaan <u>{{- repo.owner}}/{{- repo.repo}}</u>:n puhdistaminen",successPublishOneNote:"<i><u>{{- file}}</u></i> :n uloslataaminen <u>{{- repo.owner}}/{{- repo.repo}}</u>:een onnistui",successfulPublish:"<i>{{- nbNotes}}</i>:n uloslataaminen <u>{{- repo.owner}}/{{- repo.repo}}</u>:een onnistui",wait:"",wait_plural:"",waitingWorkflow:"Nyt odotellaan ty\xF6nkulun valmistumista\u2026"},modals:{export:{copy:"Kopioi leikep\xF6yd\xE4lle",desc:"Vie asetukset leikep\xF6yd\xE4lle tai tiedostoon.",download:"Lataa",title:"Vie asetukset"},import:{desc:"Tuo asetukset tekstist\xE4 tai tiedostosta. Huomautus: t\xE4m\xE4 korvaa nykyiset asetuksesi, paitsi k\xE4ytt\xE4j\xE4tunnus, tietovaraston nimi ja tunnus.",error:{isEmpty:"kokoonpano on tyhj\xE4.",span:"Virhe kokoonpanon tuonnissa: "},importFromFile:"Tuo tiedostosta",paste:"Liit\xE4 kokoonpano t\xE4h\xE4n\u2026",presets:{desc:'Lataa esiasetukset tietovarastosta "plugin-presets"',title:"Esiasetukset"},title:"Tuo asetukset"},listChangedFiles:{added:"Lis\xE4tty",deleted:"Poistettu",edited:"Muokattu",error:"Virheet",notDeleted:"Ei voida poistaa",title:"Luettelo tietovarastossa muokatuista tiedostoista",unpublished:"Ei voida julkaista"}},publish:{branch:{alreadyExists:"Haara on jo olemassa ({{- branchName}} {{- repo.owner}}/{{- repo.repo}}:lla - sit\xE4 k\xE4ytet\xE4\xE4n.",error:"Virhe {{- repo.owner}}/{{- repo.repo}}:n kanssa: {{- error}}",prMessage:"Vetopyynt\xF6 [{{- branchName}}] Obsidianilta",success:"Haara luotu onnistuneesti (tila: {{- branchStatus}}) {{- repo.owner}}/{{- repo.repo}}:lla"},upToDate:"{{- file}} on ajan tasalla {{- repo}}:lla"},regex:{entry:"Korvattava arvo",replace:"Korvaaminen"},settings:{conversion:{dataview:{desc:`Muunna Dataview-kyselyt markdowniksi.
Toimii vain, jos Dataview ja sis\xE4isen linkin muuntaminen ovat k\xE4yt\xF6ss\xE4.`,title:""},desc:"N\xE4m\xE4 vaihtoehdot eiv\xE4t muuta tiedoston sis\xE4lt\xF6\xE4 Obsidian Vaultissa, mutta ne muuttavat tiedoston sis\xE4lt\xF6\xE4 GitHubissa.",hardBreak:{desc:"Lis\xE4\xE4 jokaisen rivin j\xE4lkeen kova rivinvaihto -merkint\xE4 (kaksoisv\xE4lily\xF6nti).",title:"Kova rivinvaihto -merkint\xE4"},links:{anchor:{desc:"",title:""},desc:"",folderNote:{desc:"Nime\xE4 tiedostot uudelleen m\xE4\xE4ritetyll\xE4 nimell\xE4 (oletus: index.md), jos sill\xE4 on sama nimi kuin niiden yl\xE4kansion/luokan (toimii my\xF6s, jos muistiinpano on kansion ulkopuolella).",title:"Kansion muistiinpano"},internals:{dataview:"Pakollinen, jos haluat muuntaa linkit datan\xE4kym\xE4lohkoiksi!",desc:"Muunna sis\xE4iset linkit tietovaraston vastaaviksi suhteellisella polulla.",shareAll:"",title:"Sis\xE4iset linkit"},key:"<code>links: false</code>",nonShared:{desc:"Sama vaihtoehto kuin sis\xE4iset, mutta muistiinpanoille, joita ei ole viel\xE4 julkaistu. Kun se on poistettu k\xE4yt\xF6st\xE4, vain tiedostonimi s\xE4ilytet\xE4\xE4n.",title:"Muunna julkaisemattomiin muistiinpanoihin osoittavat sis\xE4iset linkit"},relativePath:{desc:"",title:""},slugify:{desc:"",disable:"Poista k\xE4yt\xF6st\xE4",lower:"Alempi",strict:"Tiukka: Teksti ilman isoja kirjaimia tai erikoismerkkej\xE4.",title:""},textBefore:{desc:"",title:""},title:"Linkit",unlink:{desc:"Poistaa linkkien syntaksin (s\xE4ilytt\xE4\xE4 vain nimen tai aliaksen) vain jakamattomille tiedostoille.",title:"Pura linkitys"},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"Muunna Wikilinkit MD-linkeiksi sis\xE4lt\xF6\xE4 muuttamatta.",title:"[[Wikilinkit]] [MDlinkit](links):hin"}},sectionTitle:"P\xE4\xE4teksti",tags:{desc:"",exclude:{desc:"T\xE4m\xE4 sulkee pois arvon muuntamisen. Erottele kent\xE4t pilkulla.",placeholder:"Kent\xE4n arvo",title:"Sulje arvo pois muunnoksesta"},inlineTags:{desc:"",title:""},title:"Muunna ominaisuudet/tieton\xE4kym\xE4kent\xE4t tunnisteiksi"},title:"Sis\xE4lt\xF6"},embed:{attachment:"Liitteet",bake:{text:"",textAfter:{title:"Teksti lohkon j\xE4lkeen"},textBefore:{title:"Teksti ennen lohkoa"},title:"Sis\xE4llyt\xE4 upotusasetukset",variable:{desc:"On mahdollista k\xE4ytt\xE4\xE4 seuraavaa muuttujaa:",title:"",url:": polku upotettuun muistiinpanoon"},warning:"Jos k\xE4yt\xE4t HTML:ta, is\xE4nt\xE4asetuksistasi riippuen, merkint\xE4 katkeaa."},char:{desc:"Ennen linkki\xE4 lis\xE4tt\xE4v\xE4t merkit.",title:"Upota merkkej\xE4"},defaultImageFolder:{desc:"Oletuksesta poikkeavan kansion kytt\xE4\xE4miseksi",title:"Oletusliitekansio"},forcePush:{all:": Muuta kaikkien liitteiden kohdetta (ja/tai pakota ne l\xE4hetett\xE4v\xE4ksi).",default:": K\xE4yt\xE4 oletuskohdepolkua.",desc:"Uloslataa aina linkitetyt muistiinpanot tietovarastoon, vaikka ne olisivat jo olemassa ja ajan tasalla.",info:"Oletuksena liitteet l\xE4hetet\xE4\xE4n vain, jos niit\xE4 on muokattu viimeisimm\xE4n l\xE4hetyksen j\xE4lkeen tai jos niit\xE4 ei ole tietovarastossa.",title:"Pakotetut p\xE4ivitykset"},imagePath:{desc:"",title:"Rakenne"},links:{desc:"Salli upotteiden linkkien muokkaaminen poistamalla lainaus kokonaan tai muuntamalla yksinkertaiseksi linkiksi",dp:{bake:"Sis\xE4llyt\xE4 upotussis\xE4lt\xF6",keep:"Ei muutosta",links:"Muunna linkiksi",remove:"Poista linkki kokonaan"},title:""},notes:"Upota muistiinpanoja",overrides:{desc:"Salli liitteen l\xE4hett\xE4minen tietylle polulle ja pakota liitteiden ty\xF6nt\xE4minen.",modal:{dest:"Kohde",path:"Polku tai laajennus",title:"Ohita liitteiden polku"}},sendSimpleLinks:{desc:"Sovella seuraavia asetuksia tiedostoille, jotka on linkitetty yksinkertaisilla linkeill\xE4 (mukaan lukien liite).",title:"L\xE4het\xE4 linkitetyt tiedostot"},title:"",transferImage:{title:""},transferMetaFile:{desc:"",title:""},transferNotes:{desc:"",title:""}},embeds:{unHandledObsidianExt:{desc:"",title:""}},github:{apiType:{desc:"",dropdown:{enterprise:"",free:""},hostname:{desc:"",title:""},title:""},automaticallyMergePR:"",branch:{desc:"",title:""},dryRun:{enable:{desc:"",title:""},folder:{desc:"",error:"",title:""}},ghToken:{button:{configDir:"",default:"",description:"",pluginID:"",tooltip:"",variables:""},desc:"",error:""},repoName:{desc:"",placeholder:"",title:""},smartRepo:{button:"",modals:{default:"",desc:"",duplicate:"",empty:"",frontmatterInfo:"",newRepo:"",otherConfig:"",shortcuts:{desc:"",title:""},title:""}},testConnection:"",title:"",username:{desc:"",title:""}},githubWorkflow:{autoCleanUp:{desc:"",popup:{desc:"",exclude:"",sure:"",title:""},title:""},excludedFiles:{desc:"",title:""},githubAction:{desc:"",title:""},includeAttachments:{desc:"",title:""},prRequest:{desc:"",error:"",title:""},useMetadataExtractor:{desc:"",title:""}},help:{frontmatter:{attachment:{folder:"",send:""},autoclean:"",baselink:{desc:"",remove:""},convert:{enableOrDisable:"",syntax:""},dataview:"",desc:"",embed:{char:"",remove:{bake:"",desc:"",keep:"",links:"",remove:""},send:""},hardBreak:"",includeLinks:"",internals:"",mdlinks:"",nestedKey:"",nonShared:"",path:"",repo:{branch:"",desc:"",owner:""},share:{other:"",title:""},shortRepo:"",title:"",titleKey:"",unlink:""},multiRepoHelp:{desc:"",desc2:"",exampleDesc:"",title:""},title:"",usefulLinks:{discussion:"",documentation:"",issue:"",title:"",translation:""}},plugin:{copyLink:{applyRegex:{desc:"",title:""},baselink:{desc:"",title:""},command:{desc:""},desc:"",linkPathRemover:{desc:"",title:""},title:"",toUri:{desc:"",title:""}},dev:{desc:"",title:""},editorMenu:{desc:"",title:""},embedEditRepo:{desc:"",title:""},excludedFolder:{desc:"",title:""},fileMenu:{desc:"",title:""},head:{copyLinks:"",log:"",menu:"",other:"",share:""},logNoticeHeader:{desc:"",title:""},noticeLength:{desc:"",error:"",title:""},saveTab:{desc:"",title:""},set:{desc:"",title:""},setImport:{desc:"",title:""},shareKey:{all:{desc:"",title:""},desc:"",excludedFileName:{title:""},otherRepo:"",title:""},title:""},regexReplacing:{empty:"",emptyRegex:"",forbiddenValue:"",inCodeBlocks:{runIn:"",runOut:""},invalidRegex:"",modal:{desc:"",force:"",keywords:"",name:"",title:{all:"",only:"",text:""}},momentReplaceRegex:"",warningPath:""},upload:{defaultFolder:{desc:"",placeholder:"",title:""},folderBehavior:{desc:"",fixedFolder:"",obsidianPath:"",title:"",yaml:""},folderNote:{addTitle:{key:"",title:""}},frontmatterKey:{desc:"",placeholder:"",title:""},regexFilePathTitle:{desc:"",title:{FolderPathTitle:"",titleOnly:""}},rootFolder:{desc:"",other:"",title:""},title:"",useFrontmatterTitle:{desc:"",title:""}}},statusBar:{counter:"",loading:"",main:"",markedForSharing:"",sharing:"",success:""}};var fr_default={commands:{checkValidity:{error:"Configuration incorrecte",errorToken:"Erreur 401 : Le token associ\xE9 \xE0 {{- owner}} n'est pas valide. Veuillez cr\xE9er un nouveau token.",inBranch:{error403:"Erreur 403\u202F: {{- repo.owner}}/{{- repo.repo}} a \xE9t\xE9 d\xE9plac\xE9 de mani\xE8re permanente (depuis {{- repo.branch}}).",error404:"Erreur 404 : La branche {{- repo.branch}} est introuvable depuis {{- repo.owner}}/{{- repo.repo}}."},inRepo:{error301:"Erreur 301 : {{- repo.owner}}/{{- repo.repo}} a \xE9t\xE9 d\xE9plac\xE9 de mani\xE8re permanente.",error403:"Erreur 403 : Cette action est interdite pour {{- repo.owner}}/{{- repo.repo}}.",error404:"Erreur 404 : {{- repo.owner}}/{{- repo.repo}} est introuvable."},rateLimit:{command:"V\xE9rifier la limite de requ\xEAtes de l'API GitHub",limited:"Vous avez atteint la limite de requ\xEAtes Github. La limite sera r\xE9initialis\xE9e \xE0 {{- resetTime}}. minutes.",notLimited:"Vous n'\xEAtes pas limit\xE9 par Github. Vous pouvez encore faire {{- remaining}} requ\xEAtes, et la limite sera r\xE9initialis\xE9e \xE0 {{- resetTime}}."},repoExistsTestBranch:"Le d\xE9p\xF4t {{- repo.owner}}/{{- repo.repo}} existe. Maintenant, nous allons tester la branche {{- repo.branch}}.",success:"{{- repo.owner}}/{{- repo.repo}} semble valide !",title:"Tester la connexion au d\xE9p\xF4t configur\xE9"},copyLink:{onActivation:"Lien copi\xE9 dans le presse-papier",title:"Cr\xE9er un lien vers cette note"},publisherDeleteClean:"Purger les fichiers d\xE9publi\xE9s et supprim\xE9s",refreshAllSets:"(Autres d\xE9p\xF4ts)\u202F: Recharger tous les sets enregistr\xE9s",refreshOpenedSet:"(Autres d\xE9p\xF4ts)\u202F: Recharger le frontmatter ouvert",runOtherRepo:{noFile:"Aucun fichier actif, ou le fichier n'est pas partag\xE9",title:"Lancer une commande pour un d\xE9p\xF4t"},shareActiveFile:"Transf\xE9rer la note active",shareViewFiles:{multiple:{on:"Transf\xE9rer {{- doc}} vers {{- smartKey }}",other:"Transf\xE9rer vers\u2026"}},uploadAllEditedNote:"Rafra\xEEchir toutes les notes publi\xE9es",uploadAllNewEditedNote:"Rafra\xEEchir les notes publi\xE9es et transf\xE9rer les nouvelles notes",uploadAllNotes:"Transf\xE9rer toutes les notes",uploadNewNotes:"Transf\xE9rer les nouvelles notes"},common:{add:"Ajouter {{- things}}",after:"Apr\xE8s",attachments:"Pi\xE8ces-jointes",before:"Avant",cancel:"Annuler",close:"Fermer",default:"d\xE9faut",defaultName:"dossier par d\xE9faut",delete:"Supprimer {{- things}}",edit:"\xC9diter {{- things}}",error:"Erreur",files:"Fichiers",ghToken:"Token GitHub",here:"ici",in:"en",no:"Non",or:"ou",path:{file:"Nom du fichier",folder:"Chemin du dossier",full:"Chemin du fichier"},points:" : ",published:"publi\xE9s",regex:"regex",rename:"Cl\xE9(s) renomm\xE9e(s)\u2026",repository:"D\xE9p\xF4t",rootFolder:"dossier racine",save:"Sauvegarder",shared:"partag\xE9es",text:"texte",warning:"Attention",yes:"Oui"},deletion:{failed:"\xC9chec de la suppression de {{- nb}} notes.",noFile:"Aucun fichier n'a \xE9t\xE9 supprim\xE9.",success:"Suppression r\xE9ussie de {{- nb}} fichiers."},error:{alreadyExists:"{{- file}} existe d\xE9j\xE0.",autoClean:"Le {{- what}} \xE9tant vide, l'auto-nettoyage est d\xE9sactiv\xE9e. Vous pouvez le r\xE9activer si vous souhaitez l'utiliser, mais attention aux fichiers utilis\xE9s par votre template et qui peuvent \xEAtre supprim\xE9s.",dataview:"Impossible de convertir la requ\xEAte Dataview. Veuillez mettre \xE0 jour le module Dataview \xE0 la derni\xE8re version.",errorConfig:"Erreur de configuration pour {{- repo.owner}}/{{- repo.repo}}\u202F. Merci de v\xE9rifier vos param\xE8tres.",errorPublish:"Erreur lors de la publication sur <u>{{- repo.owner}}/{{- repo.repo}}</u> : <i>{{- repo.branch}}</i>",isEmpty:"{{- what}} est vide.",mergeconflic:"La Pull-Request n'est pas fusionnable, vous avez besoin de le faire manuellement.",normal:"L'erreur 404 est normale ! Elle signifie que le fichier n'existe pas encore. Ne vous inqui\xE9tez pas \u2764.",parseYaml:`Erreur durant l'ajout des tags ou du titre dans le frontmatter.
Dataview ou un autre plugin doit interf\xE9rer avec.
\xC9tape saut\xE9e.`,"reading-token-file":"Erreur : Le chemin est incorrect.",unablePublishMultiNotes:"Impossible de transf\xE9rer plusieurs notes, quelque chose s'est mal pass\xE9.",unablePublishNote:"Impossible de transf\xE9rer {{- file}}, le fichier a \xE9t\xE9 ignor\xE9",whatEmpty:{branch:"Branche",owner:"Propri\xE9taire"}},informations:{foundNoteToSend:"Trouv\xE9 {{- nbNotes}} nouvelles notes \xE0 transf\xE9rer",migrating:{fileReplace:"Migration du remplacement du nom du fichier au nouveau format\u2026",normalFormat:"Migration des param\xE8tres\u2026",oldSettings:"Migration des anciens param\xE8tres au nouveau format\u2026",subFolder:"Ajout du remplacement du sous-dossier au remplacement de chemin de fichier\u2026"},noNewNote:"Aucune note \xE0 transf\xE9rer.",scanningRepo:"Scan du d\xE9p\xF4t, veuillez patienter\u2026",sendMessage:"Transfert de <i>{{- nbNotes}}</i> notes vers <u>{{- repo.owner}}/{{- repo.repo}}</u>",startingClean:"D\xE9but du nettoyage de <u>{{- repo.owner}}/{{- repo.repo}}</u>",successPublishOneNote:"Transfert r\xE9ussi de <i><u>{{- file}}</u></i> vers <u>{{- repo.owner}}/{{- repo.repo}}</u>",successfulPublish:"Transfert r\xE9ussi de <i>{{- nbNotes}}</i> notes vers <u>{{- repo.owner}}/{{- repo.repo}}</u>",wait:"Scan du fichier {{- file}}... Veuillez attendre...",wait_plural:"Scan des fichiers... Merci d'attendre...",waitingWorkflow:"Maintenant, attente de la fin du workflow\u2026"},modals:{export:{copy:"Copier vers le presse-papier",desc:"Exporter les param\xE8tres vers un fichier ou dans le presse-papier.",download:"T\xE9l\xE9charger",title:"Exporter les param\xE8tres"},import:{desc:"Importer des param\xE8tres depuis un fichier ou un texte. Cela \xE9crasera vos param\xE8tres actuels (sauf le nom du d\xE9p\xF4t, le nom d'utilisateur et votre token).",error:{isEmpty:"la configuration est vide.",span:"Erreur lors de l'importation de la configuration\u202F: "},importFromFile:"Import depuis le fichier",paste:"Coller la configuration ici\u2026",presets:{desc:'Charger des pr\xE9-r\xE9glages du d\xE9p\xF4t "plugin-presets"',title:"Pr\xE9-r\xE9glages"},title:"Importer des param\xE8tres"},listChangedFiles:{added:"Ajout\xE9",deleted:"Supprim\xE9",edited:"Modifi\xE9",error:"Erreurs",notDeleted:"Impossible \xE0 supprimer",title:"Liste des fichiers \xE9dit\xE9s sur le d\xE9p\xF4t",unpublished:"Impossible \xE0 publier"}},publish:{branch:{alreadyExists:"La branche {{- branchName}} sur {{- repo.owner}}/{{- repo.repo}} existe d\xE9j\xE0 - Utilisation de celle-ci.",error:"Erreur avec {{- repo.owner}}/{{- repo.repo}} : {{- error}}",prMessage:"Pull-Request [{{- branchName}}] depuis Obsidian",success:"La branche a \xE9t\xE9 cr\xE9e avec succ\xE8s (statut\u202F: {{- branchStatus}} sur {{- repo.owner}}/{{- repo.repo}})"},upToDate:"{{- file}} est d\xE9j\xE0 \xE0 jour dans {{- repo}}."},regex:{entry:"Valeur \xE0 remplacer",replace:"Remplacement"},settings:{conversion:{dataview:{desc:`Convertir les requ\xEAtes Dataview en markdown.
Ne fonctionne que si Dataview et la conversion des liens internes sont activ\xE9s.`,title:"Dataview"},desc:"Ces options ne changent pas le contenu du fichier dans votre coffre Obsidian, mais changeront le contenu du fichier publi\xE9 sur GitHub.",hardBreak:{desc:"Ajoutez un retour \xE0 la ligne Markdown (double espace) apr\xE8s chaque ligne.",title:"Saut de ligne strict"},links:{anchor:{desc:"Normaliser les ancre Markdown : transformation et remplacement des espaces par un tiret.",title:"Slugifier les ancres markdown"},desc:"Mettre $t(settings.conversion.links.key) dans les propri\xE9t\xE9s d'une note pour emp\xEAcher la conversion des liens vers cette note et conserver l'alias (ou le nom du fichier)",folderNote:{desc:`Renommer les fichiers en un nom sp\xE9cifique (d\xE9faut : "index.md") s'il porte le m\xEAme nom que leur dossier/cat\xE9gorie parent (fonctionne aussi si la note est \xE0 l'ext\xE9rieur du dossier).`,title:"Folder Note"},internals:{dataview:"Obligatoire si vous voulez convertir les liens dans les blocs dataview !",desc:"Convertir les liens internes pointant vers les notes publi\xE9es vers leur homologue dans le d\xE9p\xF4t, sous forme de chemin relatif.",shareAll:`Inclut tous les liens pour les param\xE8tres "partager tout", car il est impossible sans frontmatter de conna\xEEtre l'\xE9tat de partage d'un fichier.`,title:"Liens internes"},key:"<code>links: false</code>",nonShared:{desc:"L'option pr\xE9c\xE9dente, mais appliqu\xE9es aux liens internes pointant vers des notes non-publi\xE9es. D\xE9sactiv\xE9, seul le nom du fichier sera conserv\xE9.",title:"Conversion des liens internes pointant vers des notes non-publi\xE9es"},relativePath:{desc:"Cr\xE9er les chemins internes en tant que chemin relatif.",title:"Chemin relatif"},slugify:{desc:"Normaliser les liens : transformation et remplacement des espaces par un tiret.",disable:"D\xE9sactiver",lower:"Minuscule",strict:"Strict : Texte sans majuscules ni caract\xE8res sp\xE9ciaux.",title:"Slugifier les liens markdown"},textBefore:{desc:"Ajouter un texte avant le chemin cr\xE9\xE9. Utiliser {{- slash}} pour cr\xE9er un chemin absolu. Ce texte ne sera ajout\xE9 que si un chemin doit \xEAtre g\xE9n\xE9r\xE9.",title:"Texte avant le chemin"},title:"Liens",unlink:{desc:"Permet de supprimer la syntaxe de lien (conserve uniquement le nom ou l'alias) uniquement pour les fichiers non-partag\xE9s.",title:"Retirer les liens"},wikiDisplayText:{desc:"Maintenir le texte d'affichage quand les liens wikilinks sont convertis",title:"Affichage des liens wikilinks"},wikilinks:{desc:"Conversion des liens wikilinks en liens Markdown, sans en modifier le contenu.",title:"Convertir [[WikiLinks]] en [liens](Markdown)"}},sectionTitle:"Texte principal",tags:{desc:"Ceci convertira tous les champs des propri\xE9t\xE9s/dataview en tags. S\xE9parez les champs par une virgule.",exclude:{desc:"Exclusion de champs de la conversion. S\xE9parer les valeurs par une virgule.",placeholder:"Valeur du chemin",title:"Exclusion de tags"},inlineTags:{desc:'Ajoute vos inlines tags dans votre bloc propri\xE9t\xE9s et converti les tags imbriqu\xE9s en rempla\xE7ant "/" par "_"',title:"Inlines tags"},title:"Convertir des champs dataview ou propri\xE9t\xE9s en tags"},title:"Contenu"},embed:{attachment:"Pi\xE8ces-jointes",bake:{text:"Permet d'ajouter du texte avant et apr\xE8s chaque int\xE9gration, par exemple en ajoutant du HTML ou en stylisant le bloc avec du markdown.",textAfter:{title:"Texte apr\xE8s le block"},textBefore:{title:"Texte \xE0 ajouter avant le block"},title:"Param\xE8tres pour l'inclusion des embeds",variable:{desc:"Il est possible d'utiliser les variables suivantes :",title:": Titre de la note inclue",url:": Chemin vers la note inclue"},warning:"Si vous utilisez du HTML, selon les param\xE8tres de votre h\xE9bergeur, le Markdown sera cass\xE9."},char:{desc:"Caract\xE8re(s) \xE0 ajouter devant le lien.",title:"Caract\xE8re d'embed"},defaultImageFolder:{desc:"Pour utiliser un dossier diff\xE9rent de celui par d\xE9faut pour les pi\xE8ces-jointes",title:"Dossier de pi\xE8ces-jointes par d\xE9faut"},forcePush:{all:" : Modifie la destination de toutes les pi\xE8ces jointes (et/ou forcer leur envoie).",default:" : Utiliser le chemin de destination par d\xE9faut.",desc:"Transf\xE9rer toujours les notes li\xE9es dans le d\xE9p\xF4t, m\xEAme si elles sont d\xE9j\xE0 pr\xE9sentes et \xE0 jour.",info:"Par d\xE9faut, les pi\xE8ces-jointes ne sont envoy\xE9s que si elles ont \xE9t\xE9 modifi\xE9es depuis leur dernier envoi, ou si elles n'existent pas dans le d\xE9p\xF4t.",title:"Mises \xE0 jour forc\xE9es"},imagePath:{desc:"Utilisez la structure de dossier Obsidian ou configurer un dossier par d\xE9faut ci-dessous",title:"Structure"},links:{desc:"Permet d'\xE9diter les liens des embeds, en supprimant enti\xE8rement la citation, ou en la transformant en un simple lien",dp:{bake:"Inclure le contenu des embeds",keep:"Pas de changement",links:"Transformer en lien simple",remove:"Supprimer le lien compl\xE8tement"},title:"Changer les balises d'embed"},notes:"Note (Markdown)",overrides:{desc:"Permet d'envoyer une pi\xE8ce jointe dans un chemin sp\xE9cifique et de forcer les pi\xE8ces jointes \xE0 \xEAtre pouss\xE9es.",modal:{dest:"Destination",path:"Chemin ou extension",title:"Remplacer le chemin des pi\xE8ces jointes"}},sendSimpleLinks:{desc:"Appliquer les param\xE8tres suivant pour les fichiers li\xE9s par des liens simples (incluant les pi\xE8ces-jointes).",title:"Envoyer les fichiers li\xE9s"},title:"Pi\xE8ces-jointes & Embeds ",transferImage:{title:"Transf\xE9rer les pi\xE8ces-jointes int\xE9gr\xE9es dans un fichier"},transferMetaFile:{desc:"Permet d'envoyer des fichiers en utilisant une cl\xE9 propri\xE9t\xE9s/dataview. S\xE9parer les champs par une virgule.",title:"Envoyer des fichiers en utilisant une cl\xE9 propri\xE9t\xE9s/dataview"},transferNotes:{desc:"Envoyer les notes int\xE9gr\xE9es dans un fichier publi\xE9 dans le d\xE9p\xF4t. Seul les fichiers publi\xE9s seront envoy\xE9s !",title:"Transf\xE9rer les notes int\xE9gr\xE9es"}},embeds:{unHandledObsidianExt:{desc:`S\xE9parer les extensions par une virgule.
Les regex sont support\xE9es quand encadr\xE9s par /, tel que /regex/.
N'incluez pas le point\u202F!`,title:"Autoriser des extensions non-support\xE9s nativement par Obsidian"}},github:{apiType:{desc:"Choisir entre l'API GitHub ou l'API pour GitHub Entreprise (uniquement pour les utilisateurs de GitHub Enterprise \u2014 Utilisateur avanc\xE9 !).",dropdown:{enterprise:"Entreprise",free:"Free/Pro/Team (d\xE9faut)"},hostname:{desc:"Le nom de l'instance Github de votre entreprise.",title:"Instance Github Entreprise"},title:"Type d'API"},automaticallyMergePR:"Fusionner automatiquement les pull-request",branch:{desc:'Dans le cas o\xF9 vous souhaitez utiliser une branche diff\xE9rente de "main"',title:"Branche principale"},dryRun:{enable:{desc:"D\xE9sactiver le push GitHub et toutes les autres actions et effectuer seulement une simulation pour voir ce qui serait transf\xE9r\xE9 ou supprim\xE9 dans le d\xE9p\xF4t.",title:"Mode de test"},folder:{desc:"Utilisez {{owner}}, {{repo}} et {{branch}} pour nommer dynamiquement le dossier.",error:"Le nom du dossier ne peut \xEAtre vide.",title:"Dossier o\xF9 le d\xE9p\xF4t sera simul\xE9 (test mode uniquement)"}},ghToken:{button:{configDir:": Le dossier de configuration d'Obsidian",default:"Par d\xE9faut, il sera dans :",description:"Vous pouvez \xE9diter le chemin du fichier dans lequel sera stock\xE9 le token.",pluginID:": L'ID du plugin",tooltip:"Modifier le chemin du fichier contenant le token",variables:"Vous pouvez utiliser les variables suivantes :"},desc:"Un token GitHub avec autorisation de d\xE9p\xF4t. Vous pouvez le g\xE9n\xE9rer ",error:"Le token ne doit pas \xEAtre vide !"},repoName:{desc:"Le nom du d\xE9p\xF4t dans lequel vos fichiers seront transf\xE9r\xE9s.",placeholder:"mkdocs-template",title:"Nom du d\xE9p\xF4t"},smartRepo:{button:"G\xE9rer plus de d\xE9p\xF4t",modals:{default:'Le nom "default" est r\xE9serv\xE9 pour votre configuration principale.',desc:`Ces "autres d\xE9p\xF4ts" vous permettent d'utiliser toutes les commandes sur les d\xE9p\xF4ts ajout\xE9s ci-dessous.`,duplicate:"Les smartKey doivent \xEAtre uniques !",empty:"Les smartkeys ne peuvent pas \xEAtre vide",frontmatterInfo:`L'utilisation de la cl\xE9 propri\xE9t\xE9 "shortRepo" avec la "smartKey" permet \xE9galement d'utiliser ce d\xE9p\xF4t dans un fichier sans avoir \xE0 \xE9crire son chemin.`,newRepo:"un nouveau d\xE9p\xF4t",otherConfig:"Autres param\xE8tres",shortcuts:{desc:"Ajoute toutes les commandes de ce d\xE9p\xF4t dans la palette de commandes",title:"Raccourci"},title:"G\xE9rer d'autres d\xE9p\xF4ts"}},testConnection:"Tester la connexion",title:"Configuration GitHub",username:{desc:"Votre username sur GitHub",title:"Nom d'utilisateur GitHub"}},githubWorkflow:{autoCleanUp:{desc:"Si le plugin doit supprimer de votre d\xE9p\xF4t les fichiers d\xE9publi\xE9s (arr\xEAt du partage ou suppression)",popup:{desc:"L'activation du nettoyage automatique lorsque le nom du {{- what}} est vide peut supprimer tous les fichiers de votre d\xE9p\xF4t, y compris les fichiers de votre template, les workflows, les ic\xF4nes ou le README.",exclude:`N'oubliez pas d'exclure les fichiers et dossiers dont vous avez besoin pour votre d\xE9p\xF4t.
De plus, vous pouvez toujours r\xE9tablir les fichiers supprim\xE9s par le syst\xE8me de pull-request de GitHub.`,sure:"\xCAtes-vous certain de vouloir activer cette fonctionnalit\xE9 ?",title:"Activation de l'auto-nettoyage"},title:"Auto-nettoyage"},excludedFiles:{desc:"Si vous voulez exclure certains dossier ou fichier du nettoyage automatique, d\xE9finissez leur chemin. Les regex sont accept\xE9es en les encadrant par des slashs. S\xE9parer les valeurs par une virgule.",title:"fichiers et dossier exclus"},githubAction:{desc:"Si vous souhaitez activer une action GitHub lorsque le plugin push les fichiers dans le d\xE9p\xF4t, il vous faut indiquer le nom du fichier issus du dossier .github/workflows/. Seules les actions activ\xE9es par un workflow_dispatch sont activ\xE9es.",title:"Nom de l'action GitHub"},includeAttachments:{desc:"Les pi\xE8ces-jointes seront aussi auto-nettoy\xE9es avec les autres notes.",title:"Auto-nettoyage des pi\xE8ces-jointes"},prRequest:{desc:"Le message envoy\xE9 lorsque la pull-request est fusionn\xE9e. Sera toujours suivi par le num\xE9ro de la pull-request.",error:"Vous ne pouvez pas utiliser une valeur vide pour le message de commit\u202F!",title:"Message de commit"},useMetadataExtractor:{desc:"Envoyer les fichiers g\xE9n\xE9r\xE9s par metadata-extractor dans ce dossier.",title:"Fichier de metadata-extractor"}},help:{frontmatter:{attachment:{folder:"Change le dossier par d\xE9faut pour les pi\xE8ces-jointes",send:"Envoie toutes les pi\xE8ces-jointes dans le d\xE9p\xF4t GitHub"},autoclean:"D\xE9sactive ou active le nettoyage automatique du d\xE9p\xF4t GitHub",baselink:{desc:"Change le lien de base pour la commande de copie de lien. D\xE9sactive aussi la suppression de partie de lien. Peut \xEAtre utilis\xE9e en tant qu'objet sous le nom de ",remove:"Supprime les parties de lien. \xC0 mettre sous forme de liste !"},convert:{enableOrDisable:"Active ou d\xE9sactive la conversion des liens. En d\xE9sactivant cette option, vous supprimez les",syntax:"syntaxes, tout en gardant le nom du fichier ou son texte alternatif."},dataview:"Convertit les requ\xEAtes dataview en markdown.",desc:"Il existe quelques cl\xE9s de propri\xE9t\xE9s qui peuvent vous \xEAtes utile. Le code ci-dessous montre les param\xE8tres par d\xE9faut, mais n'h\xE9sitez pas \xE0 le modifier selon vos besoins pour chaque note !",embed:{char:'Ajoutez un ou plusieurs caract\xE8res avant les liens. Utiliser uniquement si vous avez fix\xE9 "remove" \xE0 "links".',remove:{bake:"Inclure le contenu des embeds (blocs de support, titre et fichier entier)",desc:"Modifie l'aspect des liens des notes incorpor\xE9es. Peut prendre les valeurs suivantes :",keep:"Laisse comme dans Obsidian",links:"Convertit le lien vers la note incorpor\xE9e en lien simple",remove:"Supprime le lien compl\xE8tement et laisse une ligne vide"},send:"Envoie les notes int\xE9gr\xE9es de la note publi\xE9es dans le d\xE9p\xF4t"},hardBreak:'Convertit tous les sauts de lignes en "hard break" markdown.',includeLinks:"Autorise l'envoie des fichiers li\xE9s par un lien simple, comme",internals:"Convertit les liens internes vers leur homologue du d\xE9p\xF4t, sous forme de liens relatifs. D\xE9sactiv\xE9s, les liens seront conserv\xE9s tels quels.",mdlinks:"Convertir tous les liens ",nestedKey:`Il est aussi possible d'utiliser les syntaxes "par point", c'est-\xE0-dire en notant les cl\xE9s imbriqu\xE9es par des points. Par exemple en utilisant `,nonShared:"Convertit les liens internes pointant vers une notes non publi\xE9es vers son futur homologue. D\xE9sactiv\xE9, le plugin conservera le nom du fichier ou son texte alternatif.",path:"Vous pouvez \xE9craser tous les param\xE8tres de chemins en utilisant cette cl\xE9. Le chemin sera cr\xE9\xE9e \xE0 partir de la racine du d\xE9p\xF4t.",repo:{branch:"Nom de la branche",desc:"Changer le d\xE9p\xF4t GitHub pour cette note.",owner:"Pseudo GitHub du propri\xE9taire du d\xE9p\xF4t"},share:{other:"Vous pouvez \xE9galement utiliser une autre shareKey bas\xE9e sur la cl\xE9 d\xE9finie dans \xAB G\xE9rer plus de d\xE9p\xF4t \xBB. Cela vous permet de s\xE9parer vos diff\xE9rents d\xE9p\xF4ts. Si vous utilisez les cl\xE9s principales et secondaires, le d\xE9p\xF4t principal sera utilis\xE9.",title:"La cl\xE9 utilis\xE9e pour partager une note."},shortRepo:"Autorise l'utilisation de l'un des d\xE9p\xF4ts d\xE9finis dans les param\xE8tres.",title:"Aide-m\xE9moire des propri\xE9t\xE9s",titleKey:"Change le titre de la note.",unlink:"Permet de supprimer la syntaxe de lien (conserve uniquement le nom ou l'alias) uniquement pour les fichiers non-partag\xE9s."},multiRepoHelp:{desc:"Si vous souhaitez envoyer vos notes dans plusieurs d\xE9p\xF4t en m\xEAme temps, vous pouvez utiliser la cl\xE9 ",desc2:"dans vos propri\xE9t\xE9s. La valeur de cette cl\xE9 doit \xEAtre une liste. Chaque d\xE9p\xF4t doit avoir les cl\xE9s suivantes ",exampleDesc:"Le code ci-dessous montre un exemple bas\xE9 sur vos param\xE8tres.",title:"Envoie dans plusieurs d\xE9p\xF4t"},title:"Aide",usefulLinks:{discussion:"Discussion",documentation:"Documentation (en anglais)",issue:"Signaler un probl\xE8me",title:"Liens utiles",translation:"Aider \xE0 la traduction"}},plugin:{copyLink:{applyRegex:{desc:'Encapsuler entre "/" pour utiliser les expressions rationnelles (ie\u202F: /regex/).',title:"Ajouter une transformation de texte \xE0 l'URL"},baselink:{desc:'Permet de cr\xE9er un lien dans le presse-papier avec cette base. Par d\xE9faut : "https://username.github.io/repo/"',title:"Lien du d\xE9p\xF4t/blog"},command:{desc:"Ajouter une commande permettant de copier le lien de la note publi\xE9e dans le presse-papier (n\xE9cessite de recharger le plugin pour prendre effet)"},desc:"Envoie d'un lien vers la note publi\xE9es dans votre presse-papier",linkPathRemover:{desc:"Supprimer cette partie des liens cr\xE9\xE9s. S\xE9parer par une virgule si plusieurs valeurs doivent \xEAtre supprim\xE9es.",title:"Suppression d'une partie du lien"},title:"Copie de lien",toUri:{desc:'Convertir le lien en URI (remplacer par un encodage en "percent-encoding")',title:"Encoder en URI"}},dev:{desc:'Utilisateur avanc\xE9 seulement. Affichera sous forme de "Notice" selon le param\xE8tre pr\xE9c\xE9dents.',title:"Affiche les logs d\xE9veloppeurs"},editorMenu:{desc:"Ajouter une commande de partage dans le menu du clic droit",title:'Menu "Edition"'},embedEditRepo:{desc:"Permet d'afficher la liste des fichiers \xE9diter, ajout\xE9, supprim\xE9... Du d\xE9p\xF4t principal (dans un modal)",title:"Afficher les \xE9ditions sur le d\xE9p\xF4t"},excludedFolder:{desc:`Les fichiers dans ses dossiers ne seront jamais publi\xE9s, quelle que soit l'\xE9tat de la cl\xE9 de partage. S\xE9parez les noms de dossier par une virgule. Les regex sont support\xE9s en les encadrant entre "/" (ie : /regex/).`,title:"Dossiers exclus"},fileMenu:{desc:'Ajouter une commande de partage dans le menu "Fichier"',title:'Menu "Fichier"'},head:{copyLinks:"Cr\xE9ation et copie de liens",log:"Logs",menu:"Menu",other:"Autres",share:"Partage & cl\xE9 de partage"},logNoticeHeader:{desc:"Sur mobile, il peut \xEAtre difficile de debug le module. Activer cette option pour notifier toutes les erreurs via une notification Obsidian.",title:"Notifier toutes les erreurs"},noticeLength:{desc:"Dur\xE9e d'affichage des diff\xE9rentes notifications envoy\xE9es par le plugin. Mettre 0 pour les afficher ind\xE9finiment.",error:"Merci d'utiliser un nombre valide.",title:"Longueur de la notification (en secondes)"},saveTab:{desc:"Permet de rouvrir les param\xE8tres sur l'onglet pr\xE9c\xE9demment utilis\xE9",title:"Sauvegarder l'onglet"},set:{desc:"Choisissez la cl\xE9 de propri\xE9t\xE9 que vous souhaitez utiliser pour lier la propri\xE9t\xE9 d'un fichier \xE0 un autre, sans les r\xE9\xE9crire \xE0 chaque fois. Ne fonctionne que pour les fichiers li\xE9s par un lien wiki dans le frontmatter.",title:"Set d'options"},setImport:{desc:"Importer un set d'options depuis le frontmatter d'un fichier",title:"Importer un groupe d'option"},shareKey:{all:{desc:"Autoriser le partage de tous les fichiers et ignorer l'\xE9tat de la cl\xE9 de partage",title:"Partager tous les fichiers sans cl\xE9 de partage"},desc:"La cl\xE9 de propri\xE9t\xE9 pour publier votre fichier sur le site web. La valeur par d\xE9faut est `share`.",excludedFileName:{title:"Exclure les fichiers dont le nom commence par\u2026"},otherRepo:"Vous pouvez \xE9galement d\xE9finir une cl\xE9 de partage pour s\xE9parer avec des autres, sans utiliser la cl\xE9 shortRepo.",title:"Cl\xE9 de partage"},title:"Param\xE8tres du plugin"},regexReplacing:{empty:"Le remplacement peut \xEAtre vide pour supprimer l'ensemble de la cha\xEEne de caract\xE8re.",emptyRegex:"La valeur \xE0 remplacer ne peut pas \xEAtre vide",forbiddenValue:"Le {{- what}} ne peut contenir le caract\xE8re\u202F: {{- forbiddenChar}}",inCodeBlocks:{runIn:"Lanc\xE9 dans les bloc de code",runOut:"N'est pas lanc\xE9 dans les bloc de codes"},invalidRegex:"Une erreur est survenue : {{- e}}",modal:{desc:'Replace des textes dans le fichier par la valeur donn\xE9e. Vous pouvez encadrer le texte \xE0 remplacer avec "/" (ie : /regex/) pour utiliser un regex.',force:"Forcer l'envoi",keywords:"Mots cl\xE9s",name:" : Utiliser le nom du fichier.",title:{all:"Remplacement du nom ou du chemin du fichier",only:"Remplacement du titre uniquement",text:"Remplacement de texte"}},momentReplaceRegex:"Ex\xE9cuter le remplacement {{- moment}} les autres conversions (dataview, liens internes...)",warningPath:'Attention ! Utiliser le caract\xE8re "/" modifiera le chemin du fichier. Veuillez faire attention avec cette option.'},upload:{defaultFolder:{desc:"D\xE9finir le dossier de r\xE9ception par d\xE9faut. Laisser vide pour utiliser la racine du d\xE9p\xF4t.",placeholder:"docs",title:"Dossier par d\xE9faut"},folderBehavior:{desc:"Choisir la hi\xE9rarchie des dossiers dans le d\xE9p\xF4t, en se basant sur une cl\xE9 frontmatter, un dossier fixe ou la hi\xE9rarchie des dossiers dans Obsidian.",fixedFolder:"Dossier fix\xE9",obsidianPath:"Chemin Obsidian",title:"Hi\xE9rarchie des dossiers",yaml:"Valeur d'une cl\xE9 de propri\xE9t\xE9"},folderNote:{addTitle:{key:'Utiliser une autre cl\xE9 que "title"',title:'Ajouter automatiquement la cl\xE9 "title" avec le nom du fichier'}},frontmatterKey:{desc:"D\xE9finir le nom de la cl\xE9 o\xF9 obtenir le dossier.",placeholder:"cat\xE9gorie",title:"Cl\xE9 de propri\xE9t\xE9"},regexFilePathTitle:{desc:'Si le texte est entre "/" (ie : /regex/), il sera interpr\xE9t\xE9 comme une expression r\xE9guli\xE8re. Sinon, il sera interpr\xE9t\xE9 comme du texte brut.',title:{FolderPathTitle:"\xC9diter le titre et le chemin du dossier (automatiquement)",titleOnly:"\xC9diter le titre (automatiquement)"}},rootFolder:{desc:"Ajouter ce chemin au dossier d\xE9finit par la cl\xE9 de propri\xE9t\xE9",other:"Utilisez ce dossier comme racine dans le r\xE9f\xE9rentiel (chaque chemin sera pr\xE9c\xE9d\xE9 de ce nom).",title:"Dossier racine"},title:"Chemins des fichiers",useFrontmatterTitle:{desc:'Utiliser un champ des propri\xE9t\xE9s pour g\xE9n\xE9rer le nom du fichier. Par d\xE9faut, "title" est utilis\xE9. ',title:"Utiliser une cl\xE9 de propri\xE9t\xE9 pour d\xE9finir le titre"}}},statusBar:{counter:"{{- msg}} : {{- counter}}/{{- nb}}",loading:"Chargement en cours\u2026",main:"Fichier publi\xE9 !",markedForSharing:"{{- nb}} {{- type}} \xE0 partager",sharing:"Partage de {{- type}}",success:"{{- type}} {{- action}}"}};var ko_default={commands:{checkValidity:{error:"\uC798\uBABB\uB41C \uC124\uC815",errorToken:"",inBranch:{error403:"\uC624\uB958 403: {{- repo.owner}}/{{- repo.repo}}\uAC00 {{- repo.branch}}\uC5D0\uC11C \uC601\uAD6C\uC801\uC73C\uB85C \uC774\uB3D9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",error404:"\uC624\uB958 404: \uBE0C\uB79C\uCE58 {{- repo.branch}}\uB294 {{-repo.owner}}/{{- repo.repo}}\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."},inRepo:{error301:"\uC624\uB958 301: {{- repo.owner}}/{{-repo.repo}}\uAC00 \uC601\uAD6C\uC801\uC73C\uB85C \uC774\uB3D9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",error403:"\uC624\uB958 403: \uC774 \uB3D9\uC791\uC740 {{- repo.owner}}/{{- repo.repo}}\uC5D0\uC11C \uAE08\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",error404:"\uC624\uB958 404: {{- repo.owner}}/{{- repo.repo}}\uB294 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."},rateLimit:{command:"GitHub API\uC758 \uC18D\uB3C4 \uC81C\uD55C\uC744 \uD655\uC778\uD558\uC138\uC694",limited:"GitHub API\uC758 \uC18D\uB3C4 \uC81C\uD55C\uC5D0 \uB3C4\uB2EC\uD588\uC2B5\uB2C8\uB2E4. \uC81C\uD55C\uC740 {{- resetTime}}\uC73C\uB85C \uC7AC\uC124\uC815\uB429\uB2C8\uB2E4.",notLimited:"\uC18D\uB3C4 \uC81C\uD55C\uC774 \uC801\uC6A9\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC81C\uD55C\uC774 {{- resetTime}}\uC73C\uB85C \uC7AC\uC124\uC815\uB418\uAE30 \uC804\uC5D0 {{- remaining}}\uBC88\uC758 \uC694\uCCAD\uC744 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."},repoExistsTestBranch:"{{- repo.owner}}/{{- repo.repo}} \uC800\uC7A5\uC18C\uAC00 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uC774\uC81C {{- repo.branch}} \uBE0C\uB79C\uCE58\uB97C \uD655\uC778\uD558\uACA0\uC2B5\uB2C8\uB2E4.",success:"{{- repo.owner}}/{{-repo.repo}}\uB294 \uC0AC\uC6A9 \uAC00\uB2A5\uD569\uB2C8\uB2E4!",title:"\uC124\uC815\uB41C \uC800\uC7A5\uC18C\uC640\uC758 \uC5F0\uACB0 \uD14C\uC2A4\uD2B8"},copyLink:{onActivation:"\uB9C1\uD06C\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB428",title:"\uC774 \uB178\uD2B8\uC5D0 \uB9C1\uD06C \uB9CC\uB4E4\uAE30"},publisherDeleteClean:"\uAC8C\uC2DC\uB418\uC9C0 \uC54A\uAC70\uB098 \uC0AD\uC81C\uB41C \uD30C\uC77C \uC81C\uAC70",refreshAllSets:"(\uAE30\uD0C0 \uC800\uC7A5\uC18C): \uC800\uC7A5\uB41C \uBAA8\uB4E0 \uC138\uD2B8 \uB2E4\uC2DC \uBD88\uB7EC\uC624\uAE30",refreshOpenedSet:"(\uB2E4\uB978 \uC800\uC7A5\uC18C): \uC5F4\uB824 \uC788\uB294 \uD504\uB860\uD2B8\uB9E4\uD130 \uC0C8\uB85C\uACE0\uCE68",runOtherRepo:{noFile:"\uD65C\uC131\uD654\uB41C \uD30C\uC77C\uC774 \uC5C6\uAC70\uB098 \uD30C\uC77C\uC774 \uACF5\uC720\uB418\uC9C0 \uC54A\uC74C",title:"\uC800\uC7A5\uC18C\uC5D0\uC11C \uBA85\uB839 \uC2E4\uD589"},shareActiveFile:"\uD604\uC7AC \uD65C\uC131\uD654\uB41C \uB178\uD2B8 \uC5C5\uB85C\uB4DC",shareViewFiles:{multiple:{on:"{{-doc}}\uB97C {{-smartKey}}\uC5D0 \uC5C5\uB85C\uB4DC",other:"...\uC5D0 \uC5C5\uB85C\uB4DC"}},uploadAllEditedNote:"\uBAA8\uB4E0 \uAC8C\uC2DC\uB41C \uB178\uD2B8 \uC0C8\uB85C\uACE0\uCE68",uploadAllNewEditedNote:"\uAC1C\uC2DC\uB41C \uB178\uD2B8 \uC0C8\uB85C\uACE0\uCE68 \uBC0F \uC0C8\uB85C\uC6B4 \uB178\uD2B8 \uC5C5\uB85C\uB4DC",uploadAllNotes:"\uBAA8\uB4E0 \uACF5\uC720\uB41C \uB178\uD2B8 \uC5C5\uB85C\uB4DC",uploadNewNotes:"\uAC8C\uC2DC\uB418\uC9C0 \uC54A\uC740 \uB178\uD2B8 \uC5C5\uB85C\uB4DC"},common:{add:"{{-things}} \uCD94\uAC00",after:"\uB2E4\uC74C",attachments:"\uCCA8\uBD80\uD30C\uC77C",before:"\uC774\uC804",cancel:"\uCDE8\uC18C",close:"\uB2EB\uAE30",default:"\uAE30\uBCF8 \uC124\uC815",defaultName:"\uAE30\uBCF8 \uD3F4\uB354",delete:"{{- things}} \uC0AD\uC81C",edit:"{{- things}} \uC218\uC815",error:"\uC624\uB958",files:"\uD30C\uC77C",ghToken:"\uAE43\uD5C8\uBE0C \uD1A0\uD070",here:"\uC5EC\uAE30",in:"\uC548\uC5D0",no:"\uC544\uB2C8\uC624",or:"\uB610\uB294",path:{file:"\uD30C\uC77C \uC774\uB984",folder:"\uD3F4\uB354 \uACBD\uB85C",full:"\uD30C\uC77C \uACBD\uB85C"},points:": ",published:"\uAC8C\uC2DC\uB428",regex:"\uC815\uADDC \uD45C\uD604\uC2DD",rename:"\uBCC0\uACBD\uB41C \uD0A4 \uC774\uB984\u2026",repository:"\uC800\uC7A5\uC18C",rootFolder:"\uB8E8\uD2B8 \uD3F4\uB354",save:"\uC800\uC7A5",shared:"\uACF5\uC720\uB428",text:"\uD14D\uC2A4\uD2B8",warning:"\uACBD\uACE0",yes:"\uC608"},deletion:{failed:"{{- nv}} \uD30C\uC77C\uC744 \uC0AD\uC81C\uD558\uB294 \uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.",noFile:"\uC5B4\uB5A4 \uD30C\uC77C\uB3C4 \uC0AD\uC81C\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.",success:"{{- nb}} \uD30C\uC77C\uC744 \uC131\uACF5\uC801\uC73C\uB85C \uC0AD\uC81C\uD588\uC2B5\uB2C8\uB2E4."},error:{alreadyExists:"{{- file}}\uC774 \uC774\uBBF8 \uC874\uC7AC\uD569\uB2C8\uB2E4.",autoClean:"{{- what}}\uC774 \uBE44\uC5B4\uC788\uC5B4\uC11C \uC790\uB3D9 \uC815\uB9AC\uAC00 \uBE44\uD65C\uC131\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uD65C\uC131\uD654\uD560 \uC218 \uC788\uC9C0\uB9CC, \uD15C\uD50C\uB9BF\uC5D0 \uD544\uC694\uD55C \uD30C\uC77C \uC0AD\uC81C\uC5D0 \uC8FC\uC758\uD558\uC138\uC694.",dataview:"\uB370\uC774\uD130\uBDF0 \uCFFC\uB9AC\uB97C \uB80C\uB354\uB9C1\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB370\uC774\uD130\uBDF0 \uD50C\uB7EC\uADF8\uC778\uC744 \uCD5C\uC2E0 \uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uD574 \uC8FC\uC138\uC694.",errorConfig:"{{- repo.owner}}/{{- repo.repo}}\uB97C \uAD6C\uC131\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC124\uC815\uC744 \uD655\uC778\uD574 \uC8FC\uC138\uC694.",errorPublish:"<u>{{- repo.owner}}/{{- repo.repo}}</u>\uB85C \uC5C5\uB85C\uB4DC\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4: <i>{{- repo.branch}}</i>",isEmpty:"{{- what}}\uC740 \uBE44\uC5B4\uC788\uC2B5\uB2C8\uB2E4.",mergeconflic:"\uD480 \uB9AC\uD018\uC2A4\uD2B8\uB97C \uBCD1\uD569\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC218\uB3D9\uC73C\uB85C \uCC98\uB9AC\uD574\uC57C \uD569\uB2C8\uB2E4.",normal:"404 \uC5D0\uB7EC\uB294 \uC815\uC0C1\uC785\uB2C8\uB2E4! \uC774\uB294 \uD30C\uC77C\uC774 \uC544\uC9C1 \uC874\uC7AC\uD558\uC9C0 \uC54A\uB294\uB2E4\uB294 \uC758\uBBF8\uC785\uB2C8\uB2E4. \uAC71\uC815\uD558\uC9C0 \uB9C8\uC138\uC694\u2764.",parseYaml:`Frontmatter\uC5D0 \uD0DC\uADF8 \uB610\uB294 \uC81C\uBAA9\uC744 \uCD94\uAC00\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.
Dataview\uB098 \uB2E4\uB978 \uD50C\uB7EC\uADF8\uC778\uC774 \uC774\uB97C \uBC29\uD574\uD558\uACE0 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
\uC774 \uB2E8\uACC4\uB294 \uAC74\uB108\uB701\uB2C8\uB2E4.`,"reading-token-file":"\uC624\uB958: \uACBD\uB85C\uAC00 \uC798\uBABB\uB41C \uAC83 \uAC19\uC2B5\uB2C8\uB2E4.",unablePublishMultiNotes:"\uC5EC\uB7EC \uB178\uD2B8\uB97C \uC5C5\uB85C\uB4DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.",unablePublishNote:"\uB178\uD2B8 {{- file}}\uC744 \uC5C5\uB85C\uB4DC\uD560 \uC218 \uC5C6\uC5B4 \uAC74\uB108\uB701\uB2C8\uB2E4",whatEmpty:{branch:"\uBE0C\uB79C\uCE58",owner:"\uC18C\uC720\uC790"}},informations:{foundNoteToSend:"{{- nbNotes}}\uAC1C\uC758 \uC0C8\uB85C\uC6B4 \uB178\uD2B8\uB97C \uC804\uC1A1\uD560 \uC608\uC815\uC785\uB2C8\uB2E4",migrating:{fileReplace:"\uD30C\uC77C \uC774\uB984\uC744 \uC0C8\uB85C\uC6B4 \uD615\uC2DD\uC73C\uB85C \uBCC0\uACBD\uD558\uB294 \uB9C8\uC774\uADF8\uB808\uC774\uC158\u2026",normalFormat:"\uC124\uC815\uC744 \uB9C8\uC774\uADF8\uB808\uC774\uC158\uD558\uB294 \uC911\u2026",oldSettings:"\uC774\uC804 \uC124\uC815\uC744 \uC0C8 \uC124\uC815\uC73C\uB85C \uB9C8\uC774\uADF8\uB808\uC774\uC158\u2026",subFolder:"\uBCC0\uACBD\uB41C \uD3F4\uB354 \uACBD\uB85C\uC5D0 \uC0C8\uB85C\uC6B4 \uC11C\uBE0C \uD3F4\uB354 \uCD94\uAC00\u2026"},noNewNote:"\uC5C5\uB85C\uB4DC\uD560 \uC0C8\uB85C\uC6B4 \uB178\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",scanningRepo:"\uC800\uC7A5\uC18C\uB97C \uC2A4\uCE94\uD558\uB294 \uC911\uC785\uB2C8\uB2E4. \uC2DC\uAC04\uC774 \uC870\uAE08 \uAC78\uB9B4 \uC218 \uC788\uC2B5\uB2C8\uB2E4\u2026",sendMessage:"<u>{{- repo.owner}}/{{- repo.repo}}</u>\uC5D0 <i>{{- nbNotes}}</i>\uAC1C\uC758 \uB178\uD2B8\uB97C \uC5C5\uB85C\uB4DC\uD569\uB2C8\uB2E4",startingClean:"<u>{{- repo.owner}}/{{- repo.repo}}</u> \uC815\uB9AC \uC791\uC5C5 \uC2DC\uC791",successPublishOneNote:"<u>{{- repo.owner}}/{{- repo.repo}}</u>\uC5D0 <i><u>{{- file}}</u></i>\uB97C \uC131\uACF5\uC801\uC73C\uB85C \uC5C5\uB85C\uB4DC\uD588\uC2B5\uB2C8\uB2E4",successfulPublish:"<u>{{- repo.owner}}/{{- repo.repo}}</u>\uC5D0 <i>{{- nbNotes}}</i>\uAC1C\uB97C \uC131\uACF5\uC801\uC73C\uB85C \uC5C5\uB85C\uB4DC\uD588\uC2B5\uB2C8\uB2E4",wait:"",wait_plural:"",waitingWorkflow:"\uC9C0\uAE08, \uC6CC\uD06C\uD50C\uB85C\uC6B0\uAC00 \uC644\uB8CC\uB420 \uB54C\uAE4C\uC9C0 \uAE30\uB2E4\uB9AC\uB294 \uC911\uC785\uB2C8\uB2E4\u2026"},modals:{export:{copy:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC",desc:"\uC124\uC815\uC744 \uD074\uB9BD\uBCF4\uB4DC \uB610\uB294 \uD30C\uC77C\uB85C \uB0B4\uBCF4\uB0B4\uAE30.",download:"\uB2E4\uC6B4\uB85C\uB4DC",title:"\uC124\uC815 \uB0B4\uBCF4\uB0B4\uAE30"},import:{desc:"\uD14D\uC2A4\uD2B8\uB098 \uD30C\uC77C\uC5D0\uC11C \uC124\uC815 \uAC00\uC838\uC624\uAE30. \uCC38\uACE0: \uD604\uC7AC \uC124\uC815\uC744 \uB36E\uC5B4\uC4F8 \uAC83\uC785\uB2C8\uB2E4 (\uC0AC\uC6A9\uC790 \uC774\uB984, \uC800\uC7A5\uC18C \uC774\uB984, \uD1A0\uD070\uC740 \uC81C\uC678).",error:{isEmpty:"\uC124\uC815\uC774 \uBE44\uC5B4\uC788\uC2B5\uB2C8\uB2E4.",span:"\uC124\uC815 \uAC00\uC838\uC624\uAE30 \uC624\uB958: "},importFromFile:"\uD30C\uC77C\uC5D0\uC11C \uAC00\uC838\uC624\uAE30",paste:"\uC5EC\uAE30\uC5D0 \uC124\uC815 \uBCF5\uC0AC\uD558\uAE30\u2026",presets:{desc:'"plugin-presets" \uC800\uC7A5\uC18C\uC5D0\uC11C \uD504\uB9AC\uC14B\uC744 \uBD88\uB7EC\uC624\uAE30',title:"\uD504\uB9AC\uC14B"},title:"\uC124\uC815 \uAC00\uC838\uC624\uAE30"},listChangedFiles:{added:"\uCD94\uAC00\uB428",deleted:"\uC0AD\uC81C\uB428",edited:"\uC218\uC815\uB428",error:"\uC624\uB958",notDeleted:"\uC0AD\uC81C\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",title:"\uC800\uC7A5\uC18C\uC5D0\uC11C \uC218\uC815\uB41C \uD30C\uC77C\uB4E4\uC758 \uBAA9\uB85D",unpublished:"\uAC8C\uC2DC\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4"}},publish:{branch:{alreadyExists:"{{- branchName}} \uBE0C\uB79C\uCE58\uAC00 \uC774\uBBF8 {{- repo.owner}}/{{-repo.repo}}\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4 - \uD574\uB2F9 \uBE0C\uB79C\uCE58\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.",error:"{{- repo.owner}}/{{- repo.repo}}\uC5D0\uC11C \uC624\uB958 \uBC1C\uC0DD: {{- error}}",prMessage:"Obsidian\uC5D0\uC11C\uC758 \uD480 \uB9AC\uD018\uC2A4\uD2B8 [{{- branchName}}]",success:"\uBE0C\uB79C\uCE58\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4 (\uC0C1\uD0DC: {{- branchStatus}}) - {{- repo.owner}}/{{- repo.repo}}"},upToDate:""},regex:{entry:"\uB300\uCCB4\uD560 \uAC12",replace:"\uAD50\uCCB4"},settings:{conversion:{dataview:{desc:`\uB370\uC774\uD130\uBDF0 \uCFFC\uB9AC\uB97C \uB9C8\uD06C\uB2E4\uC6B4\uC73C\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4.
\uB370\uC774\uD130\uBDF0\uC640 \uB0B4\uBD80 \uB9C1\uD06C \uBCC0\uD658\uC774 \uD65C\uC131\uD654\uB41C \uACBD\uC6B0\uC5D0\uB9CC \uC791\uB3D9\uD569\uB2C8\uB2E4.`,title:"\uB370\uC774\uD130\uBDF0"},desc:"\uC774 \uC635\uC158\uB4E4\uC740 Obsidian \uBCF4\uAD00\uC18C\uC758 \uD30C\uC77C \uB0B4\uC6A9\uC744 \uBCC0\uACBD\uD558\uC9C0 \uC54A\uC9C0\uB9CC, GitHub\uC758 \uD30C\uC77C \uB0B4\uC6A9\uC744 \uBCC0\uACBD\uD560 \uAC83\uC785\uB2C8\uB2E4.",hardBreak:{desc:"\uAC01 \uC904 \uB4A4\uC5D0 \uB9C8\uD06C\uB2E4\uC6B4 \uD558\uB4DC \uB77C\uC778 \uBE0C\uB808\uC774\uD06C (\uC774\uC911 \uACF5\uBC31) \uCD94\uAC00\uD558\uAE30.",title:"\uB9C8\uD06C\uB2E4\uC6B4\uC5D0\uC11C \uAC15\uC81C \uC904 \uBC14\uAFC8"},links:{anchor:{desc:"",title:""},desc:"\uD574\uB2F9 \uB178\uD2B8\uC758 \uD504\uB860\uD2B8\uB9E4\uD130\uC5D0 $t(settings.conversion.links.key) \uB97C \uCD94\uAC00\uD558\uC5EC \uD574\uB2F9 \uB178\uD2B8\uB85C\uC758 \uB9C1\uD06C \uBCC0\uD658\uC744 \uB9C9\uACE0 alt \uD14D\uC2A4\uD2B8(\uB610\uB294 \uD30C\uC77C \uC774\uB984)\uB97C \uC720\uC9C0\uD558\uC138\uC694",folderNote:{desc:"\uD30C\uC77C \uC774\uB984\uC744 \uC9C0\uC815\uB41C \uC774\uB984(default: index.md)\uC73C\uB85C \uBCC0\uACBD\uD569\uB2C8\uB2E4. \uC774\uB294 \uD574\uB2F9 \uD30C\uC77C\uC774 \uBD80\uBAA8 \uD3F4\uB354/\uCE74\uD14C\uACE0\uB9AC\uC640 \uAC19\uC740 \uC774\uB984\uC744 \uAC00\uC9C8 \uB54C \uC801\uC6A9\uB429\uB2C8\uB2E4 (\uB178\uD2B8\uAC00 \uD3F4\uB354 \uBC16\uC5D0 \uC788\uB294 \uACBD\uC6B0\uC5D0\uB3C4 \uB3D9\uC791\uD569\uB2C8\uB2E4).",title:"\uD3F4\uB354 \uB178\uD2B8"},internals:{dataview:"\uB370\uC774\uD130\uBDF0 \uBE14\uB7ED\uC5D0\uC11C \uB9C1\uD06C\uB97C \uBCC0\uD658\uD558\uB824\uBA74 \uD544\uC218\uC785\uB2C8\uB2E4!",desc:"\uB0B4\uBD80 \uB9C1\uD06C\uB97C \uC800\uC7A5\uC18C \uB0B4\uC758 \uD574\uB2F9 \uB9C1\uD06C(\uC0C1\uB300 \uB9C1\uD06C)\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4.",shareAll:"\uD504\uB860\uD2B8\uB9E4\uD130 \uC5C6\uC774\uB294 \uD30C\uC77C\uC758 \uACF5\uC720 \uC0C1\uD0DC\uB97C \uC54C \uC218 \uC5C6\uAE30 \uB54C\uBB38\uC5D0 '\uBAA8\uB450 \uACF5\uC720' \uC124\uC815\uC5D0 \uB300\uD55C \uBAA8\uB4E0 \uB9C1\uD06C\uB97C \uD3EC\uD568\uD569\uB2C8\uB2E4.",title:"\uB0B4\uBD80 \uB9C1\uD06C"},key:"<code>links: false</code>",nonShared:{desc:"\uB0B4\uBD80 \uB9C1\uD06C\uC640 \uAC19\uC740 \uC635\uC158\uC774\uC9C0\uB9CC \uC544\uC9C1 \uBC1C\uD589\uB418\uC9C0 \uC54A\uC740 \uB178\uD2B8\uC5D0 \uB300\uD574 \uC801\uC6A9\uB429\uB2C8\uB2E4. \uBE44\uD65C\uC131\uD654\uB418\uBA70, \uD30C\uC77C \uC774\uB984\uB9CC \uBCF4\uC874\uB429\uB2C8\uB2E4.",title:"\uBC1C\uD589\uB418\uC9C0 \uC54A\uC740 \uB178\uD2B8\uB97C \uAC00\uB9AC\uD0A4\uB294 \uB0B4\uBD80 \uB9C1\uD06C\uB97C \uBCC0\uD658\uD569\uB2C8\uB2E4"},relativePath:{desc:"",title:""},slugify:{desc:"\uB9C1\uD06C \uD45C\uC900\uD654: \uB9C1\uD06C\uB97C \uBCC0\uD658\uD558\uACE0 \uACF5\uBC31\uC744 \uD558\uC774\uD508\uC73C\uB85C \uB300\uCCB4\uD569\uB2C8\uB2E4.",disable:"\uBE44\uD65C\uC131\uD654",lower:"\uC18C\uBB38\uC790\uB85C \uBCC0\uD658",strict:"\uC5C4\uACA9 \uBAA8\uB4DC: \uB300\uBB38\uC790\uB098 \uD2B9\uC218 \uBB38\uC790\uAC00 \uC5C6\uB294 \uD14D\uC2A4\uD2B8\uC785\uB2C8\uB2E4. ",title:"\uB9C1\uD06C\uC758 \uC2AC\uB7EC\uADF8 \uC0DD\uC131"},textBefore:{desc:"",title:""},title:"\uB9C1\uD06C",unlink:{desc:"",title:""},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"\uB0B4\uC6A9 \uBCC0\uACBD \uC5C6\uC774 Wikilink\uB97C MDlink\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4.",title:"[[Wikilinks]]\uB97C [MDlinks]\uB85C(links)"}},sectionTitle:"\uBA54\uC778 \uD14D\uC2A4\uD2B8",tags:{desc:"\uC774\uAC83\uC740 \uC18D\uC131\uC774\uB098 \uB370\uC774\uD130\uBDF0 \uC778\uB77C\uC778 \uD544\uB4DC\uB97C \uC18D\uC131 \uD0DC\uADF8\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4. \uD544\uB4DC\uB294 \uC27C\uD45C\uB85C \uAD6C\uBD84\uD569\uB2C8\uB2E4.",exclude:{desc:"\uC774\uAC83\uC740 \uAC12\uC774 \uBCC0\uD658\uB418\uB294 \uAC83\uC5D0\uC11C \uC81C\uC678\uD569\uB2C8\uB2E4. \uD544\uB4DC\uB294 \uC27C\uD45C\uB85C \uAD6C\uBD84\uD569\uB2C8\uB2E4.",placeholder:"\uD544\uB4DC \uAC12",title:"\uBCC0\uD658\uC5D0\uC11C \uAC12\uC744 \uC81C\uC678\uD569\uB2C8\uB2E4"},inlineTags:{desc:"\uC778\uB77C\uC778 \uD0DC\uADF8\uB97C \uC18D\uC131 \uD0DC\uADF8 \uD544\uB4DC\uC5D0 \uCD94\uAC00\uD558\uACE0 '/'\uB97C '_'\uB85C \uB300\uCCB4\uD558\uC5EC \uC911\uCCA9\uB41C \uD0DC\uADF8\uB97C \uBCC0\uD658\uD569\uB2C8\uB2E4",title:"\uC778\uB77C\uC778 \uD0DC\uADF8"},title:"\uC18D\uC131/\uB370\uC774\uD130\uBDF0 \uD544\uB4DC\uB97C \uD0DC\uADF8\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4"},title:"\uB0B4\uC6A9"},embed:{attachment:"\uCCA8\uBD80\uD30C\uC77C",bake:{text:"\uC774 \uAE30\uB2A5\uC744 \uC0AC\uC6A9\uD558\uBA74 \uAC01 \uC784\uBCA0\uB4DC \uC55E\uB4A4\uC5D0 \uD14D\uC2A4\uD2B8\uB97C \uCD94\uAC00\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC608\uB97C \uB4E4\uC5B4 HTML\uC744 \uCD94\uAC00\uD558\uAC70\uB098 \uB9C8\uD06C\uB2E4\uC6B4\uC73C\uB85C \uBE14\uB85D\uC744 \uC2A4\uD0C0\uC77C\uB9C1\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",textAfter:{title:"\uBE14\uB85D \uB4A4\uC758 \uD14D\uC2A4\uD2B8"},textBefore:{title:"\uBE14\uB85D \uC55E\uC758 \uD14D\uC2A4\uD2B8"},title:"\uC784\uBCA0\uB4DC \uC124\uC815 \uD3EC\uD568",variable:{desc:"\uB2E4\uC74C \uBCC0\uC218\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:",title:": \uB178\uD2B8 \uC784\uBCA0\uB514\uB4DC \uC81C\uBAA9",url:": \uC784\uBCA0\uB514\uB4DC \uB178\uB4DC\uB85C\uC758 \uACBD\uB85C"},warning:"HTML\uC744 \uC0AC\uC6A9\uD558\uB294 \uACBD\uC6B0, \uD638\uC2A4\uD2B8 \uC124\uC815\uC5D0 \uB530\uB77C \uB9C8\uD06C\uB2E4\uC6B4\uC774 \uB9DD\uAC00\uC9C8 \uC218 \uC788\uC2B5\uB2C8\uB2E4."},char:{desc:"\uB9C1\uD06C \uC55E\uC5D0 \uCD94\uAC00\uD560 \uBB38\uC790.",title:"\uC784\uBCA0\uB514\uB4DC \uBB38\uC790"},defaultImageFolder:{desc:"\uAE30\uBCF8\uAC12\uACFC \uB2E4\uB978 \uD3F4\uB354\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74",title:"\uAE30\uBCF8 \uCCA8\uBD80 \uD3F4\uB354"},forcePush:{all:": \uBAA8\uB4E0 \uCCA8\uBD80\uD30C\uC77C\uC758 \uB300\uC0C1\uC744 \uBCC0\uACBD\uD558\uAC70\uB098 \uCCA8\uBD80\uD30C\uC77C\uC744 \uAC15\uC81C\uB85C \uC804\uC1A1\uD569\uB2C8\uB2E4.",default:": \uAE30\uBCF8 \uB300\uC0C1 \uACBD\uB85C\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.",desc:"",info:"\uAE30\uBCF8\uC801\uC73C\uB85C \uCCA8\uBD80 \uD30C\uC77C\uC740 \uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC804\uC1A1\uB41C \uC774\uD6C4 \uC218\uC815\uB418\uC5C8\uAC70\uB098 \uC800\uC7A5\uC18C\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uB294 \uACBD\uC6B0\uC5D0\uB9CC \uC804\uC1A1\uB429\uB2C8\uB2E4.",title:""},imagePath:{desc:"Obsidian \uD3F4\uB354 \uAD6C\uC870\uB97C \uC0AC\uC6A9\uD558\uAC70\uB098 \uC544\uB798\uC5D0 \uAE30\uBCF8 \uD3F4\uB354\uB97C \uAD6C\uC131\uD558\uC138\uC694",title:"\uAD6C\uC870"},links:{desc:"\uC784\uBCA0\uB4DC\uC758 \uB9C1\uD06C\uB97C \uD3B8\uC9D1\uD558\uC5EC \uC778\uC6A9 \uBD80\uBD84\uC744 \uC644\uC804\uD788 \uC81C\uAC70\uD558\uAC70\uB098 \uAC04\uB2E8\uD55C \uB9C1\uD06C\uB85C \uBCC0\uD658\uD560 \uC218 \uC788\uB3C4\uB85D \uD5C8\uC6A9\uD569\uB2C8\uB2E4",dp:{bake:"\uC784\uBCA0\uB514\uB4DC \uB0B4\uC6A9 \uD3EC\uD568",keep:"\uBCC0\uD654 \uC5C6\uC74C",links:"link\uB85C \uBCC0\uD658",remove:"link\uB97C \uC644\uC804\uD788 \uC0AD\uC81C"},title:"\uC784\uBCA0\uB4DC \uB9C8\uD06C\uC5C5 \uBCC0\uACBD"},notes:"\uC784\uBCA0\uB4DC \uB178\uD2B8",overrides:{desc:"\uD2B9\uC815 \uACBD\uB85C\uB85C \uCCA8\uBD80 \uD30C\uC77C\uC744 \uC804\uC1A1\uD558\uACE0 \uCCA8\uBD80 \uD30C\uC77C\uC744 \uAC15\uC81C\uB85C \uD478\uC2DC\uD560 \uC218 \uC788\uB3C4\uB85D \uD5C8\uC6A9\uD569\uB2C8\uB2E4.",modal:{dest:"\uB300\uC0C1",path:"\uACBD\uB85C \uB610\uB294 \uD655\uC7A5\uC790",title:"\uCCA8\uBD80 \uD30C\uC77C \uACBD\uB85C \uB36E\uC5B4\uC4F0\uAE30"}},sendSimpleLinks:{desc:"\uB2E8\uC21C \uB9C1\uD06C(\uCCA8\uBD80 \uD30C\uC77C \uD3EC\uD568)\uB85C \uC5F0\uACB0\uB41C \uD30C\uC77C\uC5D0 \uB2E4\uC74C \uC124\uC815\uC744 \uC801\uC6A9\uD569\uB2C8\uB2E4.",title:"\uC5F0\uACB0\uB41C \uD30C\uC77C\uB4E4\uC744 \uC804\uC1A1\uD569\uB2C8\uB2E4"},title:"\uCCA8\uBD80 \uD30C\uC77C & \uC784\uBCA0\uB4DC ",transferImage:{title:"\uCCA8\uBD80 \uD30C\uC77C \uC804\uC1A1"},transferMetaFile:{desc:"\uD30C\uC77C\uC744 \uC804\uC1A1\uD560 \uB54C \uC0AC\uC6A9\uD558\uB824\uB294 \uBA54\uD0C0\uB370\uC774\uD130 \uD544\uB4DC \uC774\uB984\uC744 \uC124\uC815\uD558\uC138\uC694. \uD544\uB4DC\uB294 \uC27C\uD45C\uB85C \uAD6C\uBD84\uD569\uB2C8\uB2E4. \uB370\uC774\uD130\uBDF0 \uC778\uB77C\uC778 \uD544\uB4DC\uB3C4 \uC9C0\uC6D0\uB429\uB2C8\uB2E4.",title:"\uBA54\uD0C0\uB370\uC774\uD130 \uD544\uB4DC\uB97C \uC0AC\uC6A9\uD558\uC5EC \uD30C\uC77C\uC744 \uC804\uC1A1\uD569\uB2C8\uB2E4"},transferNotes:{desc:"\uACF5\uC720 \uD30C\uC77C\uC5D0 \uC788\uB294 \uC784\uBCA0\uB514\uB4DC \uB178\uD2B8\uB4E4\uC744 GitHub\uB85C \uC804\uC1A1\uD569\uB2C8\uB2E4. \uACF5\uC720\uB41C \uD30C\uC77C\uB4E4\uB9CC \uC804\uC1A1\uB429\uB2C8\uB2E4!",title:"\uC784\uBCA0\uB514\uB4DC \uB178\uD2B8 \uC804\uC1A1"}},embeds:{unHandledObsidianExt:{desc:`\uD655\uC7A5\uC790\uB294 \uC27C\uD45C\uB85C \uAD6C\uBD84\uD558\uC138\uC694.
\uC815\uADDC\uC2DD\uC740 /\uB85C \uB458\uB7EC\uC2F8\uC5EC \uC788\uC744 \uB54C \uC9C0\uC6D0\uB429\uB2C8\uB2E4(\uC608: /\uC815\uADDC\uC2DD/).
\uB9C8\uCE68\uD45C\uB294 \uD3EC\uD568\uD558\uC9C0 \uB9C8\uC138\uC694!`,title:"Obsidian\uC5D0\uC11C \uAE30\uBCF8\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uD655\uC7A5\uC790\uB97C \uD5C8\uC6A9\uD569\uB2C8\uB2E4"}},github:{apiType:{desc:"GitHub API\uC640 GitHub Enterprise API \uC911 \uC120\uD0DD\uD558\uC138\uC694 (GitHub Enterprise \uC0AC\uC6A9\uC790 \uC804\uC6A9 \u2014 \uACE0\uAE09 \uC0AC\uC6A9\uC790!).",dropdown:{enterprise:"\uAE30\uC5C5",free:"\uBB34\uB8CC/\uD504\uB85C/\uD300 (\uAE30\uBCF8)"},hostname:{desc:"\uADC0\uD558\uC758 GibHub Enterprise \uC778\uC2A4\uD134\uC2A4\uC758 \uD638\uC2A4\uD2B8 \uC774\uB984.",title:"GitHub Enterprise \uD638\uC2A4\uD2B8 \uC774\uB984"},title:"API \uC720\uD615"},automaticallyMergePR:"\uC790\uB3D9\uC73C\uB85C \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uBCD1\uD569",branch:{desc:'"main" \uC774\uC678\uC758 \uB2E4\uB978 \uBE0C\uB79C\uCE58\uB97C \uC0AC\uC6A9\uD55C\uB2E4\uBA74',title:"\uBA54\uC778 \uBE0C\uB79C\uCE58"},dryRun:{enable:{desc:"GitHub \uD478\uC2DC\uC640 \uBAA8\uB4E0 \uB2E4\uB978 \uC791\uC5C5\uC744 \uBE44\uD65C\uC131\uD654\uD558\uACE0, \uC800\uC7A5\uC18C\uC5D0 \uD478\uC2DC\uB418\uAC70\uB098 \uC0AD\uC81C\uB420 \uD56D\uBAA9\uC744 \uD655\uC778\uD558\uAE30 \uC704\uD574 dry-run\uB9CC \uC218\uD589\uD569\uB2C8\uB2E4.",title:"\uD14C\uC2A4\uD2B8 \uBAA8\uB4DC"},folder:{desc:"{{owner}}, {{repo}}, \uBC0F {{branch}}\uB97C \uC0AC\uC6A9\uD558\uC5EC \uB3D9\uC801\uC73C\uB85C \uD3F4\uB354 \uC774\uB984\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.",error:"",title:"\uC800\uC7A5\uC18C\uAC00 \uC2DC\uBBAC\uB808\uC774\uC158\uB420 \uD3F4\uB354 (\uD14C\uC2A4\uD2B8 \uBAA8\uB4DC \uC804\uC6A9)"}},ghToken:{button:{configDir:": Obsidian\uC758 \uC124\uC815 \uD3F4\uB354",default:"\uAE30\uBCF8\uC801\uC73C\uB85C \uB2E4\uC74C \uC704\uCE58\uC5D0 \uC788\uC2B5\uB2C8\uB2E4:",description:"\uD1A0\uD070\uC774 \uC800\uC7A5\uB420 \uD30C\uC77C \uACBD\uB85C\uB97C \uC218\uC815\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",pluginID:": \uD50C\uB7EC\uADF8\uC778 \uC544\uC774\uB514",tooltip:"\uD1A0\uD070\uC744 \uD3EC\uD568\uD55C \uD30C\uC77C\uC758 \uACBD\uB85C\uB97C \uC218\uC815\uD569\uB2C8\uB2E4",variables:"\uB2E4\uC74C \uBCC0\uC218\uB4E4\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:"},desc:"\uC800\uC7A5\uC18C \uAD8C\uD55C\uC774 \uC788\uB294 GitHub \uD1A0\uD070\uC785\uB2C8\uB2E4. \uC774\uAC83\uC744 \uC0DD\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ",error:"\uD1A0\uD070\uC740 \uBE44\uC6CC\uB458 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!"},repoName:{desc:"\uBE14\uB85C\uADF8\uB97C \uC800\uC7A5\uD558\uB294 \uC800\uC7A5\uC18C\uC758 \uC774\uB984.",placeholder:"mkdocs \uD15C\uD50C\uB9BF",title:"\uC800\uC7A5\uC18C \uC774\uB984"},smartRepo:{button:"\uB354 \uB9CE\uC740 \uC800\uC7A5\uC18C \uAD00\uB9AC",modals:{default:'"default"\uB77C\uB294 \uC774\uB984\uC740 \uC8FC \uC124\uC815\uC744 \uC704\uD574 \uC608\uC57D\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.',desc:'"\uB2E4\uB978 \uC800\uC7A5\uC18C"\uB294 \uC544\uB798\uC5D0 \uCD94\uAC00\uB41C \uC800\uC7A5\uC18C\uC5D0\uC11C \uBAA8\uB4E0 \uBA85\uB839\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uAC8C \uD569\uB2C8\uB2E4.',duplicate:"\uC2A4\uB9C8\uD2B8 \uD0A4\uB294 \uACE0\uC720\uD574\uC57C \uD569\uB2C8\uB2E4!",empty:"\uC2A4\uB9C8\uD2B8 \uD0A4\uB294 \uBE44\uC6CC\uB458 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",frontmatterInfo:'\uC2A4\uB9C8\uD2B8 \uD0A4\uC640 \uD568\uAED8 "shortRepo" \uC18D\uC131 \uD0A4\uB97C \uC0AC\uC6A9\uD558\uBA74 \uD30C\uC77C\uC5D0\uC11C \uD574\uB2F9 \uC800\uC7A5\uC18C\uC758 \uACBD\uB85C\uB97C \uC4F0\uC9C0 \uC54A\uACE0\uB3C4 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.',newRepo:"\uC0C8\uB85C\uC6B4 \uC800\uC7A5\uC18C",otherConfig:"\uAE30\uD0C0 \uC124\uC815",shortcuts:{desc:"\uC774 \uC800\uC7A5\uC18C\uC758 \uBAA8\uB4E0 \uBA85\uB839\uC744 \uBA85\uB839 \uD314\uB808\uD2B8\uC5D0 \uCD94\uAC00\uD569\uB2C8\uB2E4",title:"\uB2E8\uCD95\uD0A4"},title:"\uAE30\uD0C0 \uC800\uC7A5\uC18C \uAD00\uB9AC"}},testConnection:"\uD14C\uC2A4\uD2B8 \uC5F0\uACB0",title:"GitHub \uC124\uC815",username:{desc:"GitHub\uC5D0\uC11C \uC800\uC7A5\uC18C\uB97C \uD638\uC2A4\uD305\uD558\uB294 \uC0AC\uC6A9\uC790 \uC774\uB984 \uB610\uB294 \uC870\uC9C1 \uC774\uB984",title:"GitHub \uC0AC\uC6A9\uC790 \uC774\uB984"}},githubWorkflow:{autoCleanUp:{desc:"\uAC8C\uC2DC\uB97C \uC911\uC9C0\uD558\uAC70\uB098 \uC0AD\uC81C\uD55C \uD30C\uC77C\uC744 GitHub\uC5D0\uC11C \uC81C\uAC70\uD569\uB2C8\uB2E4",popup:{desc:"{{- what}}\uC758 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC744 \uB54C \uC790\uB3D9 \uC815\uB9AC\uB97C \uD65C\uC131\uD654\uD558\uBA74 \uD15C\uD50C\uB9BF, \uC6CC\uD06C\uD50C\uB85C\uC6B0, \uC544\uC774\uCF58 \uB610\uB294 README\uB97C \uD3EC\uD568\uD55C \uC800\uC7A5\uC18C \uB0B4 \uBAA8\uB4E0 \uD30C\uC77C\uC774 \uC0AD\uC81C\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",exclude:`\uC800\uC7A5\uC18C\uC5D0 \uD544\uC694\uD55C \uD30C\uC77C\uACFC \uD3F4\uB354\uB97C \uC81C\uC678\uC2DC\uD0A4\uB294 \uAC83\uC744 \uC78A\uC9C0 \uB9C8\uC138\uC694.
\uB610\uD55C GitHub\uC758 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uC2DC\uC2A4\uD15C\uC5D0 \uC758\uD574 \uC0AD\uC81C\uB41C \uD30C\uC77C\uC740 \uC5B8\uC81C\uB4E0\uC9C0 \uB418\uB3CC\uB9B4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`,sure:"\uC774 \uAE30\uB2A5\uC744 \uD65C\uC131\uD654\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",title:"\uC790\uB3D9 \uC815\uB9AC \uAE30\uB2A5 \uD65C\uC131\uD654"},title:"\uC790\uB3D9 \uC815\uB9AC \uAE30\uB2A5"},excludedFiles:{desc:"\uC790\uB3D9 \uC815\uB9AC\uC5D0\uC11C \uD2B9\uC815 \uD3F4\uB354\uB098 \uD30C\uC77C\uC744 \uC81C\uC678\uD558\uB824\uBA74 \uC5EC\uAE30\uC5D0 \uCD94\uAC00\uD558\uC138\uC694. \uBB38\uC790\uC5F4\uC744 '/'\uB85C \uB458\uB7EC\uC2F8\uBA74 \uC815\uADDC\uC2DD\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uD30C\uC77C\uC740 \uC27C\uD45C\uB85C \uAD6C\uBD84\uD569\uB2C8\uB2E4.",title:"\uC81C\uC678\uB41C \uD30C\uC77C\uACFC \uD3F4\uB354"},githubAction:{desc:'\uD50C\uB7EC\uADF8\uC778\uC774 \uD30C\uC77C\uC744 \uD478\uC2DC\uD560 \uB54C GitHub \uC561\uC158\uC744 \uD65C\uC131\uD654\uD558\uB824\uBA74 \uD30C\uC77C \uC774\uB984\uC744 \uC124\uC815\uD558\uC138\uC694 (.github/workflows \uD3F4\uB354 \uB0B4\uC5D0\uC11C). "workflow_dispatch" \uC774\uBCA4\uD2B8\uB97C \uAC16\uB294 \uC6CC\uD06C\uD50C\uB85C\uC6B0\uB9CC \uD2B8\uB9AC\uAC70\uB429\uB2C8\uB2E4.',title:"GitHub \uC561\uC158 \uC774\uB984"},includeAttachments:{desc:"\uCCA8\uBD80 \uD30C\uC77C\uB3C4 \uB2E4\uB978 \uB178\uD2B8\uC640 \uD568\uAED8 \uC790\uB3D9\uC73C\uB85C \uC815\uB9AC\uB429\uB2C8\uB2E4.",title:"\uCCA8\uBD80 \uD30C\uC77C\uC758 \uC790\uAC00 \uC815\uB9AC"},prRequest:{desc:"\uD480 \uB9AC\uD018\uC2A4\uD2B8\uAC00 \uBCD1\uD569\uB420 \uB54C \uC804\uC1A1\uB418\uB294 \uBA54\uC2DC\uC9C0\uC785\uB2C8\uB2E4. \uD56D\uC0C1 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uBC88\uD638\uAC00 \uB4A4\uC5D0 \uBD99\uC2B5\uB2C8\uB2E4.",error:"\uC5EC\uAE30\uC5D0 \uBE48 \uBB38\uC790\uC5F4\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",title:"\uCEE4\uBC0B \uBA54\uC2DC\uC9C0"},useMetadataExtractor:{desc:"\uC774 \uD3F4\uB354\uC5D0\uC11C \uBA54\uD0C0\uB370\uC774\uD130 \uCD94\uCD9C \uD50C\uB7EC\uADF8\uC778\uC5D0 \uC758\uD574 \uC0DD\uC131\uB41C \uD30C\uC77C\uC744 \uC804\uC1A1\uD569\uB2C8\uB2E4.",title:"\uBA54\uD0C0\uB370\uC774\uD130 \uCD94\uCD9C \uD30C\uC77C"}},help:{frontmatter:{attachment:{folder:"\uCCA8\uBD80 \uD30C\uC77C\uC758 \uAE30\uBCF8 \uD3F4\uB354 \uBCC0\uACBD",send:"\uBAA8\uB4E0 \uCCA8\uBD80 \uD30C\uC77C\uC744 GitHub\uC5D0 \uBCF4\uB0B4\uAE30"},autoclean:"\uC790\uB3D9 \uC815\uB9AC \uAE30\uB2A5 \uBE44\uD65C\uC131\uD654 \uB610\uB294 \uD65C\uC131\uD654",baselink:{desc:"\uB9C1\uD06C \uBCF5\uC0AC \uBA85\uB839\uC758 \uAE30\uBCF8 \uB9C1\uD06C\uB97C \uBCC0\uACBD\uD558\uACE0, \uB9C1\uD06C \uAD50\uCCB4\uAE30 \uBD80\uBD84\uC744 \uBE44\uD65C\uC131\uD654\uD569\uB2C8\uB2E4. \uC774\uB984\uACFC \uD568\uAED8 \uC18D\uC131 \uAC1D\uCCB4\uB85C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4 ",remove:"\uB9C1\uD06C\uC758 \uC77C\uBD80\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4. \uBAA9\uB85D \uD615\uC2DD\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4!"},convert:{enableOrDisable:"\uB9C1\uD06C\uC758 \uBCC0\uD658\uC744 \uD65C\uC131\uD654 \uB610\uB294 \uBE44\uD65C\uC131\uD654 \uD569\uB2C8\uB2E4. \uC774\uAC83\uC744 \uBE44\uD65C\uC131\uD654 \uD558\uB294 \uAC83\uC740 ...\uB97C \uC81C\uAC70\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4",syntax:"\uD30C\uC77C \uC774\uB984 \uB610\uB294 \uB300\uCCB4 \uD14D\uC2A4\uD2B8\uB294 \uC720\uC9C0\uD558\uBA74\uC11C \uAD6C\uBB38."},dataview:"\uB370\uC774\uD130 \uBDF0 \uCFFC\uB9AC\uB97C \uB9C8\uD06C\uB2E4\uC6B4\uC73C\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4.",desc:"\uB610\uD55C, \uC6CC\uD06C\uD50C\uB85C\uC6B0\uC5D0 \uC720\uC6A9\uD560 \uC218 \uC788\uB294 \uBA87 \uAC00\uC9C0 \uC18D\uC131 \uD0A4\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uC544\uB798 \uCF54\uB4DC\uB294 \uAE30\uBCF8 \uC124\uC815\uC744 \uBCF4\uC5EC\uC8FC\uC9C0\uB9CC, \uAC01 \uB178\uD2B8\uC5D0\uC11C \uD544\uC694\uC5D0 \uB9DE\uAC8C \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!",embed:{char:'\uC784\uBCA0\uB4DC\uB41C \uB9C1\uD06C \uC55E\uC5D0 \uBB38\uC790\uB97C \uCD94\uAC00\uD569\uB2C8\uB2E4. "remove"\uB97C "link"\uB85C \uC124\uC815\uD55C \uACBD\uC6B0\uC5D0\uB9CC \uC0AC\uC6A9\uB429\uB2C8\uB2E4.',remove:{bake:"\uC784\uBCA0\uB4DC\uC758 \uB0B4\uC6A9\uC744 \uD3EC\uD568\uD569\uB2C8\uB2E4 (\uBE14\uB85D, \uC81C\uBAA9 \uBC0F \uC804\uCCB4 \uD30C\uC77C \uC9C0\uC6D0)",desc:"\uC784\uBCA0\uB4DC\uB41C \uD30C\uC77C \uB9C1\uD06C\uC758 \uBAA8\uC591\uC744 \uC218\uC815\uD569\uB2C8\uB2E4. \uB2E4\uC74C \uAC12\uB4E4\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:",keep:"Obsidian\uC5D0 \uADF8\uB300\uB85C \uB0A8\uACA8\uB450\uC138\uC694",links:'\uB9C1\uD06C\uB85C \uBCC0\uD658("!"\uB97C \uC0AD\uC81C \uB610\uB294 \uC218\uC815)',remove:"\uC778\uC6A9 \uBD80\uBD84\uC744 \uC644\uC804\uD788 \uC0AD\uC81C\uD558\uACE0 \uBE48 \uC904\uC744 \uB0A8\uAE41\uB2C8\uB2E4"},send:"\uC784\uBCA0\uB4DC\uB41C \uB178\uD2B8\uB97C GitHub\uC5D0 \uC804\uC1A1\uD569\uB2C8\uB2E4"},hardBreak:"\uBAA8\uB4E0 \uC904\uBC14\uAFC8\uC744 \uB9C8\uD06C\uB2E4\uC6B4 \xAB\uD558\uB4DC \uBE0C\uB808\uC774\uD06C\xBB\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4.",includeLinks:"\uC77C\uBC18 \uB9C1\uD06C\uB85C \uC5F0\uACB0\uB41C \uD30C\uC77C\uB4E4\uC744 \uC804\uC1A1\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4",internals:"\uB0B4\uBD80 \uB9C1\uD06C\uB97C \uC6F9\uC0AC\uC774\uD2B8\uC758 \uC0C1\uB300 \uACBD\uB85C\uC5D0 \uD574\uB2F9\uD558\uB294 \uB9C1\uD06C\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4. \uBE44\uD65C\uC131\uD654\uD558\uBA74 \uD50C\uB7EC\uADF8\uC778\uC774 \uB0B4\uBD80 \uB9C1\uD06C\uB97C \uADF8\uB300\uB85C \uC720\uC9C0\uD569\uB2C8\uB2E4.",mdlinks:"\uBAA8\uB450 \uBCC0\uD658 ",nestedKey:'\uB610\uD55C "\uC810" \uAD6C\uBB38\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC911\uCCA9\uB41C \uD0A4\uB97C \uB098\uD0C0\uB0B4\uB294 \uAC83\uB3C4 \uAC00\uB2A5\uD569\uB2C8\uB2E4. ',nonShared:"\uB0B4\uBD80 \uB9C1\uD06C\uB97C \uACF5\uC720\uB418\uC9C0 \uC54A\uC740 \uD30C\uC77C\uC758 \uACBD\uC6B0 \uC6F9\uC0AC\uC774\uD2B8\uC758 \uC0C1\uB300 \uACBD\uB85C\uC5D0 \uD574\uB2F9\uD558\uB294 \uB9C1\uD06C\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4. \uBE44\uD65C\uC131\uD654\uD558\uBA74 \uD50C\uB7EC\uADF8\uC778\uC774 \uD30C\uC77C \uC774\uB984\uC744 \uC720\uC9C0\uD569\uB2C8\uB2E4.",path:"\uC774 \uD0A4\uB97C \uC0AC\uC6A9\uD558\uC5EC \uBAA8\uB4E0 \uACBD\uB85C \uC124\uC815\uC744 \uC7AC\uC815\uC758\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uACBD\uB85C\uB294 \uADC0\uD558\uC758 \uC800\uC7A5\uC18C \uB8E8\uD2B8\uC5D0 \uB530\uB77C \uB2EC\uB77C\uC9D1\uB2C8\uB2E4.",repo:{branch:"\uC800\uC7A5\uC18C\uC758 \uBE0C\uB79C\uCE58",desc:"\uB178\uD2B8\uC758 \uAE30\uBCF8 \uC800\uC7A5\uC18C\uB97C \uBCC0\uACBD\uD569\uB2C8\uB2E4.",owner:"\uC800\uC7A5\uC18C\uC758 \uC18C\uC720\uC790"},share:{other:"\uB610 \uB2E4\uB978 'shareKey'\uB97C \uC0AC\uC6A9\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4. \uC774\uB294 \xAB \uAE30\uD0C0 \uC800\uC7A5\uC18C \uAD00\uB9AC \xBB\uC5D0\uC11C \uC124\uC815\uD55C \uD0A4\uB97C \uAE30\uBC18\uC73C\uB85C \uD558\uBA70, \uC5EC\uB7EC \uC800\uC7A5\uC18C\uB97C \uAD6C\uBD84\uD558\uB294 \uB370 \uB3C4\uC6C0\uC744 \uC90D\uB2C8\uB2E4. \uC8FC\uC694 \uD0A4\uC640 \uBCF4\uC870 \uD0A4\uAC00 \uBAA8\uB450 \uC0AC\uC6A9\uB420 \uACBD\uC6B0, \uC8FC\uC694 \uC800\uC7A5\uC18C\uAC00 \uC6B0\uC120\uC801\uC73C\uB85C \uC0AC\uC6A9\uB429\uB2C8\uB2E4.",title:"\uC774 \uD0A4\uB294 \uB178\uD2B8\uB97C \uD50C\uB7EC\uADF8\uC778\uACFC \uACF5\uC720\uD558\uAE30 \uC704\uD574 \uC0AC\uC6A9\uB429\uB2C8\uB2E4."},shortRepo:"\uAE30\uD0C0 \uC800\uC7A5\uC18C \uC124\uC815\uC5D0\uC11C \uC124\uC815\uD55C \uC800\uC7A5\uC18C \uC911 \uD558\uB098\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",title:"\uC18D\uC131 \uD0A4 \uCE58\uD2B8\uC2DC\uD2B8",titleKey:"\uB178\uD2B8\uC758 \uC81C\uBAA9\uC744 \uBCC0\uACBD\uD569\uB2C8\uB2E4.",unlink:""},multiRepoHelp:{desc:"\uC5EC\uB7EC \uC800\uC7A5\uC18C\uC5D0 \uB178\uD2B8\uB97C \uC804\uC1A1\uD558\uACE0 \uD558\uB824\uBA74, \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4 ",desc2:"\uC18D\uC131 \uB0B4\uC758 \uD0A4. \uC774 \uD0A4\uC758 \uAC12\uC740 \uC800\uC7A5\uC18C \uBAA9\uB85D\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. \uAC01 \uC800\uC7A5\uC18C\uB294 \uB2E4\uC74C\uACFC \uAC19\uC740 \uD0A4\uB97C \uAC00\uC838\uC57C \uD569\uB2C8\uB2E4: ",exampleDesc:"\uC544\uB798\uC758 \uCF54\uB4DC\uB294 \uADC0\uD558\uC758 \uC124\uC815\uC744 \uAE30\uBC18\uC73C\uB85C \uD55C \uC608\uC2DC\uB97C \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.",title:"\uC5EC\uB7EC \uC800\uC7A5\uC18C\uC5D0 \uC804\uC1A1"},title:"\uB3C4\uC6C0",usefulLinks:{discussion:"\uD1A0\uB860",documentation:"\uBB38\uC11C",issue:"\uBB38\uC81C \uBCF4\uACE0",title:"\uC720\uC6A9\uD55C \uB9C1\uD06C",translation:"\uBC88\uC5ED \uB3C4\uC6C0"}},plugin:{copyLink:{applyRegex:{desc:'\uC815\uADDC\uC2DD\uC744 \uC0AC\uC6A9\uD558\uAE30 \uC704\uD574 "/" \uC0AC\uC774\uC5D0 \uBB36\uC2B5\uB2C8\uB2E4 (\uC608: /\uC815\uADDC\uC2DD/).',title:"URL\uC5D0 \uD14D\uC2A4\uD2B8 \uBCC0\uD658\uC744 \uCD94\uAC00\uD569\uB2C8\uB2E4"},baselink:{desc:"\uADC0\uD558\uC758 \uC6F9\uC0AC\uC774\uD2B8\uC758 \uAE30\uBCF8 \uB9C1\uD06C\uC785\uB2C8\uB2E4. \uAE30\uBCF8\uAC12: https://username.github.io/repo/",title:"\uAE30\uBCF8 \uB9C1\uD06C"},command:{desc:"\uB178\uD2B8 \uB9C1\uD06C\uB97C \uBCF5\uC0AC\uD558\uB294 \uBA85\uB839\uC744 \uCD94\uAC00\uD569\uB2C8\uB2E4 (\uD50C\uB7EC\uADF8\uC778\uC744 \uB2E4\uC2DC \uB85C\uB4DC\uD574\uC57C \uC801\uC6A9\uB429\uB2C8\uB2E4)"},desc:"\uB178\uD2B8 \uB9C1\uD06C\uB97C \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uD569\uB2C8\uB2E4",linkPathRemover:{desc:"\uC0DD\uC131\uB41C \uB9C1\uD06C\uC758 \uC774 \uBD80\uBD84\uC744 \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uC5EC\uB7EC \uAC12\uC774\uBA74 \uC27C\uD45C\uB85C \uAD6C\uBD84\uD569\uB2C8\uB2E4.",title:"\uB9C1\uD06C\uC758 \uC77C\uBD80\uBD84\uC744 \uC0AD\uC81C\uD569\uB2C8\uB2E4"},title:"\uB9C1\uD06C \uBCF5\uC0AC",toUri:{desc:"\uB9C1\uD06C\uB97C URI\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4 (\uD37C\uC13C\uD2B8 \uC778\uCF54\uB529\uC73C\uB85C \uB300\uCCB4)",title:"URI\uB85C \uC778\uCF54\uB529"}},dev:{desc:"\uACE0\uAE09 \uC0AC\uC6A9\uC790 \uC804\uC6A9\uC785\uB2C8\uB2E4. \uC774\uB294 \uC774\uC804 \uC124\uC815\uC5D0 \uB530\uB77C \uC54C\uB9BC\uC73C\uB85C \uD45C\uC2DC\uB429\uB2C8\uB2E4.",title:"\uAC1C\uBC1C\uC790 \uB85C\uADF8 \uD45C\uC2DC"},editorMenu:{desc:"\uC624\uB978\uCABD \uD074\uB9AD \uBA54\uB274\uC5D0 \uACF5\uC720 \uBA85\uB839\uC744 \uCD94\uAC00\uD569\uB2C8\uB2E4",title:"\uD3B8\uC9D1\uC790 \uBA54\uB274"},embedEditRepo:{desc:"\uC0C8 \uBC84\uC804\uC758 \uCC28\uC774\uC810\uC744 \uBCF4\uC5EC\uC8FC\uB294 \uBAA8\uB2EC\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4",title:"\uC5B4\uB5A4 \uD30C\uC77C\uC774 \uC5C5\uB85C\uB4DC \uC774\uD6C4 \uC218\uC815, \uCD94\uAC00 \uB610\uB294 \uC0AD\uC81C\uB418\uC5C8\uB294\uC9C0 \uBCF4\uC5EC\uC90D\uB2C8\uB2E4"},excludedFolder:{desc:"\uACF5\uC720 \uD0A4\uC640 \uC0C1\uAD00\uC5C6\uC774 \uC774 \uD3F4\uB354\uC5D0\uC11C \uD30C\uC77C\uC744 \uAC8C\uC2DC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB354 \uB9CE\uC740 \uC815\uBCF4\uB97C \uC704\uD574 \uBB38\uC11C\uB97C \uC77D\uC5B4\uBCF4\uC138\uC694.",title:"\uC81C\uC678\uB41C \uD3F4\uB354"},fileMenu:{desc:"\uD30C\uC77C \uBA54\uB274\uC5D0\uC11C \uACF5\uC720\uB41C \uBA85\uB839\uC744 \uCD94\uAC00\uD569\uB2C8\uB2E4",title:"\uD30C\uC77C \uBA54\uB274"},head:{copyLinks:"\uB9C1\uD06C \uC0DD\uC131&\uBCF5\uC0AC",log:"\uB85C\uADF8",menu:"\uBA54\uB274",other:"\uAE30\uD0C0",share:"\uC124\uC815 \uACF5\uC720"},logNoticeHeader:{desc:"\uBAA8\uBC14\uC77C\uC5D0\uC11C\uB294 \uD50C\uB7EC\uADF8\uC778\uC744 \uB514\uBC84\uAE45\uD558\uAE30 \uC5B4\uB824\uC6B8 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uBAA8\uB4E0 \uC624\uB958\uB97C \uC54C\uB9BC\uC73C\uB85C \uAE30\uB85D\uD558\uAE30 \uC704\uD574 \uC774 \uC635\uC158\uC744 \uD65C\uC131\uD654\uD558\uC138\uC694.",title:"\uBAA8\uB4E0 \uC624\uB958\uB97C \uC54C\uB9BD\uB2C8\uB2E4"},noticeLength:{desc:"",error:"",title:""},saveTab:{desc:"\uC774\uC804\uC5D0 \uC0AC\uC6A9\uB418\uB358 \uD0ED\uC758 \uC124\uC815\uC744 \uB2E4\uC2DC \uC5F4 \uC218 \uC788\uC2B5\uB2C8\uB2E4",title:"\uD0ED \uC800\uC7A5"},set:{desc:"\uD30C\uC77C\uC758 \uC18D\uC131\uC744 \uB2E4\uB978 \uD30C\uC77C\uC5D0 \uB9C1\uD06C\uD558\uB824\uBA74 \uB9E4\uBC88 \uC4F0\uC9C0 \uC54A\uACE0\uB3C4 \uC0AC\uC6A9\uD560 \uC18D\uC131 \uD0A4\uB97C \uC120\uD0DD\uD558\uC138\uC694. \uC774\uB294 \uD504\uB860\uD2B8\uB9E4\uD130\uC5D0\uC11C \uC704\uD0A4\uB9C1\uD06C\uB85C \uC5F0\uACB0\uB41C \uD30C\uC77C\uC5D0\uB9CC \uC791\uB3D9\uD569\uB2C8\uB2E4.",title:"\uC635\uC158 \uC138\uD2B8"},setImport:{desc:"\uD30C\uC77C\uC758 \uD504\uB860\uD2B8\uB9E4\uD130\uC5D0\uC11C \uC635\uC158 \uC138\uD2B8\uB97C \uAC00\uC838\uC635\uB2C8\uB2E4",title:"\uC635\uC158 \uADF8\uB8F9\uC744 \uAC00\uC838\uC635\uB2C8\uB2E4"},shareKey:{all:{desc:"\uB178\uD2B8\uC758 \uACF5\uC720 \uD0A4 \uC0C1\uD0DC\uC640 \uAD00\uACC4\uC5C6\uC774 \uBAA8\uB4E0 \uD30C\uC77C\uC744 \uACF5\uC720\uD569\uB2C8\uB2E4",title:"\uBAA8\uB4E0 \uD30C\uC77C \uACF5\uC720"},desc:"\uC6F9\uC0AC\uC774\uD2B8\uC5D0 \uD30C\uC77C\uC744 \uAC8C\uC2DC\uD560 YAML \uD504\uB860\uD2B8\uB9E4\uD130 \uD0A4\uC785\uB2C8\uB2E4. \uAE30\uBCF8\uAC12\uC740 `share`\uC785\uB2C8\uB2E4.",excludedFileName:{title:"...\uB85C \uC2DC\uC791\uD558\uB294 \uD30C\uC77C\uC740 \uC81C\uC678\uD569\uB2C8\uB2E4"},otherRepo:"\uB610\uD55C shortRepo \uD0A4\uB97C \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uACE0 \uB2E4\uB978 \uAC83\uACFC \uAD6C\uBD84\uD558\uAE30 \uC704\uD574 \uACF5\uC720 \uD0A4\uB97C \uC815\uC758\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4.",title:"\uACF5\uC720 \uD0A4"},title:"\uD50C\uB7EC\uADF8\uC778 \uC124\uC815"},regexReplacing:{empty:"\uC804\uCCB4 \uBB38\uC790\uC5F4\uC744 \uC0AD\uC81C\uD558\uB824\uBA74 \uB300\uCCB4 \uBB38\uC790\uC5F4\uC744 \uBE44\uC6CC\uB458 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",emptyRegex:"\uB300\uCCB4 \uAC12\uC740 \uBE44\uC6CC\uB458 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",forbiddenValue:"{{- what}}\uC740 \uBB38\uC790\uB97C \uD3EC\uD568\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: {{- forbiddenChar}}",inCodeBlocks:{runIn:"\uCF54\uB4DC \uBE14\uB7ED\uC5D0\uC11C \uC2E4\uD589\uB428",runOut:"\uCF54\uB4DC \uBE14\uB7ED\uC5D0\uC11C \uC2E4\uD589\uB418\uC9C0 \uC54A\uC74C"},invalidRegex:"\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4: {{- e}}",modal:{desc:'\uC9C0\uC815\uB41C \uAC12\uC73C\uB85C \uD30C\uC77C\uC758 \uD14D\uC2A4\uD2B8\uB97C \uB300\uCCB4\uD569\uB2C8\uB2E4. \uC815\uADDC \uD45C\uD604\uC2DD\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uD14D\uC2A4\uD2B8\uB97C "/"\uB85C \uAC10\uC2F8\uC138\uC694 (\uC608: /regex/).',force:"\uAC15\uC81C \uD478\uC2DC",keywords:"\uD0A4\uC6CC\uB4DC",name:": \uD30C\uC77C \uC774\uB984\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4.",title:{all:"\uD3F4\uB354 \uACBD\uB85C & \uD30C\uC77C\uBA85 \uAD50\uCCB4\uAE30",only:"\uD30C\uC77C \uC774\uB984 \uAD50\uCCB4",text:"\uD14D\uC2A4\uD2B8 \uAD50\uCCB4\uAE30"}},momentReplaceRegex:"\uB2E4\uB978 \uD50C\uB7EC\uADF8\uC778 \uBCC0\uD658(dataview, \uB0B4\uBD80 \uB9C1\uD06C \uB4F1) {{- moment}}\uC5D0 \uAD50\uCCB4 \uC791\uC5C5 \uC2E4\uD589",warningPath:'\uACBD\uACE0! "/" \uBB38\uC790\uB97C \uC0AC\uC6A9\uD558\uBA74 \uACBD\uB85C\uAC00 \uC218\uC815\uB418\uBBC0\uB85C, \uC774 \uC635\uC158\uC744 \uC0AC\uC6A9\uD560 \uB54C \uC8FC\uC758\uD558\uC138\uC694.'},upload:{defaultFolder:{desc:"\uAE30\uBCF8 \uC218\uC2E0 \uD3F4\uB354\uB97C \uC124\uC815\uD569\uB2C8\uB2E4. \uBE44\uC6CC \uB450\uBA74 \uC800\uC7A5\uC18C\uC758 \uB8E8\uD2B8\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.",placeholder:"\uBB38\uC11C",title:"\uAE30\uBCF8 \uD3F4\uB354"},folderBehavior:{desc:"\uC18D\uC131 \uD0A4, \uACE0\uC815 \uD3F4\uB354 \uB610\uB294 Obsidian \uD30C\uC77C \uD2B8\uB9AC\uB97C \uC0AC\uC6A9\uD558\uC5EC \uC800\uC7A5\uC18C\uC5D0\uC11C \uD30C\uC77C \uD2B8\uB9AC\uB97C \uC120\uD0DD\uD569\uB2C8\uB2E4.",fixedFolder:"\uACE0\uC815\uB41C \uD3F4\uB354",obsidianPath:"Obsidian \uACBD\uB85C",title:"\uC800\uC7A5\uC18C\uC758 \uD30C\uC77C \uD2B8\uB9AC",yaml:"\uC18D\uC131 \uD0A4"},folderNote:{addTitle:{key:'"title" \uC678\uC758 \uD0A4\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4',title:'\uD30C\uC77C \uC774\uB984\uC73C\uB85C "title" \uD0A4\uB97C \uC790\uB3D9\uC73C\uB85C \uCD94\uAC00\uD569\uB2C8\uB2E4'}},frontmatterKey:{desc:"\uD3F4\uB354\uC758 \uAC12\uC744 \uAC00\uC838\uC62C \uD0A4\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.",placeholder:"\uCE74\uD14C\uACE0\uB9AC",title:"\uC18D\uC131 \uD0A4"},regexFilePathTitle:{desc:'\uD14D\uC2A4\uD2B8\uAC00 "/"\uB85C \uB458\uB7EC\uC2F8\uC778 \uACBD\uC6B0 (\uC608: /regex/), \uC815\uADDC \uD45C\uD604\uC2DD\uC73C\uB85C \uC0AC\uC6A9\uB429\uB2C8\uB2E4. \uADF8\uB807\uC9C0 \uC54A\uC73C\uBA74 \uBB38\uC790\uC5F4\uB85C \uC0AC\uC6A9\uB429\uB2C8\uB2E4.',title:{FolderPathTitle:"\uD3F4\uB354 \uACBD\uB85C\uB098 \uD30C\uC77C\uBA85\uC5D0 \uD3B8\uC9D1\uC744 \uC801\uC6A9\uD569\uB2C8\uB2E4 (\uC790\uB3D9\uC73C\uB85C)",titleOnly:"\uD30C\uC77C\uBA85\uC5D0 \uD3B8\uC9D1\uC744 \uC801\uC6A9\uD569\uB2C8\uB2E4(\uC790\uB3D9\uC73C\uB85C)"}},rootFolder:{desc:"\uC774 \uACBD\uB85C\uB97C \uC18D\uC131 \uD0A4\uB85C \uC124\uC815\uB41C \uD3F4\uB354\uC5D0 \uCD94\uAC00\uD569\uB2C8\uB2E4",other:"\uC774 \uD3F4\uB354\uB97C \uC800\uC7A5\uC18C \uB0B4\uC758 \uB8E8\uD2B8\uB85C \uC0AC\uC6A9\uD569\uB2C8\uB2E4 (\uAC01 \uACBD\uB85C\uB294 \uC774 \uD3F4\uB354 \uC55E\uC5D0 \uCD94\uAC00\uB429\uB2C8\uB2E4).",title:"\uB8E8\uD2B8 \uD3F4\uB354"},title:"\uD30C\uC77C \uACBD\uB85C",useFrontmatterTitle:{desc:'\uC18D\uC131 \uAC12\uC73C\uB85C \uD30C\uC77C \uC774\uB984\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4. \uAE30\uBCF8\uC801\uC73C\uB85C "title"\uC774 \uC0AC\uC6A9\uB429\uB2C8\uB2E4. ',title:"\uD30C\uC77C \uC774\uB984\uC758 \uAC12\uC744 \uAC00\uC838\uC62C \uD0A4\uB97C \uC124\uC815\uD569\uB2C8\uB2E4"}}},statusBar:{counter:"{{- msg}}: {{- counter}}/{{- nb}}",loading:"\uB85C\uB529 \uC911\u2026",main:"",markedForSharing:"\uACF5\uC720\uD560 {{- nb}} {{- type}}",sharing:"{{- type}} \uACF5\uC720",success:"{{- type}} {{- action}}"}};var ru_default={commands:{checkValidity:{error:"\u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u0430\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F",errorToken:"",inBranch:{error403:"\u041E\u0448\u0438\u0431\u043A\u0430 403: {{- repo.owner}}/{{- repo.repo}} \u0431\u044B\u043B \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0451\u043D \u043D\u0430\u0432\u0441\u0435\u0433\u0434\u0430 (\u0438\u0437 {{- repo.branch}}).",error404:"\u041E\u0448\u0438\u0431\u043A\u0430 404: \u0412\u0435\u0442\u043A\u0430 {{- repo.branch}} \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 {{- repo.owner}}/{{- repo.repo}}."},inRepo:{error301:"\u041E\u0448\u0438\u0431\u043A\u0430 301: {{- repo.owner}}/{{- repo.repo}} \u0431\u044B\u043B \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0451\u043D \u043D\u0430\u0432\u0441\u0435\u0433\u0434\u0430.",error403:"\u041E\u0448\u0438\u0431\u043A\u0430 403: \u044D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u043E \u0434\u043B\u044F {{- repo.owner}}/{{- repo.repo}}.",error404:"\u041E\u0448\u0438\u0431\u043A\u0430 404: {{- repo.owner}}/{{- repo.repo}} \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D."},rateLimit:{command:"\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043B\u0438\u043C\u0438\u0442 \u0437\u0430\u043F\u0440\u043E\u0441\u043E\u0432 \u043A API GitHub",limited:"\u0412\u044B \u0434\u043E\u0441\u0442\u0438\u0433\u043B\u0438 \u043B\u0438\u043C\u0438\u0442\u0430 \u0437\u0430\u043F\u0440\u043E\u0441\u043E\u0432 \u043A API GitHub. \u041B\u0438\u043C\u0438\u0442 \u0431\u0443\u0434\u0435\u0442 \u0441\u0431\u0440\u043E\u0448\u0435\u043D \u0432 {{- resetTime}}.",notLimited:"\u0412\u044B \u043D\u0435 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0430\u043C. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0435\u0449\u0451 {{- remaining}} \u0437\u0430\u043F\u0440\u043E\u0441\u043E\u0432 \u0434\u043E \u0441\u0431\u0440\u043E\u0441\u0430 \u043B\u0438\u043C\u0438\u0442\u0430 \u0432 {{- resetTime}}."},repoExistsTestBranch:"\u0420\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 {{- repo.owner}}/{{- repo.repo}} \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. \u0421\u0435\u0439\u0447\u0430\u0441 \u043F\u0440\u043E\u0432\u0435\u0440\u044F\u0435\u0442\u0441\u044F \u0432\u0435\u0442\u043A\u0430 {{- repo.branch}}.",success:"{{- repo.owner}}/{{- repo.repo}} \u043A\u0430\u0436\u0435\u0442\u0441\u044F \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C!",title:"\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F \u0441 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u043C \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0435\u043C"},copyLink:{onActivation:"\u0421\u0441\u044B\u043B\u043A\u0430 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0430",title:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u043D\u0430 \u044D\u0442\u0443 \u0437\u0430\u043C\u0435\u0442\u043A\u0443"},publisherDeleteClean:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043D\u0435\u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0438 \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B",refreshAllSets:"(\u0414\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438): \u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u043D\u0430\u0431\u043E\u0440\u044B",refreshOpenedSet:"(\u0414\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438): \u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0439 frontmatter",runOtherRepo:{noFile:"\u041D\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430 \u0438\u043B\u0438 \u0444\u0430\u0439\u043B \u043D\u0435 \u043E\u0431\u0449\u0438\u0439",title:"\u0412\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u0434\u043B\u044F \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F"},shareActiveFile:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0430\u043A\u0442\u0438\u0432\u043D\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443",shareViewFiles:{multiple:{on:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C {{- doc}} \u0432 {{- smartKey }}",other:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u2026"}},uploadAllEditedNote:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",uploadAllNewEditedNote:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",uploadAllNotes:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u0441\u0435 \u043E\u0431\u0449\u0438\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",uploadNewNotes:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043D\u0435\u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438"},common:{add:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C {{- things}}",after:"\u041F\u043E\u0441\u043B\u0435",attachments:"\u0412\u043B\u043E\u0436\u0435\u043D\u0438\u044F",before:"\u0414\u043E",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",default:"\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",defaultName:"\u043A\u0430\u0442\u0430\u043B\u043E\u0433 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C {{- things}}",edit:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C {{- things}}",error:"\u041E\u0448\u0438\u0431\u043A\u0430",files:"\u0424\u0430\u0439\u043B\u044B",ghToken:"GitHub token",here:"\u0437\u0434\u0435\u0441\u044C",in:"\u0432",no:"\u041D\u0435\u0442",or:"\u0438\u043B\u0438",path:{file:"\u0418\u043C\u044F \u0444\u0430\u0439\u043B\u0430",folder:"\u041F\u0443\u0442\u044C \u043A \u043F\u0430\u043F\u043A\u0435",full:"\u041F\u043E\u043B\u043D\u044B\u0439 \u043F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443"},points:": ",published:"\u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043E",regex:"\u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0435",rename:"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u043A\u043B\u044E\u0447\u0438\u2026",repository:"\u0420\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439",rootFolder:"\u043A\u043E\u0440\u043D\u0435\u0432\u0430\u044F \u043F\u0430\u043F\u043A\u0430",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",shared:"\u043E\u0431\u0449\u0438\u0439",text:"\u0442\u0435\u043A\u0441\u0442",warning:"\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435",yes:"\u0414\u0430"},deletion:{failed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0434\u0430\u043B\u0438\u0442\u044C {{- nb}} \u0444\u0430\u0439\u043B\u043E\u0432.",noFile:"\u0424\u0430\u0439\u043B\u044B \u043D\u0435 \u0431\u044B\u043B\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u044B.",success:"\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0443\u0434\u0430\u043B\u0435\u043D\u043E {{- nb}} \u0444\u0430\u0439\u043B\u043E\u0432."},error:{alreadyExists:"{{- file}} \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.",autoClean:"\u041F\u043E\u0441\u043A\u043E\u043B\u044C\u043A\u0443 {{- what}} \u043F\u0443\u0441\u0442\u043E, \u0430\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0430 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0430. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0435\u0451 \u0441\u043D\u043E\u0432\u0430, \u043D\u043E \u0431\u0443\u0434\u044C\u0442\u0435 \u043E\u0441\u0442\u043E\u0440\u043E\u0436\u043D\u044B \u0441 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435\u043C \u0444\u0430\u0439\u043B\u043E\u0432, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0445 \u0432\u0430\u0448\u0435\u043C\u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0443.",dataview:"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0437\u0430\u043F\u0440\u043E\u0441 Dataview. \u041E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u043F\u043B\u0430\u0433\u0438\u043D Dataview \u0434\u043E \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438.",errorConfig:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 {{- repo.owner}}/{{- repo.repo}}. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u0432\u043E\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B.",errorPublish:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0432 <u>{{- repo.owner}}/{{- repo.repo}}</u>: <i>{{- repo.branch}}</i>",isEmpty:"{{- what}} \u043F\u0443\u0441\u0442\u043E.",mergeconflic:"Pull-request \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0441\u043B\u0438\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438. \u0412\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u0441\u043B\u0438\u044F\u043D\u0438\u0435 \u0432\u0440\u0443\u0447\u043D\u0443\u044E.",normal:"\u041E\u0448\u0438\u0431\u043A\u0430 404 \u2014 \u044D\u0442\u043E \u043D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u043E! \u042D\u0442\u043E \u0437\u043D\u0430\u0447\u0438\u0442, \u0447\u0442\u043E \u0444\u0430\u0439\u043B \u043F\u043E\u043A\u0430 \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. \u041D\u0435 \u0432\u043E\u043B\u043D\u0443\u0439\u0442\u0435\u0441\u044C \u2764.",parseYaml:`\u041E\u0448\u0438\u0431\u043A\u0430 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0442\u0435\u0433\u043E\u0432 \u0438\u043B\u0438 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430 \u0432 frontmatter.
\u041F\u043B\u0430\u0433\u0438\u043D Dataview \u0438\u043B\u0438 \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u043B\u0430\u0433\u0438\u043D \u043C\u043E\u0436\u0435\u0442 \u043C\u0435\u0448\u0430\u0442\u044C \u044D\u0442\u043E\u043C\u0443.
\u0428\u0430\u0433 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D.`,"reading-token-file":"\u041E\u0448\u0438\u0431\u043A\u0430: \u043F\u0443\u0442\u044C \u0443\u043A\u0430\u0437\u0430\u043D \u043D\u0435\u0432\u0435\u0440\u043D\u043E.",unablePublishMultiNotes:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u043C\u0435\u0442\u043E\u043A, \u0447\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A.",unablePublishNote:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0443 {{- file}}, \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430\u0435\u043C \u0435\u0451",whatEmpty:{branch:"\u0412\u0435\u0442\u043A\u0430",owner:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446"}},informations:{foundNoteToSend:"\u041D\u0430\u0439\u0434\u0435\u043D\u043E {{- nbNotes}} \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0434\u043B\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438",migrating:{fileReplace:"\u041C\u0438\u0433\u0440\u0430\u0446\u0438\u044F \u0437\u0430\u043C\u0435\u043D\u044B \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430 \u0432 \u043D\u043E\u0432\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442\u2026",normalFormat:"\u041C\u0438\u0433\u0440\u0430\u0446\u0438\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A\u2026",oldSettings:"\u041C\u0438\u0433\u0440\u0430\u0446\u0438\u044F \u0441\u0442\u0430\u0440\u044B\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A \u0432 \u043D\u043E\u0432\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442\u2026",subFolder:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043E\u0434\u043A\u0430\u0442\u0430\u043B\u043E\u0433\u0430 \u0432 \u0437\u0430\u043C\u0435\u043D\u0443 \u043F\u0443\u0442\u0438 \u043A \u043F\u0430\u043F\u043A\u0435\u2026"},noNewNote:"\u041D\u043E\u0432\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u043D\u0435\u0442.",scanningRepo:"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F, \u044D\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043D\u044F\u0442\u044C \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0432\u0440\u0435\u043C\u044F\u2026",sendMessage:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 <i>{{- nbNotes}}</i> \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0432 <u>{{- repo.owner}}/{{- repo.repo}}</u>",startingClean:"\u041D\u0430\u0447\u0438\u043D\u0430\u0435\u043C \u043E\u0447\u0438\u0441\u0442\u043A\u0443 <u>{{- repo.owner}}/{{- repo.repo}}</u>",successPublishOneNote:"\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E <i><u>{{- file}}</u></i> \u0432 <u>{{- repo.owner}}/{{- repo.repo}}</u>",successfulPublish:"\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E <i>{{- nbNotes}}</i> \u0432 <u>{{- repo.owner}}/{{- repo.repo}}</u>",wait:"",wait_plural:"",waitingWorkflow:"\u041E\u0436\u0438\u0434\u0430\u0435\u043C \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F workflow\u2026"},modals:{export:{copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",desc:"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0438\u043B\u0438 \u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0444\u0430\u0439\u043B.",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C",title:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A"},import:{desc:"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0438\u0437 \u0442\u0435\u043A\u0441\u0442\u0430 \u0438\u043B\u0438 \u0444\u0430\u0439\u043B\u0430. \u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435: \u044D\u0442\u043E \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0448\u0435\u0442 \u0432\u0430\u0448\u0438 \u0442\u0435\u043A\u0443\u0449\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 (\u043A\u0440\u043E\u043C\u0435 \u0438\u043C\u0435\u043D\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F, \u0438\u043C\u0435\u043D\u0438 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F \u0438 \u0442\u043E\u043A\u0435\u043D\u0430).",error:{isEmpty:"\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043F\u0443\u0441\u0442\u0430.",span:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0438\u043C\u043F\u043E\u0440\u0442\u0430 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438: "},importFromFile:"\u0418\u043C\u043F\u043E\u0440\u0442 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430",paste:"\u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u0441\u044E\u0434\u0430\u2026",presets:{desc:'\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u0440\u0435\u0441\u0435\u0442\u044B \u0438\u0437 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F "plugin-presets"',title:"\u041F\u0440\u0435\u0441\u0435\u0442\u044B"},title:"\u0418\u043C\u043F\u043E\u0440\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A"},listChangedFiles:{added:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E",deleted:"\u0423\u0434\u0430\u043B\u0435\u043D\u043E",edited:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E",error:"\u041E\u0448\u0438\u0431\u043A\u0438",notDeleted:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0434\u0430\u043B\u0438\u0442\u044C",title:"\u0421\u043F\u0438\u0441\u043E\u043A \u0438\u0437\u043C\u0435\u043D\u0451\u043D\u043D\u044B\u0445 \u0444\u0430\u0439\u043B\u043E\u0432 \u0432 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438",unpublished:"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043E"}},publish:{branch:{alreadyExists:"\u0412\u0435\u0442\u043A\u0430 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 ({{- branchName}} \u0432 {{- repo.owner}}/{{- repo.repo}}). \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C \u0435\u0451.",error:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0432 {{- repo.owner}}/{{- repo.repo}}: {{- error}}",prMessage:"Pull-request [{{- branchName}}] \u0438\u0437 Obsidian",success:"\u0412\u0435\u0442\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0430 (\u0441\u0442\u0430\u0442\u0443\u0441: {{- branchStatus}}) \u0432 {{- repo.owner}}/{{- repo.repo}}"},upToDate:"{{- file}} \u0430\u043A\u0442\u0443\u0430\u043B\u0435\u043D \u0432 {{- repo}}"},regex:{entry:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0437\u0430\u043C\u0435\u043D\u044B",replace:"\u0417\u0430\u043C\u0435\u043D\u0430"},settings:{conversion:{dataview:{desc:`\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0440\u043E\u0441\u044B Dataview \u0432 Markdown.
\u0420\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0442\u043E\u043B\u044C\u043A\u043E \u0435\u0441\u043B\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0430 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \xAB\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438\xBB \u0438 \u043F\u043B\u0430\u0433\u0438\u043D Dataview.`,title:"Dataview"},desc:"\u042D\u0442\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u044F\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0444\u0430\u0439\u043B\u0430 \u0432 \u0432\u0430\u0448\u0435\u043C \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435 Obsidian, \u043D\u043E \u0438\u0437\u043C\u0435\u043D\u044F\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0444\u0430\u0439\u043B\u0430 \u043D\u0430 GitHub.",hardBreak:{desc:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0435\u0440\u0435\u043D\u043E\u0441 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 Markdown (\u0434\u0432\u043E\u0439\u043D\u043E\u0439 \u043E\u0442\u0441\u0442\u0443\u043F) \u043F\u043E\u0441\u043B\u0435 \u043A\u0430\u0436\u0434\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438.",title:"\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0435\u0440\u0435\u043D\u043E\u0441 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 Markdown"},links:{anchor:{desc:"",title:""},desc:"\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 $t(settings.conversion.links.key) \u0432 frontmatter \u0437\u0430\u043C\u0435\u0442\u043A\u0438, \u0447\u0442\u043E\u0431\u044B \u0441\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u043D\u0435\u0451 \u043D\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u044B\u0432\u0430\u043B\u0438\u0441\u044C \u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u043B\u0441\u044F \u0442\u0435\u043A\u0441\u0442 alt (\u0438\u043B\u0438 \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430).",folderNote:{desc:"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0432 \u0437\u0430\u0434\u0430\u043D\u043D\u043E\u0435 \u0438\u043C\u044F (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: index.md), \u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u0438\u043C\u0435\u044E\u0442 \u0442\u043E \u0436\u0435 \u0438\u043C\u044F, \u0447\u0442\u043E \u0438 \u0438\u0445 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043F\u0430\u043F\u043A\u0430/\u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F (\u0442\u0430\u043A\u0436\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442, \u0435\u0441\u043B\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0430 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432\u043D\u0435 \u043F\u0430\u043F\u043A\u0438).",title:"\u0417\u0430\u043C\u0435\u0442\u043A\u0430 \u043F\u0430\u043F\u043A\u0438"},internals:{dataview:"\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u044B\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438 \u0432 \u0431\u043B\u043E\u043A\u0430\u0445 Dataview!",desc:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438 \u0432 \u0438\u0445 \u0430\u043D\u0430\u043B\u043E\u0433\u0438 \u0432 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438 \u0441 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C \u043F\u0443\u0442\u0435\u043C.",shareAll:'\u0412\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0432\u0441\u0435 \u0441\u0441\u044B\u043B\u043A\u0438 \u0434\u043B\u044F \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 "share all", \u0442\u0430\u043A \u043A\u0430\u043A \u0431\u0435\u0437 frontmatter \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 \u0444\u0430\u0439\u043B\u0430.',title:"\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438"},key:"<code>links: false</code>",nonShared:{desc:"\u0422\u043E \u0436\u0435, \u0447\u0442\u043E \u0438 \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438, \u043D\u043E \u0434\u043B\u044F \u0437\u0430\u043C\u0435\u0442\u043E\u043A, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0435\u0449\u0435 \u043D\u0435 \u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u044B. \u0415\u0441\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430.",title:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u043D\u0435\u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438"},relativePath:{desc:"",title:""},slugify:{desc:"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u0441\u044B\u043B\u043A\u0438: \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0439\u0442\u0435 \u0438\u0445 \u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u044B \u0434\u0435\u0444\u0438\u0441\u0430\u043C\u0438.",disable:"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C",lower:"\u041F\u0440\u043E\u043F\u0438\u0441\u043D\u044B\u0435",strict:"\u0421\u0442\u0440\u043E\u0433\u043E: \u0442\u0435\u043A\u0441\u0442 \u0431\u0435\u0437 \u0437\u0430\u0433\u043B\u0430\u0432\u043D\u044B\u0445 \u0431\u0443\u043A\u0432 \u0438 \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432. ",title:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438"},textBefore:{desc:"",title:""},title:"\u0421\u0441\u044B\u043B\u043A\u0438",unlink:{desc:"\u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, `[[\u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438|\u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C]]` \u2192 `\u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C`",title:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u043D\u0435\u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B"},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C Wikilinks \u0432 MDlinks, \u0431\u0435\u0437 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E.",title:"[[Wikilinks]] \u0432 [MDlinks](links)"}},sectionTitle:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u0442\u0435\u043A\u0441\u0442",tags:{desc:"\u042D\u0442\u043E \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u043B\u044E\u0431\u044B\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0438\u043B\u0438 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u043F\u043E\u043B\u044F Dataview \u0432 \u0442\u0435\u0433\u0438 \u0441\u0432\u043E\u0439\u0441\u0442\u0432. \u0420\u0430\u0437\u0434\u0435\u043B\u044F\u0439\u0442\u0435 \u043F\u043E\u043B\u044F \u0437\u0430\u043F\u044F\u0442\u043E\u0439.",exclude:{desc:"\u0418\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0438\u0437 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F. \u0420\u0430\u0437\u0434\u0435\u043B\u044F\u0439\u0442\u0435 \u043F\u043E\u043B\u044F \u0437\u0430\u043F\u044F\u0442\u043E\u0439.",placeholder:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E\u043B\u044F",title:"\u0418\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0438\u0437 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F"},inlineTags:{desc:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u0430\u0448\u0438 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u0442\u0435\u0433\u0438 \u0432 \u043F\u043E\u043B\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432 \u0442\u0435\u0433\u043E\u0432 \u0438 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u0442\u0435\u0433\u0438, \u0437\u0430\u043C\u0435\u043D\u044F\u044F \xAB/\xBB \u043D\u0430 \xAB_\xBB.",title:"\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u0442\u0435\u0433\u0438"},title:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430/Dataview-\u043F\u043E\u043B\u044F \u0432 \u0442\u0435\u0433\u0438"},title:"\u0421\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435"},embed:{attachment:"\u0412\u043B\u043E\u0436\u0435\u043D\u0438\u044F",bake:{text:"\u041F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442 \u0434\u043E \u0438 \u043F\u043E\u0441\u043B\u0435 \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043D\u0438\u044F, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 HTML \u0438\u043B\u0438 \u0441\u0442\u0438\u043B\u0438\u0437\u043E\u0432\u0430\u0442\u044C \u0431\u043B\u043E\u043A \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E Markdown.",textAfter:{title:"\u0422\u0435\u043A\u0441\u0442 \u043F\u043E\u0441\u043B\u0435 \u0431\u043B\u043E\u043A\u0430"},textBefore:{title:"\u0422\u0435\u043A\u0441\u0442 \u043F\u0435\u0440\u0435\u0434 \u0431\u043B\u043E\u043A\u043E\u043C"},title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439",variable:{desc:"\u041C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435:",title:": \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u043E\u0439 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",url:": \u043F\u0443\u0442\u044C \u043A \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u043E\u0439 \u0437\u0430\u043C\u0435\u0442\u043A\u0435"},warning:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 HTML, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A \u0432\u0430\u0448\u0435\u0433\u043E \u0445\u043E\u0441\u0442\u0430, Markdown \u043C\u043E\u0436\u0435\u0442 \u043F\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C."},char:{desc:"\u0421\u0438\u043C\u0432\u043E\u043B(\u044B), \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u043C\u044B\u0435 \u043F\u0435\u0440\u0435\u0434 \u0441\u0441\u044B\u043B\u043A\u043E\u0439.",title:"\u0421\u0438\u043C\u0432\u043E\u043B\u044B \u0434\u043B\u044F \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043D\u0438\u044F"},defaultImageFolder:{desc:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0443, \u043E\u0442\u043B\u0438\u0447\u043D\u0443\u044E \u043E\u0442 \u043F\u0430\u043F\u043A\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",title:"\u041F\u0430\u043F\u043A\u0430 \u0434\u043B\u044F \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"},forcePush:{all:": \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0435\u0441\u0442\u043E \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439 (\u0438/\u0438\u043B\u0438 \u043F\u0440\u0438\u043D\u0443\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0438\u0445).",default:": \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043F\u0443\u0442\u044C \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E.",desc:"\u0412\u0441\u0435\u0433\u0434\u0430 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0432 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439, \u0434\u0430\u0436\u0435 \u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u0443\u0436\u0435 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442 \u0438 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u044B.",info:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0441\u043B\u0443\u0447\u0430\u0435 \u0438\u0445 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044F \u0432 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438.",title:"\u041F\u0440\u0438\u043D\u0443\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0435 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435"},imagePath:{desc:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A Obsidian.",title:"\u0421\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430"},links:{desc:"\u041F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043A\u0430\u0441\u0442\u043E\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043D\u0438\u0439, \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E \u0443\u0434\u0430\u043B\u044F\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 (\u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u043A\u0441\u0442), \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u044B\u0432\u0430\u0442\u044C \u0432 \u043F\u0440\u043E\u0441\u0442\u0443\u044E \u0441\u0441\u044B\u043B\u043A\u0443 (![[\u0441\u0441\u044B\u043B\u043A\u0430]] -> [[\u0441\u0441\u044B\u043B\u043A\u0430]]).",dp:{bake:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439",keep:"\u0411\u0435\u0437 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439",links:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u0441\u0441\u044B\u043B\u043A\u0443",remove:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E"},title:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0438 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043D\u0438\u044F"},notes:"\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",overrides:{desc:"\u041F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0432 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u0439 \u043F\u0443\u0442\u044C \u0438 \u043F\u0440\u0438\u043D\u0443\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u044F.",modal:{dest:"\u041D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",path:"\u041F\u0443\u0442\u044C \u0438\u043B\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435",title:"\u041F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u043F\u0443\u0442\u044C \u0434\u043B\u044F \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439"}},sendSimpleLinks:{desc:"\u041E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0444\u0430\u0439\u043B\u044B, \u0443\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u043C\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0430\u043C\u0438 [[file]] (\u0432\u043A\u043B\u044E\u0447\u0430\u044F \u0432\u0441\u0435 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u044F).",title:"\u041E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0442\u043E\u0436\u0435"},title:"\u0412\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0438 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043D\u0438\u044F",transferImage:{title:"\u041F\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439"},transferMetaFile:{desc:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043F\u043E\u043B\u0435\u0439 \u043C\u0435\u0442\u0430\u0434\u0430\u043D\u043D\u044B\u0445, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u043B\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u0444\u0430\u0439\u043B\u043E\u0432. \u0420\u0430\u0437\u0434\u0435\u043B\u044F\u0439\u0442\u0435 \u043F\u043E\u043B\u044F \u0437\u0430\u043F\u044F\u0442\u043E\u0439. \u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u043F\u043E\u043B\u044F Dataview.",title:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043F\u043E\u043B\u044F \u043C\u0435\u0442\u0430\u0434\u0430\u043D\u043D\u044B\u0445"},transferNotes:{desc:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0432 \u043E\u0431\u0449\u0438\u0439 \u0444\u0430\u0439\u043B \u043D\u0430 GitHub. \u0422\u043E\u043B\u044C\u043A\u043E \u043E\u0431\u0449\u0438\u0435 \u0444\u0430\u0439\u043B\u044B \u0431\u0443\u0434\u0443\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u044B!",title:"\u041F\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A"}},embeds:{unHandledObsidianExt:{desc:`\u0420\u0430\u0437\u0434\u0435\u043B\u044F\u0439\u0442\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F \u0437\u0430\u043F\u044F\u0442\u043E\u0439.
\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F, \u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u0437\u0430\u043A\u043B\u044E\u0447\u0435\u043D\u044B \u0432 /.
\u041D\u0435 \u0432\u043A\u043B\u044E\u0447\u0430\u0439\u0442\u0435 \u0442\u043E\u0447\u043A\u0443!`,title:"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F, \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0435 Obsidian"}},github:{apiType:{desc:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u0436\u0434\u0443 API GitHub \u0438\u043B\u0438 API GitHub Enterprise (\u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439 GitHub Enterprise \u2014 \u0414\u043B\u044F \u043E\u043F\u044B\u0442\u043D\u044B\u0445 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439!).",dropdown:{enterprise:"Enterprise",free:"Free/Pro/Team (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E)"},hostname:{desc:"\u0418\u043C\u044F \u0445\u043E\u0441\u0442\u0430 \u0432\u0430\u0448\u0435\u0439 GitHub Enterprise \u0438\u043D\u0441\u0442\u0430\u043D\u0446\u0438\u0438.",title:"\u0425\u043E\u0441\u0442 GitHub Enterprise"},title:"API Type"},automaticallyMergePR:"Automatically merge pull requests.",branch:{desc:'\u041C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0435\u0442\u043A\u0443 \u043E\u0442\u043B\u0438\u0447\u043D\u0443\u044E \u043E\u0442 "main".',title:"Main branch"},dryRun:{enable:{desc:"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0443 \u0432 GitHub \u0438 \u0432\u0441\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F. \u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u0442\u0435\u0441\u0442\u043E\u0432\u044B\u0439 \u043F\u0440\u043E\u0433\u043E\u043D, \u0447\u0442\u043E\u0431\u044B \u0443\u0432\u0438\u0434\u0435\u0442\u044C, \u0447\u0442\u043E \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u0438\u043B\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u043E \u0438\u0437 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F.",title:"\u0422\u0435\u0441\u0442\u043E\u0432\u044B\u0439 \u0440\u0435\u0436\u0438\u043C"},folder:{desc:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 {{owner}}, {{repo}} \u0438 {{branch}} \u0434\u043B\u044F \u0434\u0438\u043D\u0430\u043C\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0430\u043F\u043A\u0438.",error:"",title:"\u041F\u0430\u043F\u043A\u0430, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0438\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 (\u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u0441\u0442\u043E\u0432\u044B\u0439 \u0440\u0435\u0436\u0438\u043C)"}},ghToken:{button:{configDir:": \u041F\u0430\u043F\u043A\u0430 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Obsidian",default:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E, \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D \u0432:",description:"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043D\u0438\u0442\u044C\u0441\u044F \u0442\u043E\u043A\u0435\u043D.",pluginID:": ID \u043F\u043B\u0430\u0433\u0438\u043D\u0430",tooltip:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443, \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u043C\u0443 \u0442\u043E\u043A\u0435\u043D",variables:"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435:"},desc:"\u0422\u043E\u043A\u0435\u043D GitHub \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u044F\u043C\u0438 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0435\u0433\u043E ",error:"\u0422\u043E\u043A\u0435\u043D \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C!"},repoName:{desc:"\u0418\u043C\u044F \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F, \u0433\u0434\u0435 \u0432\u044B \u0445\u0440\u0430\u043D\u0438\u0442\u0435 \u0441\u0432\u043E\u0439 \u0431\u043B\u043E\u0433.",placeholder:"mkdocs-template",title:"Repository name"},smartRepo:{button:"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C\u0438 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F\u043C\u0438",modals:{default:'\u0418\u043C\u044F "default" \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0439 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.',desc:'\u042D\u0442\u0438 "\u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438" \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043D\u0430 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F\u0445, \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0445 \u043D\u0438\u0436\u0435.',duplicate:"Smartkey \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C!",empty:"Smartkey \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C",frontmatterInfo:'\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u043A\u043B\u044E\u0447\u0430 "shortRepo" \u0432 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430\u0445 \u0441 "smartKey" \u0442\u0430\u043A\u0436\u0435 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u044D\u0442\u043E\u0442 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0432 \u0444\u0430\u0439\u043B\u0435 \u0431\u0435\u0437 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0435\u0433\u043E \u043F\u0443\u0442\u044C.',newRepo:"\u043D\u043E\u0432\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439",otherConfig:"\u041F\u0440\u043E\u0447\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",shortcuts:{desc:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F \u0432 \u043F\u0430\u043B\u0438\u0442\u0440\u0443 \u043A\u043E\u043C\u0430\u043D\u0434",title:"\u042F\u0440\u043B\u044B\u043A\u0438"},title:"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F\u043C\u0438"}},testConnection:"\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435",title:"GitHub",username:{desc:"\u0418\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0438\u043B\u0438 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438, \u0445\u0440\u0430\u043D\u044F\u0449\u0435\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0432 GitHub",title:"GitHub username"}},githubWorkflow:{autoCleanUp:{desc:"\u0423\u0434\u0430\u043B\u044F\u0442\u044C \u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B (\u043F\u0440\u0435\u043A\u0440\u0430\u0449\u0451\u043D\u043D\u044B\u0435 \u0434\u043B\u044F \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 \u0438\u043B\u0438 \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0435) \u0438\u0437 GitHub",popup:{desc:"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0430\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0438, \u043A\u043E\u0433\u0434\u0430 \u0438\u043C\u044F {{- what}} \u043F\u0443\u0441\u0442\u043E, \u043C\u043E\u0436\u0435\u0442 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0444\u0430\u0439\u043B\u044B \u0432 \u0432\u0430\u0448\u0435\u043C \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438, \u0432\u043A\u043B\u044E\u0447\u0430\u044F \u0448\u0430\u0431\u043B\u043E\u043D\u044B, workflows, \u0438\u043A\u043E\u043D\u043A\u0438 \u0438\u043B\u0438 README.",exclude:`\u041D\u0435 \u0437\u0430\u0431\u0443\u0434\u044C\u0442\u0435 \u0438\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0438 \u043F\u0430\u043F\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u044B \u0434\u043B\u044F \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F.
\u041A\u0440\u043E\u043C\u0435 \u0442\u043E\u0433\u043E, \u0432\u044B \u0432\u0441\u0435\u0433\u0434\u0430 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0447\u0435\u0440\u0435\u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u0443 pull-request GitHub.`,sure:"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u0442\u0443 \u0444\u0443\u043D\u043A\u0446\u0438\u044E?",title:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0443"},title:"\u0410\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0430"},excludedFiles:{desc:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0438\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u0430\u043F\u043A\u0438 \u0438\u043B\u0438 \u0444\u0430\u0439\u043B\u044B \u0438\u0437 \u0430\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0438, \u0434\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0438\u0445 \u0441\u044E\u0434\u0430. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F, \u0437\u0430\u043A\u043B\u044E\u0447\u0438\u0432 \u0441\u0442\u0440\u043E\u043A\u0443 \u0432 \xAB/\xBB. \u0420\u0430\u0437\u0434\u0435\u043B\u044F\u0439\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0437\u0430\u043F\u044F\u0442\u043E\u0439.",title:"\u0418\u0441\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0438 \u043F\u0430\u043F\u043A\u0438"},githubAction:{desc:'\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C GitHub Actions \u043F\u0440\u0438 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0435 \u0444\u0430\u0439\u043B\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u043E\u043C, \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430 (\u0432 \u0432\u0430\u0448\u0435\u0439 \u043F\u0430\u043F\u043A\u0435 .github/workflows). \u0411\u0443\u0434\u0443\u0442 \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u0442\u043E\u043B\u044C\u043A\u043E workflows \u0441 \u0441\u043E\u0431\u044B\u0442\u0438\u0435\u043C "workflow_dispatch".',title:"GitHub Actions"},includeAttachments:{desc:"\u0412\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0442\u0430\u043A\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0447\u0438\u0449\u0430\u0442\u044C\u0441\u044F \u0432\u043C\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0430\u043C\u0438.",title:"\u0410\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0430 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439"},prRequest:{desc:"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435, \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u043C\u043E\u0435 \u043F\u0440\u0438 \u0441\u043B\u0438\u044F\u043D\u0438\u0438 pull-request. \u0412\u0441\u0435\u0433\u0434\u0430 \u0441\u043E\u043F\u0440\u043E\u0432\u043E\u0436\u0434\u0430\u0435\u0442\u0441\u044F \u043D\u043E\u043C\u0435\u0440\u043E\u043C pull-request\u2019a.",error:"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043F\u0443\u0441\u0442\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443 \u0437\u0434\u0435\u0441\u044C!",title:"Commit message"},useMetadataExtractor:{desc:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B, \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u043F\u043B\u0430\u0433\u0438\u043D\u043E\u043C metadata-extractor, \u0432 \u044D\u0442\u0443 \u043F\u0430\u043F\u043A\u0443.",title:"\u0424\u0430\u0439\u043B\u044B metadata-extractor"}},help:{frontmatter:{attachment:{folder:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u043F\u0430\u043F\u043A\u0443 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439",send:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043D\u0430 GitHub"},autoclean:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0443\u044E \u043E\u0447\u0438\u0441\u0442\u043A\u0443",baselink:{desc:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0431\u0430\u0437\u043E\u0432\u0443\u044E \u0441\u0441\u044B\u043B\u043A\u0443 \u0434\u043B\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u0441\u044B\u043B\u043A\u0438. \u0422\u0430\u043A\u0436\u0435 \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u0447\u0430\u0441\u0442\u044C \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u0435\u043B\u044F \u0441\u0441\u044B\u043B\u043E\u043A. \u041C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D \u043A\u0430\u043A \u043E\u0431\u044A\u0435\u043A\u0442 \u0441\u0432\u043E\u0439\u0441\u0442\u0432 \u0441 \u0438\u043C\u0435\u043D\u0435\u043C",remove:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0447\u0430\u0441\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438. \u042D\u0442\u043E \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0441\u043F\u0438\u0441\u043E\u043A!"},convert:{enableOrDisable:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043E\u043A. \u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 \u0443\u0434\u0430\u043B\u0438\u0442",syntax:"\u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441, \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0432 \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430 \u0438\u043B\u0438 \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442."},dataview:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0440\u043E\u0441\u044B DataView \u0432 Markdown.",desc:"\u0415\u0441\u0442\u044C \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043A\u043B\u044E\u0447\u0438 \u0441\u0432\u043E\u0439\u0441\u0442\u0432, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043F\u043E\u043B\u0435\u0437\u043D\u044B \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u0440\u0430\u0431\u043E\u0447\u0435\u0433\u043E \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0430. \u041A\u043E\u0434 \u043D\u0438\u0436\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E, \u043D\u043E \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0445 \u0432 \u043A\u0430\u0436\u0434\u043E\u0439 \u0437\u0430\u043C\u0435\u0442\u043A\u0435 \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0432\u0430\u0448\u0438\u043C\u0438 \u043D\u0443\u0436\u0434\u0430\u043C\u0438!",embed:{char:'\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0441\u0438\u043C\u0432\u043E\u043B(\u044B) \u043F\u0435\u0440\u0435\u0434 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u043C\u0438 \u0441\u0441\u044B\u043B\u043A\u0430\u043C\u0438. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0435\u0441\u043B\u0438 \u0432\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 "remove" \u0432 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 "links".',remove:{bake:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u044F (\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0431\u043B\u043E\u043A\u0438, \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0438 \u0438 \u0432\u0435\u0441\u044C \u0444\u0430\u0439\u043B)",desc:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0432\u0438\u0434 \u0441\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B. \u041C\u043E\u0436\u0435\u0442 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0442\u044C \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F:",keep:"\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043A\u0430\u043A \u0432 Obsidian",links:'\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u0441\u0441\u044B\u043B\u043A\u0438 (\u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C "!")',remove:"\u041F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0446\u0438\u0442\u0430\u0442\u0443 \u0438 \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043F\u0443\u0441\u0442\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443"},send:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u043D\u0430 GitHub"},hardBreak:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0440\u0430\u0437\u0440\u044B\u0432\u044B \u0441\u0442\u0440\u043E\u043A \u0432 Markdown \xAB\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\xBB.",includeLinks:"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0443 \u0444\u0430\u0439\u043B\u043E\u0432, \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0445 \u043F\u0440\u043E\u0441\u0442\u043E\u0439 \u0441\u0441\u044B\u043B\u043A\u043E\u0439, \u0442\u0430\u043A\u0438\u0445 \u043A\u0430\u043A",internals:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438 \u0432 \u0438\u0445 \u0430\u043D\u0430\u043B\u043E\u0433\u0438 \u043D\u0430 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0435 \u0441 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C \u043F\u0443\u0442\u0435\u043C. \u0415\u0441\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u043F\u043B\u0430\u0433\u0438\u043D \u043E\u0441\u0442\u0430\u0432\u0438\u0442 \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044E\u044E \u0441\u0441\u044B\u043B\u043A\u0443 \u043A\u0430\u043A \u0435\u0441\u0442\u044C.",mdlinks:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435",nestedKey:'\u0422\u0430\u043A\u0436\u0435 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C "\u0442\u043E\u0447\u0435\u0447\u043D\u044B\u0439" \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441, \u0442\u043E \u0435\u0441\u0442\u044C \u043E\u0431\u043E\u0437\u043D\u0430\u0447\u0430\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 \u0442\u043E\u0447\u043A\u0438. \u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F',nonShared:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438, \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0438\u0435 \u043D\u0430 \u043D\u0435\u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0435\u043C\u044B\u0435 \u0444\u0430\u0439\u043B\u044B, \u0432 \u0438\u0445 \u0430\u043D\u0430\u043B\u043E\u0433\u0438 \u043D\u0430 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0435 \u0441 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C \u043F\u0443\u0442\u0435\u043C. \u0415\u0441\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u043F\u043B\u0430\u0433\u0438\u043D \u043E\u0441\u0442\u0430\u0432\u0438\u0442 \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430.",path:"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u0443\u0442\u0438 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u044D\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430. \u041F\u0443\u0442\u044C \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C \u043A \u043A\u043E\u0440\u043D\u044E \u0432\u0430\u0448\u0435\u0433\u043E \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F.",repo:{branch:"\u0412\u0435\u0442\u043A\u0430 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F",desc:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0438.",owner:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F"},share:{other:"\u0412\u044B \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u0440\u0443\u0433\u043E\u0439 \u043A\u043B\u044E\u0447 shareKey, \u043E\u0441\u043D\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u043D\u0430 \u043A\u043B\u044E\u0447\u0435, \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u043E\u043C \u0432 \u0440\u0430\u0437\u0434\u0435\u043B\u0435 \xAB\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F\u043C\u0438\xBB. \u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0442\u044C \u0432\u0430\u0448\u0438 \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u044B\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438. \u0415\u0441\u043B\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442\u0441\u044F \u043E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u0438 \u0432\u0442\u043E\u0440\u043E\u0441\u0442\u0435\u043F\u0435\u043D\u043D\u044B\u0435 \u043A\u043B\u044E\u0447\u0438, \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439.",title:"\u042D\u0442\u043E\u0442 \u043A\u043B\u044E\u0447 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043F\u043B\u0430\u0433\u0438\u043D\u0430."},shortRepo:"\u041F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043E\u0434\u0438\u043D \u0438\u0437 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0435\u0432, \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0445 \u0432 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0435\u0432.",title:"\u0421\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A \u043F\u043E \u043A\u043B\u044E\u0447\u0430\u043C \u0441\u0432\u043E\u0439\u0441\u0442\u0432",titleKey:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0437\u0430\u043C\u0435\u0442\u043A\u0438.",unlink:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u0441\u0441\u044B\u043B\u043A\u0438 (\u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0438\u043C\u044F \u0438\u043B\u0438 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C) \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u043D\u0435\u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0435\u043C\u044B\u0445 \u0444\u0430\u0439\u043B\u043E\u0432."},multiRepoHelp:{desc:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u0432\u043E\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u0432 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0435\u0432, \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C",desc2:"\u043A\u043B\u044E\u0447 \u0432 \u0432\u0430\u0448\u0438\u0445 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430\u0445. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0441\u043F\u0438\u0441\u043A\u043E\u043C \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0435\u0432. \u041A\u0430\u0436\u0434\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0434\u043E\u043B\u0436\u0435\u043D \u0438\u043C\u0435\u0442\u044C \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043A\u043B\u044E\u0447\u0438:",exampleDesc:"\u041F\u0440\u0438\u043C\u0435\u0440 \u043A\u043E\u0434\u0430 \u043D\u0438\u0436\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u0430\u0448\u0438\u043C \u0442\u0435\u043A\u0443\u0449\u0438\u043C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u043C .",title:"\u041E\u0442\u043F\u0440\u0430\u0432\u043A\u0430 \u0432 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0435\u0432"},title:"\u0421\u043F\u0440\u0430\u0432\u043A\u0430",usefulLinks:{discussion:"\u041E\u0431\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435",documentation:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F",issue:"\u0421\u043E\u043E\u0431\u0449\u0438\u0442\u044C \u043E \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0435",title:"\u041F\u043E\u043B\u0435\u0437\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438",translation:"\u041F\u043E\u043C\u043E\u0447\u044C \u0441 \u043F\u0435\u0440\u0435\u0432\u043E\u0434\u043E\u043C"}},plugin:{copyLink:{applyRegex:{desc:"\u0417\u0430\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u0432 \xAB/\xBB, \u0447\u0442\u043E\u0431\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: /regex/).",title:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 URL"},baselink:{desc:"\u0411\u0430\u0437\u043E\u0432\u0430\u044F \u0441\u0441\u044B\u043B\u043A\u0430 \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0430\u0439\u0442\u0430. \u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: https://username.github.io/repo/",title:"\u0411\u0430\u0437\u043E\u0432\u0430\u044F \u0441\u0441\u044B\u043B\u043A\u0430"},command:{desc:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u0434\u043B\u044F \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u0437\u0430\u043C\u0435\u0442\u043A\u0443 (\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430, \u0447\u0442\u043E\u0431\u044B \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0432\u0441\u0442\u0443\u043F\u0438\u043B\u0438 \u0432 \u0441\u0438\u043B\u0443)"},desc:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u043D\u0430 \u0432\u0430\u0448\u0443 \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430",linkPathRemover:{desc:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u0443 \u0447\u0430\u0441\u0442\u044C \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0445 \u0441\u0441\u044B\u043B\u043E\u043A. \u0420\u0430\u0437\u0434\u0435\u043B\u044F\u0439\u0442\u0435 \u0437\u0430\u043F\u044F\u0442\u044B\u043C\u0438, \u0435\u0441\u043B\u0438 \u043D\u0443\u0436\u043D\u043E \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439.",title:"\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 \u0441\u0441\u044B\u043B\u043A\u0438"},title:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443",toUri:{desc:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u0432 URI (\u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 \u043A\u043E\u0434\u0438\u0440\u043E\u0432\u043A\u0443 \u043F\u0440\u043E\u0446\u0435\u043D\u0442\u043E\u0432)",title:"\u041A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 URI"}},dev:{desc:"\u0422\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u043E\u043F\u044B\u0442\u043D\u044B\u0445 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439. \u0411\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043A\u0430\u043A \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0435 \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0439 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u043E\u0439.",title:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043B\u043E\u0433\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u0430"},editorMenu:{desc:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 \u0432 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E",title:"\u041C\u0435\u043D\u044E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430"},embedEditRepo:{desc:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u043E\u0434\u0430\u043B\u044C\u043D\u043E\u0435 \u043E\u043A\u043D\u043E \u0441 \u043E\u0442\u043B\u0438\u0447\u0438\u044F\u043C\u0438 \u043D\u043E\u0432\u043E\u0439 \u0432\u0435\u0440\u0441\u0438\u0438",title:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435, \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0438\u043B\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438"},excludedFolder:{desc:"\u041D\u0438\u043A\u043E\u0433\u0434\u0430 \u043D\u0435 \u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0432 \u044D\u0442\u0438\u0445 \u043F\u0430\u043F\u043A\u0430\u0445, \u043D\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E \u043E\u0442 \u043A\u043B\u044E\u0447\u0430 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438. \u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435 \u0432 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438.",title:"\u0418\u0441\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0435 \u043F\u0430\u043F\u043A\u0438"},fileMenu:{desc:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 \u0432 \u043C\u0435\u043D\u044E \u0444\u0430\u0439\u043B\u043E\u0432",title:"\u041C\u0435\u043D\u044E \u0444\u0430\u0439\u043B\u043E\u0432"},head:{copyLinks:"\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0438 \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043E\u043A",log:"\u041B\u043E\u0433\u0438",menu:"\u041C\u0435\u043D\u044E",other:"\u041F\u0440\u043E\u0447\u0435\u0435",share:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438"},logNoticeHeader:{desc:"\u041D\u0430 \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430\u0445 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0441\u043B\u043E\u0436\u043D\u043E \u043E\u0442\u043B\u0430\u0436\u0438\u0432\u0430\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D. \u0412\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u044D\u0442\u0443 \u043E\u043F\u0446\u0438\u044E, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043A\u0430\u0436\u0434\u0443\u044E \u043E\u0448\u0438\u0431\u043A\u0443 \u0432 \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F\u0445.",title:"\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u044F\u0442\u044C \u043E \u0432\u0441\u0435\u0445 \u043E\u0448\u0438\u0431\u043A\u0430\u0445"},noticeLength:{desc:"",error:"",title:""},saveTab:{desc:"\u041F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043D\u0430 \u0440\u0430\u043D\u0435\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0432\u043A\u043B\u0430\u0434\u043A\u0435",title:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u043A\u043B\u0430\u0434\u043A\u0443"},set:{desc:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u043B\u044E\u0447 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u043B\u044F \u0441\u0432\u044F\u0437\u0438 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043E\u0434\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430 \u0441 \u0434\u0440\u0443\u0433\u0438\u043C, \u0431\u0435\u0437 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438 \u043F\u0435\u0440\u0435\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0438\u0445 \u043A\u0430\u0436\u0434\u044B\u0439 \u0440\u0430\u0437. \u0420\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u0444\u0430\u0439\u043B\u043E\u0432, \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0445 \u0447\u0435\u0440\u0435\u0437 wikilink \u0432 frontmatter.",title:"\u041D\u0430\u0431\u043E\u0440 \u043E\u043F\u0446\u0438\u0439"},setImport:{desc:"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0431\u043E\u0440 \u043E\u043F\u0446\u0438\u0439 \u0438\u0437 frontmatter \u0444\u0430\u0439\u043B\u0430",title:"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443 \u043E\u043F\u0446\u0438\u0439"},shareKey:{all:{desc:"\u041F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0444\u0430\u0439\u043B\u044B \u043D\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E \u043E\u0442 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F \u043A\u043B\u044E\u0447\u0430 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 \u0437\u0430\u043C\u0435\u0442\u043E\u043A.",title:"\u041F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0444\u0430\u0439\u043B\u044B"},desc:"\u041A\u043B\u044E\u0447 YAML frontmatter \u0434\u043B\u044F \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043E \u0444\u0430\u0439\u043B\u0430 \u043D\u0430 \u0441\u0430\u0439\u0442\u0435. \u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u2014 `share`.",excludedFileName:{title:"\u0418\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0441 \u0438\u043C\u0435\u043D\u0430\u043C\u0438, \u043D\u0430\u0447\u0438\u043D\u0430\u044E\u0449\u0438\u043C\u0438\u0441\u044F \u0441\u2026"},otherRepo:"\u0412\u044B \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u043A\u043B\u044E\u0447 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438, \u0431\u0435\u0437 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043A\u043B\u044E\u0447\u0430 shortRepo.",title:"\u041A\u043B\u044E\u0447 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438"},title:"\u041F\u043B\u0430\u0433\u0438\u043D"},regexReplacing:{empty:"\u0417\u0430\u043C\u0435\u043D\u0430 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u043E\u0439, \u0447\u0442\u043E\u0431\u044B \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u044E \u0441\u0442\u0440\u043E\u043A\u0443.",emptyRegex:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0437\u0430\u043C\u0435\u043D\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C",forbiddenValue:"{{- what}} \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0441\u0438\u043C\u0432\u043E\u043B: {{- forbiddenChar}}",inCodeBlocks:{runIn:"\u0417\u0430\u043F\u0443\u0449\u0435\u043D\u043E \u0432 \u0431\u043B\u043E\u043A\u0430\u0445 \u043A\u043E\u0434\u0430",runOut:"\u041D\u0435 \u0437\u0430\u043F\u0443\u0449\u0435\u043D\u043E \u0432 \u0431\u043B\u043E\u043A\u0430\u0445 \u043A\u043E\u0434\u0430"},invalidRegex:"\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043E\u0448\u0438\u0431\u043A\u0430: {{- e}}",modal:{desc:"\u0417\u0430\u043C\u0435\u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 \u0444\u0430\u0439\u043B\u0435 \u043D\u0430 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435. \u0417\u0430\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442 \u0432 \xAB/\xBB, \u0447\u0442\u043E\u0431\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: /regex/).",force:"\u041F\u0440\u0438\u043D\u0443\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0430",keywords:"\u041A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u0441\u043B\u043E\u0432\u0430",name:": \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430.",title:{all:"\u0417\u0430\u043C\u0435\u043D\u0430 \u043F\u0443\u0442\u0438 \u043A \u043F\u0430\u043F\u043A\u0435 \u0438 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430",only:"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430",text:"\u0417\u0430\u043C\u0435\u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0430"}},momentReplaceRegex:"\u0412\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0437\u0430\u043C\u0435\u043D\u0443 {{- moment}} \u0434\u0440\u0443\u0433\u043E\u0439 \u043A\u043E\u043D\u0432\u0435\u0440\u0441\u0438\u0438 \u043F\u043B\u0430\u0433\u0438\u043D\u0430 (dataview, \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438 \u0438 \u0442. \u0434.)",warningPath:"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435! \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \xAB/\xBB \u0438\u0437\u043C\u0435\u043D\u0438\u0442 \u043F\u0443\u0442\u044C. \u0411\u0443\u0434\u044C\u0442\u0435 \u043E\u0441\u0442\u043E\u0440\u043E\u0436\u043D\u044B \u0441 \u044D\u0442\u043E\u0439 \u043E\u043F\u0446\u0438\u0435\u0439."},upload:{defaultFolder:{desc:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u043F\u0430\u043F\u043A\u0443 \u043F\u0440\u0438\u0435\u043C\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E. \u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0447\u0442\u043E\u0431\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u0440\u0435\u043D\u044C \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F.",placeholder:"docs",title:"\u041F\u0430\u043F\u043A\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E"},folderBehavior:{desc:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u0444\u0430\u0439\u043B\u043E\u0432 \u0432 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u043A\u043B\u044E\u0447 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430, \u0444\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u043F\u0430\u043F\u043A\u0443 \u0438\u043B\u0438 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u0444\u0430\u0439\u043B\u043E\u0432 Obsidian.",fixedFolder:"\u0424\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u043F\u0430\u043F\u043A\u0430",obsidianPath:"\u041F\u0443\u0442\u044C Obsidian",title:"\u0414\u0435\u0440\u0435\u0432\u043E \u0444\u0430\u0439\u043B\u043E\u0432 \u0432 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438",yaml:"\u041A\u043B\u044E\u0447 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430"},folderNote:{addTitle:{key:'\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043A\u043B\u044E\u0447, \u043E\u0442\u043B\u0438\u0447\u043D\u044B\u0439 \u043E\u0442 "title"',title:'\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043B\u044E\u0447 "title" \u0441 \u0438\u043C\u0435\u043D\u0435\u043C \u0444\u0430\u0439\u043B\u0430'}},frontmatterKey:{desc:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u043A\u043B\u044E\u0447, \u0438\u0437 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u0431\u0443\u0434\u0435\u0442 \u0432\u0437\u044F\u0442\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438.",placeholder:"category",title:"\u041A\u043B\u044E\u0447 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430"},regexFilePathTitle:{desc:"\u0415\u0441\u043B\u0438 \u0442\u0435\u043A\u0441\u0442 \u0437\u0430\u043A\u043B\u044E\u0447\u0435\u043D \u0432 \xAB/\xBB (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: /regex/), \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D \u043A\u0430\u043A \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0435. \u0412 \u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D \u043A\u0430\u043A \u0441\u0442\u0440\u043E\u043A\u0430.",title:{FolderPathTitle:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u043A \u043F\u0443\u0442\u0438 \u043F\u0430\u043F\u043A\u0438 \u0438\u043B\u0438 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430 (\u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438)",titleOnly:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u043A \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430 (\u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438)"}},rootFolder:{desc:"\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u044D\u0442\u043E\u0442 \u043F\u0443\u0442\u044C \u043A \u043F\u0430\u043F\u043A\u0435, \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u043E\u0439 \u043A\u043B\u044E\u0447\u043E\u043C \u0441\u0432\u043E\u0439\u0441\u0442\u0432",other:"\u0412\u0441\u0435 \u043F\u0443\u0442\u0438 \u0432 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C\u0438 \u044D\u0442\u043E\u0439 \u043F\u0430\u043F\u043A\u0435.",title:"\u041A\u043E\u0440\u043D\u0435\u0432\u0430\u044F \u043F\u0430\u043F\u043A\u0430"},title:"\u041F\u0443\u0442\u0438 \u043A \u0444\u0430\u0439\u043B\u0430\u043C",useFrontmatterTitle:{desc:'\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0434\u043B\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430. \u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F "title".',title:"\u041A\u043B\u044E\u0447 \u0438\u0437 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u0431\u0443\u0434\u0435\u0442 \u0432\u0437\u044F\u0442\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430"}}},statusBar:{counter:"{{- msg}}: {{- counter}}/{{- nb}}",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u2026",main:"",markedForSharing:"{{- nb}} {{- type}} \u043E\u0442\u043C\u0435\u0447\u0435\u043D\u043E \u0434\u043B\u044F \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438",sharing:"\u041F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u044F {{- type}}",success:"{{- type}} {{- action}}"}};var tr_default={commands:{checkValidity:{error:"Ge\xE7ersiz yap\u0131land\u0131rma",errorToken:"",inBranch:{error403:"Hata 403: {{- repo.owner}}/{{- repo.repo}} (buradan {{- repo.branch}}) kal\u0131c\u0131 olarak ta\u015F\u0131nd\u0131",error404:"Hata 404: {{- repo.branch}} dal\u0131 {{- repo.owner}}/{{- repo.repo}} konumunda bulunamad\u0131."},inRepo:{error301:"",error403:"Hata 403: Bu eylem {{- repo.owner}}/{{- repo.repo}} i\xE7in yasakt\u0131r.",error404:"Hata 404: {{- repo.owner}}/{{- repo.repo}}: bulunamad\u0131."},rateLimit:{command:"Github API'\u0131n\u0131n istek limitini kontrol edin",limited:"Github API'\u0131n\u0131n istek limitini doldurdunuz. Limit {{- resetTime}} i\xE7erisinde s\u0131f\u0131rlanacak.",notLimited:"\u0130stek limitini a\u015Fmad\u0131n\u0131z. {{- remaining}} kadar istek atabilirsiniz ta ki {{- resetTime}} zaman\u0131nda s\u0131f\u0131rlanana kadar."},repoExistsTestBranch:"Depo {{- repo.owner}}/{{- repo.repo}} mevcut. \u015Eimdi {{- repo.branch}} dal\u0131 test ediliyor.",success:"{{- repo.owner}}/{{- repo.repo}} ge\xE7erli g\xF6z\xFCk\xFCyor!",title:"Yap\u0131land\u0131r\u0131lm\u0131\u015F repoyu test edin"},copyLink:{onActivation:"Link kopyaland\u0131",title:"Bu nota bir link olu\u015Ftur"},publisherDeleteClean:"Yay\u0131mlanmam\u0131\u015F ve silinmi\u015F dosyalar\u0131 temizle",refreshAllSets:"(Di\u011Fer depolar): Kaydedilen t\xFCm k\xFCmeleri yeniden y\xFCkle",refreshOpenedSet:"(Di\u011Fer depolar): A\xE7\u0131lan \xF6n metni yeniden y\xFCkle",runOtherRepo:{noFile:"Hi\xE7bir dosya etkin de\u011Fil veya dosya payla\u015F\u0131lm\u0131yor",title:"Bir depo i\xE7in komut \xE7al\u0131\u015Ft\u0131r"},shareActiveFile:"Tek bir ge\xE7erli aktif notu y\xFCkleyin",shareViewFiles:{multiple:{on:"{{- doc}} dosyas\u0131n\u0131 {{- smartKey }}'e y\xFCkleyin",other:"\u015Euraya y\xFCkle\u2026"}},uploadAllEditedNote:"Yay\u0131mlanan t\xFCm notlar\u0131 yenile",uploadAllNewEditedNote:"Yay\u0131mlanan notlar\u0131 yenile ve yeni notlar y\xFCkle",uploadAllNotes:"Payla\u015F\u0131lan t\xFCm notlar\u0131 y\xFCkle",uploadNewNotes:"Yay\u0131mlanmam\u0131\u015F notlar\u0131 y\xFCkle"},common:{add:"{{-\u015Feyler}} ekle",after:"Sonras\u0131nda",attachments:"Ekler",before:"\xD6nce",cancel:"\u0130ptal etmek",close:"Kapal\u0131",default:"default",defaultName:"varsay\u0131lan klas\xF6r",delete:"{{-\u015Feyleri}} sil",edit:"{{-\u015Feyleri}} d\xFCzenle",error:"Hata",files:"Dosyalar",ghToken:"GitHub belirteci",here:"here",in:"in",no:"HAYIR",or:"or",path:{file:"Dosya ad\u0131",folder:"Klas\xF6r yolu",full:"Dosya yolu"},points:": ",published:"yay\u0131nland\u0131",regex:"d\xFCzenli ifade",rename:"Yeniden adland\u0131r\u0131lan anahtar(lar)\u2026",repository:"Depo",rootFolder:"k\xF6k klas\xF6r",save:"Kaydetmek",shared:"Payla\u015F\u0131lan",text:"text",warning:"Uyar\u0131",yes:"Evet"},deletion:{failed:"{{- nb}} dosya silinemedi.",noFile:"Hi\xE7bir dosya silinmedi.",success:"{{- nb}} dosya ba\u015Far\u0131yla silindi."},error:{alreadyExists:"{{- dosya}} zaten mevcut.",autoClean:"{{- what}} bo\u015F oldu\u011Fundan, otomatik temizleme devre d\u0131\u015F\u0131d\u0131r. Bunu yeniden etkinle\u015Ftirebilirsiniz, ancak \u015Fablonunuzun ihtiya\xE7 duydu\u011Fu dosya silme i\u015Flemine dikkat edin.",dataview:"Dataview sorgusu i\u015Flenemiyor. L\xFCtfen dataview eklentisini son s\xFCr\xFCme g\xFCncelleyin.",errorConfig:"{{- repo.owner}}/{{- repo.repo}} yap\u0131land\u0131r\u0131l\u0131rken hata olu\u015Ftu. L\xFCtfen ayarlar\u0131n\u0131z\u0131 kontrol edin.",errorPublish:"<u>{{- repo.owner}}/{{- repo.repo}}</u> adresine y\xFCkleme s\u0131ras\u0131nda hata: <i>{{- repo.branch}}</i>",isEmpty:"{{- ne}} bo\u015Ftur.",mergeconflic:"\xC7ekme iste\u011Fi birle\u015Ftirilemez, bunu manuel olarak yapman\u0131z gerekir.",normal:"404 hatas\u0131 normaldir! Dosyan\u0131n hen\xFCz mevcut olmad\u0131\u011F\u0131 anlam\u0131na gelir. Endi\u015Felenmeyin \u2764.",parseYaml:`\xD6n sayfaya etiket veya ba\u015Fl\u0131k ekleme hatas\u0131.
Dataview veya ba\u015Fka bir eklenti buna m\xFCdahale ediyor olmal\u0131.
Ad\u0131m atland\u0131.`,"reading-token-file":"",unablePublishMultiNotes:"",unablePublishNote:"",whatEmpty:{branch:"",owner:""}},informations:{foundNoteToSend:"",migrating:{fileReplace:"",normalFormat:"",oldSettings:"",subFolder:""},noNewNote:"",scanningRepo:"",sendMessage:"",startingClean:"",successPublishOneNote:"",successfulPublish:"",wait:"",wait_plural:"",waitingWorkflow:""},modals:{export:{copy:"",desc:"",download:"",title:""},import:{desc:"",error:{isEmpty:"",span:""},importFromFile:"",paste:"",presets:{desc:"",title:""},title:""},listChangedFiles:{added:"",deleted:"",edited:"",error:"",notDeleted:"",title:"",unpublished:""}},publish:{branch:{alreadyExists:"",error:"",prMessage:"",success:""},upToDate:""},regex:{entry:"",replace:""},settings:{conversion:{dataview:{desc:"",title:""},desc:"",hardBreak:{desc:"",title:""},links:{anchor:{desc:"",title:""},desc:"",folderNote:{desc:"",title:""},internals:{dataview:"",desc:"",shareAll:"",title:""},key:"<code>links: false</code>",nonShared:{desc:"",title:""},relativePath:{desc:"",title:""},slugify:{desc:"",disable:"",lower:"",strict:"",title:"Ba\u011Flant\u0131 yava\u015Flad\u0131"},textBefore:{desc:"",title:""},title:"",unlink:{desc:"",title:""},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"",title:""}},sectionTitle:"",tags:{desc:"",exclude:{desc:"",placeholder:"",title:""},inlineTags:{desc:"",title:""},title:""},title:""},embed:{attachment:"",bake:{text:"",textAfter:{title:""},textBefore:{title:""},title:"",variable:{desc:"",title:"",url:""},warning:""},char:{desc:"",title:""},defaultImageFolder:{desc:"",title:""},forcePush:{all:"",default:"",desc:"",info:"",title:""},imagePath:{desc:"",title:""},links:{desc:"",dp:{bake:"",keep:"",links:"",remove:""},title:""},notes:"",overrides:{desc:"",modal:{dest:"",path:"",title:""}},sendSimpleLinks:{desc:"",title:""},title:"",transferImage:{title:""},transferMetaFile:{desc:"",title:""},transferNotes:{desc:"",title:""}},embeds:{unHandledObsidianExt:{desc:"",title:""}},github:{apiType:{desc:"",dropdown:{enterprise:"",free:""},hostname:{desc:"",title:""},title:""},automaticallyMergePR:"",branch:{desc:"",title:""},dryRun:{enable:{desc:"",title:""},folder:{desc:"",error:"",title:""}},ghToken:{button:{configDir:"",default:"",description:"",pluginID:"",tooltip:"",variables:""},desc:"",error:""},repoName:{desc:"",placeholder:"",title:""},smartRepo:{button:"",modals:{default:"",desc:"",duplicate:"",empty:"",frontmatterInfo:"",newRepo:"",otherConfig:"",shortcuts:{desc:"",title:""},title:""}},testConnection:"",title:"",username:{desc:"",title:""}},githubWorkflow:{autoCleanUp:{desc:"",popup:{desc:"",exclude:"",sure:"",title:""},title:""},excludedFiles:{desc:"",title:""},githubAction:{desc:"",title:""},includeAttachments:{desc:"",title:""},prRequest:{desc:"",error:"",title:""},useMetadataExtractor:{desc:"",title:""}},help:{frontmatter:{attachment:{folder:"",send:""},autoclean:"",baselink:{desc:"",remove:""},convert:{enableOrDisable:"",syntax:""},dataview:"",desc:"",embed:{char:"",remove:{bake:"",desc:"",keep:"",links:"",remove:""},send:""},hardBreak:"",includeLinks:"",internals:"",mdlinks:"",nestedKey:"",nonShared:"",path:"",repo:{branch:"",desc:"",owner:""},share:{other:"",title:""},shortRepo:"",title:"",titleKey:"",unlink:""},multiRepoHelp:{desc:"",desc2:"",exampleDesc:"",title:""},title:"",usefulLinks:{discussion:"",documentation:"",issue:"",title:"",translation:""}},plugin:{copyLink:{applyRegex:{desc:"",title:""},baselink:{desc:"",title:""},command:{desc:""},desc:"",linkPathRemover:{desc:"",title:""},title:"Ba\u011Flant\u0131y\u0131 kopyala",toUri:{desc:"",title:""}},dev:{desc:"",title:""},editorMenu:{desc:"",title:"Edit\xF6r men\xFCs\xFC"},embedEditRepo:{desc:"",title:""},excludedFolder:{desc:"",title:"Hari\xE7 tutulan klas\xF6rler"},fileMenu:{desc:"",title:"Dosya men\xFCs\xFC"},head:{copyLinks:"",log:"",menu:"",other:"",share:"Yap\u0131land\u0131rmay\u0131 payla\u015Fma"},logNoticeHeader:{desc:"",title:""},noticeLength:{desc:"",error:"",title:""},saveTab:{desc:"",title:"Sekmeyi kaydet"},set:{desc:"",title:""},setImport:{desc:"",title:""},shareKey:{all:{desc:"",title:""},desc:"",excludedFileName:{title:""},otherRepo:"",title:"Anahtar payla\u015F\u0131m\u0131"},title:"Eklenti ayarlar\u0131"},regexReplacing:{empty:"",emptyRegex:"",forbiddenValue:"",inCodeBlocks:{runIn:"",runOut:""},invalidRegex:"",modal:{desc:"",force:"Kuvvet itme",keywords:"",name:"",title:{all:"",only:"Dosya ad\u0131n\u0131 de\u011Fi\u015Ftir",text:"Metin de\u011Fi\u015Ftirici"}},momentReplaceRegex:"",warningPath:""},upload:{defaultFolder:{desc:"",placeholder:"",title:""},folderBehavior:{desc:"",fixedFolder:"",obsidianPath:"",title:"",yaml:""},folderNote:{addTitle:{key:"",title:""}},frontmatterKey:{desc:"",placeholder:"",title:""},regexFilePathTitle:{desc:"",title:{FolderPathTitle:"",titleOnly:""}},rootFolder:{desc:"",other:"",title:""},title:"",useFrontmatterTitle:{desc:"",title:""}}},statusBar:{counter:"",loading:"",main:"",markedForSharing:"",sharing:"",success:""}};var zh_CN_default={commands:{checkValidity:{error:"\u9519\u8BEF\u914D\u7F6E",errorToken:"",inBranch:{error403:"\u9519\u8BEF 403\uFF1A{{- repo.owner}}/{{- repo.repo}} \u5DF2\u6C38\u4E45\u79FB\u52A8 (\u6765\u81EA {{- repo.branch}})\u3002",error404:"\u9519\u8BEF 404\uFF1A\u5728 {{- repo.branch}} \u627E\u4E0D\u5230\u5206\u652F {{- repo.owner}}/{{- repo.repo}}\u3002"},inRepo:{error301:"\u9519\u8BEF 301\uFF1A{{- repo.owner}}/{{- repo.repo}} \u5DF2\u6C38\u4E45\u79FB\u52A8\u3002",error403:"\u9519\u8BEF 403\uFF1A\u7981\u6B62\u5BF9 {{- repo.owner}}/{{- repo.repo}} \u6267\u884C\u64CD\u4F5C\u3002",error404:"\u9519\u8BEF 404\uFF1A\u627E\u4E0D\u5230 {{- repo.owner}}/{{- repo.repo}}\u3002"},rateLimit:{command:"\u68C0\u67E5 GitHub API \u7684\u901F\u7387\u9650\u5236",limited:"\u4F60\u5DF2\u7ECF\u8FBE\u5230 GitHub API \u7684\u901F\u7387\u9650\u5236\u3002\u8BE5\u9650\u5236\u5C06\u5728 {{- resetTime}} \u91CD\u7F6E\u3002",notLimited:"\u4F60\u4E0D\u53D7\u5230\u901F\u7387\u9650\u5236\u3002\u4F60\u53EF\u4EE5\u5728 {{-resetTime}} \u91CD\u7F6E\u9650\u5236\u4E4B\u524D\u53D1\u51FA {{-remaining}} \u4E2A\u8BF7\u6C42\u3002"},repoExistsTestBranch:"",success:"",title:""},copyLink:{onActivation:"",title:""},publisherDeleteClean:"",refreshAllSets:"",refreshOpenedSet:"",runOtherRepo:{noFile:"",title:""},shareActiveFile:"",shareViewFiles:{multiple:{on:"",other:""}},uploadAllEditedNote:"",uploadAllNewEditedNote:"",uploadAllNotes:"",uploadNewNotes:""},common:{add:"",after:"",attachments:"",before:"",cancel:"",close:"",default:"",defaultName:"",delete:"",edit:"",error:"",files:"",ghToken:"",here:"",in:"",no:"",or:"",path:{file:"",folder:"",full:""},points:"",published:"",regex:"",rename:"",repository:"",rootFolder:"",save:"",shared:"",text:"",warning:"",yes:""},deletion:{failed:"",noFile:"",success:""},error:{alreadyExists:"",autoClean:"",dataview:"",errorConfig:"",errorPublish:"",isEmpty:"",mergeconflic:"",normal:"",parseYaml:"","reading-token-file":"",unablePublishMultiNotes:"",unablePublishNote:"",whatEmpty:{branch:"",owner:""}},informations:{foundNoteToSend:"",migrating:{fileReplace:"",normalFormat:"",oldSettings:"",subFolder:""},noNewNote:"",scanningRepo:"",sendMessage:"",startingClean:"",successPublishOneNote:"",successfulPublish:"",wait:"",wait_plural:"",waitingWorkflow:""},modals:{export:{copy:"",desc:"",download:"",title:""},import:{desc:"",error:{isEmpty:"",span:""},importFromFile:"",paste:"",presets:{desc:"",title:""},title:""},listChangedFiles:{added:"",deleted:"",edited:"",error:"",notDeleted:"",title:"",unpublished:""}},publish:{branch:{alreadyExists:"",error:"",prMessage:"",success:""},upToDate:""},regex:{entry:"",replace:""},settings:{conversion:{dataview:{desc:"",title:""},desc:"",hardBreak:{desc:"",title:""},links:{anchor:{desc:"",title:""},desc:"",folderNote:{desc:"",title:""},internals:{dataview:"",desc:"",shareAll:"",title:""},key:"<code>links: false</code>",nonShared:{desc:"",title:""},relativePath:{desc:"",title:""},slugify:{desc:"",disable:"",lower:"",strict:"",title:""},textBefore:{desc:"",title:""},title:"",unlink:{desc:"",title:""},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"",title:""}},sectionTitle:"",tags:{desc:"",exclude:{desc:"",placeholder:"",title:""},inlineTags:{desc:"",title:""},title:""},title:""},embed:{attachment:"",bake:{text:"",textAfter:{title:""},textBefore:{title:""},title:"",variable:{desc:"",title:"",url:""},warning:""},char:{desc:"",title:""},defaultImageFolder:{desc:"",title:""},forcePush:{all:"",default:"",desc:"",info:"",title:""},imagePath:{desc:"",title:""},links:{desc:"",dp:{bake:"",keep:"",links:"",remove:""},title:""},notes:"",overrides:{desc:"",modal:{dest:"",path:"",title:""}},sendSimpleLinks:{desc:"",title:""},title:"",transferImage:{title:""},transferMetaFile:{desc:"",title:""},transferNotes:{desc:"",title:""}},embeds:{unHandledObsidianExt:{desc:"",title:""}},github:{apiType:{desc:"",dropdown:{enterprise:"",free:""},hostname:{desc:"",title:""},title:""},automaticallyMergePR:"",branch:{desc:"",title:""},dryRun:{enable:{desc:"",title:""},folder:{desc:"",error:"",title:""}},ghToken:{button:{configDir:"",default:"",description:"",pluginID:"",tooltip:"",variables:""},desc:"",error:""},repoName:{desc:"",placeholder:"",title:""},smartRepo:{button:"",modals:{default:"",desc:"",duplicate:"",empty:"",frontmatterInfo:"",newRepo:"",otherConfig:"",shortcuts:{desc:"",title:""},title:""}},testConnection:"",title:"",username:{desc:"",title:""}},githubWorkflow:{autoCleanUp:{desc:"",popup:{desc:"",exclude:"",sure:"",title:""},title:""},excludedFiles:{desc:"",title:""},githubAction:{desc:"",title:""},includeAttachments:{desc:"",title:""},prRequest:{desc:"",error:"",title:""},useMetadataExtractor:{desc:"",title:""}},help:{frontmatter:{attachment:{folder:"",send:""},autoclean:"",baselink:{desc:"",remove:""},convert:{enableOrDisable:"",syntax:""},dataview:"",desc:"",embed:{char:"",remove:{bake:"",desc:"",keep:"",links:"",remove:""},send:""},hardBreak:"",includeLinks:"",internals:"",mdlinks:"",nestedKey:"",nonShared:"",path:"",repo:{branch:"",desc:"",owner:""},share:{other:"",title:""},shortRepo:"",title:"",titleKey:"",unlink:""},multiRepoHelp:{desc:"",desc2:"",exampleDesc:"",title:""},title:"",usefulLinks:{discussion:"",documentation:"",issue:"",title:"",translation:""}},plugin:{copyLink:{applyRegex:{desc:"",title:""},baselink:{desc:"",title:""},command:{desc:""},desc:"",linkPathRemover:{desc:"",title:""},title:"",toUri:{desc:"",title:""}},dev:{desc:"",title:""},editorMenu:{desc:"",title:""},embedEditRepo:{desc:"",title:""},excludedFolder:{desc:"",title:""},fileMenu:{desc:"",title:""},head:{copyLinks:"",log:"",menu:"",other:"",share:""},logNoticeHeader:{desc:"",title:""},noticeLength:{desc:"",error:"",title:""},saveTab:{desc:"",title:""},set:{desc:"",title:""},setImport:{desc:"",title:""},shareKey:{all:{desc:"",title:""},desc:"",excludedFileName:{title:""},otherRepo:"",title:""},title:""},regexReplacing:{empty:"",emptyRegex:"",forbiddenValue:"",inCodeBlocks:{runIn:"",runOut:""},invalidRegex:"",modal:{desc:"",force:"",keywords:"",name:"",title:{all:"",only:"",text:""}},momentReplaceRegex:"",warningPath:""},upload:{defaultFolder:{desc:"",placeholder:"",title:""},folderBehavior:{desc:"",fixedFolder:"",obsidianPath:"",title:"",yaml:""},folderNote:{addTitle:{key:"",title:""}},frontmatterKey:{desc:"",placeholder:"",title:""},regexFilePathTitle:{desc:"",title:{FolderPathTitle:"",titleOnly:""}},rootFolder:{desc:"",other:"",title:""},title:"",useFrontmatterTitle:{desc:"",title:""}}},statusBar:{counter:"",loading:"",main:"",markedForSharing:"",sharing:"",success:""}};var zh_TW_default={commands:{checkValidity:{error:"\u932F\u8AA4\u914D\u7F6E",errorToken:"",inBranch:{error403:"\u932F\u8AA4 403\uFF1A{{- repo.owner}}/{{- repo.repo}} \u5DF2\u6C38\u4E45\u79FB\u52D5\uFF08\u4F86\u81EA {{- repo.branch}}\uFF09\u3002",error404:"\u932F\u8AA4 404\uFF1A\u5728 {{- repo.owner}}/{{- repo.repo}} \u4E2D\u627E\u4E0D\u5230\u5206\u652F {{- repo.branch}}\u3002"},inRepo:{error301:"\u932F\u8AA4 301\uFF1A{{- repo.owner}}/{{- repo.repo}} \u5DF2\u6C38\u4E45\u79FB\u52D5\u3002",error403:"\u932F\u8AA4 403\uFF1A\u7981\u6B62\u5C0D {{- repo.owner}}/{{- repo.repo}} \u57F7\u884C\u6B64\u64CD\u4F5C\u3002",error404:"\u932F\u8AA4 404\uFF1A\u627E\u4E0D\u5230 {{- repo.owner}}/{{- repo.repo}}\u3002"},rateLimit:{command:"\u6AA2\u67E5 GitHub API \u7684\u901F\u7387\u9650\u5236",limited:"\u4F60\u5DF2\u9054\u5230 GitHub API \u7684\u901F\u7387\u9650\u5236\u3002\u8A72\u9650\u5236\u5C07\u5728 {{-resetTime}} \u91CD\u7F6E\u3002",notLimited:"\u4F60\u4E0D\u53D7\u5230\u901F\u7387\u9650\u5236\u3002\u4F60\u53EF\u4EE5\u5728 {{-resetTime}} \u91CD\u7F6E\u9650\u5236\u4E4B\u524D\u767C\u51FA {{-remaining}} \u500B\u8ACB\u6C42\u3002"},repoExistsTestBranch:"\u5132\u5B58\u5EAB {{- repo.owner}}/{{- repo.repo}} \u5B58\u5728\u3002\u73FE\u5728\u6E2C\u8A66 {{- repo.branch}} \u5206\u652F\u3002",success:"{{- repo.owner}}/{{- repo.repo}} \u4F3C\u4E4E\u6709\u6548\uFF01",title:"\u6E2C\u8A66\u8207\u5DF2\u914D\u7F6E\u5132\u5B58\u5EAB\u7684\u9023\u63A5"},copyLink:{onActivation:"\u9023\u7D50\u5DF2\u8907\u88FD\u81F3\u526A\u8CBC\u7C3F",title:""},publisherDeleteClean:"\u6E05\u9664\u5DF2\u53D6\u6D88\u767C\u4F48\u548C\u5DF2\u522A\u9664\u7684\u6A94\u6848",refreshAllSets:"",refreshOpenedSet:"",runOtherRepo:{noFile:"\u6C92\u6709\u6A94\u6848\u8655\u65BC\u6D3B\u52D5\u72C0\u614B\u6216\u6A94\u6848\u4E26\u672A\u5171\u7528",title:"\u70BA\u5132\u5B58\u5EAB\u57F7\u884C\u6307\u4EE4"},shareActiveFile:"",shareViewFiles:{multiple:{on:"\u5C07 {{- doc}} \u4E0A\u8F09\u81F3 {{- smartKey }}",other:"\u4E0A\u8F09\u81F3\u2026"}},uploadAllEditedNote:"",uploadAllNewEditedNote:"",uploadAllNotes:"",uploadNewNotes:""},common:{add:"\u65B0\u589E {{- things}}",after:"\u4EE5\u5F8C",attachments:"\u9644\u4EF6",before:"\u4EE5\u524D",cancel:"\u53D6\u6D88",close:"\u95DC\u9589",default:"\u9810\u8A2D",defaultName:"\u9810\u8A2D\u8CC7\u6599\u593E",delete:"\u522A\u9664 {{- things}}",edit:"\u7DE8\u8F2F {{- things}}",error:"\u932F\u8AA4",files:"\u6A94\u6848",ghToken:"GitHub \u4EE4\u724C",here:"\u9019\u88CF",in:"",no:"\u5426",or:"\u6216",path:{file:"\u6A94\u6848\u540D\u7A31",folder:"\u8CC7\u6599\u593E\u8DEF\u5F91",full:"\u6A94\u6848\u8DEF\u5F91"},points:"\uFF1A ",published:"\u5DF2\u767C\u4F48",regex:"\u6B63\u898F\u8868\u9054\u5F0F",rename:"",repository:"\u5132\u5B58\u5EAB",rootFolder:"\u6839\u8CC7\u6599\u593E",save:"\u5132\u5B58",shared:"\u5DF2\u5206\u4EAB",text:"",warning:"\u8B66\u544A",yes:"\u662F"},deletion:{failed:"\u7121\u6CD5\u522A\u9664 {{- nb}} \u500B\u6A94\u6848\u3002",noFile:"\u6C92\u6709\u6A94\u6848\u88AB\u522A\u9664\u3002",success:"\u5DF2\u6210\u529F\u522A\u9664 {{- nb}} \u500B\u6A94\u6848\u3002"},error:{alreadyExists:"{{- file}} \u5DF2\u7D93\u5B58\u5728\u3002",autoClean:"\u7531\u65BC {{- what}} \u70BA\u7A7A\uFF0C\u56E0\u6B64\u81EA\u52D5\u6E05\u7406\u529F\u80FD\u88AB\u505C\u7528\u3002\u4F60\u53EF\u4EE5\u5C0D\u5176\u91CD\u65B0\u555F\u7528\uFF0C\u4F46\u662F\u8ACB\u5C0F\u5FC3\u907F\u514D\u522A\u9664\u4F60\u8981\u4F7F\u7528\u7684\u6A21\u677F\u6A94\u6848\u3002",dataview:"",errorConfig:"\u914D\u7F6E {{- repo.owner}}/{{- repo.repo}} \u6642\u767C\u751F\u932F\u8AA4\u3002\u8ACB\u6AA2\u67E5\u4F60\u7684\u8A2D\u5B9A\u3002",errorPublish:"\u4E0A\u8F09\u81F3 <u>{{- repo.owner}}/{{- repo.repo}}</u> \u6642\u767C\u751F\u932F\u8AA4\uFF1A<i>{{- repo.branch}}</i>",isEmpty:"{{- \u4EC0\u9EBC}} \u70BA\u7A7A\u3002",mergeconflic:"\u62C9\u53D6\u8ACB\u6C42\u4E0D\u53EF\u5408\u4F75\uFF0C\u4F60\u9700\u8981\u624B\u52D5\u5408\u4F75\u3002",normal:"\u932F\u8AA4 404 \u662F\u6B63\u5E38\u7684\uFF01\u9019\u610F\u5473\u8457\u8A72\u6A94\u6848\u9084\u4E0D\u5B58\u5728\u3002\u5225\u64D4\u5FC3 \u2764\u3002",parseYaml:"","reading-token-file":"\u932F\u8AA4\uFF1A\u8DEF\u5F91\u4F3C\u4E4E\u4E0D\u6B63\u78BA\u3002",unablePublishMultiNotes:"",unablePublishNote:"",whatEmpty:{branch:"\u5206\u652F",owner:"\u64C1\u6709\u8005"}},informations:{foundNoteToSend:"",migrating:{fileReplace:"",normalFormat:"\u6B63\u5728\u9077\u79FB\u8A2D\u5B9A\u2026",oldSettings:"\u5C07\u820A\u8A2D\u5B9A\u9077\u79FB\u5230\u65B0\u8A2D\u5B9A\u683C\u5F0F\u2026",subFolder:""},noNewNote:"",scanningRepo:"\u6B63\u5728\u6383\u63CF\u5132\u5B58\u5EAB\uFF0C\u53EF\u80FD\u9700\u8981\u4E00\u4E9B\u6642\u9593\u2026",sendMessage:"",startingClean:"\u6B63\u5728\u958B\u59CB\u6E05\u7406 <u>{{- repo.owner}}/{{- repo.repo}}</u>",successPublishOneNote:"\u5DF2\u6210\u529F\u4E0A\u8F09 <i><u>{{- file}}</u></i> \u81F3 <u>{{- repo.owner}}/{{- repo.repo}}</u>",successfulPublish:"\u5DF2\u6210\u529F\u4E0A\u8F09 <i>{{- nbNotes}}</i> \u81F3 <u>{{- repo.owner}}/{{- repo.repo}}</u>",wait:"",wait_plural:"",waitingWorkflow:"\u73FE\u5728\uFF0C\u7B49\u5F85\u5DE5\u4F5C\u6D41\u7A0B\u5B8C\u6210\u2026"},modals:{export:{copy:"\u8907\u88FD\u81F3\u526A\u8CBC\u7C3F",desc:"\u532F\u51FA\u8A2D\u5B9A\u81F3\u526A\u8CBC\u7C3F\u6216\u6A94\u6848\u3002",download:"\u4E0B\u8F09",title:"\u532F\u51FA\u8A2D\u5B9A"},import:{desc:"\u5F9E\u6587\u5B57\u6216\u6A94\u6848\u532F\u5165\u8A2D\u5B9A\u3002\u6CE8\u610F\uFF1A\u9019\u5C07\u8986\u5BEB\u4F60\u76EE\u524D\u7684\u8A2D\u5B9A\uFF08\u4F7F\u7528\u8005\u540D\u7A31\u3001\u5132\u5B58\u5EAB\u540D\u7A31\u548C\u4EE4\u724C\u9664\u5916\uFF09\u3002",error:{isEmpty:"\u914D\u7F6E\u70BA\u7A7A\u3002",span:"\u532F\u5165\u914D\u7F6E\u6642\u767C\u751F\u932F\u8AA4\uFF1A "},importFromFile:"\u5F9E\u6A94\u6848\u532F\u5165",paste:"\u5C07\u914D\u7F6E\u8CBC\u4E0A\u6B64\u8655\u2026",presets:{desc:"",title:"\u9810\u8A2D\u96C6"},title:"\u532F\u5165\u8A2D\u5B9A"},listChangedFiles:{added:"\u5DF2\u65B0\u589E",deleted:"\u5DF2\u522A\u9664",edited:"\u5DF2\u7DE8\u8F2F",error:"\u932F\u8AA4",notDeleted:"\u7121\u6CD5\u522A\u9664",title:"\u5132\u5B58\u5EAB\u4E2D\u5DF2\u7DE8\u8F2F\u7684\u6A94\u6848\u5217\u8868",unpublished:"\u7121\u6CD5\u767C\u4F48"}},publish:{branch:{alreadyExists:"\u5206\u652F {{-branchName}} \u5DF2\u7D93\u5B58\u5728\u5728 {{- repo.owner}}/{{- repo.repo}} \u4E0A\u2014\u4F7F\u7528\u5B83\u3002",error:"{{- repo.owner}}/{{- repo.repo}} \u932F\u8AA4\uFF1A{{- error}}",prMessage:"",success:""},upToDate:""},regex:{entry:"",replace:""},settings:{conversion:{dataview:{desc:"",title:""},desc:"",hardBreak:{desc:"",title:""},links:{anchor:{desc:"",title:""},desc:"",folderNote:{desc:"",title:""},internals:{dataview:"",desc:"",shareAll:"",title:"\u5167\u90E8\u9023\u7D50"},key:"<code>links: false</code>",nonShared:{desc:"",title:""},relativePath:{desc:"",title:""},slugify:{desc:"",disable:"\u505C\u7528",lower:"",strict:"",title:""},textBefore:{desc:"",title:""},title:"\u9023\u7D50",unlink:{desc:"",title:""},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"",title:""}},sectionTitle:"\u6B63\u6587",tags:{desc:"",exclude:{desc:"",placeholder:"\u6B04\u4F4D\u503C",title:""},inlineTags:{desc:"",title:""},title:""},title:"\u5167\u5BB9"},embed:{attachment:"\u9644\u4EF6",bake:{text:"",textAfter:{title:""},textBefore:{title:""},title:"",variable:{desc:"",title:"",url:""},warning:""},char:{desc:"",title:"\u5D4C\u5165\u5B57\u7B26"},defaultImageFolder:{desc:"",title:""},forcePush:{all:"",default:"",desc:"",info:"",title:""},imagePath:{desc:"",title:"\u7D50\u69CB"},links:{desc:"",dp:{bake:"",keep:"\u6C92\u6709\u8B8A\u66F4",links:"",remove:""},title:""},notes:"",overrides:{desc:"",modal:{dest:"\u76EE\u7684\u5730",path:"",title:""}},sendSimpleLinks:{desc:"",title:""},title:"",transferImage:{title:""},transferMetaFile:{desc:"",title:""},transferNotes:{desc:"",title:""}},embeds:{unHandledObsidianExt:{desc:"",title:""}},github:{apiType:{desc:"",dropdown:{enterprise:"\u4F01\u696D",free:"\u514D\u8CBB\uFF0F\u5C08\u696D\uFF0F\u5718\u968A\uFF08\u9810\u8A2D\uFF09"},hostname:{desc:"",title:""},title:"API \u985E\u578B"},automaticallyMergePR:"",branch:{desc:"",title:"\u4E3B\u5206\u652F"},dryRun:{enable:{desc:"",title:"\u6E2C\u8A66\u6A21\u5F0F"},folder:{desc:"",error:"",title:""}},ghToken:{button:{configDir:"",default:"",description:"",pluginID:"",tooltip:"",variables:""},desc:"",error:""},repoName:{desc:"",placeholder:"",title:"\u5132\u5B58\u5EAB\u540D\u7A31"},smartRepo:{button:"",modals:{default:"",desc:"",duplicate:"",empty:"",frontmatterInfo:"",newRepo:"",otherConfig:"\u5176\u4ED6\u8A2D\u5B9A",shortcuts:{desc:"",title:"\u6377\u5F91"},title:""}},testConnection:"\u6E2C\u8A66\u9023\u63A5",title:"GitHub \u914D\u7F6E",username:{desc:"",title:"GitHub \u4F7F\u7528\u8005\u540D\u7A31"}},githubWorkflow:{autoCleanUp:{desc:"",popup:{desc:"",exclude:"",sure:"",title:"\u555F\u7528\u81EA\u52D5\u6E05\u7406"},title:""},excludedFiles:{desc:"",title:""},githubAction:{desc:"",title:""},includeAttachments:{desc:"",title:""},prRequest:{desc:"",error:"",title:"\u63D0\u4EA4\u8A0A\u606F"},useMetadataExtractor:{desc:"",title:""}},help:{frontmatter:{attachment:{folder:"",send:""},autoclean:"",baselink:{desc:"",remove:""},convert:{enableOrDisable:"",syntax:""},dataview:"",desc:"",embed:{char:"",remove:{bake:"",desc:"",keep:"",links:"",remove:""},send:""},hardBreak:"",includeLinks:"",internals:"",mdlinks:"\u8F49\u63DB\u5168\u90E8 ",nestedKey:"",nonShared:"",path:"",repo:{branch:"",desc:"",owner:""},share:{other:"",title:""},shortRepo:"",title:"",titleKey:"",unlink:""},multiRepoHelp:{desc:"",desc2:"",exampleDesc:"",title:""},title:"\u5E6B\u52A9",usefulLinks:{discussion:"\u8A0E\u8AD6",documentation:"\u6587\u4EF6",issue:"",title:"\u6709\u7528\u7684\u9023\u7D50",translation:""}},plugin:{copyLink:{applyRegex:{desc:"",title:""},baselink:{desc:"",title:""},command:{desc:""},desc:"",linkPathRemover:{desc:"",title:""},title:"\u8907\u88FD\u9023\u7D50",toUri:{desc:"",title:""}},dev:{desc:"",title:""},editorMenu:{desc:"",title:"\u7DE8\u8F2F\u5668\u9078\u55AE"},embedEditRepo:{desc:"",title:""},excludedFolder:{desc:"",title:"\u5DF2\u6392\u9664\u7684\u8CC7\u6599\u593E"},fileMenu:{desc:"",title:"\u6A94\u6848\u9078\u55AE"},head:{copyLinks:"",log:"",menu:"\u9078\u55AE",other:"\u5176\u4ED6",share:"\u6B63\u5728\u5171\u4EAB\u914D\u7F6E"},logNoticeHeader:{desc:"",title:""},noticeLength:{desc:"",error:"",title:""},saveTab:{desc:"",title:"\u5132\u5B58\u5206\u9801"},set:{desc:"",title:""},setImport:{desc:"",title:""},shareKey:{all:{desc:"",title:"\u5206\u4EAB\u6240\u6709\u6A94\u6848"},desc:"\u7528\u65BC\u5728\u7DB2\u7AD9\u4E0A\u767C\u4F48\u6A94\u6848\u7684 YAML \u524D\u9801\u9375\u3002\u9810\u8A2D\u70BA\u300Cshare\u300D\u3002",excludedFileName:{title:"\u6392\u9664\u6A94\u6848\u540D\u7A31\u4EE5\u6B64\u958B\u982D\u7684\u2026"},otherRepo:"",title:"\u5206\u4EAB\u91D1\u9470"},title:"\u63D2\u4EF6\u8A2D\u5B9A"},regexReplacing:{empty:"",emptyRegex:"",forbiddenValue:"{{-what}} \u4E0D\u80FD\u5305\u542B\u5B57\u5143\uFF1A{{-forbiddenChar}}",inCodeBlocks:{runIn:"\u5728\u7A0B\u5F0F\u78BC\u5340\u584A\u4E2D\u904B\u884C",runOut:"\u672A\u5728\u7A0B\u5F0F\u78BC\u5340\u584A\u4E2D\u904B\u884C"},invalidRegex:"\u767C\u751F\u932F\u8AA4\uFF1A{{- e}}",modal:{desc:"\u53D6\u4EE3\u6A94\u6848\u4E2D\u7684\u6587\u5B57\u70BA\u7D66\u5B9A\u503C\u3002\u5C07\u6587\u5B57\u62EC\u5728\u300C/\u300D\u4E4B\u9593\u4EE5\u4F7F\u7528\u6B63\u898F\u8868\u793A\u5F0F\uFF08\u5373\u662F\uFF1A/regex/\uFF09\u3002",force:"\u5F37\u5236\u63A8\u9001",keywords:"\u95DC\u9375\u5B57",name:"\uFF1A\u4F7F\u7528\u6A94\u6848\u540D\u7A31\u3002",title:{all:"\u8CC7\u6599\u593E\u8DEF\u5F91\u548C\u6A94\u6848\u540D\u7A31\u53D6\u4EE3\u5668",only:"\u53D6\u4EE3\u6A94\u6848\u540D\u7A31",text:"\u6587\u5B57\u53D6\u4EE3\u5668"}},momentReplaceRegex:"",warningPath:"\u8B66\u544A\uFF01\u4F7F\u7528\u5B57\u5143\u300C/\u300D\u5C07\u7DE8\u8F2F\u8DEF\u5F91\uFF0C\u8ACB\u5C0F\u5FC3\u4F7F\u7528\u6B64\u9078\u9805\u3002"},upload:{defaultFolder:{desc:"\u8A2D\u5B9A\u9810\u8A2D\u63A5\u6536\u8CC7\u6599\u593E\u3002\u5C07\u5176\u7559\u7A7A\u4EE5\u4F7F\u7528\u5132\u5B58\u5EAB\u7684\u6839\u76EE\u9304\u3002",placeholder:"docs",title:"\u9810\u8A2D\u8CC7\u6599\u593E"},folderBehavior:{desc:"",fixedFolder:"",obsidianPath:"",title:"\u5132\u5B58\u5EAB\u4E2D\u7684\u6A94\u6848\u6A39",yaml:"\u5C6C\u6027\u9375"},folderNote:{addTitle:{key:"\u4F7F\u7528\u300Ctitle\u300D\u4EE5\u5916\u7684\u9375",title:"\u81EA\u52D5\u65B0\u589E\u300Ctitle\u300D\u9375\u8207\u6A94\u6848\u540D\u7A31"}},frontmatterKey:{desc:"",placeholder:"\u985E\u5225",title:"\u5C6C\u6027\u9375"},regexFilePathTitle:{desc:"\u5982\u679C\u6587\u5B57\u4F4D\u65BC\u300C/\u300D\u4E4B\u9593\uFF08\u5373\u662F\uFF1A/regex/\uFF09\uFF0C\u5B83\u5C07\u88AB\u8996\u70BA\u6B63\u898F\u8868\u793A\u5F0F\u3002\u5426\u5247\uFF0C\u5B83\u5C07\u88AB\u8996\u70BA\u5B57\u4E32\u3002",title:{FolderPathTitle:"\u5C0D\u8CC7\u6599\u593E\u8DEF\u5F91\u6216\u6A94\u6848\u540D\u7A31\u5957\u7528\u7DE8\u8F2F\uFF08\u81EA\u52D5\uFF09",titleOnly:"\u5C0D\u6A94\u6848\u540D\u7A31\u5957\u7528\u7DE8\u8F2F\uFF08\u81EA\u52D5\uFF09"}},rootFolder:{desc:"",other:"\u4F7F\u7528\u9019\u500B\u8CC7\u6599\u593E\u4F5C\u70BA\u5132\u5B58\u5EAB\u4E2D\u7684\u6839\u76EE\u9304\uFF08\u6BCF\u500B\u8DEF\u5F91\u90FD\u6703\u5728\u524D\u9762\u52A0\u4E0A\u5B83\uFF09\u3002",title:"\u6839\u8CC7\u6599\u593E"},title:"\u6A94\u6848\u8DEF\u5F91",useFrontmatterTitle:{desc:"\u4F7F\u7528\u4E00\u500B\u5C6C\u6027\u503C\u7522\u751F\u6A94\u6848\u540D\u7A31\u3002\u9810\u8A2D\u60C5\u6CC1\u4E0B\uFF0C\u4F7F\u7528\u300Ctitle\u300D\u3002 ",title:""}}},statusBar:{counter:"{{- msg}}\uFF1A{{- counter}}\uFF0F{{- nb}}",loading:"\u6B63\u5728\u8F09\u5165\u2026",main:"",markedForSharing:"{{- nb}} {{- type}} \u5DF2\u6A19\u793A\u70BA\u5206\u4EAB",sharing:"\u6B63\u5728\u5206\u4EAB {{- type}}",success:"{{- type}} {{- action}}"}};var resources={de:{translation:de_default},en:{translation:en_default},es:{translation:es_default},fi:{translation:fi_default},fr:{translation:fr_default},ko:{translation:ko_default},ru:{translation:ru_default},tr:{translation:tr_default},zhCN:{translation:zh_CN_default},zhTW:{translation:zh_TW_default}},localeUsed=window.localStorage.language||import_obsidian26.moment.locale(),translationLanguage=Object.keys(resources).find(i=>i.toLocaleLowerCase()==localeUsed.toLowerCase())?localeUsed.toLowerCase():"en";var import_obsidian40=require("obsidian");var import_obsidian28=require("obsidian");var import_obsidian27=require("obsidian");async function migrateSettings(old,plugin,imported){plugin.settings.plugin.migrated&&!imported||(await migrateOldSettings(plugin,old),await migrateReplaceTitle(plugin),await migrateSubFolder(plugin),await migrateCensor(plugin),await migrateWorFlow(plugin),await migrateToSecret(plugin),await migrateOtherRepository(plugin),plugin.settings.plugin.migrated=!0,await plugin.saveSettings())}async function migrateReplaceTitle(plugin){plugin.settings.upload.replaceTitle instanceof Array||(plugin.console.trace(instance.t("informations.migrating.fileReplace")),plugin.settings.upload.replaceTitle=[plugin.settings.upload.replaceTitle],await plugin.saveSettings())}async function migrateSubFolder(plugin){plugin.settings.upload.subFolder&&!plugin.settings.upload.replacePath.find(e=>e.regex===`/${plugin.settings.upload.subFolder}`)&&(plugin.console.trace(instance.t("informations.migrating.subFolder")),plugin.settings.upload.subFolder.length>0&&plugin.settings.upload.replacePath.push({regex:`/${plugin.settings.upload.subFolder}`,replacement:"",type:"path"}),delete plugin.settings.upload.subFolder,await plugin.saveSettings())}async function migrateCensor(plugin){for(let censor of plugin.settings.conversion.censorText)censor.flags&&(censor.entry=`/${censor.entry}/${censor.flags}`,delete censor.flags,await plugin.saveSettings())}async function migrateWorFlow(plugin){if(plugin.console.trace("Migrating workflow"),!plugin.settings.github.worflow)return;let worflow=plugin.settings.github.worflow;plugin.settings.github.workflow={name:worflow.workflowName,commitMessage:worflow.customCommitMsg},delete plugin.settings.github.worflow,await plugin.saveSettings()}async function migrateToSecret(plugin){if(plugin.console.trace("Migrating token to secret"),plugin.settings.github.tokenSecret)return;let oldToken=await plugin.loadToken();if(oldToken){if(plugin.app.secretStorage.setSecret("enveloppe-github-token",oldToken),plugin.settings.github.tokenSecret="enveloppe-github-token",plugin.settings.github.otherRepo)for(let repo of plugin.settings.github.otherRepo)repo.token&&(plugin.app.secretStorage.setSecret(`enveloppe-github-token-${repo.smartKey}`,repo.token),repo.tokenSecret=`enveloppe-github-token-${repo.smartKey}`,delete repo.token);await plugin.saveSettings()}}async function saveTokenSecret(plugin,token,repo){if(plugin.console.trace("Saving token in secret"),repo){let repository=plugin.settings.github.otherRepo.find(r=>r.smartKey===repo);repository&&(plugin.app.secretStorage.setSecret(`enveloppe-github-token-${repo}`,token),repository.tokenSecret=`enveloppe-github-token-${repo}`)}else plugin.app.secretStorage.setSecret("enveloppe-github-token",token),plugin.settings.github.tokenSecret="enveloppe-github-token"}async function migrateOtherRepository(plugin){plugin.console.trace("Configuring other repositories");let otherRepo=plugin.settings.github?.otherRepo??[];for(let repo of otherRepo){let workflow={name:plugin.settings.github.workflow?.workflowName??plugin.settings.github.workflow.name,commitMessage:plugin.settings.github.workflow?.commitMessage??plugin.settings.github.workflow.commitMessage};if(repo.workflow||(repo.workflow=workflow,await plugin.saveSettings()),repo.worflow){let worflow=repo.worflow;worflow.workflowName&&(repo.workflow.name=worflow.workflowName),worflow.customCommitMsg&&(repo.workflow.commitMessage=worflow.customCommitMsg),delete repo.worflow,await plugin.saveSettings()}repo.copyLink||(repo.copyLink={links:"",removePart:[],transform:{toUri:!1,slugify:"disable",applyRegex:[]}},await plugin.saveSettings())}}async function migrateOldSettings(plugin,old){if(!Object.keys(old).includes("editorMenu"))return;plugin.console.trace(instance.t("informations.migrating.oldSettings")),plugin.settings={github:{user:old.githubName?old.githubName:plugin.settings.github.user?plugin.settings.github.user:"",repo:old.githubRepo?old.githubRepo:plugin.settings.github.repo?plugin.settings.github.repo:"",branch:old.githubBranch,automaticallyMergePR:old.automaticallyMergePR,tokenPath:void 0,tokenSecret:plugin.settings.github.tokenSecret??"",api:{tiersForApi:old.tiersForApi,hostname:old.hostname},workflow:{name:old.workflowName,commitMessage:old.customCommitMsg??plugin.settings.github.workflow.commitMessage??"[PUBLISHER] MERGE"},otherRepo:[],rateLimit:0,verifiedRepo:!1,dryRun:{enable:!1,folderName:""}},upload:{behavior:old.downloadedFolder,defaultName:old.folderDefaultName,rootFolder:old.rootFolder,yamlFolderKey:old.yamlFolderKey,frontmatterTitle:{enable:old.useFrontmatterTitle,key:old.frontmatterTitleKey},replaceTitle:[{regex:old.frontmatterTitleRegex,replacement:old.frontmatterTitleReplacement,type:"title"}],replacePath:[{regex:old.subFolder,replacement:"",type:"path"}],autoclean:{enable:old.autoCleanUp,excluded:typeof old.autoCleanUpExcluded=="string"?[old.autoCleanUpExcluded]:old.autoCleanUpExcluded,includeAttachments:old.autoCleanUp},folderNote:{enable:old.folderNote,rename:old.folderNoteRename,addTitle:{enable:old.folderNote,key:old.frontmatterTitleKey}},metadataExtractorPath:old.metadataExtractorPath},conversion:{hardbreak:old.hardBreak,dataview:old.migrateDataview,censorText:old.censorText,tags:{inline:old.inlineTags,exclude:old.excludeDataviewValue,fields:old.dataviewFields},links:{internal:old.migrateForGithub,unshared:old.migrateInternalNonShared,wiki:old.migrateWikiLinks,slugify:!1,unlink:!1,relativePath:!0,textPrefix:"/",slugifyAnchor:!1,wikiDisplayText:!1}},embed:{attachments:old.embedImage,keySendFile:old.metadataFileFields,notes:old.embedNotes,folder:old.defaultImageFolder,charConvert:"->",convertEmbedToLinks:"keep",overrideAttachments:[],unHandledObsidianExt:[],sendSimpleLinks:!0},plugin:{shareKey:old.shareKey,fileMenu:old.fileMenu,editorMenu:old.editorMenu,excludedFolder:old.excludedFolder,copyLink:{enable:old.copyLink,links:old.mainLink,removePart:old.linkRemover.split(/[,\n]\W*/).map(s=>s.trim()),addCmd:!1,transform:{toUri:!0,slugify:"lower",applyRegex:[]}},noticeError:old.logNotice,displayModalRepoEditing:!1,setFrontmatterKey:"Set"}};let token=old.GhToken?old.GhToken:plugin.settings.github.token?plugin.settings.github.token:void 0;await saveTokenSecret(plugin,token),await plugin.saveSettings()}function censorData(settings,original){settings.plugin.dev=original.plugin.dev,settings.plugin.migrated=original.plugin.migrated,settings.plugin.displayModalRepoEditing=original.plugin.displayModalRepoEditing,settings.plugin.noticeError=original.plugin.noticeError,settings.plugin.copyLink.addCmd=original.plugin.copyLink.addCmd,settings.plugin.fileMenu=original.plugin.fileMenu,settings.plugin.editorMenu=original.plugin.editorMenu,settings.github.repo=original.github.repo,settings.github.user=original.github.user,settings.github.otherRepo=original.github.otherRepo,settings.tabsId=original.tabsId,settings.plugin.copyLink.links=original.plugin.copyLink.links,settings.github.tokenSecret=original.github.tokenSecret}var ImportModal=class extends import_obsidian28.Modal{plugin;settingsPage;settingsTab;settings;console;constructor(app,plugin,settingsPage,settingsTab){super(app),this.plugin=plugin,this.settingsPage=settingsPage,this.settingsTab=settingsTab,this.settings=plugin.settings,this.console=plugin.console}async censorRepositoryData(original){this.console.trace("original settings:",original),censorData(this.plugin.settings,original),await this.plugin.saveSettings()}onOpen(){let{contentEl}=this;new import_obsidian28.Setting(contentEl).setName(instance.t("modals.import.title")).setDesc(instance.t("modals.import.desc")),new import_obsidian28.Setting(contentEl).then(setting=>{let errorSpan=createSpan({cls:"enveloppe-import-error",text:instance.t("modals.import.error.span")});setting.nameEl.appendChild(errorSpan);let importAndClose=async str=>{if(str)try{let importedSettings=JSON.parse(str);if(Object.keys(importedSettings).includes("editorMenu"))await migrateSettings(importedSettings,this.plugin,!0),this.console.trace(instance.t("informations.migrating.oldSettings"));else{this.console.trace(instance.t("informations.migrating.normalFormat")),importedSettings=importedSettings;let actualSettings=klona(this.plugin.settings);importedSettings.upload.replaceTitle instanceof Array||(importedSettings.upload.replaceTitle=[importedSettings.upload.replaceTitle]);for(let[key,value]of Object.entries(importedSettings))this.plugin.settings[key]=value;await this.censorRepositoryData(actualSettings),await this.plugin.saveSettings()}this.close()}catch(e){errorSpan.addClass("active"),errorSpan.setText(`${instance.t("modals.import.error.span")}${e}`)}else errorSpan.addClass("active"),errorSpan.setText(`${instance.t("modals.import.error.span")}: ${instance.t("modals.import.error.isEmpty")}`)};setting.controlEl.createEl("input",{cls:"enveloppe-import-input",attr:{id:"enveloppe-import-input",name:"enveloppe-import-input",type:"file",accept:".json"}},importInput=>{importInput.addEventListener("change",e=>{let reader=new FileReader;reader.onload=async e2=>{await importAndClose(e2.target.result.toString().trim())},reader.readAsText(e.target.files[0])})}),setting.controlEl.createEl("label",{cls:"enveloppe-import-label",text:instance.t("modals.import.importFromFile"),attr:{for:"enveloppe-import-input"}}),new import_obsidian28.TextAreaComponent(contentEl).setPlaceholder(instance.t("modals.import.paste")).then(ta=>{new import_obsidian28.ButtonComponent(contentEl).setButtonText(instance.t("common.save")).onClick(async()=>{await importAndClose(ta.getValue().trim())}).buttonEl.addClass("enveloppe-import-save-button")}).inputEl.addClass("enveloppe-import-textarea")})}onClose(){let{contentEl}=this;contentEl.empty(),this.settingsPage.empty();let openedTab=this.plugin.settings.tabsId??document.querySelector(".settings-tab.settings-tab-active .settings-tab-name")?.textContent??instance.t("settings.github.title");switch(openedTab=openedTab.trim(),openedTab){case"github-configuration":this.settingsTab.renderGithubConfiguration();break;case"upload-configuration":this.settingsTab.renderUploadConfiguration();break;case"text-conversion":this.settingsTab.renderTextConversion();break;case"embed-configuration":this.settingsTab.renderEmbedConfiguration().then();break;case"plugin-settings":this.settingsTab.renderPluginSettings();break;case"help":this.settingsTab.renderHelp();break}}},ExportModal=class extends import_obsidian28.Modal{plugin;console;constructor(app,plugin){super(app),this.plugin=plugin,this.console=plugin.console}censorGithubSettingsData(censuredSettings){let cloneCensored=klona(censuredSettings),github=cloneCensored.github,plugin=cloneCensored.plugin;return censuredSettings.tabsId&&delete cloneCensored.tabsId,censuredSettings.tabsID&&delete cloneCensored.tabsID,github&&(delete github.repo,delete github.user,delete github.otherRepo,delete github.rateLimit,delete github.tokenPath,delete github.tokenSecret),plugin&&(delete plugin.dev,delete plugin.migrated,delete plugin.displayModalRepoEditing,delete plugin.noticeError,plugin.copyLink&&(plugin.copyLink.addCmd&&delete plugin.copyLink.addCmd,plugin.copyLink.links&&delete plugin.copyLink.links),delete plugin.fileMenu,delete plugin.editorMenu),typeof cloneCensored.upload?.autoclean?.excluded=="string"&&(cloneCensored.upload.autoclean.excluded=[cloneCensored.upload?.autoclean?.excluded]),cloneCensored}onOpen(){let{contentEl,modalEl}=this;modalEl.addClass("modal-enveloppe"),new import_obsidian28.Setting(contentEl).setName(instance.t("modals.export.title")).setDesc(instance.t("modals.export.desc")).then(setting=>{let censuredSettings=this.censorGithubSettingsData(klona(this.plugin.settings)),output=JSON.stringify(censuredSettings,null,2);setting.controlEl.createEl("a",{cls:"enveloppe-copy",text:instance.t("modals.export.copy"),href:"#"},copyButton=>{new import_obsidian28.TextAreaComponent(contentEl).setValue(output).then(textarea=>{copyButton.addEventListener("click",e=>{e.preventDefault(),textarea.inputEl.select(),textarea.inputEl.setSelectionRange(0,99999),document.execCommand("copy"),copyButton.addClass("success"),setTimeout(()=>{copyButton.parentNode&&copyButton.removeClass("success")},2e3)})}).inputEl.addClass("enveloppe-export-textarea")}),import_obsidian28.Platform.isDesktop?setting.controlEl.createEl("a",{cls:"enveloppe-download",text:instance.t("modals.export.download"),attr:{download:"enveloppe.json",href:`data:application/json;charset=utf-8,${encodeURIComponent(output)}`}}):import_obsidian28.Platform.isMobile&&setting.addButton(b=>b.setButtonText(instance.t("modals.export.download")).onClick(()=>{this.app.vault.adapter.write(`${this.app.vault.configDir}/plugins/obsidian-mkdocs-publisher/._tempSettings.json`,output).then(),this.app.openWithDefaultApp(`${this.app.vault.configDir}/plugins/obsidian-mkdocs-publisher/._tempSettings.json`)}))})}onClose(){try{this.app.vault.adapter.trashSystem(`${this.app.vault.configDir}/plugins/obsidian-mkdocs-publisher/._tempSettings.json`).then()}catch(e){this.console.debug("Error while deleting temporary file",e)}let{contentEl}=this;contentEl.empty()}},ImportLoadPreset=class extends import_obsidian28.FuzzySuggestModal{octokit;plugin;presetList;page;settings;console;constructor(app,plugin,presetList,octokit,page){super(app),this.plugin=plugin,this.presetList=presetList,this.octokit=octokit,this.page=page,this.settings=plugin.settings,this.console=plugin.console}getItems(){return this.presetList}getItemText(item){return item.name}onChooseItem(item,_evt){let presetSettings=item.settings;try{let original=klona(this.plugin.settings);presetSettings.upload.replaceTitle instanceof Array||(presetSettings.upload.replaceTitle=[presetSettings.upload.replaceTitle]);for(let[key,value]of Object.entries(presetSettings))this.settings[key]=value;censorData(this.settings,original),this.plugin.saveSettings().then(),this.page.renderSettingsPage("github-configuration").then()}catch(e){new import_obsidian28.Notice(instance.t("modals.import.error.span")+e,this.settings.plugin.noticeLength),this.console.error(e)}}};async function loadAllPresets(octokit,plugin){try{let githubPreset=await octokit.request("GET /repos/{owner}/{repo}/contents/{+path}",{owner:"ObsidianPublisher",repo:"plugin-presets",path:"presets"}),presetList=[];if(!Array.isArray(githubPreset.data))return presetList;plugin.console.trace("# LoadAllPreset",githubPreset);for(let preset of githubPreset.data)if(preset.name.endsWith(".json")){let presetName=preset.name.replace(".json","");presetList.push({name:presetName,settings:await loadPresetContent(preset.path,octokit,plugin)})}return presetList}catch(e){let err=new Error(`Error while loading presets:
`);return err.stack=e.stack,err.message=err.message+e.message,plugin.console.error(err),[]}}async function loadPresetContent(path,octokit,plugin){let presetContent=await octokit.request("GET /repos/{owner}/{repo}/contents/{+path}",{owner:"Enveloppe",repo:"plugin-presets",path});if(!presetContent.data?.content)return plugin.settings;let presetContentDecoded=atob(presetContent.data.content);return JSON.parse(presetContentDecoded)}var import_obsidian30=require("obsidian");var import_obsidian29=require("obsidian");function isRegexValid(regexString){try{return new RegExp(regexString),{error:null,isValid:!0}}catch(e){return{error:e,isValid:!1}}}var OverrideAttachmentsModal=class extends import_obsidian29.Modal{settings;allOverrides;onSubmit;constructor(app,settings,allOverrides,onSubmit){super(app),this.allOverrides=allOverrides,this.settings=settings,this.onSubmit=onSubmit}forbiddenValue(value){if(isRegexValid(value).isValid){if(value.match(/[\\><:"|?*]/)&&!value.match(/^\/(.*)\/[gmisuvdy]*$/))return new import_obsidian29.Notice(instance.t("settings.regexReplacing.forbiddenValue",{what:instance.t("common.path.folder"),forbiddenChar:value.match(/[\\><:"|?*]/)[0]}),this.settings.plugin.noticeLength),{value:"",isForbidden:!0}}else{let error=isRegexValid(value).error;return new import_obsidian29.Notice(instance.t("settings.regexReplacing.invalidRegex",{e:error}),this.settings.plugin.noticeLength),{value:"",isForbidden:!0}}return{value,isForbidden:!1}}onOpen(){let{contentEl}=this;contentEl.empty(),contentEl.addClasses(["enveloppe","modals","regex","file-path-name"]),new import_obsidian29.Setting(contentEl).setHeading().setName(instance.t("settings.embed.overrides.modal.title"));let explanation=dedent_default(`
<p>${instance.t("settings.regexReplacing.modal.desc")}</p>
<h3>${instance.t("settings.regexReplacing.modal.keywords")}</h3>
<ul class="keywords">
<li><code>{{all}}</code>${instance.t("settings.embed.forcePush.all")}</li>
<li><code>{{default}}</code>${instance.t("settings.embed.forcePush.default")}</li>
<li><code>{{name}}</code>${instance.t("settings.regexReplacing.modal.name")}</li>
</ul>
<h3>${instance.t("settings.regexReplacing.modal.force")}</h3>
<p>${instance.t("settings.embed.forcePush.info")}</p>
`);contentEl.appendChild((0,import_obsidian29.sanitizeHTMLToDom)(explanation)),this.settings.embed.overrideAttachments||(this.settings.embed.overrideAttachments=[]);for(let override of this.allOverrides){let sett=new import_obsidian29.Setting(contentEl).setClass("entry").addText(text=>{text.setPlaceholder(instance.t("settings.embed.overrides.modal.path")).setValue(override.path).onChange(value=>{override.path=value,sett.controlEl.setAttribute("value",value)})}).addText(text=>{text.setPlaceholder(instance.t("settings.embed.overrides.modal.dest")).setValue(override.destination).onChange(value=>{override.destination=value,sett.controlEl.setAttribute("replace",value)})}).addToggle(toggle=>{toggle.setTooltip(instance.t("settings.embed.forcePush.title")).setValue(override.forcePush).onChange(value=>{override.forcePush=value})});sett.controlEl.setAttribute("value",override.path),sett.controlEl.setAttribute("replace",override.destination),sett.addExtraButton(button=>{button.setIcon("trash").onClick(()=>{this.allOverrides.splice(this.allOverrides.indexOf(override),1),this.onOpen()})})}new import_obsidian29.Setting(contentEl).addButton(button=>{button.setIcon("plus").onClick(()=>{this.allOverrides.push({path:"",destination:"",forcePush:!1}),this.onOpen()})}).addButton(button=>{button.setButtonText(instance.t("common.save")).onClick(()=>{let canBeValidated=[];this.allOverrides.forEach(override=>{let isForbiddenEntry=this.forbiddenValue(override.path),isForbiddenReplace=this.forbiddenValue(override.destination);if(canBeValidated.push(isForbiddenEntry.isForbidden),canBeValidated.push(isForbiddenReplace.isForbidden),isForbiddenEntry.isForbidden||isForbiddenReplace.isForbidden){override.path=isForbiddenEntry.value,override.destination=isForbiddenReplace.value;let faultyInputValue=contentEl.querySelector(`[value="${escapeRegex(override.path)}"] input`),faultyInputReplace=contentEl.querySelector(`[replace="${escapeRegex(override.destination)}"] input`);faultyInputValue?.classList.add("error"),faultyInputReplace?.classList.add("error")}}),canBeValidated.includes(!0)||(this.onSubmit(this.allOverrides),this.close())})})}onClose(){let{contentEl}=this;contentEl.empty()}},ModalRegexFilePathName=class extends import_obsidian29.Modal{settings;allRegex;onSubmit;constructor(app,settings,allRegex,onSubmit){super(app),this.allRegex=allRegex,this.settings=settings,this.onSubmit=onSubmit}classValue(allRegex){this.settings.upload.replacePath=allRegex.filter(regex=>regex.type==="path"),this.settings.upload.replaceTitle=allRegex.filter(regex=>regex.type==="title")}forbiddenValue(value,type){let regexSpecialDontExclude=/\/(.*)(\\[dwstrnvfb0cxup])(.*)\//i,onWhat=type==="path"?instance.t("common.path.folder"):instance.t("common.path.file");onWhat=onWhat.toLowerCase();let isForbidden=!1;if(value=="/")new import_obsidian29.Notice(instance.t("settings.regexReplacing.forbiddenValue",{what:onWhat,forbiddenChar:value}),this.settings.plugin.noticeLength),value="",isForbidden=!0;else if(isRegexValid(value).isValid)value.match(/[><:"|?*]|(\\\/)|(^\w+\/\w+)|(\\)/)&&type==="title"&&!value.match(regexSpecialDontExclude)?(new import_obsidian29.Notice(instance.t("settings.regexReplacing.forbiddenValue",{what:onWhat,forbiddenChar:value.match(/[><:"|?*]|(\\\/)|(^\w+\/\w+)|(\\)/)[0]}),this.settings.plugin.noticeLength),value="",isForbidden=!0):type==="path"&&(value.match(/[\\><:"|?*]/)&&!value.match(/^\/(.*)\/[gmisuvdy]*$/)?(new import_obsidian29.Notice(instance.t("settings.regexReplacing.forbiddenValue",{what:onWhat,forbiddenChar:value.match(/[\\><:"|?*]/)[0]}),this.settings.plugin.noticeLength),value="",isForbidden=!0):value.match(/(^\w+\/\w+)|(\\\/)/)&&!value.match(regexSpecialDontExclude)&&new import_obsidian29.Notice(instance.t("settings.regexReplacing.warningPath"),this.settings.plugin.noticeLength));else{let error=isRegexValid(value).error;new import_obsidian29.Notice(instance.t("settings.regexReplacing.invalidRegex",{e:error}),this.settings.plugin.noticeLength),isForbidden=!0}return{value,isForbidden}}onOpen(){let{contentEl}=this;contentEl.empty(),contentEl.addClasses(["enveloppe","modals","regex","file-path-name"]),this.settings.upload.behavior==="fixed"?contentEl.createEl("h2",{text:instance.t("settings.regexReplacing.modal.title.only")}):contentEl.createEl("h2",{text:instance.t("settings.regexReplacing.modal.title.all")}),this.settings.upload.replacePath?this.settings.upload.replaceTitle||(this.settings.upload.replaceTitle=[]):this.settings.upload.replacePath=[],this.settings.upload.replacePath.forEach(title=>{title.type||(title.type="path")}),this.settings.upload.replaceTitle.forEach(title=>{title.type||(title.type="title")});for(let title of this.allRegex){let sett=new import_obsidian29.Setting(contentEl).setClass("entry").addText(text=>{text.setPlaceholder(instance.t("regex.entry")).setValue(title.regex).onChange(value=>{title.regex=value,sett.controlEl.setAttribute("value",value)})}).addText(text=>{text.setPlaceholder(instance.t("regex.replace")).setValue(title.replacement).onChange(value=>{title.replacement=value,sett.controlEl.setAttribute("replace",value)})});sett.controlEl.setAttribute("value",title.regex),sett.controlEl.setAttribute("replace",title.replacement),this.settings.upload.behavior!=="fixed"?sett.addDropdown(dropdown=>{dropdown.addOption("path",instance.t("common.path.folder")).addOption("title",instance.t("common.path.file")).setValue(title.type).onChange(value=>{title.type=value})}):sett.addButton(button=>{button.buttonEl.classList.add("disabled"),button.setButtonText(instance.t("common.path.file"))}),sett.addExtraButton(button=>{button.setIcon("trash").onClick(()=>{this.allRegex.splice(this.allRegex.indexOf(title),1),this.onOpen()})})}new import_obsidian29.Setting(contentEl).addButton(button=>{button.setIcon("plus").onClick(()=>{this.allRegex.push({regex:"",replacement:"",type:"title"}),this.onOpen()})}).addButton(button=>{button.setButtonText(instance.t("common.save")).onClick(()=>{let canBeValidated=[];this.allRegex.forEach(title=>{title.regex||(title.regex=""),title.replacement||(title.replacement="");let isForbiddenEntry=this.forbiddenValue(title.regex,title.type);title.regex.length===0&&(new import_obsidian29.Notice(instance.t("settings.regexReplacing.emptyRegex"),this.settings.plugin.noticeLength),isForbiddenEntry.isForbidden=!0,isForbiddenEntry.value="");let isForbiddenReplace=this.forbiddenValue(title.replacement,title.type);if(canBeValidated.push(isForbiddenEntry.isForbidden),canBeValidated.push(isForbiddenReplace.isForbidden),isForbiddenEntry.isForbidden||isForbiddenReplace.isForbidden){title.regex=isForbiddenEntry.value,title.replacement=isForbiddenReplace.value;let faultyInputValue=contentEl.querySelector(`[value="${escapeRegex(title.regex)}"] input`),faultyInputReplace=contentEl.querySelector(`[replace="${escapeRegex(title.replacement)}"] input`);faultyInputValue?.classList.add("error"),faultyInputReplace?.classList.add("error")}}),canBeValidated.includes(!0)||(this.onSubmit(this.allRegex),this.close())})})}onClose(){let{contentEl}=this;contentEl.empty()}},ModalRegexOnContents=class extends import_obsidian29.Modal{settings;onSubmit;constructor(app,settings,onSubmit){super(app),this.settings=settings,this.onSubmit=onSubmit}onOpen(){let{contentEl}=this;contentEl.empty(),contentEl.addClasses(["enveloppe","modals","regex","on-contents"]),contentEl.createEl("p",{text:instance.t("settings.regexReplacing.modal.title.text")}).createEl("p",{text:instance.t("settings.regexReplacing.modal.desc")}).createEl("p",{text:instance.t("settings.regexReplacing.empty")});for(let censorText of this.settings.conversion.censorText){let afterIcon=censorText.after?"arrow-up-wide-narrow":"arrow-down-wide-narrow",inCodeBlocks=censorText?.inCodeBlocks?"code":"scan",moment2=censorText.after?instance.t("common.after").toLowerCase():instance.t("common.before").toLowerCase(),desc=instance.t("settings.regexReplacing.momentReplaceRegex",{moment:moment2}),toolTipCode=censorText.inCodeBlocks?instance.t("settings.regexReplacing.inCodeBlocks.runIn"):instance.t("settings.regexReplacing.inCodeBlocks.runOut"),sett=new import_obsidian29.Setting(contentEl),isLastInList=this.settings.conversion.censorText.indexOf(censorText)===this.settings.conversion.censorText.length-1,isFirstInList=this.settings.conversion.censorText.indexOf(censorText)===0;sett.addExtraButton(btn=>{btn.setDisabled(isFirstInList).setIcon("arrow-up").onClick(async()=>{let index=this.settings.conversion.censorText.indexOf(censorText),newIndex=index-1;this.settings.conversion.censorText.splice(index,1),this.settings.conversion.censorText.splice(newIndex,0,censorText),this.onOpen()}),btn.extraSettingsEl.classList.add("padding-0")}),sett.addExtraButton(btn=>{btn.setDisabled(isLastInList).setIcon("arrow-down").onClick(async()=>{let index=this.settings.conversion.censorText.indexOf(censorText),newIndex=index+1;this.settings.conversion.censorText.splice(index,1),this.settings.conversion.censorText.splice(newIndex,0,censorText),this.onOpen()}),btn.extraSettingsEl.classList.add("padding-0")}),sett.setClass("entry").addText(text=>{text.setPlaceholder(instance.t("regex.entry")).setValue(censorText.entry).onChange(async value=>{censorText.entry=value,sett.controlEl.setAttribute("value",value)})}).addText(text=>{text.setPlaceholder(instance.t("regex.replace")).setValue(censorText.replace).onChange(async value=>{censorText.replace=value})}).addExtraButton(btn=>{btn.setIcon("trash").setTooltip(instance.t("common.delete",{things:"Regex"})).onClick(async()=>{this.settings.conversion.censorText.splice(this.settings.conversion.censorText.indexOf(censorText),1),this.onOpen()})}).addExtraButton(btn=>{btn.setTooltip(desc).setIcon(afterIcon).onClick(async()=>{censorText.after=!censorText.after,this.onOpen()})}).addExtraButton(btn=>{btn.setTooltip(toolTipCode).setIcon(inCodeBlocks).onClick(async()=>{censorText.inCodeBlocks=!censorText.inCodeBlocks,this.onOpen()})}),sett.controlEl.setAttribute("value",censorText.entry),sett.controlEl.classList.add("regex")}new import_obsidian29.Setting(contentEl).addButton(btn=>{btn.setIcon("plus").setTooltip(instance.t("common.add",{things:"Regex"})).onClick(async()=>{let censorText={entry:"",replace:"",flags:"",after:!1};this.settings.conversion.censorText.push(censorText),this.onOpen()})}).addButton(button=>{button.setButtonText(instance.t("common.save")).setCta().onClick(()=>{let canBeValidated=[];for(let censor of this.settings.conversion.censorText)isRegexValid(censor.entry).isValid||(new import_obsidian29.Notice(instance.t("settings.regexReplacing.invalidRegex",{e:isRegexValid(censor.entry).error}),this.settings.plugin.noticeLength),contentEl.querySelector(`[value="${escapeRegex(censor.entry)}"] input`)?.classList.add("error"),canBeValidated.push(!1));canBeValidated.includes(!1)||(this.onSubmit(this.settings),this.close())})})}onClose(){let{contentEl}=this;contentEl.empty()}};var splitByCommaOrNewLine=value=>value.split(/[,\n]/).map(item=>item.trim()).filter(item=>item.length>0),splitByCommaOrNewLineAndNonWord=value=>value.split(/[,\n]\W*/).map(item=>item.trim()).filter(item=>item.length>0),splitByCommaOrNewLineAndSpaces=value=>value.split(/[,\n]\s*/).map(item=>item.trim()).filter(item=>item.length>0);var renderEmbedConfiguration=async ctx=>{ctx.settingsPage.empty();let embedSettings=ctx.settings.embed;if(new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.sendSimpleLinks.title")).setDesc(instance.t("settings.embed.sendSimpleLinks.desc")).addToggle(toggle=>{toggle.setValue(embedSettings.sendSimpleLinks).onChange(async value=>{embedSettings.sendSimpleLinks=value,await ctx.plugin.saveSettings(),await renderEmbedConfiguration(ctx)})}),new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.forcePush.title")).setDesc(instance.t("settings.embed.forcePush.desc")).addToggle(toggle=>toggle.setValue(embedSettings.forcePush??!0).onChange(async value=>{embedSettings.forcePush=value,await ctx.plugin.saveSettings()})),ctx.settingsPage.createEl("h5",{text:instance.t("settings.embed.attachment"),cls:"center"}),new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.transferImage.title")).addToggle(toggle=>{toggle.setValue(embedSettings.attachments).onChange(async value=>{embedSettings.attachments=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("embed-configuration")})}),embedSettings.attachments&&(new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.imagePath.title")).setDesc(instance.t("settings.embed.imagePath.desc")).addToggle(toggle=>{toggle.setValue(embedSettings.useObsidianFolder??!1).onChange(async value=>{embedSettings.useObsidianFolder=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("embed-configuration")})}),embedSettings.useObsidianFolder||new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.defaultImageFolder.title")).setDesc(instance.t("settings.embed.defaultImageFolder.desc")).addText(text=>{text.setPlaceholder("docs/images").setValue(embedSettings.folder).onChange(async value=>{embedSettings.folder=value.replace(/\/$/,""),await ctx.plugin.saveSettings()})}),new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.overrides.modal.title")).setDesc(instance.t("settings.embed.overrides.desc")).addButton(button=>{button.setIcon("pencil").onClick(async()=>{new OverrideAttachmentsModal(ctx.app,ctx.settings,ctx.copy(embedSettings.overrideAttachments),async result=>{embedSettings.overrideAttachments=result,await ctx.plugin.saveSettings()}).open()})}),new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embeds.unHandledObsidianExt.title")).setDesc(instance.t("settings.embeds.unHandledObsidianExt.desc")).addTextArea(text=>{text.setPlaceholder("py, mdx").setValue((embedSettings.unHandledObsidianExt||[]).join(", ")).onChange(async value=>{embedSettings.unHandledObsidianExt=splitByCommaOrNewLineAndNonWord(value),await ctx.plugin.saveSettings()})})),new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.transferMetaFile.title")).setDesc(instance.t("settings.embed.transferMetaFile.desc")).addTextArea(text=>{text.setPlaceholder("banner").setValue((embedSettings.keySendFile||[]).join(", ")).onChange(async value=>{embedSettings.keySendFile=splitByCommaOrNewLineAndNonWord(value),await ctx.plugin.saveSettings()})}),ctx.settingsPage.createEl("h5",{text:instance.t("settings.embed.notes"),cls:"center"}),new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.transferNotes.title")).setDesc(instance.t("settings.embed.transferNotes.desc")).addToggle(toggle=>{toggle.setValue(embedSettings.notes).onChange(async value=>{embedSettings.notes=value,await ctx.plugin.saveSettings(),await renderEmbedConfiguration(ctx)})}),embedSettings.notes){if(new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.links.title")).setDesc(instance.t("settings.embed.links.desc")).addDropdown(dropdown=>{dropdown.addOption("keep",instance.t("settings.embed.links.dp.keep")).addOption("remove",instance.t("settings.embed.links.dp.remove")).addOption("links",instance.t("settings.embed.links.dp.links")).addOption("bake",instance.t("settings.embed.links.dp.bake")).setValue(embedSettings.convertEmbedToLinks??"keep").onChange(async value=>{embedSettings.convertEmbedToLinks=value,await ctx.plugin.saveSettings(),await renderEmbedConfiguration(ctx)})}),embedSettings.convertEmbedToLinks==="links")new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.char.title")).setDesc(instance.t("settings.embed.char.desc")).addText(text=>{text.setPlaceholder("->").setValue(embedSettings.charConvert??"->").onChange(async value=>{embedSettings.charConvert=value,await ctx.plugin.saveSettings()})});else if(embedSettings.convertEmbedToLinks==="bake"){embedSettings.bake||(embedSettings.bake={textBefore:"",textAfter:""},await ctx.plugin.saveSettings()),await ctx.plugin.saveSettings();let bakeEmbedDesc=dedent_default(`
<h5>${instance.t("settings.embed.bake.title")}</h5>
<p>${instance.t("settings.embed.bake.text")}. <span class="bake">${instance.t("settings.embed.bake.variable.desc")}</span>
<ul>
<li><code>{{title}}</code>${instance.t("settings.embed.bake.variable.title")}</li>
<li><code>{{url}}</code>${instance.t("settings.embed.bake.variable.url")}</li>
</ul></p>
<p class="warning embed">! ${instance.t("settings.embed.bake.warning")}</p>
`);ctx.settingsPage.appendChild((0,import_obsidian30.sanitizeHTMLToDom)(bakeEmbedDesc)),new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.bake.textBefore.title")).addTextArea(text=>{text.setValue(embedSettings.bake?.textBefore??"").onChange(async value=>{embedSettings.bake.textBefore=value,await ctx.plugin.saveSettings()})}),new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.bake.textAfter.title")).addTextArea(text=>{text.setValue(embedSettings.bake?.textAfter??"").onChange(async value=>{embedSettings.bake.textAfter=value,await ctx.plugin.saveSettings()})})}}};var import_obsidian32=require("obsidian");var import_obsidian31=require("obsidian");var SetClassSuggester=class extends import_obsidian31.AbstractInputSuggest{constructor(inputEl,plugin,onSubmit){super(plugin.app,inputEl);this.inputEl=inputEl;this.onSubmit=onSubmit;this.plugin=plugin}inputEl;onSubmit;plugin;renderSuggestion(value,el){el.setText(value.path)}getSuggestions(query){return this.plugin.app.vault.getFiles().filter(file=>!!(file.extension==="md"&&file.path.toLowerCase().contains(query.toLowerCase())&&this.plugin.app.metadataCache.getFileCache(file)?.frontmatter))}selectSuggestion(value,_evt){this.onSubmit(value),this.inputEl.value=value.path,this.inputEl.focus(),this.inputEl.trigger("input"),this.close()}},ModalAddingNewRepository=class extends import_obsidian31.Modal{settings;plugin;branchName;repository;onSubmit;constructor(app,settings,branchName,plugin,repository,onSubmit){super(app),this.settings=settings,this.repository=repository,this.plugin=plugin,this.onSubmit=onSubmit,this.branchName=branchName}onOpen(){let{contentEl}=this;contentEl.empty(),contentEl.addClasses(["enveloppe","modals","manage-repo","add"]),contentEl.createEl("h2",{text:instance.t("settings.github.smartRepo.modals.title")}),contentEl.createEl("p",{text:instance.t("settings.github.smartRepo.modals.desc")}),contentEl.createEl("p",{text:instance.t("settings.github.smartRepo.modals.frontmatterInfo")}),contentEl.createEl("p",{text:instance.t("settings.plugin.shareKey.otherRepo")});let defaultRepository={smartKey:"smartkey",user:this.settings.github.user,repo:this.settings.github.repo,branch:this.settings.github.branch,automaticallyMergePR:this.settings.github.automaticallyMergePR,api:{tiersForApi:this.settings.github.api.tiersForApi,hostname:this.settings.github.api.hostname},workflow:{commitMessage:this.settings.github.workflow.commitMessage,name:""},createShortcuts:!1,shareKey:this.settings.plugin.shareKey,copyLink:{links:this.settings.plugin.copyLink.links,removePart:[],transform:{toUri:this.settings.plugin.copyLink.transform.toUri,slugify:this.settings.plugin.copyLink.transform.slugify,applyRegex:this.settings.plugin.copyLink.transform.applyRegex}},set:null};new import_obsidian31.Setting(contentEl).setClass("max-width").setClass("display-none").addButton(button=>{button.setButtonText(instance.t("common.add",{things:instance.t("settings.github.smartRepo.modals.newRepo").toLowerCase()})).onClick(()=>{this.repository.push(defaultRepository),this.onOpen()})});for(let repo of this.repository){let sett=new import_obsidian31.Setting(contentEl).setClass("max-width").setClass("display-none").addText(text=>{text.setPlaceholder("smartKey").setValue(repo.smartKey).onChange(value=>{repo.smartKey=value.toLowerCase(),sett.controlEl.setAttribute("smartKey",value.toLowerCase())})}).addExtraButton(btn=>{btn.setIcon("trash").onClick(()=>{this.repository.splice(this.repository.indexOf(repo),1),this.onOpen()})}).addExtraButton(btn=>{btn.setIcon("pencil").onClick(()=>{new ModalEditingRepository(this.app,repo,this.plugin,this.branchName,result=>{this.repository[this.repository.indexOf(repo)]=result}).open()})})}new import_obsidian31.Setting(contentEl).addButton(button=>{button.setButtonText(instance.t("common.save")).setCta().onClick(()=>{let error=this.foundError(),input=error.repo.length>0?this.containerEl.querySelector(`[smartkey="${error.repo}"] input`):contentEl.querySelector('[placeholder="smartKey"] input');error.type==="None"&&(input?.classList?.remove("error"),this.onSubmit(this.repository),this.close()),input?.classList?.add("error"),error.type==="duplicate"?new import_obsidian31.Notice(instance.t("settings.github.smartRepo.modals.duplicate"),this.settings.plugin.noticeLength):error.type==="default"?new import_obsidian31.Notice(instance.t("settings.github.smartRepo.modals.default"),this.settings.plugin.noticeLength):error.type==="empty"&&new import_obsidian31.Notice(instance.t("settings.github.smartRepo.modals.empty"),this.settings.plugin.noticeLength)})})}foundError(){for(let repo of this.repository){if(this.plugin.settings.github.otherRepo.filter(r=>r.smartKey===repo.smartKey).length>1)return{repo:repo.smartKey,type:"duplicate"};if(repo.smartKey==="default")return{repo:repo.smartKey,type:"default"};if(repo.smartKey.length===0)return{repo:"",type:"empty"}}return{repo:"",type:"None"}}onClose(){let{contentEl}=this,error=this.foundError();if(error.type==="empty"){let repo=this.repository.filter(r=>r.smartKey===error.repo);for(let i=0;i<repo.length;i++)repo[i].smartKey=`smartkey-${i}`;new import_obsidian31.Notice(`${instance.t("settings.github.smartRepo.modals.empty")} ${instance.t("common.rename")}`,this.settings.plugin.noticeLength)}else if(error.type==="duplicate"){let repo=this.repository.filter(r=>r.smartKey===error.repo);for(let i=0;i<repo.length;i++)repo[i].smartKey=`${repo[i].smartKey}-${i}`;new import_obsidian31.Notice(`${instance.t("settings.github.smartRepo.modals.duplicate")} ${instance.t("common.rename")}`,this.settings.plugin.noticeLength)}else if(error.type==="default"){let repo=this.repository.filter(r=>r.smartKey===error.repo);for(let r of repo){let randomKey=Math.random().toString(36).substring(2,8);r.smartKey=`${r.smartKey}-${randomKey}`}new import_obsidian31.Notice(`${instance.t("settings.github.smartRepo.modals.default")} ${instance.t("common.rename")}`,this.settings.plugin.noticeLength)}this.onSubmit(this.repository),contentEl.empty()}},ModalEditingRepository=class extends import_obsidian31.Modal{repository;branchName;plugin;onSubmit;constructor(app,repository,Enveloppe2,brancheName,onSubmit){super(app),this.repository=repository,this.onSubmit=onSubmit,this.branchName=brancheName,this.plugin=Enveloppe2}onOpen(){let{contentEl}=this;contentEl.empty(),contentEl.addClasses(["enveloppe","modals","manage-repo","edit"]),new import_obsidian31.Setting(contentEl).setClass("no-display").addButton(button=>button.setCta().setButtonText(instance.t("common.save")).onClick(async()=>{this.onSubmit(this.repository),this.close()})).addButton(button=>button.setWarning().setButtonText(instance.t("common.cancel")).onClick(async()=>{this.close()})),contentEl.createEl("h2",{text:instance.t("common.edit",{things:this.repository.smartKey})}),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.github.apiType.title")).setDesc(instance.t("settings.github.apiType.desc")).addDropdown(dropdown=>{dropdown.addOption("Github Free/Pro/Team (default)",instance.t("settings.github.apiType.dropdown.free")).addOption("Enterprise",instance.t("settings.github.apiType.dropdown.enterprise")).setValue(this.repository.api.tiersForApi).onChange(value=>{this.repository.api.tiersForApi=value,this.onOpen()})}),this.repository.api.tiersForApi==="Enterprise"&&new import_obsidian31.Setting(contentEl).setName(instance.t("settings.github.apiType.hostname.title")).setDesc(instance.t("settings.github.apiType.hostname.desc")).addText(text=>text.setPlaceholder("https://github.mycompany.com").setValue(this.repository.api.hostname).onChange(async value=>{this.repository.api.hostname=value.trim()})),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.github.username.title")).setDesc(instance.t("settings.github.username.desc")).addText(text=>text.setPlaceholder(instance.t("settings.github.username.title")).setValue(this.repository.user).onChange(async value=>{this.repository.user=value.trim()})),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.github.repoName.title")).setDesc(instance.t("settings.github.repoName.desc")).addText(text=>text.setPlaceholder(instance.t("settings.github.repoName.placeholder")).setValue(this.repository.repo).onChange(async value=>{this.repository.repo=value.trim()})),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.github.branch.title")).setDesc(instance.t("settings.github.branch.desc")).addText(text=>text.setPlaceholder("main").setValue(this.repository.branch).onChange(async value=>{this.repository.branch=value.trim()}));let descGhToken=document.createDocumentFragment();if(descGhToken.createEl("span",void 0,span=>{span.innerText=instance.t("settings.github.ghToken.desc"),span.createEl("a",void 0,link=>{link.innerText=`${instance.t("common.here")}.`,link.href="https://github.com/settings/tokens/new?scopes=repo,workflow"})}),new import_obsidian31.Setting(contentEl).setName(instance.t("common.ghToken")).setDesc(descGhToken).addComponent(el=>new import_obsidian31.SecretComponent(this.app,el).setValue(this.repository.tokenSecret??this.plugin.settings.github.tokenSecret).onChange(async value=>{this.repository.tokenSecret=value})),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.github.automaticallyMergePR")).addToggle(toggle=>toggle.setValue(this.repository.automaticallyMergePR).onChange(async value=>{this.repository.automaticallyMergePR=value})),new import_obsidian31.Setting(contentEl).setClass("no-display").addButton(button=>button.setButtonText(instance.t("settings.github.testConnection")).setClass("connect").onClick(async()=>{let octokit=await this.plugin.reloadOctokit(this.repository.smartKey);this.repository.verifiedRepo=await checkRepositoryValidity(octokit,this.repository,null),this.plugin.settings.github.rateLimit=await verifyRateLimitAPI(octokit.octokit,this.plugin)})),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.github.smartRepo.modals.shortcuts.title")).setDesc(instance.t("settings.github.smartRepo.modals.shortcuts.desc")).addToggle(toggle=>toggle.setValue(this.repository.createShortcuts).onChange(async value=>{this.repository.createShortcuts=value})),contentEl.createEl("h3",{text:"GitHub Workflow"}),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.githubWorkflow.prRequest.title")).setDesc(instance.t("settings.githubWorkflow.prRequest.desc")).addText(text=>text.setPlaceholder("[PUBLISHER] MERGE").setValue(this.repository.workflow.commitMessage).onChange(async value=>{value.trim().length===0&&(value="[PUBLISHER] MERGE",new import_obsidian31.Notice(instance.t("settings.githubWorkflow.prRequest.error"),this.plugin.settings.plugin.noticeLength)),this.repository.workflow.commitMessage=value})),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.githubWorkflow.githubAction.title")).setDesc(instance.t("settings.githubWorkflow.githubAction.desc")).addText(text=>{text.setPlaceholder("ci").setValue(this.repository.workflow.name).onChange(async value=>{if(value.length>0){value=value.trim();let yamlEndings=[".yml",".yaml"];yamlEndings.some(ending=>value.endsWith(ending))||(value+=yamlEndings[0])}this.repository.workflow.name=value})}),contentEl.createEl("h3",{text:instance.t("settings.github.smartRepo.modals.otherConfig")}),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.plugin.setImport.title")).setDesc(instance.t("settings.plugin.setImport.desc")).addSearch(search=>{search.setValue(this.repository.set??"").setPlaceholder("path/to/file.md"),new SetClassSuggester(search.inputEl,this.plugin,result=>{this.repository.set=result.path,this.plugin.repositoryFrontmatter[this.repository.smartKey]=this.plugin.app.metadataCache.getFileCache(result)?.frontmatter})}),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.plugin.shareKey.all.title")).setDesc(instance.t("settings.plugin.shareKey.all.desc")).addToggle(toggle=>toggle.setValue(this.repository.shareAll?.enable??!1).onChange(async value=>{this.repository.shareAll={enable:value,excludedFileName:this.plugin.settings.plugin.shareAll?.excludedFileName??"DRAFT"},this.onOpen()})),!this.repository.shareAll||!this.repository.shareAll.enable?new import_obsidian31.Setting(contentEl).setName(instance.t("settings.plugin.shareKey.title")).setDesc(instance.t("settings.plugin.shareKey.desc")).addText(text=>text.setPlaceholder("share").setValue(this.repository.shareKey).onChange(async value=>{this.repository.shareKey=value.trim()})):new import_obsidian31.Setting(contentEl).setName(instance.t("settings.plugin.shareKey.excludedFileName.title")).addText(text=>text.setPlaceholder("DRAFT").setValue(this.repository.shareAll?.excludedFileName??this.plugin.settings.plugin.shareAll?.excludedFileName??"DRAFT").onChange(async value=>{this.repository.shareAll.excludedFileName=value.trim()})),this.plugin.settings.plugin.copyLink.enable){new import_obsidian31.Setting(contentEl).setName(instance.t("settings.plugin.copyLink.baselink.title")).setDesc(instance.t("settings.plugin.copyLink.baselink.desc")).addText(text=>text.setPlaceholder(this.plugin.settings.plugin.copyLink.links).setValue(this.repository.copyLink.links).onChange(async value=>{this.repository.copyLink.links=value.trim()})),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.plugin.copyLink.linkPathRemover.title")).setDesc(instance.t("settings.plugin.copyLink.linkPathRemover.desc")).addText(text=>{text.setPlaceholder("docs").setValue(this.repository.copyLink.removePart.join(", ")).onChange(async value=>{this.repository.copyLink.removePart=value.split(/[,\n]\s*/).map(item=>item.trim()).filter(item=>item.length>0)})}),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.plugin.copyLink.toUri.title")).setDesc(instance.t("settings.plugin.copyLink.toUri.desc")).addToggle(toggle=>toggle.setValue(this.repository.copyLink.transform.toUri).onChange(async value=>{this.repository.copyLink.transform.toUri=value})),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.conversion.links.slugify.title")).addDropdown(dropdown=>{dropdown.addOptions({disable:instance.t("settings.conversion.links.slugify.disable"),strict:instance.t("settings.conversion.links.slugify.strict"),lower:instance.t("settings.conversion.links.slugify.lower")}).setValue(this.repository.copyLink.transform.slugify).onChange(async value=>{this.repository.copyLink.transform.slugify=value})}),new import_obsidian31.Setting(contentEl).setName(instance.t("settings.plugin.copyLink.applyRegex.title")).setHeading().setDesc(instance.t("settings.plugin.copyLink.applyRegex.desc")).addExtraButton(button=>{button.setIcon("plus").onClick(async()=>{this.repository.copyLink.transform.applyRegex.push({regex:"",replacement:""}),this.onOpen()})});for(let apply of this.repository.copyLink.transform.applyRegex){let regex=apply.regex,replacement=apply.replacement;new import_obsidian31.Setting(contentEl).setClass("no-display").addText(text=>{text.setPlaceholder("regex").setValue(regex).onChange(async value=>{apply.regex=value})}).setClass("max-width").addText(text=>{text.setPlaceholder("replacement").setValue(replacement).onChange(async value=>{apply.replacement=value})}).setClass("max-width").addExtraButton(button=>{button.setIcon("trash").onClick(async()=>{this.repository.copyLink.transform.applyRegex=this.repository.copyLink.transform.applyRegex.filter(item=>item!==apply),this.onOpen()})})}}}onClose(){let{contentEl}=this;contentEl.empty()}};var renderGithubConfiguration=ctx=>{let githubSettings=ctx.settings.github;new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("settings.github.apiType.title")).setDesc(instance.t("settings.github.apiType.desc")).addDropdown(dropdown=>{dropdown.addOption("Github Free/Pro/Team (default)",instance.t("settings.github.apiType.dropdown.free")).addOption("Enterprise",instance.t("settings.github.apiType.dropdown.enterprise")).setValue(githubSettings.api.tiersForApi).onChange(async value=>{githubSettings.api.tiersForApi=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("github-configuration")})}),githubSettings.api.tiersForApi==="Enterprise"&&new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("settings.github.apiType.hostname.title")).setDesc(instance.t("settings.github.apiType.hostname.desc")).addText(text=>text.setPlaceholder("https://github.mycompany.com").setValue(githubSettings.api.hostname).onChange(async value=>{githubSettings.api.hostname=value.trim(),await ctx.plugin.saveSettings()})),new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("settings.github.username.title")).setDesc(instance.t("settings.github.username.desc")).addText(text=>text.setPlaceholder(instance.t("settings.github.username.title")).setValue(githubSettings.user).onChange(async value=>{githubSettings.user=value.trim(),await ctx.plugin.saveSettings()})),new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("settings.github.repoName.title")).setDesc(instance.t("settings.github.repoName.desc")).addText(text=>text.setPlaceholder(instance.t("settings.github.repoName.placeholder")).setValue(githubSettings.repo).onChange(async value=>{githubSettings.repo=value.trim(),await ctx.plugin.saveSettings()}));let descGhToken=document.createDocumentFragment();descGhToken.createEl("span",void 0,span=>{span.innerText=instance.t("settings.github.ghToken.desc"),span.createEl("a",void 0,link=>{link.innerText=`${instance.t("common.here")}.`,link.href="https://github.com/settings/tokens/new?scopes=repo,workflow"})}),new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("common.ghToken")).setDesc(descGhToken).addComponent(el=>new import_obsidian32.SecretComponent(ctx.app,el).setValue(githubSettings.tokenSecret).onChange(async value=>{githubSettings.tokenSecret=value,await ctx.plugin.saveSettings()})),new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("settings.github.branch.title")).setDesc(instance.t("settings.github.branch.desc")).addText(text=>text.setPlaceholder("main").setValue(githubSettings.branch).onChange(async value=>{githubSettings.branch=value.trim(),await ctx.plugin.saveSettings()})),new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("settings.github.automaticallyMergePR")).addToggle(toggle=>toggle.setValue(githubSettings.automaticallyMergePR).onChange(async value=>{githubSettings.automaticallyMergePR=value,await ctx.plugin.saveSettings()})),new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("settings.github.dryRun.enable.title")).setDesc(instance.t("settings.github.dryRun.enable.desc")).addToggle(toggle=>toggle.setValue(githubSettings.dryRun.enable).onChange(async value=>{githubSettings.dryRun.enable=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("github-configuration")}));let defaultFolderName=githubSettings.dryRun.folderName.trim().length>0?githubSettings.dryRun.folderName:"enveloppe";new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("settings.github.dryRun.folder.title")).setDesc(instance.t("settings.github.dryRun.folder.desc")).addText(text=>text.setPlaceholder("enveloppe").setValue(defaultFolderName).onChange(async value=>{githubSettings.dryRun.folderName=value.trim(),value.trim().length===0?(new import_obsidian32.Notice(instance.t("settings.github.dryRun.folder.error"),ctx.settings.plugin.noticeLength),text.inputEl.addClass("error")):(text.inputEl.removeClass("error"),await ctx.plugin.saveSettings())})),new import_obsidian32.Setting(ctx.settingsPage).setClass("no-display").addButton(button=>button.setButtonText(instance.t("settings.github.testConnection")).setClass("connect-button").onClick(async()=>{let octokit=await ctx.plugin.reloadOctokit();ctx.settings.github.verifiedRepo=await checkRepositoryValidity(octokit,null,null),ctx.settings.github.rateLimit=await verifyRateLimitAPI(octokit.octokit,ctx.plugin),await ctx.plugin.saveSettings()})).addButton(button=>button.setButtonText(instance.t("settings.github.smartRepo.button")).onClick(async()=>{let repository=ctx.copy(ctx.settings.github?.otherRepo??[])??[];new ModalAddingNewRepository(ctx.app,ctx.settings,ctx.branchName,ctx.plugin,repository,async result=>{ctx.settings.github.otherRepo=result,await ctx.plugin.saveSettings(),await ctx.plugin.reloadCommands()}).open()})),ctx.settingsPage.createEl("h3",{text:"GitHub Workflow"}),new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("settings.githubWorkflow.prRequest.title")).setDesc(instance.t("settings.githubWorkflow.prRequest.desc")).addText(text=>text.setPlaceholder("[PUBLISHER] MERGE").setValue(githubSettings.workflow.commitMessage).onChange(async value=>{value.trim().length===0&&(value="[PUBLISHER] MERGE",new import_obsidian32.Notice(instance.t("settings.githubWorkflow.prRequest.error"),ctx.settings.plugin.noticeLength)),githubSettings.workflow.commitMessage=value,await ctx.plugin.saveSettings()})),new import_obsidian32.Setting(ctx.settingsPage).setName(instance.t("settings.githubWorkflow.githubAction.title")).setDesc(instance.t("settings.githubWorkflow.githubAction.desc")).addText(text=>{text.setPlaceholder("ci").setValue(githubSettings.workflow.name).onChange(async value=>{if(value.length>0){value=value.trim();let yamlEndings=[".yml",".yaml"];yamlEndings.some(ending=>value.endsWith(ending))||(value+=yamlEndings[0])}githubSettings.workflow.name=value,await ctx.plugin.saveSettings()})})};var import_obsidian34=require("obsidian");var import_obsidian33=require("obsidian");var DISCORD_ICON='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 256 256" style="vertical-align:-2px;"><g fill="none"><rect width="256" height="256" fill="#5865f2" rx="60"/><g clip-path="url(#skillIconsDiscord0)"><path fill="#fff" d="M197.308 64.797a164.918 164.918 0 0 0-40.709-12.627a.618.618 0 0 0-.654.31c-1.758 3.126-3.706 7.206-5.069 10.412c-15.373-2.302-30.666-2.302-45.723 0c-1.364-3.278-3.382-7.286-5.148-10.412a.643.643 0 0 0-.655-.31a164.472 164.472 0 0 0-40.709 12.627a.583.583 0 0 0-.268.23c-25.928 38.736-33.03 76.52-29.546 113.836a.685.685 0 0 0 .26.468c17.106 12.563 33.677 20.19 49.94 25.245a.648.648 0 0 0 .702-.23c3.847-5.254 7.276-10.793 10.217-16.618a.633.633 0 0 0-.347-.881c-5.44-2.064-10.619-4.579-15.601-7.436a.642.642 0 0 1-.063-1.064a86.364 86.364 0 0 0 3.098-2.428a.618.618 0 0 1 .646-.088c32.732 14.944 68.167 14.944 100.512 0a.617.617 0 0 1 .655.08a79.613 79.613 0 0 0 3.106 2.436a.642.642 0 0 1-.055 1.064a102.622 102.622 0 0 1-15.609 7.428a.638.638 0 0 0-.339.889a133.075 133.075 0 0 0 10.208 16.61a.636.636 0 0 0 .702.238c16.342-5.055 32.913-12.682 50.02-25.245a.646.646 0 0 0 .26-.46c4.17-43.141-6.985-80.616-29.571-113.836a.506.506 0 0 0-.26-.238M94.834 156.142c-9.855 0-17.975-9.047-17.975-20.158s7.963-20.158 17.975-20.158c10.09 0 18.131 9.127 17.973 20.158c0 11.111-7.962 20.158-17.973 20.158m66.456 0c-9.855 0-17.974-9.047-17.974-20.158s7.962-20.158 17.974-20.158c10.09 0 18.131 9.127 17.974 20.158c0 11.111-7.884 20.158-17.974 20.158"/></g><defs><clipPath id="skillIconsDiscord0"><path fill="#fff" d="M28 51h200v154.93H28z"/></clipPath></defs></g></svg>',TRANSLATION_ICON='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" style="vertical-align:-3px;"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" color="currentColor"><path d="M5 5.966h3.15m3.85 0h-1.75m-2.1 0h2.1m-2.1 0V5m2.1.966c-.37 1.32-1.142 2.568-2.025 3.665M5.975 12c.713-.656 1.52-1.46 2.25-2.369m0 0c-.45-.528-1.08-1.381-1.26-1.767m1.26 1.767l1.35 1.403"/><path d="M7.022 16.978c.055 1.72.242 2.775.886 3.56a4 4 0 0 0 .554.554C9.57 22 11.212 22 14.5 22s4.931 0 6.038-.908q.304-.25.554-.554C22 19.43 22 17.788 22 14.5c0-3.287 0-4.931-.908-6.038a4 4 0 0 0-.554-.554c-.782-.641-1.831-.83-3.538-.885m-9.978 9.955c-1.72-.055-2.775-.242-3.56-.886a4 4 0 0 1-.554-.554C2 14.43 2 12.788 2 9.5c0-3.287 0-4.931.908-6.038a4 4 0 0 1 .554-.554C4.57 2 6.212 2 9.5 2c3.287 0 4.931 0 6.038.908a4 4 0 0 1 .554.554c.644.785.831 1.84.886 3.56l.022.001m-9.978 9.955L17 7.023"/><path d="m13 19l.833-2M18 19l-.833-2m-3.334 0l1.667-4l1.667 4m-3.334 0h3.334"/></g></svg>',GITHUB_ICON='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 256 256" style="vertical-align:-2px;><g fill="none"><rect width="256" height="256" fill="#242938" rx="60"/><path fill="#fff" d="M128.001 30C72.779 30 28 74.77 28 130.001c0 44.183 28.653 81.667 68.387 94.89c4.997.926 6.832-2.169 6.832-4.81c0-2.385-.093-10.262-.136-18.618c-27.82 6.049-33.69-11.799-33.69-11.799c-4.55-11.559-11.104-14.632-11.104-14.632c-9.073-6.207.684-6.079.684-6.079c10.042.705 15.33 10.305 15.33 10.305c8.919 15.288 23.394 10.868 29.1 8.313c.898-6.464 3.489-10.875 6.349-13.372c-22.211-2.529-45.56-11.104-45.56-49.421c0-10.918 3.906-19.839 10.303-26.842c-1.039-2.519-4.462-12.69.968-26.464c0 0 8.398-2.687 27.508 10.25c7.977-2.215 16.531-3.326 25.03-3.364c8.498.038 17.06 1.149 25.051 3.365c19.087-12.939 27.473-10.25 27.473-10.25c5.443 13.773 2.019 23.945.98 26.463c6.412 7.003 10.292 15.924 10.292 26.842c0 38.409-23.394 46.866-45.662 49.341c3.587 3.104 6.783 9.189 6.783 18.519c0 13.38-.116 24.149-.116 27.443c0 2.661 1.8 5.779 6.869 4.797C199.383 211.64 228 174.169 228 130.001C228 74.771 183.227 30 128.001 30M65.454 172.453c-.22.497-1.002.646-1.714.305c-.726-.326-1.133-1.004-.898-1.502c.215-.512.999-.654 1.722-.311c.727.326 1.141 1.01.89 1.508m4.919 4.389c-.477.443-1.41.237-2.042-.462c-.654-.697-.777-1.629-.293-2.078c.491-.442 1.396-.235 2.051.462c.654.706.782 1.631.284 2.078m3.374 5.616c-.613.426-1.615.027-2.234-.863c-.613-.889-.613-1.955.013-2.383c.621-.427 1.608-.043 2.236.84c.611.904.611 1.971-.015 2.406m5.707 6.504c-.548.604-1.715.442-2.57-.383c-.874-.806-1.118-1.95-.568-2.555c.555-.606 1.729-.435 2.59.383c.868.804 1.133 1.957.548 2.555m7.376 2.195c-.242.784-1.366 1.14-2.499.807c-1.13-.343-1.871-1.26-1.642-2.052c.235-.788 1.364-1.159 2.505-.803c1.13.341 1.871 1.252 1.636 2.048m8.394.932c.028.824-.932 1.508-2.121 1.523c-1.196.027-2.163-.641-2.176-1.452c0-.833.939-1.51 2.134-1.53c1.19-.023 2.163.639 2.163 1.459m8.246-.316c.143.804-.683 1.631-1.864 1.851c-1.161.212-2.236-.285-2.383-1.083c-.144-.825.697-1.651 1.856-1.865c1.183-.205 2.241.279 2.391 1.097"/></g></svg>',DISCUSSION_ICON='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 48 48" style="vertical-align:-2px;"><g fill="none" stroke-linecap="round" stroke-width="2.3"><path fill="#2f88ff" stroke="#000" stroke-linejoin="round" d="M44 8H4V38H19L24 43L29 38H44V8Z"/><path stroke="#fff" d="M21 15L20 32"/><path stroke="#fff" d="M28 15L27 32"/><path stroke="#fff" d="M33 20L16 20"/><path stroke="#fff" d="M32 27L15 27"/></g></svg>',ISSUE='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 2048 2048" style="vertical-align:-2px;"><path fill="currentColor" d="M1664 576q0 119-45 224t-124 183t-183 123t-224 46q-99 0-191-32t-169-94l-619 619q-19 19-45 19t-45-19t-19-45t19-45l619-619q-62-77-94-169t-32-191q0-119 45-224t124-183T864 46t224-46q119 0 224 45t183 124t123 183t46 224m-1024 0q0 93 35 174t96 142t142 96t175 36q93 0 174-35t142-96t96-142t36-175q0-93-35-174t-96-142t-142-96t-175-36q-93 0-174 35t-142 96t-96 142t-36 175m1024 1344h128v128h-128zm64-704q53 0 99 20t82 55t55 81t20 100q0 47-17 89t-49 76h-1l-95 96q-14 14-20 28t-8 29t-3 32t1 34h-128v-48q0-46 14-81t35-63t47-50t46-45t36-45t14-52q0-27-10-50t-27-40t-41-28t-50-10q-27 0-50 10t-40 27t-28 41t-10 50h-128q0-53 20-99t55-82t81-55t100-20"/></svg>',DOCUMENTATION='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 64 64" style="vertical-align: -2px"><path fill="#34484c" d="M6.208 57.475s1.882 7.029 13.673 5.23l2-4.702l-3.391-3.575l-9.385-3.005l-2.899 6.052"/><path fill="#ad7029" d="M43.767 44.306c0 2.488-1.318 3.144-4.652 4.507L10.652 60.471C8.082 60.47 6 58.453 6 55.962V17.17c0-2.493 1.512-3.322 4.652-4.512L39.114 1c2.572 0 4.652 2.023 4.652 4.512v38.794"/><path fill="#34484c" d="M8.586 59.995s10.667 2.968 11.294 2.711c.619-.254-.399-4.485-.399-4.485l-3.858-4.03l-3.596-.162l-.631.869z"/><path fill="#f4f5f5" d="M38.447 3.687L6.869 16.553l1.481 8.243l4.699.458l15.69-2.449l9.752-4.958l7.18-9.534c-1.57-2.728-3.874-4.418-7.224-4.626"/><path fill="#34484c" d="M15.233 19.405c0-.723.134-1.299.391-1.79c-3.231-.294-6.284-1.2-8.51-3.145c-.741.66-1.105 1.478-1.105 2.699V55.96c0 2.49 2.088 4.509 4.654 4.509l4.593-1.879c-.001-.133-.022-.26-.022-.394z"/><path fill="#f79420" d="M53.819 48.127c0 2.491-1.322 3.145-4.651 4.51l-29.29 10.07c-2.57 0-4.656-2.019-4.656-4.51V19.405c0-2.49 1.512-3.318 4.656-4.514l29.29-10.067c2.567 0 4.651 2.02 4.651 4.512z"/><path fill="#905a24" d="M41.691 16.663a.605.605 0 0 1-.362.79l-15.575 5.829a.64.64 0 0 1-.814-.35a.604.604 0 0 1 .36-.79l15.577-5.828a.638.638 0 0 1 .814.351m0 2.772a.605.605 0 0 1-.362.79l-15.575 5.819a.635.635 0 0 1-.814-.35a.604.604 0 0 1 .36-.785l15.577-5.829a.636.636 0 0 1 .814.35m-5.294 4.864c.125.316.049.637-.173.72l-10.637 3.979c-.222.08-.502-.107-.629-.42c-.124-.314-.045-.638.177-.722l10.637-3.977c.218-.08.499.106.625.42"/></svg>';function KeyBasedOnSettings(settings){let rules="token key atrule",comments="token comment",str="token string",boolean="token boolean important",category=()=>{if(settings.upload.behavior==="yaml"){let defaultPath=settings.upload.defaultName.length>0?`${settings.upload.defaultName}`:"/";return dedent_default(`
<br><span class="${rules}">${settings.upload.yamlFolderKey.length>0?`${settings.upload.yamlFolderKey}: `:"category: "}</span><span class="${str}">${(0,import_obsidian33.normalizePath)(defaultPath)}</span>
`)}return""},html=dedent_default(`<code><span class="${rules}">${settings.plugin.shareKey}</span>: <span class="${boolean}">true</span>${category()}
<span class="${rules}">path</span>: <span class="${str}"> file.md</span><span class="${comments}"> # given as an example path</span>
<span class="${rules}">links</span>:
<span class="${rules}"> mdlinks</span>: <span class="${boolean}">${settings.conversion.links.wiki}</span>
<span class="${rules}"> convert</span>: <span class="${boolean}">true</span>
<span class="${rules}"> internals</span>: <span class="${boolean}">${settings.conversion.links.internal}</span>
<span class="${rules}"> nonShared</span>: <span class="${boolean}">${settings.conversion.links.unshared}</span>
<span class="${rules}"> unlink</span>: <span class="${boolean}">${settings.conversion.links.unlink}</span>
<span class="${rules}">embed</span>:
<span class="${rules}"> send</span>: <span class="${boolean}">${settings.embed.notes}</span>
<span class="${rules}"> remove</span>: <span class="${str}">${settings.embed.convertEmbedToLinks}</span>
<span class="${rules}"> char</span>: <span class="${str}">${settings.embed.charConvert}</span>
<span class="${rules}">attachment</span>:
<span class="${rules}"> send</span>: <span class="${boolean}">${settings.embed.attachments}</span>
<span class="${rules}"> folder</span>: <span class="${str}">${settings.embed.folder}</span>
<span class="${rules}">dataview</span>: <span class="${boolean}">${settings.conversion.dataview}</span>
<span class="${rules}">hardBreak</span>: <span class="${boolean}">${settings.conversion.hardbreak}</span>
<span class="${rules}">includeLinks</span>: <span class="${boolean}">${settings.embed.sendSimpleLinks}</span>
`);if(settings.github.otherRepo.length>0){let smartkey=settings.github.otherRepo[0].smartKey.length>0?settings.github.otherRepo[0].smartKey:"smartkey";html+=dedent_default(`<br><span class="${rules}">shortRepo</span>: <span class="${str}">${smartkey}</span>`)}html+=dedent_default(`<br><span class="${rules}">repo</span>:
<span class="${rules}"> owner</span>: <span class="${str}">${settings.github.user}</span>
<span class="${rules}"> repo</span>: <span class="${str}">${settings.github.repo}</span>
<span class="${rules}"> branch</span>: <span class="${str}">${settings.github.branch}</span>
<span class="${rules}"> autoclean</span>: <span class="${boolean}">${settings.upload.autoclean.enable}</span>
<span class="${rules}">copylink</span>:
<span class="${rules}"> base</span>: <span class="${str}">${settings.plugin.copyLink.links.length>0?settings.plugin.copyLink.links:`https://${settings.github.repo}.github.io/${settings.github.repo}`}</span>
`);let removePart=settings.plugin.copyLink.removePart.map(val=>`"${val}"`).join(", ");return removePart.length>0&&(html+=dedent_default(`<span class="${rules}"> remove</span>: <span class="${str}">${removePart}</span>`)),html+="</code>",(0,import_obsidian33.sanitizeHTMLToDom)(html)}function help(settings){let els=dedent_default(`
<ul>
<li><code class="code-title">${settings.plugin.shareKey}</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.share.title")}
<ol>${instance.t("settings.help.frontmatter.share.other")}</ol>
<li><code class="code-title">path</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.path")}</li>
<li><code class="code-title">links</code>${instance.t("common.points")}
<ul>
<li><code>mdlinks</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.mdlinks")} <code>[[markdown|alias]]</code> ${instance.t("common.in")} <code>[alias](markdown)</code></li>
<li><code>convert</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.convert.enableOrDisable")} <code>[[link]]</code> ${instance.t("common.or")} <code>[](link)</code> ${instance.t("settings.help.frontmatter.convert.syntax")}</li>
<li><code>internals</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.internals")}</li>
<li><code>nonShared</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.nonShared")}</li>
<li><code>unlink</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.unlink")}</li>
</ul>
</li>
<li><code class="code-title">embed</code>${instance.t("common.points")}
<ul>
<li><code>send</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.send")}</li>
<li><code>remove</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.remove.desc")}
<ul>
<li><code>remove | true</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.remove.remove")}</li>
<li><code>keep | false</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.remove.keep")}</li>
<li><code>links</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.remove.links")}</li>
<li><code>bake</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.remove.bake")}</li>
</ul>
</li>
<li><code>char</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.char")}</li>
</ul>
</li>
<li><code class="code-title">attachment</code>${instance.t("common.points")}
<ul>
<li><code>send</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.attachment.send")}</li>
<li><code>folder</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.attachment.folder")}</li>
</ul>
</li>
<li><code class="code-title">dataview</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.dataview")}</li>
<li><code class="code-title">hardbreak</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.hardBreak")}</li>
<li><code class="code-title">includeLinks</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.includeLinks")} <code>[[markdown]]</code> ${instance.t("common.or")} <code>[](markdown)</code></li>
<li><code class="code-title">shortRepo</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.shortRepo")}</li>
<li><code class="code-title">repo</code>${instance.t("common.points")}
<ul>
<li><code>owner</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.repo.owner")}</li>
<li><code>repo</code>${instance.t("common.points")}${instance.t("settings.github.repoName.title")}</li>
<li><code>branch</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.repo.branch")}</li>
<li><code>autoclean</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.autoclean")}</li>
</ul>
</li>
<li><code class="code-title">${settings.upload.frontmatterTitle.key}</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.titleKey")}</li>
<li><code class="code-title">baseLink</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.baselink.desc")}
<code class="code-title">copylink:</code>
<ul>
<li><code>base</code>${instance.t("common.points")}${instance.t("settings.plugin.copyLink.baselink.title")}</li>
<li><code>remove</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.baselink.remove")}</li>
</ul>
</li>
</ul>
`);return(0,import_obsidian33.sanitizeHTMLToDom)(els)}function usefulLinks(){let els=dedent_default(`
<ul>
<a href=${DOCUMENTATION_LINK}>${DOCUMENTATION} ${instance.t("settings.help.usefulLinks.documentation")}</a><br>
<a href="https://github.com/Enveloppe/obsidian-enveloppe">${GITHUB_ICON} ${instance.t("common.repository")}</a><br>
<a href="https://github.com/Enveloppe/obsidian-enveloppe/issues">${ISSUE} ${instance.t("settings.help.usefulLinks.issue")}</a><br>
<a href="https://github.com/orgs/Enveloppe/discussions">${DISCUSSION_ICON} ${instance.t("settings.help.usefulLinks.discussion")}</a><br>
<a href="https://discord.gg/6DyY779Nbn">${DISCORD_ICON} Discord</a><br>
<a href="https://hosted.weblate.org/projects/enveloppe/locales/">${TRANSLATION_ICON} ${instance.t("settings.help.usefulLinks.translation")}</a><br>
</ul>
`);return(0,import_obsidian33.sanitizeHTMLToDom)(els)}function multipleRepoExplained(settings){let rules="token key atrule",comments="token comment",str="token string",yaml=dedent_default(`<pre class="language-yaml"><code class="language-yaml"><span class="${rules}">multipleRepo</span>:
<span class="${rules}"> - owner</span>: <span class="${str}">${settings.github.user}</span>
<span class="${rules}"> repo</span>: <span class="${str}">${settings.github.repo}</span>
<span class="${rules}"> branch</span>: <span class="${str}">${settings.github.branch}</span>
<span class="${rules}"> autoclean</span>: <span class="${comments}">false</span>
<span class="${rules}"> - owner</span>: <span class="${str}">sandboxingRepo</span>
<span class="${rules}"> repo</span>: <span class="${str}">my_second_blog</span>
<span class="${rules}"> branch</span>: <span class="${str}">master</span>
<span class="${rules}"> autoclean</span>: <span class="${comments}">false</span>
</code></pre>`),paragraph=dedent_default(`
<span>${instance.t("settings.help.multiRepoHelp.desc")} <code>multipleRepo</code> ${instance.t("settings.help.multiRepoHelp.desc2")}<ul>
<li><code>owner</code></li>
<li><code>repo</code></li>
<li><code>branch</code></li>
<li><code>autoclean</code></li>
</ul>${instance.t("settings.help.multiRepoHelp.exampleDesc")}</span>
`);return(0,import_obsidian33.sanitizeHTMLToDom)(paragraph+yaml)}function supportMe(){let supportMe2=dedent_default(`<p style="text-align:center"><a href="https://ko-fi.com/lisandra_dev"><img src="https://storage.ko-fi.com/cdn/kofi2.png?v=3" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;"></a></p>
`);return(0,import_obsidian33.sanitizeHTMLToDom)(supportMe2)}var renderHelp=ctx=>{new import_obsidian34.Setting(ctx.settingsPage).setName(instance.t("settings.help.usefulLinks.title")).setHeading(),ctx.settingsPage.appendChild(usefulLinks()),ctx.settingsPage.createEl("hr"),new import_obsidian34.Setting(ctx.settingsPage).setName(instance.t("settings.help.frontmatter.title")).setHeading();let dom=(0,import_obsidian34.sanitizeHTMLToDom)(`
<p>${instance.t("settings.help.frontmatter.desc")}</p>
<p>${instance.t("settings.help.frontmatter.nestedKey")} <code>key.subkey: value</code>.</p>`);ctx.settingsPage.appendChild(dom),ctx.settingsPage.createEl("pre",{cls:"language-yaml"}).createEl("code",{text:KeyBasedOnSettings(ctx.settings),cls:"language-yaml"}),ctx.settingsPage.appendChild(help(ctx.settings)),ctx.settingsPage.createEl("hr"),new import_obsidian34.Setting(ctx.settingsPage).setName(instance.t("settings.help.multiRepoHelp.title")).setHeading(),ctx.settingsPage.appendChild(multipleRepoExplained(ctx.settings)),ctx.settingsPage.appendChild(supportMe())};var import_obsidian35=require("obsidian");var renderPluginSettings=ctx=>{let pluginSettings=ctx.settings.plugin;if(ctx.settingsPage.createEl("h3",{text:instance.t("settings.plugin.head.share")}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.shareKey.all.title")).setDesc(instance.t("settings.plugin.shareKey.all.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.shareAll?.enable??!1).onChange(async value=>{pluginSettings.shareAll={enable:value,excludedFileName:pluginSettings.shareAll?.excludedFileName??"DRAFT"},value&&(ctx.settings.conversion.links.internal=!0),await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("plugin-settings")})),!pluginSettings.shareAll||!pluginSettings.shareAll.enable?new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.shareKey.title")).setDesc(instance.t("settings.plugin.shareKey.desc")).addText(text=>text.setPlaceholder("share").setValue(pluginSettings.shareKey).onChange(async value=>{pluginSettings.shareKey=value.trim(),await ctx.plugin.saveSettings()})):new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.shareKey.excludedFileName.title")).addText(text=>text.setPlaceholder("DRAFT").setValue(pluginSettings.shareAll?.excludedFileName??"DRAFT").onChange(async value=>{pluginSettings.shareAll.excludedFileName=value.trim(),await ctx.plugin.saveSettings()})),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.excludedFolder.title")).setDesc(instance.t("settings.plugin.excludedFolder.desc")).addTextArea(textArea=>textArea.setPlaceholder("_assets, Archive, /^_(.*)/gi").setValue(pluginSettings.excludedFolder.join(", ")).onChange(async value=>{pluginSettings.excludedFolder=splitByCommaOrNewLineAndNonWord(value),await ctx.plugin.saveSettings()})),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.set.title")).setDesc(instance.t("settings.plugin.set.desc")).addText(text=>text.setPlaceholder("Set").setValue(pluginSettings.setFrontmatterKey).onChange(async value=>{pluginSettings.setFrontmatterKey=value.trim(),await ctx.plugin.saveSettings()})),ctx.settingsPage.createEl("h3",{text:instance.t("settings.plugin.head.menu")}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.fileMenu.title")).setDesc(instance.t("settings.plugin.fileMenu.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.fileMenu).onChange(async value=>{pluginSettings.fileMenu=value,await ctx.plugin.saveSettings()})),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.editorMenu.title")).setDesc(instance.t("settings.plugin.editorMenu.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.editorMenu).onChange(async value=>{pluginSettings.editorMenu=value,await ctx.plugin.saveSettings()})),ctx.settingsPage.createEl("h3",{text:instance.t("settings.plugin.head.copyLinks")}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.copyLink.title")).setDesc(instance.t("settings.plugin.copyLink.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.copyLink.enable).onChange(async value=>{pluginSettings.copyLink.enable=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("plugin-settings")})),pluginSettings.copyLink.enable){new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.copyLink.baselink.title")).setDesc(instance.t("settings.plugin.copyLink.baselink.desc")).addText(text=>{text.setPlaceholder("my_blog.com").setValue(pluginSettings.copyLink.links).onChange(async value=>{pluginSettings.copyLink.links=value,await ctx.plugin.saveSettings()})}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.copyLink.linkPathRemover.title")).setDesc(instance.t("settings.plugin.copyLink.linkPathRemover.desc")).addText(text=>{text.setPlaceholder("docs").setValue(pluginSettings.copyLink.removePart.join(", ")).onChange(async value=>{pluginSettings.copyLink.removePart=splitByCommaOrNewLineAndSpaces(value),await ctx.plugin.saveSettings()})}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.copyLink.toUri.title")).setDesc(instance.t("settings.plugin.copyLink.toUri.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.copyLink.transform.toUri).onChange(async value=>{pluginSettings.copyLink.transform.toUri=value,await ctx.plugin.saveSettings()})),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.slugify.title")).addDropdown(dropdown=>{dropdown.addOptions({disable:instance.t("settings.conversion.links.slugify.disable"),strict:instance.t("settings.conversion.links.slugify.strict"),lower:instance.t("settings.conversion.links.slugify.lower")}).setValue(pluginSettings.copyLink.transform.slugify).onChange(async value=>{pluginSettings.copyLink.transform.slugify=value,await ctx.plugin.saveSettings()})}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.copyLink.applyRegex.title")).setHeading().setDesc(instance.t("settings.plugin.copyLink.applyRegex.desc")).addExtraButton(button=>{button.setIcon("plus").onClick(async()=>{pluginSettings.copyLink.transform.applyRegex.push({regex:"",replacement:""}),await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("plugin-settings")})});for(let apply of pluginSettings.copyLink.transform.applyRegex){let regex=apply.regex,replacement=apply.replacement;new import_obsidian35.Setting(ctx.settingsPage).setClass("no-display").addText(text=>{text.setPlaceholder("regex").setValue(regex).onChange(async value=>{apply.regex=value,await ctx.plugin.saveSettings()})}).setClass("max-width").addText(text=>{text.setPlaceholder("replacement").setValue(replacement).onChange(async value=>{apply.replacement=value,await ctx.plugin.saveSettings()})}).setClass("max-width").addExtraButton(button=>{button.setIcon("trash").onClick(async()=>{pluginSettings.copyLink.transform.applyRegex=pluginSettings.copyLink.transform.applyRegex.filter(item=>item!==apply),await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("plugin-settings")})})}new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.copyLink.command.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.copyLink.addCmd).onChange(async value=>{pluginSettings.copyLink.addCmd=value,await ctx.plugin.saveSettings()}))}ctx.settingsPage.createEl("h3",{text:instance.t("settings.plugin.head.other")}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.embedEditRepo.title")).setDesc(instance.t("settings.plugin.embedEditRepo.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.displayModalRepoEditing).onChange(async value=>{pluginSettings.displayModalRepoEditing=value,await ctx.plugin.saveSettings()})),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.saveTab.title")).setDesc(instance.t("settings.plugin.saveTab.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.saveTabId??!0).onChange(async value=>{pluginSettings.saveTabId=value,ctx.settings.tabsId=value?"plugin-settings":"github-configuration",await ctx.plugin.saveSettings()})),ctx.settingsPage.createEl("h4",{text:instance.t("settings.plugin.head.log")}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.logNoticeHeader.title")).setDesc(instance.t("settings.plugin.logNoticeHeader.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.noticeError).onChange(async value=>{pluginSettings.noticeError=value,await ctx.plugin.saveSettings()})),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.dev.title")).setDesc(instance.t("settings.plugin.dev.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.dev??!1).onChange(async value=>{pluginSettings.dev=value,await ctx.plugin.saveSettings()}));let length=pluginSettings.noticeLength??0;new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.noticeLength.title")).setDesc(instance.t("settings.plugin.noticeLength.desc")).addText(text=>text.setPlaceholder("0").setValue(`${length/1e3}`).onChange(async value=>{pluginSettings.noticeLength=parseInt(value,10)*1e3,pluginSettings.noticeLength<0&&(pluginSettings.noticeLength=0),isNaN(pluginSettings.noticeLength)&&(pluginSettings.noticeLength=0,await ctx.renderSettingsPage("plugin-settings")),await ctx.plugin.saveSettings()}))};var import_obsidian36=require("obsidian");var renderTextConversion=ctx=>{let textSettings=ctx.settings.conversion;ctx.settingsPage.appendChild((0,import_obsidian36.sanitizeHTMLToDom)(`<p>${instance.t("settings.conversion.desc")}</p>`)),ctx.settingsPage.createEl("h5",{text:instance.t("settings.conversion.links.title")}),ctx.settingsPage.append((0,import_obsidian36.sanitizeHTMLToDom)(instance.t("settings.conversion.links.desc")));let shareAll=ctx.settings.plugin.shareAll?.enable?` ${instance.t("settings.conversion.links.internals.shareAll")}`:"",internalLinksDesc=(0,import_obsidian36.sanitizeHTMLToDom)(dedent_default(`
<p class="no-margin">${instance.t("settings.conversion.links.internals.desc")} ${shareAll}</p>
<p class="no-margin">${instance.t("settings.conversion.links.internals.dataview")}</p>
`));new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.internals.title")).setDesc(internalLinksDesc).addToggle(toggle=>{toggle.setValue(textSettings.links.internal).onChange(async value=>{textSettings.links.internal=value,ctx.settings.plugin.shareAll?.enable&&(textSettings.links.unshared=!0),await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("text-conversion")})}),textSettings.links.internal&&(ctx.settings.plugin.shareAll?.enable||(new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.nonShared.title")).setDesc(instance.t("settings.conversion.links.nonShared.desc")).addToggle(toggle=>{toggle.setValue(textSettings.links.unshared).onChange(async value=>{textSettings.links.unshared=value,await ctx.renderSettingsPage("text-conversion"),await ctx.plugin.saveSettings()})}),textSettings.links.unshared||new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.unlink.title")).setDesc((0,import_obsidian36.sanitizeHTMLToDom)(instance.t("settings.conversion.links.unlink.desc"))).addToggle(toggle=>{toggle.setValue(textSettings.links.unlink).onChange(async value=>{textSettings.links.unlink=value,await ctx.plugin.saveSettings()})})),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.relativePath.title")).setDesc(instance.t("settings.conversion.links.relativePath.desc")).addToggle(toggle=>{toggle.setValue(textSettings.links.relativePath).onChange(async value=>{textSettings.links.relativePath=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("text-conversion")})}),textSettings.links.relativePath||new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.textBefore.title")).setDesc((0,import_obsidian36.sanitizeHTMLToDom)(`<span>${instance.t("settings.conversion.links.textBefore.desc",{slash:"<code>/</code>"})}</span>`)).addText(cb=>{cb.setPlaceholder("/").setValue(textSettings.links.textPrefix).onChange(async value=>{textSettings.links.textPrefix=value,await ctx.plugin.saveSettings()})})),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.wikilinks.title")).setDesc(instance.t("settings.conversion.links.wikilinks.desc")).addToggle(toggle=>{toggle.setValue(textSettings.links.wiki).onChange(async value=>{textSettings.links.wiki=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("text-conversion")})}),textSettings.links.wiki&&new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.wikiDisplayText.title")).setDesc(instance.t("settings.conversion.links.wikiDisplayText.desc")).addToggle(toggle=>{toggle.setValue(textSettings.links.wikiDisplayText).onChange(async value=>{textSettings.links.wikiDisplayText=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("text-conversion")})});let slugifySetting=typeof textSettings.links.slugify=="boolean"?textSettings.links.slugify?"strict":"disable":textSettings.links.slugify,slugifyAnchorSettings=typeof textSettings.links.slugifyAnchor=="boolean"?textSettings.links.slugifyAnchor?"strict":"disable":textSettings.links.slugifyAnchor||"disable";(textSettings.links.wiki||textSettings.links.internal)&&(new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.slugify.title")).setDesc(instance.t("settings.conversion.links.slugify.desc")).addDropdown(dropdown=>{dropdown.addOptions({disable:instance.t("settings.conversion.links.slugify.disable"),strict:instance.t("settings.conversion.links.slugify.strict"),lower:instance.t("settings.conversion.links.slugify.lower")}).setValue(slugifySetting).onChange(async value=>{textSettings.links.slugify=["disable","strict","lower"].includes(value)?value:"disable",await ctx.plugin.saveSettings()})}),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.anchor.title")).setDesc(instance.t("settings.conversion.links.anchor.desc")).addDropdown(dropdown=>{dropdown.addOptions({disable:instance.t("settings.conversion.links.slugify.disable"),strict:instance.t("settings.conversion.links.slugify.strict"),lower:instance.t("settings.conversion.links.slugify.lower")}).setValue(slugifyAnchorSettings).onChange(async value=>{textSettings.links.slugifyAnchor=["disable","strict","lower"].includes(value)?value:"disable",await ctx.plugin.saveSettings()})})),ctx.settingsPage.createEl("h5",{text:instance.t("settings.conversion.sectionTitle")}),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.hardBreak.title")).setDesc(instance.t("settings.conversion.hardBreak.desc")).addToggle(toggle=>{toggle.setValue(textSettings.hardbreak).onChange(async value=>{textSettings.hardbreak=value,await ctx.plugin.saveSettings()})});let isDataviewEnabled=ctx.plugin.app.plugins.plugins.dataview;new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.dataview.title")).setDesc(instance.t("settings.conversion.dataview.desc")).addToggle(toggle=>{toggle.setValue(textSettings.dataview&&isDataviewEnabled&&textSettings.links.internal).setDisabled(!isDataviewEnabled||!textSettings.links.internal).onChange(async value=>{textSettings.dataview=value,await ctx.plugin.saveSettings()})}),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.regexReplacing.modal.title.text")).setDesc(instance.t("settings.regexReplacing.modal.desc")).addButton(button=>{button.setIcon("pencil").onClick(async()=>{new ModalRegexOnContents(ctx.app,ctx.copy(ctx.settings),async result=>{ctx.settings.conversion.censorText=result.conversion.censorText,await ctx.plugin.saveSettings()}).open()})}),ctx.settingsPage.createEl("h5",{text:"Tags"}),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.tags.inlineTags.title")).setDesc(instance.t("settings.conversion.tags.inlineTags.desc")).addToggle(toggle=>{toggle.setValue(textSettings.tags.inline).onChange(async value=>{textSettings.tags.inline=value,await ctx.plugin.saveSettings()})}),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.tags.title")).setDesc(instance.t("settings.conversion.tags.desc")).addTextArea(text=>{text.inputEl.addClass("mid-height"),text.setPlaceholder("field_name").setValue(textSettings.tags.fields.join(",")).onChange(async value=>{textSettings.tags.fields=splitByCommaOrNewLineAndNonWord(value),await ctx.plugin.saveSettings()})}),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.tags.exclude.title")).setDesc(instance.t("settings.conversion.tags.exclude.desc")).addTextArea(text=>{text.setPlaceholder(instance.t("settings.conversion.tags.exclude.placeholder")).setValue(textSettings.tags.exclude.join(",")).onChange(async value=>{textSettings.tags.exclude=splitByCommaOrNewLineAndNonWord(value),await ctx.plugin.saveSettings()})})};var import_obsidian39=require("obsidian");var import_obsidian37=require("obsidian"),AutoCleanPopup=class extends import_obsidian37.Modal{settings;onSubmit;constructor(app,settings,onSubmit){super(app),this.onSubmit=onSubmit,this.settings=settings}whatIsEmpty(){if(this.settings.upload.behavior==="yaml"&&this.settings.upload.defaultName.length===0)return instance.t("common.defaultName");if(this.settings.upload.rootFolder.length===0)return instance.t("common.rootFolder")}onOpen(){let{contentEl}=this;contentEl.empty(),contentEl.addClasses(["enveloppe","modals","popup"]),contentEl.createEl("h2",{text:instance.t("settings.githubWorkflow.autoCleanUp.popup.title")}),contentEl.createEl("p",{text:instance.t("settings.githubWorkflow.autoCleanUp.popup.desc",{what:this.whatIsEmpty()})}),contentEl.createEl("p",{text:instance.t("settings.githubWorkflow.autoCleanUp.popup.exclude")}),contentEl.createEl("p",{text:instance.t("settings.githubWorkflow.autoCleanUp.popup.sure")}),new import_obsidian37.Setting(contentEl).setClass("no-display").addButton(button=>{button.setButtonText(instance.t("common.yes")).setWarning().onClick(()=>{this.onSubmit(!0),this.close()})}).addButton(button=>{button.setButtonText(instance.t("common.no")).onClick(()=>{this.onSubmit(!1),this.close()})})}onClose(){let{contentEl}=this;contentEl.empty()}};var import_obsidian38=require("obsidian");function showSettings(containerEl){for(let[type,elem]of Object.entries(containerEl))type!="components"&&elem.show()}function hideSettings(containerEl){for(let[type,elem]of Object.entries(containerEl))type!="components"&&elem.hide()}function showHideBasedOnFolder(settings,frontmatterKeySettings,rootFolderSettings,folderNoteSettings){let upload=settings.upload;upload.behavior==="yaml"?(showSettings(frontmatterKeySettings),showSettings(rootFolderSettings),showSettings(folderNoteSettings)):(hideSettings(frontmatterKeySettings),hideSettings(rootFolderSettings),upload.behavior==="obsidian"?showSettings(folderNoteSettings):hideSettings(folderNoteSettings))}async function autoCleanCondition(value,autoCleanSetting,plugin,what="defaultName",settingsTab){let settings=plugin.settings.upload,translation=what==="rootFolder"?instance.t("common.rootFolder"):instance.t("common.defaultName");value.length===0&&settings.defaultName&&(settings.autoclean.enable&&new import_obsidian38.Notice(instance.t("error.autoClean",{what:translation}),plugin.settings.plugin.noticeLength),settings.autoclean.enable=!1,await plugin.saveSettings(),autoCleanSetting.components[0].toggleEl.classList.remove("is-enabled"),await settingsTab.renderSettingsPage("upload-configuration")),value.length===0&&settings.behavior!=="yaml"&&(settings.autoclean.enable&&new import_obsidian38.Notice(instance.t("error.autoClean",{what:instance.t("common.defaultName")}),plugin.settings.plugin.noticeLength),settings.autoclean.enable=!1,autoCleanSetting.components[0].toggleEl.classList.remove("is-enabled"),await settingsTab.renderSettingsPage("upload-configuration")),settings.autoclean.enable&&autoCleanSetting.components[0].toggleEl.classList.add("is-enabled")}async function folderHideShowSettings(frontmatterKeySettings,rootFolderSettings,autoCleanSetting,value,plugin){let settings=plugin.settings.upload;if(value==="yaml"){showSettings(frontmatterKeySettings),showSettings(rootFolderSettings);return}settings.defaultName.length>0&&settings.autoclean.enable&&autoCleanSetting.components[0].toggleEl.classList.add("is-enabled"),hideSettings(frontmatterKeySettings),hideSettings(rootFolderSettings)}var renderUploadConfiguration=ctx=>{let uploadSettings=ctx.settings.upload;new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.upload.folderBehavior.title")).setDesc(instance.t("settings.upload.folderBehavior.desc")).addDropdown(dropDown=>{dropDown.addOptions({fixed:instance.t("settings.upload.folderBehavior.fixedFolder"),yaml:instance.t("settings.upload.folderBehavior.yaml"),obsidian:instance.t("settings.upload.folderBehavior.obsidianPath")}).setValue(uploadSettings.behavior).onChange(async value=>{uploadSettings.behavior=value,await folderHideShowSettings(frontmatterKeySettings,rootFolderSettings,autoCleanSetting,value,ctx.plugin),await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("upload-configuration")})});let defaultFolder=uploadSettings.behavior==="yaml"?{desc:instance.t("settings.upload.defaultFolder.desc"),title:instance.t("settings.upload.defaultFolder.title")}:{desc:instance.t("settings.upload.rootFolder.other"),title:instance.t("settings.upload.rootFolder.title")};new import_obsidian39.Setting(ctx.settingsPage).setName(defaultFolder.title).setDesc(defaultFolder.desc).addText(text=>{text.setPlaceholder(instance.t("settings.upload.defaultFolder.placeholder")).setValue(uploadSettings.defaultName).onChange(async value=>{uploadSettings.defaultName=value.replace(/\/$/,""),await autoCleanCondition(value,autoCleanSetting,ctx.plugin,"defaultName",ctx),await ctx.plugin.saveSettings()})});let frontmatterKeySettings=new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.upload.frontmatterKey.title")).setDesc(instance.t("settings.upload.frontmatterKey.desc")).addText(text=>{text.setPlaceholder(instance.t("settings.upload.frontmatterKey.placeholder")).setValue(uploadSettings.yamlFolderKey).onChange(async value=>{uploadSettings.yamlFolderKey=value.trim(),await ctx.plugin.saveSettings()})}),rootFolderSettings=new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.upload.rootFolder.title")).setDesc(instance.t("settings.upload.rootFolder.desc")).addText(text=>{text.setPlaceholder("docs").setValue(uploadSettings.rootFolder).onChange(async value=>{uploadSettings.rootFolder=value.replace(/\/$/,""),await autoCleanCondition(value,autoCleanSetting,ctx.plugin,"rootFolder",ctx),await ctx.plugin.saveSettings()})}),frontmatterTitleSet=new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.upload.useFrontmatterTitle.title")).setDesc(instance.t("settings.upload.useFrontmatterTitle.desc")).setClass("title").addToggle(toggle=>{toggle.setValue(uploadSettings.frontmatterTitle.enable).onChange(async value=>{uploadSettings.frontmatterTitle.enable=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("upload-configuration")})});uploadSettings.frontmatterTitle.enable&&frontmatterTitleSet.addText(text=>{text.setPlaceholder("title").setValue(uploadSettings.frontmatterTitle.key).onChange(async value=>{uploadSettings.frontmatterTitle.key=value.trim(),await ctx.plugin.saveSettings()})});let desc=uploadSettings.behavior==="fixed"?instance.t("settings.upload.regexFilePathTitle.title.titleOnly"):instance.t("settings.upload.regexFilePathTitle.title.FolderPathTitle");new import_obsidian39.Setting(ctx.settingsPage).setName(desc).setDesc(instance.t("settings.upload.regexFilePathTitle.desc")).addButton(button=>{button.setIcon("pencil").onClick(async()=>{let allRegex=uploadSettings.replaceTitle;uploadSettings.behavior!=="fixed"&&(allRegex=allRegex.concat(uploadSettings.replacePath)),new ModalRegexFilePathName(ctx.app,ctx.settings,ctx.copy(allRegex),async result=>{uploadSettings.replacePath=result.filter(title=>title.type==="path"),uploadSettings.replaceTitle=result.filter(title=>title.type==="title"),await ctx.plugin.saveSettings()}).open()})});let folderNoteSettings=new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.folderNote.title")).setDesc(instance.t("settings.conversion.links.folderNote.desc")).addToggle(toggle=>{toggle.setValue(uploadSettings.folderNote.enable).onChange(async value=>{uploadSettings.folderNote.enable=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("upload-configuration")})});uploadSettings.folderNote.enable&&(folderNoteSettings.addText(text=>{text.setPlaceholder("folderNote").setValue(uploadSettings.folderNote.rename).onChange(async value=>{uploadSettings.folderNote.rename=value,await ctx.plugin.saveSettings()})}),new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.upload.folderNote.addTitle.title")).addToggle(toggle=>{toggle.setValue(uploadSettings.folderNote.addTitle.enable).onChange(async value=>{uploadSettings.folderNote.addTitle.enable=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("upload-configuration")})}),uploadSettings.folderNote.addTitle.enable&&new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.upload.folderNote.addTitle.key")).addText(text=>{text.setPlaceholder("title").setValue(uploadSettings.folderNote.addTitle.key).onChange(async value=>{uploadSettings.folderNote.addTitle.key=value,await ctx.plugin.saveSettings()})})),showHideBasedOnFolder(ctx.settings,frontmatterKeySettings,rootFolderSettings,folderNoteSettings),ctx.plugin.app.plugins.getPlugin("metadata-extractor")&&new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.githubWorkflow.useMetadataExtractor.title")).setDesc(instance.t("settings.githubWorkflow.useMetadataExtractor.desc")).addText(text=>{text.setPlaceholder("docs/_assets/metadata").setValue(uploadSettings.metadataExtractorPath).onChange(async value=>{uploadSettings.metadataExtractorPath=value.trim(),await ctx.plugin.saveSettings()})});let autoCleanSetting=new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.githubWorkflow.autoCleanUp.title")).setDesc(instance.t("settings.githubWorkflow.autoCleanUp.desc")).addToggle(toggle=>{toggle.setValue(uploadSettings.autoclean.enable).onChange(async value=>{value&&(ctx.settings.upload.behavior==="yaml"&&ctx.settings.upload.defaultName.length===0||ctx.settings.upload.rootFolder.length===0)?new AutoCleanPopup(ctx.app,ctx.settings,result=>{uploadSettings.autoclean.enable=result,ctx.renderSettingsPage("upload-configuration")}).open():uploadSettings.autoclean.enable=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("upload-configuration"),await ctx.plugin.reloadCommands(!0,value)})});if(uploadSettings.autoclean.enable){let excluded=typeof uploadSettings.autoclean.excluded=="string"?[uploadSettings.autoclean.excluded]:uploadSettings.autoclean.excluded;new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.githubWorkflow.excludedFiles.title")).setDesc(instance.t("settings.githubWorkflow.excludedFiles.desc")).addTextArea(textArea=>{textArea.setPlaceholder("docs/assets/js, docs/assets/logo, /\\.js$/").setValue(excluded.join(", ")).onChange(async value=>{uploadSettings.autoclean.excluded=splitByCommaOrNewLine(value),await ctx.plugin.saveSettings()})}),new import_obsidian39.Setting(ctx.settingsPage).setName(instance.t("settings.githubWorkflow.includeAttachments.title")).setDesc(instance.t("settings.githubWorkflow.includeAttachments.desc")).addToggle(toggle=>{toggle.setValue(uploadSettings.autoclean.includeAttachments).onChange(async value=>{uploadSettings.autoclean.includeAttachments=value,await ctx.plugin.saveSettings()})})}folderHideShowSettings(frontmatterKeySettings,rootFolderSettings,autoCleanSetting,uploadSettings.behavior,ctx.plugin)};var EnveloppeSettingsTab=class extends import_obsidian40.PluginSettingTab{plugin;settingsPage;branchName;settings;constructor(app,plugin,branchName){super(app,plugin),this.plugin=plugin,this.branchName=branchName,this.settings=plugin.settings}display(){let{containerEl}=this;containerEl.empty(),containerEl.addClass("enveloppe");let defaultTabId="github-configuration",savedId=this.settings.tabsId??defaultTabId;this.settings.plugin.saveTabId!=null&&!this.settings.plugin.saveTabId&&(this.settings.tabsId=defaultTabId,savedId=defaultTabId,this.plugin.saveSettings());let enveloppeTabs={"github-configuration":{name:instance.t("settings.github.title"),icon:"cloud"},"upload-configuration":{name:instance.t("settings.upload.title"),icon:"upload"},"text-conversion":{name:instance.t("settings.conversion.title"),icon:"file-text"},"embed-configuration":{name:instance.t("settings.embed.title"),icon:"link"},"plugin-settings":{name:instance.t("settings.plugin.title"),icon:"gear"},help:{name:instance.t("settings.help.title"),icon:"info"}};new import_obsidian40.Setting(containerEl).setClass("import-export").addButton(button=>{button.setButtonText(instance.t("modals.export.title")).onClick(()=>{new ExportModal(this.app,this.plugin).open()})}).addButton(button=>{button.setButtonText(instance.t("modals.import.title")).onClick(()=>{new ImportModal(this.app,this.plugin,this.settingsPage,this).open()})}).addButton(button=>{button.setButtonText(instance.t("modals.import.presets.title")).setTooltip(instance.t("modals.import.presets.desc")).onClick(async()=>{let octokit=await this.plugin.reloadOctokit(),presetLists=await loadAllPresets(octokit.octokit,this.plugin);new ImportLoadPreset(this.app,this.plugin,presetLists,octokit.octokit,this).open()})});let tabBar=containerEl.createEl("nav",{cls:"settings-tab-bar"});for(let[tabId,tabInfo]of Object.entries(enveloppeTabs)){let tabEl=tabBar.createEl("div",{cls:"settings-tab"}),tabIcon=tabEl.createEl("div",{cls:"settings-tab-icon"});(0,import_obsidian40.setIcon)(tabIcon,tabInfo.icon),tabEl.createEl("div",{cls:"settings-tab-name",text:tabInfo.name}),tabId===savedId&&tabEl.addClass("settings-tab-active"),tabEl.addEventListener("click",async()=>{for(let tabEl2 of tabBar.children)tabEl2.removeClass("settings-tab-active");tabEl.addClass("settings-tab-active"),await this.renderSettingsPage(tabId)})}this.settingsPage=containerEl.createEl("div",{cls:"settings-tab-page"}),this.renderSettingsPage(savedId)}async renderSettingsPage(tabId){switch((this.settings.plugin.saveTabId||this.settings.plugin.saveTabId===void 0)&&(this.settings.tabsId=tabId,await this.plugin.saveSettings()),this.settingsPage.empty(),tabId){case"github-configuration":this.renderGithubConfiguration();break;case"upload-configuration":this.renderUploadConfiguration();break;case"text-conversion":this.renderTextConversion();break;case"embed-configuration":await this.renderEmbedConfiguration();break;case"plugin-settings":this.renderPluginSettings();break;case"help":this.renderHelp();break}}renderGithubConfiguration(){renderGithubConfiguration({app:this.app,plugin:this.plugin,settings:this.settings,settingsPage:this.settingsPage,branchName:this.branchName,renderSettingsPage:this.renderSettingsPage.bind(this),copy:this.copy.bind(this)})}renderUploadConfiguration(){renderUploadConfiguration({app:this.app,plugin:this.plugin,settings:this.settings,settingsPage:this.settingsPage,branchName:this.branchName,renderSettingsPage:this.renderSettingsPage.bind(this),copy:this.copy.bind(this)})}renderTextConversion(){renderTextConversion({app:this.app,plugin:this.plugin,settings:this.settings,settingsPage:this.settingsPage,branchName:this.branchName,renderSettingsPage:this.renderSettingsPage.bind(this),copy:this.copy.bind(this)})}async renderEmbedConfiguration(){await renderEmbedConfiguration({app:this.app,plugin:this.plugin,settings:this.settings,settingsPage:this.settingsPage,branchName:this.branchName,renderSettingsPage:this.renderSettingsPage.bind(this),copy:this.copy.bind(this)})}renderPluginSettings(){renderPluginSettings({app:this.app,plugin:this.plugin,settings:this.settings,settingsPage:this.settingsPage,branchName:this.branchName,renderSettingsPage:this.renderSettingsPage.bind(this),copy:this.copy.bind(this)})}renderHelp(){renderHelp({app:this.app,plugin:this.plugin,settings:this.settings,settingsPage:this.settingsPage,branchName:this.branchName,renderSettingsPage:this.renderSettingsPage.bind(this),copy:this.copy.bind(this)})}copy(object){try{return klona(object)}catch{this.plugin.console.debug("error with stringify for",object)}}};var Enveloppe=class extends import_obsidian41.Plugin{settings;branchName="";repositoryFrontmatter={};console;getTitleFieldForCommand(file,frontmatter){return regexOnFileName(getTitleField(frontmatter,file,this.settings),this.settings)}async chargeAllCommands(repo,plugin,autoClean){plugin.settings.plugin.copyLink.addCmd&&this.addCommand(await createLinkCallback(repo,this)),this.addCommand(await shareOneNoteCallback(repo,this)),(autoClean||plugin.settings.upload.autoclean.enable)&&this.addCommand(await purgeCallback(this,repo,this.branchName)),this.addCommand(await uploadAllNotesCallback(this,repo,this.branchName)),this.addCommand(await uploadNewNotesCallback(this,repo,this.branchName)),this.addCommand(await uploadAllEditedNotesCallback(this,repo,this.branchName)),this.addCommand(await shareEditedOnlyCallback(repo,this.branchName,this)),this.addCommand(await checkRepositoryValidityCallback(this,repo))}cleanSpecificCommands(repo){let allCommands=this.app.commands.listCommands();for(let command of allCommands)if(command.id.startsWith("obsidian-mkdocs-publisher")){let publisherCmDsName=command.id.replace("obsidian-mkdocs-publisher:","").split("-"),repoCmd=publisherCmDsName[publisherCmDsName.length-1];repoCmd.startsWith("K")&&repo.smartKey===repoCmd.replace("K","")&&this.app.commands.removeCommand(command.id)}}cleanOldCommands(){let allRepo=this.settings.github?.otherRepo??[],allCommands=this.app.commands.listCommands();for(let command of allCommands)if(command.id.startsWith("obsidian-mkdocs-publisher")){let commandName=command.id.replace("obsidian-mkdocs-publisher:",""),repoCmd=commandName.split("-")[commandName.split("-").length-1];repoCmd.startsWith("K")&&allRepo.findIndex(repo=>repo.smartKey===repoCmd.replace("K",""))===-1&&this.app.commands.removeCommand(command.id),!this.settings.upload.autoclean.enable&&commandName==="delete-clean"&&this.app.commands.removeCommand(command.id)}}async reloadCommands(useDefaultRepo,autoClean){let newRepo=this.settings.github?.otherRepo??[];this.cleanOldCommands(),useDefaultRepo&&await this.chargeAllCommands(null,this,autoClean);for(let repo of newRepo)repo.createShortcuts?await this.chargeAllCommands(repo,this):this.cleanSpecificCommands(repo)}async loadToken(repo){if(repo=="default"&&(repo=void 0),this.settings.github.tokenSecret){let secret=this.app.secretStorage.getSecret(this.settings.github.tokenSecret);if(repo){let keyPath=this.settings.github.otherRepo.find(r=>r.smartKey===repo)?.tokenSecret;if(keyPath){let repoSecret=this.app.secretStorage.getSecret(keyPath);if(repoSecret)return repoSecret}}if(secret)return secret}let tokenPath=createTokenPath(this,this.settings.github.tokenPath);if(!await this.app.vault.adapter.exists(`${tokenPath}`))return"";try{let tokenFile=await this.app.vault.adapter.read(`${tokenPath}`);if(tokenPath.endsWith(".json")){let tokenJson=JSON.parse(tokenFile),defaultToken=tokenJson.GITHUB_PUBLISHER_TOKEN;return repo?tokenJson.GITHUB_PUBLISHER_REPOS?.[repo]??defaultToken:defaultToken}if(tokenFile){let defaultToken=tokenFile.split(`
`).find(line=>line.startsWith("GITHUB_TOKEN"))?.split("=")[1]??"";return repo?tokenFile.split(`
`).find(line=>line.startsWith(`${repo}_TOKEN`))?.split("=")[1]??defaultToken:defaultToken}}catch(e){return this.console.error(e),""}return""}async reloadOctokit(repo){let apiSettings=this.settings.github.api,token=await this.loadToken(repo),octokit=apiSettings.tiersForApi==="Enterprise"&&apiSettings.hostname.length>0?new Octokit({baseUrl:`${apiSettings.hostname}/api/v3`,auth:token}):new Octokit({auth:token});return new GithubBranch(octokit,this)}async onload(){await instance.init({lng:translationLanguage,fallbackLng:"en",resources,returnNull:!1,returnEmptyString:!1}),await this.loadSettings(),this.console=new Logs(this),this.console.info(dedent_default(`[Obsidian Enveloppe] v.${this.manifest.version} (lang: ${translationLanguage}) loaded.
* You can hide HTTP logs in the console with checking the "Hide network" in the console settings.
* See here: https://developer.chrome.com/docs/devtools/console/reference#network`)),await this.console.createLogFile(),!this.settings.plugin.dev&&await this.app.vault.adapter.exists((0,import_obsidian41.normalizePath)(`${this.manifest.dir}/logs.txt`))&&await this.app.vault.adapter.remove((0,import_obsidian41.normalizePath)(`${this.manifest.dir}/logs.txt`));let oldSettings=this.settings;if(await migrateSettings(oldSettings,this),await migrateToSecret(this),this.branchName=`${this.app.vault.getName().replaceAll(" ","-").replaceAll(".","-")}-${new Date().toLocaleDateString("en-US").replace(/\//g,"-")}`,this.addSettingTab(new EnveloppeSettingsTab(this.app,this,this.branchName)),!this.settings.github.verifiedRepo&&await this.loadToken()!==""){let octokit=await this.reloadOctokit();this.settings.github.verifiedRepo=await checkRepositoryValidity(octokit,null,null,!0),this.settings.github.rateLimit=await verifyRateLimitAPI(octokit.octokit,this,!1),await this.saveSettings()}for(let repository of this.settings.github.otherRepo){if(!repository.verifiedRepo&&await this.loadToken(repository.smartKey)!==""){let repoOctokit=await this.reloadOctokit(repository.smartKey);repository.verifiedRepo=await checkRepositoryValidity(repoOctokit,repository,null,!1),repository.rateLimit=await verifyRateLimitAPI(repoOctokit.octokit,this)}if(repository.set){let file=this.app.vault.getAbstractFileByPath(repository.set);if(file&&file instanceof import_obsidian41.TFile){let frontmatter=this.app.metadataCache.getFileCache(file)?.frontmatter;frontmatter&&(this.repositoryFrontmatter[repository.smartKey]=frontmatter)}}}await this.saveSettings(),this.registerEvent(this.app.workspace.on("file-menu",(menu,folder)=>{this.settings.plugin.fileMenu&&folder instanceof import_obsidian41.TFolder?addMenuFolder(menu,folder,this.branchName,this):folder instanceof import_obsidian41.TFile&&addMenuFile(this,folder,this.branchName,menu)})),this.registerEvent(this.app.workspace.on("editor-menu",(menu,_editor,view)=>{view.file&&addMenuFile(this,view.file,this.branchName,menu)})),await this.chargeAllCommands(null,this),this.addCommand({id:"check-rate-limit",name:instance.t("commands.checkValidity.rateLimit.command"),callback:async()=>{let octokit=await this.reloadOctokit();this.settings.github.rateLimit=await verifyRateLimitAPI(octokit.octokit,this),await this.saveSettings()}}),this.settings.github.otherRepo.length>0&&this.addCommand({id:"run-cmd-for-repo",name:instance.t("commands.runOtherRepo.title"),callback:async()=>{new ChooseWhichRepoToRun(this.app,this,this.branchName).open()}});let repoWithShortcuts=this.settings.github.otherRepo.filter(repo=>repo.createShortcuts);for(let repo of repoWithShortcuts)await this.chargeAllCommands(repo,this);this.addCommand(refreshOpenedSet(this)),this.addCommand(refreshAllSets(this)),window.addEventListener("unhandledrejection",this.unhandledRejectionListener),window.addEventListener("error",this.errorListener)}unhandledRejectionListener(e){this.manifest?.id&&e?.reason?.stack?.includes(this.manifest.id)&&this.console.writeToLog(e,"fatal")}errorListener(e){this.manifest?.id&&e?.error?.stack?.includes(this.manifest.id)&&this.console.writeToLog(e,"error")}onunload(){this.console.warn("[Obsidian Enveloppe] Unloaded"),window.removeEventListener("unhandledrejection",this.unhandledRejectionListener),window.removeEventListener("error",this.errorListener)}async loadSettings(){let loadedData=await this.loadData();try{this.settings=merge2(DEFAULT_SETTINGS,loadedData)}catch{console.warn("[Obsidian Enveloppe] Error while deep merging settings, using default loading method"),this.settings=Object.assign({},DEFAULT_SETTINGS,await this.loadData())}}async saveSettings(){await this.saveData(this.settings)}};
/**
* The majority of the code was taken from obsidian-easy-bake
* @credit mgmeyers
* @source https://github.com/mgmeyers/obsidian-easy-bake
* @license GPL-3.0
* Each function is modified to fit the needs of this plugin, but citation are done in the code for each function
*/
/*! Bundled license information:
@octokit/request-error/dist-src/index.js:
(* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *)
@octokit/request/dist-bundle/index.js:
(* v8 ignore next -- @preserve *)
(* v8 ignore else -- @preserve *)
*/
/* nosourcemap */