From 1d7ebf01fe9e5a396b4b4c90d49b2f66e85550e5 Mon Sep 17 00:00:00 2001 From: "Alex (phone)" Date: Fri, 15 May 2026 08:43:33 +0600 Subject: [PATCH] vault backup: 2026-05-15 08:43:33 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/community-plugins.json .obsidian/plugins/obsidian-git/data.json .obsidian/plugins/obsidian-git/main.js .obsidian/plugins/obsidian-git/manifest.json .obsidian/plugins/obsidian-git/styles.css 3️⃣3d print.md Untitled 1.md Untitled 2.md Untitled 3.md Untitled.md Алтай купить.md Блошинка.md Взять в РФ.md Детские песни.md Инвентаризация дом Алтай.md Крепеж номенклатура.md Приложение для ведения бюджета.md ⏳ Отложенные.md ⛺Взять в поход.md ✅ Список дел.md 🇷🇺Задачи РФ.md 🍎App ideas.md 🍔 Рецепты.md 🍿 Фильмы.md 🎤Караока.md 🎮Игры.md 🏕️Взять в поездку.md 🏡Home automation.md 📚 Книги.md 🙋 Активности с ребёнком.md 🛍️ Заказать.md 🧱Леруа.md 🪆Посетить.md --- .obsidian/community-plugins.json | 3 + .obsidian/plugins/obsidian-git/data.json | 68 ++ .obsidian/plugins/obsidian-git/main.js | 452 ++++++++++++ .obsidian/plugins/obsidian-git/manifest.json | 10 + .obsidian/plugins/obsidian-git/styles.css | 710 +++++++++++++++++++ 3️⃣3d print.md | 24 + Untitled 1.md | 0 Untitled 2.md | 0 Untitled 3.md | 0 Untitled.md | 0 Алтай купить.md | 54 ++ Блошинка.md | 26 + Взять в РФ.md | 38 + Детские песни.md | 3 + Инвентаризация дом Алтай.md | 11 + Крепеж номенклатура.md | 49 ++ Приложение для ведения бюджета.md | 15 + ⏳ Отложенные.md | 89 +++ ⛺Взять в поход.md | 51 ++ ✅ Список дел.md | 158 +++++ 🇷🇺Задачи РФ.md | 124 ++++ 🍎App ideas.md | 114 +++ 🍔 Рецепты.md | 15 + 🍿 Фильмы.md | 486 +++++++++++++ 🎤Караока.md | 168 +++++ 🎮Игры.md | 89 +++ 🏕️Взять в поездку.md | 87 +++ 🏡Home automation.md | 13 + 📚 Книги.md | 119 ++++ 🙋 Активности с ребёнком.md | 28 + 🛍️ Заказать.md | 142 ++++ 🧱Леруа.md | 150 ++++ 🪆Посетить.md | 10 + 33 files changed, 3306 insertions(+) create mode 100644 .obsidian/community-plugins.json create mode 100644 .obsidian/plugins/obsidian-git/data.json create mode 100644 .obsidian/plugins/obsidian-git/main.js create mode 100644 .obsidian/plugins/obsidian-git/manifest.json create mode 100644 .obsidian/plugins/obsidian-git/styles.css create mode 100644 3️⃣3d print.md delete mode 100644 Untitled 1.md delete mode 100644 Untitled 2.md delete mode 100644 Untitled 3.md delete mode 100644 Untitled.md create mode 100644 Алтай купить.md create mode 100644 Блошинка.md create mode 100644 Взять в РФ.md create mode 100644 Детские песни.md create mode 100644 Инвентаризация дом Алтай.md create mode 100644 Крепеж номенклатура.md create mode 100644 Приложение для ведения бюджета.md create mode 100644 ⏳ Отложенные.md create mode 100644 ⛺Взять в поход.md create mode 100644 ✅ Список дел.md create mode 100644 🇷🇺Задачи РФ.md create mode 100644 🍎App ideas.md create mode 100644 🍔 Рецепты.md create mode 100644 🍿 Фильмы.md create mode 100644 🎤Караока.md create mode 100644 🎮Игры.md create mode 100644 🏕️Взять в поездку.md create mode 100644 🏡Home automation.md create mode 100644 📚 Книги.md create mode 100644 🙋 Активности с ребёнком.md create mode 100644 🛍️ Заказать.md create mode 100644 🧱Леруа.md create mode 100644 🪆Посетить.md diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json new file mode 100644 index 00000000..d3f66fab --- /dev/null +++ b/.obsidian/community-plugins.json @@ -0,0 +1,3 @@ +[ + "obsidian-git" +] \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/data.json b/.obsidian/plugins/obsidian-git/data.json new file mode 100644 index 00000000..4fd7461f --- /dev/null +++ b/.obsidian/plugins/obsidian-git/data.json @@ -0,0 +1,68 @@ +{ + "commitMessage": "vault backup: {{date}}", + "autoCommitMessage": "vault backup: {{date}}", + "commitMessageScript": "", + "commitDateFormat": "YYYY-MM-DD HH:mm:ss", + "autoSaveInterval": 5, + "autoPushInterval": 0, + "autoPullInterval": 30, + "autoPullOnBoot": true, + "autoCommitOnlyStaged": false, + "disablePush": false, + "pullBeforePush": true, + "disablePopups": false, + "showErrorNotices": true, + "disablePopupsForNoChanges": false, + "listChangedFilesInMessageBody": true, + "showStatusBar": true, + "updateSubmodules": false, + "syncMethod": "merge", + "mergeStrategy": "none", + "customMessageOnAutoBackup": false, + "autoBackupAfterFileChange": true, + "treeStructure": false, + "refreshSourceControl": false, + "basePath": "", + "differentIntervalCommitAndPush": false, + "changedFilesInStatusBar": false, + "showedMobileNotice": true, + "refreshSourceControlTimer": 7000, + "showBranchStatusBar": true, + "setLastSaveToLastCommit": false, + "submoduleRecurseCheckout": false, + "gitDir": "", + "showFileMenu": true, + "authorInHistoryView": "hide", + "dateInHistoryView": false, + "diffStyle": "split", + "hunks": { + "showSigns": false, + "hunkCommands": false, + "statusBar": "disabled" + }, + "lineAuthor": { + "show": false, + "followMovement": "inactive", + "authorDisplay": "initials", + "showCommitHash": false, + "dateTimeFormatOptions": "date", + "dateTimeFormatCustomString": "YYYY-MM-DD HH:mm", + "dateTimeTimezone": "viewer-local", + "coloringMaxAge": "1y", + "colorNew": { + "r": 255, + "g": 150, + "b": 150 + }, + "colorOld": { + "r": 120, + "g": 160, + "b": 255 + }, + "textColorCss": "var(--text-muted)", + "ignoreWhitespace": false, + "gutterSpacingFallbackLength": 5, + "lastShownAuthorDisplay": "initials", + "lastShownDateTimeFormatOptions": "date" + } +} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/main.js b/.obsidian/plugins/obsidian-git/main.js new file mode 100644 index 00000000..6e335cda --- /dev/null +++ b/.obsidian/plugins/obsidian-git/main.js @@ -0,0 +1,452 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source visit the plugins github repository (https://github.com/denolehov/obsidian-git) +*/ + +var VD=Object.create;var bc=Object.defineProperty;var YD=Object.getOwnPropertyDescriptor;var XD=Object.getOwnPropertyNames;var ZD=Object.getPrototypeOf,KD=Object.prototype.hasOwnProperty;var Yb=t=>{throw TypeError(t)};var QD=(t,e,r)=>e in t?bc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var JD=(t,e)=>()=>(t&&(e=t(t=0)),e);var I=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),eL=(t,e)=>{for(var r in e)bc(t,r,{get:e[r],enumerable:!0})},Xb=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of XD(e))!KD.call(t,i)&&i!==r&&bc(t,i,{get:()=>e[i],enumerable:!(n=YD(e,i))||n.enumerable});return t};var Ct=(t,e,r)=>(r=t!=null?VD(ZD(t)):{},Xb(e||!t||!t.__esModule?bc(r,"default",{value:t,enumerable:!0}):r,t)),tL=t=>Xb(bc({},"__esModule",{value:!0}),t);var qe=(t,e,r)=>QD(t,typeof e!="symbol"?e+"":e,r),Fm=(t,e,r)=>e.has(t)||Yb("Cannot "+r);var $=(t,e,r)=>(Fm(t,e,"read from private field"),r?r.call(t):e.get(t)),me=(t,e,r)=>e.has(t)?Yb("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),de=(t,e,r,n)=>(Fm(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),wt=(t,e,r)=>(Fm(t,e,"access private method"),r);var Qb=I(Ff=>{"use strict";p();Ff.byteLength=nL;Ff.toByteArray=sL;Ff.fromByteArray=lL;var ri=[],fn=[],rL=typeof Uint8Array!="undefined"?Uint8Array:Array,Om="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(la=0,Zb=Om.length;la0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function nL(t){var e=Kb(t),r=e[0],n=e[1];return(r+n)*3/4-n}function iL(t,e,r){return(e+r)*3/4-r}function sL(t){var e,r=Kb(t),n=r[0],i=r[1],s=new rL(iL(t,n,i)),a=0,o=i>0?n-4:n,l;for(l=0;l>16&255,s[a++]=e>>8&255,s[a++]=e&255;return i===2&&(e=fn[t.charCodeAt(l)]<<2|fn[t.charCodeAt(l+1)]>>4,s[a++]=e&255),i===1&&(e=fn[t.charCodeAt(l)]<<10|fn[t.charCodeAt(l+1)]<<4|fn[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function aL(t){return ri[t>>18&63]+ri[t>>12&63]+ri[t>>6&63]+ri[t&63]}function oL(t,e,r){for(var n,i=[],s=e;so?o:a+s));return n===1?(e=t[r-1],i.push(ri[e>>2]+ri[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],i.push(ri[e>>10]+ri[e>>4&63]+ri[e<<2&63]+"=")),i.join("")}});var Jb=I(Mm=>{p();Mm.read=function(t,e,r,n,i){var s,a,o=i*8-n-1,l=(1<>1,u=-7,f=r?i-1:0,d=r?-1:1,h=t[e+f];for(f+=d,s=h&(1<<-u)-1,h>>=-u,u+=o;u>0;s=s*256+t[e+f],f+=d,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=n;u>0;a=a*256+t[e+f],f+=d,u-=8);if(s===0)s=1-c;else{if(s===l)return a?NaN:(h?-1:1)*(1/0);a=a+Math.pow(2,n),s=s-c}return(h?-1:1)*a*Math.pow(2,s-n)};Mm.write=function(t,e,r,n,i,s){var a,o,l,c=s*8-i-1,u=(1<>1,d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:s-1,m=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=u):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+f>=1?e+=d/l:e+=d*Math.pow(2,1-f),e*l>=2&&(a++,l/=2),a+f>=u?(o=0,a=u):a+f>=1?(o=(e*l-1)*Math.pow(2,i),a=a+f):(o=e*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;t[r+h]=o&255,h+=m,o/=256,i-=8);for(a=a<0;t[r+h]=a&255,h+=m,a/=256,c-=8);t[r+h-m]|=g*128}});var qm=I(Co=>{"use strict";p();var Dm=Qb(),ko=Jb(),e_=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Co.Buffer=F;Co.SlowBuffer=pL;Co.INSPECT_MAX_BYTES=50;var Of=2147483647;Co.kMaxLength=Of;F.TYPED_ARRAY_SUPPORT=cL();!F.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function cL(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch(t){return!1}}Object.defineProperty(F.prototype,"parent",{enumerable:!0,get:function(){if(F.isBuffer(this))return this.buffer}});Object.defineProperty(F.prototype,"offset",{enumerable:!0,get:function(){if(F.isBuffer(this))return this.byteOffset}});function Bi(t){if(t>Of)throw new RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,F.prototype),e}function F(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Hm(t)}return i_(t,e,r)}F.poolSize=8192;function i_(t,e,r){if(typeof t=="string")return fL(t,e);if(ArrayBuffer.isView(t))return dL(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(ni(t,ArrayBuffer)||t&&ni(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(ni(t,SharedArrayBuffer)||t&&ni(t.buffer,SharedArrayBuffer)))return Nm(t,e,r);if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=t.valueOf&&t.valueOf();if(n!=null&&n!==t)return F.from(n,e,r);let i=hL(t);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]=="function")return F.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}F.from=function(t,e,r){return i_(t,e,r)};Object.setPrototypeOf(F.prototype,Uint8Array.prototype);Object.setPrototypeOf(F,Uint8Array);function s_(t){if(typeof t!="number")throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function uL(t,e,r){return s_(t),t<=0?Bi(t):e!==void 0?typeof r=="string"?Bi(t).fill(e,r):Bi(t).fill(e):Bi(t)}F.alloc=function(t,e,r){return uL(t,e,r)};function Hm(t){return s_(t),Bi(t<0?0:Um(t)|0)}F.allocUnsafe=function(t){return Hm(t)};F.allocUnsafeSlow=function(t){return Hm(t)};function fL(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!F.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let r=a_(t,e)|0,n=Bi(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}function Lm(t){let e=t.length<0?0:Um(t.length)|0,r=Bi(e);for(let n=0;n=Of)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Of.toString(16)+" bytes");return t|0}function pL(t){return+t!=t&&(t=0),F.alloc(+t)}F.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==F.prototype};F.compare=function(e,r){if(ni(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),ni(r,Uint8Array)&&(r=F.from(r,r.offset,r.byteLength)),!F.isBuffer(e)||!F.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;let n=e.length,i=r.length;for(let s=0,a=Math.min(n,i);si.length?(F.isBuffer(a)||(a=F.from(a)),a.copy(i,s)):Uint8Array.prototype.set.call(i,a,s);else if(F.isBuffer(a))a.copy(i,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=a.length}return i};function a_(t,e){if(F.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||ni(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Bm(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return m_(t).length;default:if(i)return n?-1:Bm(t).length;e=(""+e).toLowerCase(),i=!0}}F.byteLength=a_;function mL(t,e,r){let n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(t||(t="utf8");;)switch(t){case"hex":return kL(this,e,r);case"utf8":case"utf-8":return l_(this,e,r);case"ascii":return SL(this,e,r);case"latin1":case"binary":return EL(this,e,r);case"base64":return _L(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return AL(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}F.prototype._isBuffer=!0;function ca(t,e,r){let n=t[e];t[e]=t[r],t[r]=n}F.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(e+=" ... "),""};e_&&(F.prototype[e_]=F.prototype.inspect);F.prototype.compare=function(e,r,n,i,s){if(ni(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),!F.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),n===void 0&&(n=e?e.length:0),i===void 0&&(i=0),s===void 0&&(s=this.length),r<0||n>e.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&r>=n)return 0;if(i>=s)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,s>>>=0,this===e)return 0;let a=s-i,o=n-r,l=Math.min(a,o),c=this.slice(i,s),u=e.slice(r,n);for(let f=0;f2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,jm(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof e=="string"&&(e=F.from(e,n)),F.isBuffer(e))return e.length===0?-1:t_(t,e,r,n,i);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):t_(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function t_(t,e,r,n,i){let s=1,a=t.length,o=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,a/=2,o/=2,r/=2}function l(u,f){return s===1?u[f]:u.readUInt16BE(f*s)}let c;if(i){let u=-1;for(c=r;ca&&(r=a-o),c=r;c>=0;c--){let u=!0;for(let f=0;fi&&(n=i)):n=i;let s=e.length;n>s/2&&(n=s/2);let a;for(a=0;a>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-r;if((n===void 0||n>s)&&(n=s),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let a=!1;for(;;)switch(i){case"hex":return gL(this,e,r,n);case"utf8":case"utf-8":return vL(this,e,r,n);case"ascii":case"latin1":case"binary":return wL(this,e,r,n);case"base64":return yL(this,e,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return bL(this,e,r,n);default:if(a)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),a=!0}};F.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function _L(t,e,r){return e===0&&r===t.length?Dm.fromByteArray(t):Dm.fromByteArray(t.slice(e,r))}function l_(t,e,r){r=Math.min(t.length,r);let n=[],i=e;for(;i239?4:s>223?3:s>191?2:1;if(i+o<=r){let l,c,u,f;switch(o){case 1:s<128&&(a=s);break;case 2:l=t[i+1],(l&192)===128&&(f=(s&31)<<6|l&63,f>127&&(a=f));break;case 3:l=t[i+1],c=t[i+2],(l&192)===128&&(c&192)===128&&(f=(s&15)<<12|(l&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(a=f));break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],(l&192)===128&&(c&192)===128&&(u&192)===128&&(f=(s&15)<<18|(l&63)<<12|(c&63)<<6|u&63,f>65535&&f<1114112&&(a=f))}}a===null?(a=65533,o=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|a&1023),n.push(a),i+=o}return xL(n)}var r_=4096;function xL(t){let e=t.length;if(e<=r_)return String.fromCharCode.apply(String,t);let r="",n=0;for(;nn)&&(r=n);let i="";for(let s=e;sn&&(e=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}F.prototype.readUintLE=F.prototype.readUIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||Mt(e,r,this.length);let i=this[e],s=1,a=0;for(;++a>>0,r=r>>>0,n||Mt(e,r,this.length);let i=this[e+--r],s=1;for(;r>0&&(s*=256);)i+=this[e+--r]*s;return i};F.prototype.readUint8=F.prototype.readUInt8=function(e,r){return e=e>>>0,r||Mt(e,1,this.length),this[e]};F.prototype.readUint16LE=F.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||Mt(e,2,this.length),this[e]|this[e+1]<<8};F.prototype.readUint16BE=F.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||Mt(e,2,this.length),this[e]<<8|this[e+1]};F.prototype.readUint32LE=F.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||Mt(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};F.prototype.readUint32BE=F.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||Mt(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};F.prototype.readBigUInt64LE=ys(function(e){e=e>>>0,Ao(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&_c(e,this.length-8);let i=r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(i)+(BigInt(s)<>>0,Ao(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&_c(e,this.length-8);let i=r*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return(BigInt(i)<>>0,r=r>>>0,n||Mt(e,r,this.length);let i=this[e],s=1,a=0;for(;++a=s&&(i-=Math.pow(2,8*r)),i};F.prototype.readIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||Mt(e,r,this.length);let i=r,s=1,a=this[e+--i];for(;i>0&&(s*=256);)a+=this[e+--i]*s;return s*=128,a>=s&&(a-=Math.pow(2,8*r)),a};F.prototype.readInt8=function(e,r){return e=e>>>0,r||Mt(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};F.prototype.readInt16LE=function(e,r){e=e>>>0,r||Mt(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n};F.prototype.readInt16BE=function(e,r){e=e>>>0,r||Mt(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n};F.prototype.readInt32LE=function(e,r){return e=e>>>0,r||Mt(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};F.prototype.readInt32BE=function(e,r){return e=e>>>0,r||Mt(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};F.prototype.readBigInt64LE=ys(function(e){e=e>>>0,Ao(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&_c(e,this.length-8);let i=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(i)<>>0,Ao(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&_c(e,this.length-8);let i=(r<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(i)<>>0,r||Mt(e,4,this.length),ko.read(this,e,!0,23,4)};F.prototype.readFloatBE=function(e,r){return e=e>>>0,r||Mt(e,4,this.length),ko.read(this,e,!1,23,4)};F.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||Mt(e,8,this.length),ko.read(this,e,!0,52,8)};F.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||Mt(e,8,this.length),ko.read(this,e,!1,52,8)};function br(t,e,r,n,i,s){if(!F.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}F.prototype.writeUintLE=F.prototype.writeUIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,n=n>>>0,!i){let o=Math.pow(2,8*n)-1;br(this,e,r,n,o,0)}let s=1,a=0;for(this[r]=e&255;++a>>0,n=n>>>0,!i){let o=Math.pow(2,8*n)-1;br(this,e,r,n,o,0)}let s=n-1,a=1;for(this[r+s]=e&255;--s>=0&&(a*=256);)this[r+s]=e/a&255;return r+n};F.prototype.writeUint8=F.prototype.writeUInt8=function(e,r,n){return e=+e,r=r>>>0,n||br(this,e,r,1,255,0),this[r]=e&255,r+1};F.prototype.writeUint16LE=F.prototype.writeUInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||br(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeUint16BE=F.prototype.writeUInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||br(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeUint32LE=F.prototype.writeUInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||br(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4};F.prototype.writeUint32BE=F.prototype.writeUInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||br(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function c_(t,e,r,n,i){p_(e,n,i,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=a,a=a>>8,t[r++]=a,a=a>>8,t[r++]=a,a=a>>8,t[r++]=a,r}function u_(t,e,r,n,i){p_(e,n,i,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s=s>>8,t[r+6]=s,s=s>>8,t[r+5]=s,s=s>>8,t[r+4]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=a,a=a>>8,t[r+2]=a,a=a>>8,t[r+1]=a,a=a>>8,t[r]=a,r+8}F.prototype.writeBigUInt64LE=ys(function(e,r=0){return c_(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeBigUInt64BE=ys(function(e,r=0){return u_(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let l=Math.pow(2,8*n-1);br(this,e,r,n,l-1,-l)}let s=0,a=1,o=0;for(this[r]=e&255;++s>0)-o&255;return r+n};F.prototype.writeIntBE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let l=Math.pow(2,8*n-1);br(this,e,r,n,l-1,-l)}let s=n-1,a=1,o=0;for(this[r+s]=e&255;--s>=0&&(a*=256);)e<0&&o===0&&this[r+s+1]!==0&&(o=1),this[r+s]=(e/a>>0)-o&255;return r+n};F.prototype.writeInt8=function(e,r,n){return e=+e,r=r>>>0,n||br(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1};F.prototype.writeInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||br(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||br(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||br(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4};F.prototype.writeInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||br(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};F.prototype.writeBigInt64LE=ys(function(e,r=0){return c_(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});F.prototype.writeBigInt64BE=ys(function(e,r=0){return u_(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function f_(t,e,r,n,i,s){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function d_(t,e,r,n,i){return e=+e,r=r>>>0,i||f_(t,e,r,4,34028234663852886e22,-34028234663852886e22),ko.write(t,e,r,n,23,4),r+4}F.prototype.writeFloatLE=function(e,r,n){return d_(this,e,r,!0,n)};F.prototype.writeFloatBE=function(e,r,n){return d_(this,e,r,!1,n)};function h_(t,e,r,n,i){return e=+e,r=r>>>0,i||f_(t,e,r,8,17976931348623157e292,-17976931348623157e292),ko.write(t,e,r,n,52,8),r+8}F.prototype.writeDoubleLE=function(e,r,n){return h_(this,e,r,!0,n)};F.prototype.writeDoubleBE=function(e,r,n){return h_(this,e,r,!1,n)};F.prototype.copy=function(e,r,n,i){if(!F.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let s;if(typeof e=="number")for(s=r;s2**32?i=n_(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=n_(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n},RangeError);function n_(t){let e="",r=t.length,n=t[0]==="-"?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function CL(t,e,r){Ao(e,"offset"),(t[e]===void 0||t[e+r]===void 0)&&_c(e,t.length-(r+1))}function p_(t,e,r,n,i,s){if(t>r||t3?e===0||e===BigInt(0)?o=`>= 0${a} and < 2${a} ** ${(s+1)*8}${a}`:o=`>= -(2${a} ** ${(s+1)*8-1}${a}) and < 2 ** ${(s+1)*8-1}${a}`:o=`>= ${e}${a} and <= ${r}${a}`,new Eo.ERR_OUT_OF_RANGE("value",o,t)}CL(n,i,s)}function Ao(t,e){if(typeof t!="number")throw new Eo.ERR_INVALID_ARG_TYPE(e,"number",t)}function _c(t,e,r){throw Math.floor(t)!==t?(Ao(t,r),new Eo.ERR_OUT_OF_RANGE(r||"offset","an integer",t)):e<0?new Eo.ERR_BUFFER_OUT_OF_BOUNDS:new Eo.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}var TL=/[^+/0-9A-Za-z-_]/g;function PL(t){if(t=t.split("=")[0],t=t.trim().replace(TL,""),t.length<2)return"";for(;t.length%4!==0;)t=t+"=";return t}function Bm(t,e){e=e||1/0;let r,n=t.length,i=null,s=[];for(let a=0;a55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(a+1===n){(e-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function RL(t){let e=[];for(let r=0;r>8,i=r%256,s.push(i),s.push(n);return s}function m_(t){return Dm.toByteArray(PL(t))}function Mf(t,e,r,n){let i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function ni(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function jm(t){return t!==t}var IL=function(){let t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function ys(t){return typeof BigInt=="undefined"?FL:t}function FL(){throw new Error("BigInt not supported")}});var g_,Wm,Buffer,p=JD(()=>{g_=require("obsidian");g_.Platform.isMobileApp?Wm=qm().Buffer:Wm=global.Buffer;Buffer=Wm});var w_=I((Z7,v_)=>{"use strict";p();var Vr=function(t){if(t=t||{},this.Promise=t.Promise||Promise,this.queues=Object.create(null),this.domainReentrant=t.domainReentrant||!1,this.domainReentrant){if(typeof process=="undefined"||typeof process.domain=="undefined")throw new Error("Domain-reentrant locks require `process.domain` to exist. Please flip `opts.domainReentrant = false`, use a NodeJS version that still implements Domain, or install a browser polyfill.");this.domains=Object.create(null)}this.timeout=t.timeout||Vr.DEFAULT_TIMEOUT,this.maxOccupationTime=t.maxOccupationTime||Vr.DEFAULT_MAX_OCCUPATION_TIME,this.maxExecutionTime=t.maxExecutionTime||Vr.DEFAULT_MAX_EXECUTION_TIME,t.maxPending===1/0||Number.isInteger(t.maxPending)&&t.maxPending>=0?this.maxPending=t.maxPending:this.maxPending=Vr.DEFAULT_MAX_PENDING};Vr.DEFAULT_TIMEOUT=0;Vr.DEFAULT_MAX_OCCUPATION_TIME=0;Vr.DEFAULT_MAX_EXECUTION_TIME=0;Vr.DEFAULT_MAX_PENDING=1e3;Vr.prototype.acquire=function(t,e,r,n){if(Array.isArray(t))return this._acquireBatch(t,e,r,n);if(typeof e!="function")throw new Error("You must pass a function to execute");var i=null,s=null,a=null;typeof r!="function"&&(n=r,r=null,a=new this.Promise(function(b,k){i=b,s=k})),n=n||{};var o=!1,l=null,c=null,u=null,f=this,d=function(b,k,x){c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),b&&(f.queues[t]&&f.queues[t].length===0&&delete f.queues[t],f.domainReentrant&&delete f.domains[t]),o||(a?k?s(k):i(x):typeof r=="function"&&r(k,x),o=!0),b&&f.queues[t]&&f.queues[t].length>0&&f.queues[t].shift()()},h=function(b){if(o)return d(b);l&&(clearTimeout(l),l=null),f.domainReentrant&&b&&(f.domains[t]=process.domain);var k=n.maxExecutionTime||f.maxExecutionTime;if(k&&(u=setTimeout(function(){f.queues[t]&&d(b,new Error("Maximum execution time is exceeded "+t))},k)),e.length===1){var x=!1;try{e(function(E,A){x||(x=!0,d(b,E,A))})}catch(E){x||(x=!0,d(b,E))}}else f._promiseTry(function(){return e()}).then(function(E){d(b,void 0,E)},function(E){d(b,E)})};f.domainReentrant&&process.domain&&(h=process.domain.bind(h));var m=n.maxPending||f.maxPending;if(!f.queues[t])f.queues[t]=[],h(!0);else if(f.domainReentrant&&process.domain&&process.domain===f.domains[t])h(!1);else if(f.queues[t].length>=m)d(!1,new Error("Too many pending tasks in queue "+t));else{var g=function(){h(!0)};n.skipQueue?f.queues[t].unshift(g):f.queues[t].push(g);var v=n.timeout||f.timeout;v&&(l=setTimeout(function(){l=null,d(!1,new Error("async-lock timed out in queue "+t))},v))}var w=n.maxOccupationTime||f.maxOccupationTime;if(w&&(c=setTimeout(function(){f.queues[t]&&d(!1,new Error("Maximum occupation time is exceeded in queue "+t))},w)),a)return a};Vr.prototype._acquireBatch=function(t,e,r,n){typeof r!="function"&&(n=r,r=null);var i=this,s=function(o,l){return function(c){i.acquire(o,l,c,n)}},a=t.reduceRight(function(o,l){return s(l,o)},e);if(typeof r=="function")a(r);else return new this.Promise(function(o,l){a.length===1?a(function(c,u){c?l(c):o(u)}):o(a())})};Vr.prototype.isBusy=function(t){return t?!!this.queues[t]:Object.keys(this.queues).length>0};Vr.prototype._promiseTry=function(t){try{return this.Promise.resolve(t())}catch(e){return this.Promise.reject(e)}};v_.exports=Vr});var b_=I((Q7,y_)=>{"use strict";p();y_.exports=w_()});var __=I((eY,zm)=>{p();typeof Object.create=="function"?zm.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:zm.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}}});var Lf=I((Vm,S_)=>{p();var Df=qm(),ii=Df.Buffer;function x_(t,e){for(var r in t)e[r]=t[r]}ii.from&&ii.alloc&&ii.allocUnsafe&&ii.allocUnsafeSlow?S_.exports=Df:(x_(Df,Vm),Vm.Buffer=ua);function ua(t,e,r){return ii(t,e,r)}ua.prototype=Object.create(ii.prototype);x_(ii,ua);ua.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return ii(t,e,r)};ua.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=ii(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};ua.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return ii(t)};ua.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Df.SlowBuffer(t)}});var Nf=I((nY,E_)=>{p();var OL={}.toString;E_.exports=Array.isArray||function(t){return OL.call(t)=="[object Array]"}});var _r=I((sY,k_)=>{"use strict";p();k_.exports=TypeError});var Bf=I((oY,A_)=>{"use strict";p();A_.exports=Object});var Ym=I((cY,C_)=>{"use strict";p();C_.exports=Error});var P_=I((fY,T_)=>{"use strict";p();T_.exports=EvalError});var $_=I((hY,R_)=>{"use strict";p();R_.exports=RangeError});var F_=I((mY,I_)=>{"use strict";p();I_.exports=ReferenceError});var Hf=I((vY,O_)=>{"use strict";p();O_.exports=SyntaxError});var D_=I((yY,M_)=>{"use strict";p();M_.exports=URIError});var N_=I((_Y,L_)=>{"use strict";p();L_.exports=Math.abs});var H_=I((SY,B_)=>{"use strict";p();B_.exports=Math.floor});var G_=I((kY,U_)=>{"use strict";p();U_.exports=Math.max});var q_=I((CY,j_)=>{"use strict";p();j_.exports=Math.min});var z_=I((PY,W_)=>{"use strict";p();W_.exports=Math.pow});var Y_=I(($Y,V_)=>{"use strict";p();V_.exports=Math.round});var Z_=I((FY,X_)=>{"use strict";p();X_.exports=Number.isNaN||function(e){return e!==e}});var Q_=I((MY,K_)=>{"use strict";p();var ML=Z_();K_.exports=function(e){return ML(e)||e===0?e:e<0?-1:1}});var ex=I((LY,J_)=>{"use strict";p();J_.exports=Object.getOwnPropertyDescriptor});var bs=I((BY,tx)=>{"use strict";p();var Uf=ex();if(Uf)try{Uf([],"length")}catch(t){Uf=null}tx.exports=Uf});var xc=I((UY,rx)=>{"use strict";p();var Gf=Object.defineProperty||!1;if(Gf)try{Gf({},"a",{value:1})}catch(t){Gf=!1}rx.exports=Gf});var Sc=I((jY,nx)=>{"use strict";p();nx.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;e[r]=i;for(var s in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(e,r);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var jf=I((WY,sx)=>{"use strict";p();var ix=typeof Symbol!="undefined"&&Symbol,DL=Sc();sx.exports=function(){return typeof ix!="function"||typeof Symbol!="function"||typeof ix("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:DL()}});var Xm=I((VY,ax)=>{"use strict";p();ax.exports=typeof Reflect!="undefined"&&Reflect.getPrototypeOf||null});var Zm=I((XY,ox)=>{"use strict";p();var LL=Bf();ox.exports=LL.getPrototypeOf||null});var ux=I((KY,cx)=>{"use strict";p();var NL="Function.prototype.bind called on incompatible ",BL=Object.prototype.toString,HL=Math.max,UL="[object Function]",lx=function(e,r){for(var n=[],i=0;i{"use strict";p();var qL=ux();fx.exports=Function.prototype.bind||qL});var qf=I((tX,dx)=>{"use strict";p();dx.exports=Function.prototype.call});var Wf=I((nX,hx)=>{"use strict";p();hx.exports=Function.prototype.apply});var mx=I((sX,px)=>{"use strict";p();px.exports=typeof Reflect!="undefined"&&Reflect&&Reflect.apply});var Km=I((oX,gx)=>{"use strict";p();var WL=To(),zL=Wf(),VL=qf(),YL=mx();gx.exports=YL||WL.call(VL,zL)});var zf=I((cX,vx)=>{"use strict";p();var XL=To(),ZL=_r(),KL=qf(),QL=Km();vx.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new ZL("a function is required");return QL(XL,KL,e)}});var Sx=I((fX,xx)=>{"use strict";p();var JL=zf(),wx=bs(),bx;try{bx=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var Qm=!!bx&&wx&&wx(Object.prototype,"__proto__"),_x=Object,yx=_x.getPrototypeOf;xx.exports=Qm&&typeof Qm.get=="function"?JL([Qm.get]):typeof yx=="function"?function(e){return yx(e==null?e:_x(e))}:!1});var Vf=I((hX,Cx)=>{"use strict";p();var Ex=Xm(),kx=Zm(),Ax=Sx();Cx.exports=Ex?function(e){return Ex(e)}:kx?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return kx(e)}:Ax?function(e){return Ax(e)}:null});var Yf=I((mX,Tx)=>{"use strict";p();var eN=Function.prototype.call,tN=Object.prototype.hasOwnProperty,rN=To();Tx.exports=rN.call(eN,tN)});var si=I((vX,Ox)=>{"use strict";p();var Ee,nN=Bf(),iN=Ym(),sN=P_(),aN=$_(),oN=F_(),Io=Hf(),$o=_r(),lN=D_(),cN=N_(),uN=H_(),fN=G_(),dN=q_(),hN=z_(),pN=Y_(),mN=Q_(),Ix=Function,Jm=function(t){try{return Ix('"use strict"; return ('+t+").constructor;")()}catch(e){}},Ec=bs(),gN=xc(),eg=function(){throw new $o},vN=Ec?function(){try{return arguments.callee,eg}catch(t){try{return Ec(arguments,"callee").get}catch(e){return eg}}}():eg,Po=jf()(),Dt=Vf(),wN=Zm(),yN=Xm(),Fx=Wf(),kc=qf(),Ro={},bN=typeof Uint8Array=="undefined"||!Dt?Ee:Dt(Uint8Array),fa={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?Ee:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?Ee:ArrayBuffer,"%ArrayIteratorPrototype%":Po&&Dt?Dt([][Symbol.iterator]()):Ee,"%AsyncFromSyncIteratorPrototype%":Ee,"%AsyncFunction%":Ro,"%AsyncGenerator%":Ro,"%AsyncGeneratorFunction%":Ro,"%AsyncIteratorPrototype%":Ro,"%Atomics%":typeof Atomics=="undefined"?Ee:Atomics,"%BigInt%":typeof BigInt=="undefined"?Ee:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?Ee:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?Ee:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?Ee:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":iN,"%eval%":eval,"%EvalError%":sN,"%Float16Array%":typeof Float16Array=="undefined"?Ee:Float16Array,"%Float32Array%":typeof Float32Array=="undefined"?Ee:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?Ee:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?Ee:FinalizationRegistry,"%Function%":Ix,"%GeneratorFunction%":Ro,"%Int8Array%":typeof Int8Array=="undefined"?Ee:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?Ee:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?Ee:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Po&&Dt?Dt(Dt([][Symbol.iterator]())):Ee,"%JSON%":typeof JSON=="object"?JSON:Ee,"%Map%":typeof Map=="undefined"?Ee:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!Po||!Dt?Ee:Dt(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":nN,"%Object.getOwnPropertyDescriptor%":Ec,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?Ee:Promise,"%Proxy%":typeof Proxy=="undefined"?Ee:Proxy,"%RangeError%":aN,"%ReferenceError%":oN,"%Reflect%":typeof Reflect=="undefined"?Ee:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?Ee:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!Po||!Dt?Ee:Dt(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?Ee:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Po&&Dt?Dt(""[Symbol.iterator]()):Ee,"%Symbol%":Po?Symbol:Ee,"%SyntaxError%":Io,"%ThrowTypeError%":vN,"%TypedArray%":bN,"%TypeError%":$o,"%Uint8Array%":typeof Uint8Array=="undefined"?Ee:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?Ee:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?Ee:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?Ee:Uint32Array,"%URIError%":lN,"%WeakMap%":typeof WeakMap=="undefined"?Ee:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?Ee:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?Ee:WeakSet,"%Function.prototype.call%":kc,"%Function.prototype.apply%":Fx,"%Object.defineProperty%":gN,"%Object.getPrototypeOf%":wN,"%Math.abs%":cN,"%Math.floor%":uN,"%Math.max%":fN,"%Math.min%":dN,"%Math.pow%":hN,"%Math.round%":pN,"%Math.sign%":mN,"%Reflect.getPrototypeOf%":yN};if(Dt)try{null.error}catch(t){Px=Dt(Dt(t)),fa["%Error.prototype%"]=Px}var Px,_N=function t(e){var r;if(e==="%AsyncFunction%")r=Jm("async function () {}");else if(e==="%GeneratorFunction%")r=Jm("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=Jm("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var i=t("%AsyncGenerator%");i&&Dt&&(r=Dt(i.prototype))}return fa[e]=r,r},Rx={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ac=To(),Xf=Yf(),xN=Ac.call(kc,Array.prototype.concat),SN=Ac.call(Fx,Array.prototype.splice),$x=Ac.call(kc,String.prototype.replace),Zf=Ac.call(kc,String.prototype.slice),EN=Ac.call(kc,RegExp.prototype.exec),kN=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,AN=/\\(\\)?/g,CN=function(e){var r=Zf(e,0,1),n=Zf(e,-1);if(r==="%"&&n!=="%")throw new Io("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new Io("invalid intrinsic syntax, expected opening `%`");var i=[];return $x(e,kN,function(s,a,o,l){i[i.length]=o?$x(l,AN,"$1"):a||s}),i},TN=function(e,r){var n=e,i;if(Xf(Rx,n)&&(i=Rx[n],n="%"+i[0]+"%"),Xf(fa,n)){var s=fa[n];if(s===Ro&&(s=_N(n)),typeof s=="undefined"&&!r)throw new $o("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:s}}throw new Io("intrinsic "+e+" does not exist!")};Ox.exports=function(e,r){if(typeof e!="string"||e.length===0)throw new $o("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new $o('"allowMissing" argument must be a boolean');if(EN(/^%?[^%]*%?$/,e)===null)throw new Io("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=CN(e),i=n.length>0?n[0]:"",s=TN("%"+i+"%",r),a=s.name,o=s.value,l=!1,c=s.alias;c&&(i=c[0],SN(n,xN([0,1],c)));for(var u=1,f=!0;u=n.length){var g=Ec(o,d);f=!!g,f&&"get"in g&&!("originalValue"in g.get)?o=g.get:o=o[d]}else f=Xf(o,d),o=o[d];f&&!l&&(fa[a]=o)}}return o}});var Lt=I((yX,Lx)=>{"use strict";p();var Mx=si(),Dx=zf(),PN=Dx([Mx("%String.prototype.indexOf%")]);Lx.exports=function(e,r){var n=Mx(e,!!r);return typeof n=="function"&&PN(e,".prototype.")>-1?Dx([n]):n}});var Ux=I((_X,Hx)=>{"use strict";p();var Bx=Function.prototype.toString,Fo=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,rg,Kf;if(typeof Fo=="function"&&typeof Object.defineProperty=="function")try{rg=Object.defineProperty({},"length",{get:function(){throw Kf}}),Kf={},Fo(function(){throw 42},null,rg)}catch(t){t!==Kf&&(Fo=null)}else Fo=null;var RN=/^\s*class\b/,ng=function(e){try{var r=Bx.call(e);return RN.test(r)}catch(n){return!1}},tg=function(e){try{return ng(e)?!1:(Bx.call(e),!0)}catch(r){return!1}},Qf=Object.prototype.toString,$N="[object Object]",IN="[object Function]",FN="[object GeneratorFunction]",ON="[object HTMLAllCollection]",MN="[object HTML document.all class]",DN="[object HTMLCollection]",LN=typeof Symbol=="function"&&!!Symbol.toStringTag,NN=!(0 in[,]),ig=function(){return!1};typeof document=="object"&&(Nx=document.all,Qf.call(Nx)===Qf.call(document.all)&&(ig=function(e){if((NN||!e)&&(typeof e=="undefined"||typeof e=="object"))try{var r=Qf.call(e);return(r===ON||r===MN||r===DN||r===$N)&&e("")==null}catch(n){}return!1}));var Nx;Hx.exports=Fo?function(e){if(ig(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;try{Fo(e,null,rg)}catch(r){if(r!==Kf)return!1}return!ng(e)&&tg(e)}:function(e){if(ig(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;if(LN)return tg(e);if(ng(e))return!1;var r=Qf.call(e);return r!==IN&&r!==FN&&!/^\[object HTML/.test(r)?!1:tg(e)}});var qx=I((SX,jx)=>{"use strict";p();var BN=Ux(),HN=Object.prototype.toString,Gx=Object.prototype.hasOwnProperty,UN=function(e,r,n){for(var i=0,s=e.length;i=3&&(i=n),qN(e)?UN(e,r,i):typeof e=="string"?GN(e,r,i):jN(e,r,i)}});var zx=I((kX,Wx)=>{"use strict";p();Wx.exports=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]});var Yx=I((CX,Vx)=>{"use strict";p();var sg=zx(),WN=typeof globalThis=="undefined"?global:globalThis;Vx.exports=function(){for(var e=[],r=0;r{"use strict";p();var Xx=xc(),zN=Hf(),Oo=_r(),Zx=bs();Kx.exports=function(e,r,n){if(!e||typeof e!="object"&&typeof e!="function")throw new Oo("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new Oo("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new Oo("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new Oo("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new Oo("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new Oo("`loose`, if provided, must be a boolean");var i=arguments.length>3?arguments[3]:null,s=arguments.length>4?arguments[4]:null,a=arguments.length>5?arguments[5]:null,o=arguments.length>6?arguments[6]:!1,l=!!Zx&&Zx(e,r);if(Xx)Xx(e,r,{configurable:a===null&&l?l.configurable:!a,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:s===null&&l?l.writable:!s});else if(o||!i&&!s&&!a)e[r]=n;else throw new zN("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var td=I(($X,Jx)=>{"use strict";p();var ag=xc(),Qx=function(){return!!ag};Qx.hasArrayLengthDefineBug=function(){if(!ag)return null;try{return ag([],"length",{value:1}).length!==1}catch(e){return!0}};Jx.exports=Qx});var i1=I((FX,n1)=>{"use strict";p();var VN=si(),e1=Jf(),YN=td()(),t1=bs(),r1=_r(),XN=VN("%Math.floor%");n1.exports=function(e,r){if(typeof e!="function")throw new r1("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||XN(r)!==r)throw new r1("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,s=!0;if("length"in e&&t1){var a=t1(e,"length");a&&!a.configurable&&(i=!1),a&&!a.writable&&(s=!1)}return(i||s||!n)&&(YN?e1(e,"length",r,!0,!0):e1(e,"length",r)),e}});var a1=I((MX,s1)=>{"use strict";p();var ZN=To(),KN=Wf(),QN=Km();s1.exports=function(){return QN(ZN,KN,arguments)}});var da=I((LX,rd)=>{"use strict";p();var JN=i1(),o1=xc(),eB=zf(),l1=a1();rd.exports=function(e){var r=eB(arguments),n=e.length-(arguments.length-1);return JN(r,1+(n>0?n:0),!0)};o1?o1(rd.exports,"apply",{value:l1}):rd.exports.apply=l1});var _s=I((BX,c1)=>{"use strict";p();var tB=Sc();c1.exports=function(){return tB()&&!!Symbol.toStringTag}});var ug=I((UX,h1)=>{"use strict";p();var sd=qx(),rB=Yx(),u1=da(),lg=Lt(),id=bs(),nd=Vf(),nB=lg("Object.prototype.toString"),d1=_s()(),f1=typeof globalThis=="undefined"?global:globalThis,og=rB(),cg=lg("String.prototype.slice"),iB=lg("Array.prototype.indexOf",!0)||function(e,r){for(var n=0;n-1?r:r!=="Object"?!1:aB(e)}return id?sB(e):null}});var m1=I((jX,p1)=>{"use strict";p();var oB=ug();p1.exports=function(e){return!!oB(e)}});var v1=I((WX,g1)=>{"use strict";p();var lB=_r(),cB=Lt(),uB=cB("TypedArray.prototype.buffer",!0),fB=m1();g1.exports=uB||function(e){if(!fB(e))throw new lB("Not a Typed Array");return e.buffer}});var b1=I((VX,y1)=>{"use strict";p();var In=Lf().Buffer,dB=Nf(),hB=v1(),pB=ArrayBuffer.isView||function(e){try{return hB(e),!0}catch(r){return!1}},mB=typeof Uint8Array!="undefined",w1=typeof ArrayBuffer!="undefined"&&typeof Uint8Array!="undefined",gB=w1&&(In.prototype instanceof Uint8Array||In.TYPED_ARRAY_SUPPORT);y1.exports=function(e,r){if(In.isBuffer(e))return e.constructor&&!("isBuffer"in e)?In.from(e):e;if(typeof e=="string")return In.from(e,r);if(w1&&pB(e)){if(e.byteLength===0)return In.alloc(0);if(gB){var n=In.from(e.buffer,e.byteOffset,e.byteLength);if(n.byteLength===e.byteLength)return n}var i=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s=In.from(i);if(s.length===e.byteLength)return s}if(mB&&e instanceof Uint8Array)return In.from(e);var a=dB(e);if(a)for(var o=0;o255||~~l!==l)throw new RangeError("Array items must be numbers in the range 0-255.")}if(a||In.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e))return In.from(e);throw new TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}});var x1=I((XX,_1)=>{"use strict";p();var vB=Lf().Buffer,wB=b1();function od(t,e){this._block=vB.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}od.prototype.update=function(t,e){t=wB(t,e||"utf8");for(var r=this._block,n=this._blockSize,i=t.length,s=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return t?s.toString(t):s};od.prototype._update=function(){throw new Error("_update must be implemented by subclass")};_1.exports=od});var k1=I((KX,E1)=>{"use strict";p();var yB=__(),S1=x1(),bB=Lf().Buffer,_B=[1518500249,1859775393,-1894007588,-899497514],xB=new Array(80);function Cc(){this.init(),this._w=xB,S1.call(this,64,56)}yB(Cc,S1);Cc.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function SB(t){return t<<1|t>>>31}function EB(t){return t<<5|t>>>27}function kB(t){return t<<30|t>>>2}function AB(t,e,r,n){return t===0?e&r|~e&n:t===2?e&r|e&n|r&n:e^r^n}Cc.prototype._update=function(t){for(var e=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,a=this._e|0,o=0;o<16;++o)e[o]=t.readInt32BE(o*4);for(;o<80;++o)e[o]=SB(e[o-3]^e[o-8]^e[o-14]^e[o-16]);for(var l=0;l<80;++l){var c=~~(l/20),u=EB(r)+AB(c,n,i,s)+a+e[l]+_B[c]|0;a=s,s=i,i=kB(n),n=r,r=u}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0};Cc.prototype._hash=function(){var t=bB.allocUnsafe(20);return t.writeInt32BE(this._a|0,0),t.writeInt32BE(this._b|0,4),t.writeInt32BE(this._c|0,8),t.writeInt32BE(this._d|0,12),t.writeInt32BE(this._e|0,16),t};E1.exports=Cc});var C1=I(fg=>{p();var A1;(function(t){typeof DO_NOT_EXPORT_CRC=="undefined"?typeof fg=="object"?t(fg):typeof define=="function"&&define.amd?define(function(){var e={};return t(e),e}):t(A1={}):t(A1={})})(function(t){t.version="1.2.2";function e(){for(var y=0,S=new Array(256),_=0;_!=256;++_)y=_,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,S[_]=y;return typeof Int32Array!="undefined"?new Int32Array(S):S}var r=e();function n(y){var S=0,_=0,C=0,P=typeof Int32Array!="undefined"?new Int32Array(4096):new Array(4096);for(C=0;C!=256;++C)P[C]=y[C];for(C=0;C!=256;++C)for(_=y[C],S=256+C;S<4096;S+=256)_=P[S]=_>>>8^y[_&255];var N=[];for(C=1;C!=16;++C)N[C-1]=typeof Int32Array!="undefined"?P.subarray(C*256,C*256+256):P.slice(C*256,C*256+256);return N}var i=n(r),s=i[0],a=i[1],o=i[2],l=i[3],c=i[4],u=i[5],f=i[6],d=i[7],h=i[8],m=i[9],g=i[10],v=i[11],w=i[12],b=i[13],k=i[14];function x(y,S){for(var _=S^-1,C=0,P=y.length;C>>8^r[(_^y.charCodeAt(C++))&255];return~_}function E(y,S){for(var _=S^-1,C=y.length-15,P=0;P>8&255]^w[y[P++]^_>>16&255]^v[y[P++]^_>>>24]^g[y[P++]]^m[y[P++]]^h[y[P++]]^d[y[P++]]^f[y[P++]]^u[y[P++]]^c[y[P++]]^l[y[P++]]^o[y[P++]]^a[y[P++]]^s[y[P++]]^r[y[P++]];for(C+=15;P>>8^r[(_^y[P++])&255];return~_}function A(y,S){for(var _=S^-1,C=0,P=y.length,N=0,B=0;C>>8^r[(_^N)&255]:N<2048?(_=_>>>8^r[(_^(192|N>>6&31))&255],_=_>>>8^r[(_^(128|N&63))&255]):N>=55296&&N<57344?(N=(N&1023)+64,B=y.charCodeAt(C++)&1023,_=_>>>8^r[(_^(240|N>>8&7))&255],_=_>>>8^r[(_^(128|N>>2&63))&255],_=_>>>8^r[(_^(128|B>>6&15|(N&3)<<4))&255],_=_>>>8^r[(_^(128|B&63))&255]):(_=_>>>8^r[(_^(224|N>>12&15))&255],_=_>>>8^r[(_^(128|N>>6&63))&255],_=_>>>8^r[(_^(128|N&63))&255]);return~_}t.table=r,t.bstr=x,t.buf=E,t.str=A})});var Hi=I(cr=>{"use strict";p();var CB=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Int32Array!="undefined";function TB(t,e){return Object.prototype.hasOwnProperty.call(t,e)}cr.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(var n in r)TB(r,n)&&(t[n]=r[n])}}return t};cr.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var PB={arraySet:function(t,e,r,n,i){if(e.subarray&&t.subarray){t.set(e.subarray(r,r+n),i);return}for(var s=0;s{"use strict";p();var $B=Hi(),IB=4,T1=0,P1=1,FB=2;function Do(t){for(var e=t.length;--e>=0;)t[e]=0}var OB=0,M1=1,MB=2,DB=3,LB=258,wg=29,Fc=256,Pc=Fc+1+wg,Mo=30,yg=19,D1=2*Pc+1,ha=15,dg=16,NB=7,bg=256,L1=16,N1=17,B1=18,gg=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ld=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],BB=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],H1=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],HB=512,Ui=new Array((Pc+2)*2);Do(Ui);var Tc=new Array(Mo*2);Do(Tc);var Rc=new Array(HB);Do(Rc);var $c=new Array(LB-DB+1);Do($c);var _g=new Array(wg);Do(_g);var cd=new Array(Mo);Do(cd);function hg(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}var U1,G1,j1;function pg(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function q1(t){return t<256?Rc[t]:Rc[256+(t>>>7)]}function Ic(t,e){t.pending_buf[t.pending++]=e&255,t.pending_buf[t.pending++]=e>>>8&255}function xr(t,e,r){t.bi_valid>dg-r?(t.bi_buf|=e<>dg-t.bi_valid,t.bi_valid+=r-dg):(t.bi_buf|=e<>>=1,r<<=1;while(--e>0);return r>>>1}function UB(t){t.bi_valid===16?(Ic(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=t.bi_buf&255,t.bi_buf>>=8,t.bi_valid-=8)}function GB(t,e){var r=e.dyn_tree,n=e.max_code,i=e.stat_desc.static_tree,s=e.stat_desc.has_stree,a=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,l=e.stat_desc.max_length,c,u,f,d,h,m,g=0;for(d=0;d<=ha;d++)t.bl_count[d]=0;for(r[t.heap[t.heap_max]*2+1]=0,c=t.heap_max+1;cl&&(d=l,g++),r[u*2+1]=d,!(u>n)&&(t.bl_count[d]++,h=0,u>=o&&(h=a[u-o]),m=r[u*2],t.opt_len+=m*(d+h),s&&(t.static_len+=m*(i[u*2+1]+h)));if(g!==0){do{for(d=l-1;t.bl_count[d]===0;)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[l]--,g-=2}while(g>0);for(d=l;d!==0;d--)for(u=t.bl_count[d];u!==0;)f=t.heap[--c],!(f>n)&&(r[f*2+1]!==d&&(t.opt_len+=(d-r[f*2+1])*r[f*2],r[f*2+1]=d),u--)}}function z1(t,e,r){var n=new Array(ha+1),i=0,s,a;for(s=1;s<=ha;s++)n[s]=i=i+r[s-1]<<1;for(a=0;a<=e;a++){var o=t[a*2+1];o!==0&&(t[a*2]=W1(n[o]++,o))}}function jB(){var t,e,r,n,i,s=new Array(ha+1);for(r=0,n=0;n>=7;n8?Ic(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function qB(t,e,r,n){Y1(t),n&&(Ic(t,r),Ic(t,~r)),$B.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}function R1(t,e,r,n){var i=e*2,s=r*2;return t[i]>1;a>=1;a--)mg(t,r,a);c=s;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],mg(t,r,1),o=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=o,r[c*2]=r[a*2]+r[o*2],t.depth[c]=(t.depth[a]>=t.depth[o]?t.depth[a]:t.depth[o])+1,r[a*2+1]=r[o*2+1]=c,t.heap[1]=c++,mg(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],GB(t,e),z1(r,l,t.bl_count)}function I1(t,e,r){var n,i=-1,s,a=e[0*2+1],o=0,l=7,c=4;for(a===0&&(l=138,c=3),e[(r+1)*2+1]=65535,n=0;n<=r;n++)s=a,a=e[(n+1)*2+1],!(++o=3&&t.bl_tree[H1[e]*2+1]===0;e--);return t.opt_len+=3*(e+1)+5+5+4,e}function zB(t,e,r,n){var i;for(xr(t,e-257,5),xr(t,r-1,5),xr(t,n-4,4),i=0;i>>=1)if(e&1&&t.dyn_ltree[r*2]!==0)return T1;if(t.dyn_ltree[9*2]!==0||t.dyn_ltree[10*2]!==0||t.dyn_ltree[13*2]!==0)return P1;for(r=32;r0?(t.strm.data_type===FB&&(t.strm.data_type=VB(t)),vg(t,t.l_desc),vg(t,t.d_desc),a=WB(t),i=t.opt_len+3+7>>>3,s=t.static_len+3+7>>>3,s<=i&&(i=s)):i=s=r+5,r+4<=i&&e!==-1?X1(t,e,r,n):t.strategy===IB||s===i?(xr(t,(M1<<1)+(n?1:0),3),$1(t,Ui,Tc)):(xr(t,(MB<<1)+(n?1:0),3),zB(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),$1(t,t.dyn_ltree,t.dyn_dtree)),V1(t),n&&Y1(t)}function KB(t,e,r){return t.pending_buf[t.d_buf+t.last_lit*2]=e>>>8&255,t.pending_buf[t.d_buf+t.last_lit*2+1]=e&255,t.pending_buf[t.l_buf+t.last_lit]=r&255,t.last_lit++,e===0?t.dyn_ltree[r*2]++:(t.matches++,e--,t.dyn_ltree[($c[r]+Fc+1)*2]++,t.dyn_dtree[q1(e)*2]++),t.last_lit===t.lit_bufsize-1}Lo._tr_init=YB;Lo._tr_stored_block=X1;Lo._tr_flush_block=ZB;Lo._tr_tally=KB;Lo._tr_align=XB});var xg=I((sZ,K1)=>{"use strict";p();function QB(t,e,r,n){for(var i=t&65535|0,s=t>>>16&65535|0,a=0;r!==0;){a=r>2e3?2e3:r,r-=a;do i=i+e[n++]|0,s=s+i|0;while(--a);i%=65521,s%=65521}return i|s<<16|0}K1.exports=QB});var Sg=I((oZ,Q1)=>{"use strict";p();function JB(){for(var t,e=[],r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=t&1?3988292384^t>>>1:t>>>1;e[r]=t}return e}var eH=JB();function tH(t,e,r,n){var i=eH,s=n+r;t^=-1;for(var a=n;a>>8^i[(t^e[a])&255];return t^-1}Q1.exports=tH});var ud=I((cZ,J1)=>{"use strict";p();J1.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var lS=I(ci=>{"use strict";p();var ur=Hi(),dn=Z1(),nS=xg(),xs=Sg(),rH=ud(),va=0,nH=1,iH=3,Cs=4,eS=5,li=0,tS=1,hn=-2,sH=-3,Eg=-5,aH=-1,oH=1,fd=2,lH=3,cH=4,uH=0,fH=2,md=8,dH=9,hH=15,pH=8,mH=29,gH=256,Ag=gH+1+mH,vH=30,wH=19,yH=2*Ag+1,bH=15,Te=3,ks=258,Fn=ks+Te+1,_H=32,gd=42,Cg=69,dd=73,hd=91,pd=103,pa=113,Mc=666,Tt=1,Dc=2,ma=3,Ho=4,xH=3;function As(t,e){return t.msg=rH[e],e}function rS(t){return(t<<1)-(t>4?9:0)}function Es(t){for(var e=t.length;--e>=0;)t[e]=0}function Ss(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),r!==0&&(ur.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,e.pending===0&&(e.pending_out=0))}function Gt(t,e){dn._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,Ss(t.strm)}function Fe(t,e){t.pending_buf[t.pending++]=e}function Oc(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=e&255}function SH(t,e,r,n){var i=t.avail_in;return i>n&&(i=n),i===0?0:(t.avail_in-=i,ur.arraySet(e,t.input,t.next_in,i,r),t.state.wrap===1?t.adler=nS(t.adler,e,i,r):t.state.wrap===2&&(t.adler=xs(t.adler,e,i,r)),t.next_in+=i,t.total_in+=i,i)}function iS(t,e){var r=t.max_chain_length,n=t.strstart,i,s,a=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-Fn?t.strstart-(t.w_size-Fn):0,c=t.window,u=t.w_mask,f=t.prev,d=t.strstart+ks,h=c[n+a-1],m=c[n+a];t.prev_length>=t.good_match&&(r>>=2),o>t.lookahead&&(o=t.lookahead);do if(i=e,!(c[i+a]!==m||c[i+a-1]!==h||c[i]!==c[n]||c[++i]!==c[n+1])){n+=2,i++;do;while(c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&na){if(t.match_start=e,a=s,s>=o)break;h=c[n+a-1],m=c[n+a]}}while((e=f[e&u])>l&&--r!==0);return a<=t.lookahead?a:t.lookahead}function ga(t){var e=t.w_size,r,n,i,s,a;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Fn)){ur.arraySet(t.window,t.window,e,e,0),t.match_start-=e,t.strstart-=e,t.block_start-=e,n=t.hash_size,r=n;do i=t.head[--r],t.head[r]=i>=e?i-e:0;while(--n);n=e,r=n;do i=t.prev[--r],t.prev[r]=i>=e?i-e:0;while(--n);s+=e}if(t.strm.avail_in===0)break;if(n=SH(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=n,t.lookahead+t.insert>=Te)for(a=t.strstart-t.insert,t.ins_h=t.window[a],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(ga(t),t.lookahead===0&&e===va)return Tt;if(t.lookahead===0)break}t.strstart+=t.lookahead,t.lookahead=0;var n=t.block_start+r;if((t.strstart===0||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,Gt(t,!1),t.strm.avail_out===0)||t.strstart-t.block_start>=t.w_size-Fn&&(Gt(t,!1),t.strm.avail_out===0))return Tt}return t.insert=0,e===Cs?(Gt(t,!0),t.strm.avail_out===0?ma:Ho):(t.strstart>t.block_start&&(Gt(t,!1),t.strm.avail_out===0),Tt)}function kg(t,e){for(var r,n;;){if(t.lookahead=Te&&(t.ins_h=(t.ins_h<=Te)if(n=dn._tr_tally(t,t.strstart-t.match_start,t.match_length-Te),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=Te){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<=Te&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=Te-1)),t.prev_length>=Te&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-Te,n=dn._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-Te),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=i&&(t.ins_h=(t.ins_h<=Te&&t.strstart>0&&(i=t.strstart-1,n=a[i],n===a[++i]&&n===a[++i]&&n===a[++i])){s=t.strstart+ks;do;while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&it.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=Te?(r=dn._tr_tally(t,1,t.match_length-Te),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=dn._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(Gt(t,!1),t.strm.avail_out===0))return Tt}return t.insert=0,e===Cs?(Gt(t,!0),t.strm.avail_out===0?ma:Ho):t.last_lit&&(Gt(t,!1),t.strm.avail_out===0)?Tt:Dc}function AH(t,e){for(var r;;){if(t.lookahead===0&&(ga(t),t.lookahead===0)){if(e===va)return Tt;break}if(t.match_length=0,r=dn._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(Gt(t,!1),t.strm.avail_out===0))return Tt}return t.insert=0,e===Cs?(Gt(t,!0),t.strm.avail_out===0?ma:Ho):t.last_lit&&(Gt(t,!1),t.strm.avail_out===0)?Tt:Dc}function oi(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}var Bo;Bo=[new oi(0,0,0,0,EH),new oi(4,4,8,4,kg),new oi(4,5,16,8,kg),new oi(4,6,32,32,kg),new oi(4,4,16,16,No),new oi(8,16,32,32,No),new oi(8,16,128,128,No),new oi(8,32,128,256,No),new oi(32,128,258,1024,No),new oi(32,258,258,4096,No)];function CH(t){t.window_size=2*t.w_size,Es(t.head),t.max_lazy_match=Bo[t.level].max_lazy,t.good_match=Bo[t.level].good_length,t.nice_match=Bo[t.level].nice_length,t.max_chain_length=Bo[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=Te-1,t.match_available=0,t.ins_h=0}function TH(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=md,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new ur.Buf16(yH*2),this.dyn_dtree=new ur.Buf16((2*vH+1)*2),this.bl_tree=new ur.Buf16((2*wH+1)*2),Es(this.dyn_ltree),Es(this.dyn_dtree),Es(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ur.Buf16(bH+1),this.heap=new ur.Buf16(2*Ag+1),Es(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ur.Buf16(2*Ag+1),Es(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function sS(t){var e;return!t||!t.state?As(t,hn):(t.total_in=t.total_out=0,t.data_type=fH,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?gd:pa,t.adler=e.wrap===2?0:1,e.last_flush=va,dn._tr_init(e),li)}function aS(t){var e=sS(t);return e===li&&CH(t.state),e}function PH(t,e){return!t||!t.state||t.state.wrap!==2?hn:(t.state.gzhead=e,li)}function oS(t,e,r,n,i,s){if(!t)return hn;var a=1;if(e===aH&&(e=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),i<1||i>dH||r!==md||n<8||n>15||e<0||e>9||s<0||s>cH)return As(t,hn);n===8&&(n=9);var o=new TH;return t.state=o,o.strm=t,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<eS||e<0)return t?As(t,hn):hn;if(n=t.state,!t.output||!t.input&&t.avail_in!==0||n.status===Mc&&e!==Cs)return As(t,t.avail_out===0?Eg:hn);if(n.strm=t,r=n.last_flush,n.last_flush=e,n.status===gd)if(n.wrap===2)t.adler=0,Fe(n,31),Fe(n,139),Fe(n,8),n.gzhead?(Fe(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Fe(n,n.gzhead.time&255),Fe(n,n.gzhead.time>>8&255),Fe(n,n.gzhead.time>>16&255),Fe(n,n.gzhead.time>>24&255),Fe(n,n.level===9?2:n.strategy>=fd||n.level<2?4:0),Fe(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(Fe(n,n.gzhead.extra.length&255),Fe(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=xs(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Cg):(Fe(n,0),Fe(n,0),Fe(n,0),Fe(n,0),Fe(n,0),Fe(n,n.level===9?2:n.strategy>=fd||n.level<2?4:0),Fe(n,xH),n.status=pa);else{var a=md+(n.w_bits-8<<4)<<8,o=-1;n.strategy>=fd||n.level<2?o=0:n.level<6?o=1:n.level===6?o=2:o=3,a|=o<<6,n.strstart!==0&&(a|=_H),a+=31-a%31,n.status=pa,Oc(n,a),n.strstart!==0&&(Oc(n,t.adler>>>16),Oc(n,t.adler&65535)),t.adler=1}if(n.status===Cg)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(t.adler=xs(t.adler,n.pending_buf,n.pending-i,i)),Ss(t),i=n.pending,n.pending===n.pending_buf_size));)Fe(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(t.adler=xs(t.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=dd)}else n.status=dd;if(n.status===dd)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(t.adler=xs(t.adler,n.pending_buf,n.pending-i,i)),Ss(t),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindexi&&(t.adler=xs(t.adler,n.pending_buf,n.pending-i,i)),s===0&&(n.gzindex=0,n.status=hd)}else n.status=hd;if(n.status===hd)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(t.adler=xs(t.adler,n.pending_buf,n.pending-i,i)),Ss(t),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindexi&&(t.adler=xs(t.adler,n.pending_buf,n.pending-i,i)),s===0&&(n.status=pd)}else n.status=pd;if(n.status===pd&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Ss(t),n.pending+2<=n.pending_buf_size&&(Fe(n,t.adler&255),Fe(n,t.adler>>8&255),t.adler=0,n.status=pa)):n.status=pa),n.pending!==0){if(Ss(t),t.avail_out===0)return n.last_flush=-1,li}else if(t.avail_in===0&&rS(e)<=rS(r)&&e!==Cs)return As(t,Eg);if(n.status===Mc&&t.avail_in!==0)return As(t,Eg);if(t.avail_in!==0||n.lookahead!==0||e!==va&&n.status!==Mc){var l=n.strategy===fd?AH(n,e):n.strategy===lH?kH(n,e):Bo[n.level].func(n,e);if((l===ma||l===Ho)&&(n.status=Mc),l===Tt||l===ma)return t.avail_out===0&&(n.last_flush=-1),li;if(l===Dc&&(e===nH?dn._tr_align(n):e!==eS&&(dn._tr_stored_block(n,0,0,!1),e===iH&&(Es(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Ss(t),t.avail_out===0))return n.last_flush=-1,li}return e!==Cs?li:n.wrap<=0?tS:(n.wrap===2?(Fe(n,t.adler&255),Fe(n,t.adler>>8&255),Fe(n,t.adler>>16&255),Fe(n,t.adler>>24&255),Fe(n,t.total_in&255),Fe(n,t.total_in>>8&255),Fe(n,t.total_in>>16&255),Fe(n,t.total_in>>24&255)):(Oc(n,t.adler>>>16),Oc(n,t.adler&65535)),Ss(t),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?li:tS)}function IH(t){var e;return!t||!t.state?hn:(e=t.state.status,e!==gd&&e!==Cg&&e!==dd&&e!==hd&&e!==pd&&e!==pa&&e!==Mc?As(t,hn):(t.state=null,e===pa?As(t,sH):li))}function FH(t,e){var r=e.length,n,i,s,a,o,l,c,u;if(!t||!t.state||(n=t.state,a=n.wrap,a===2||a===1&&n.status!==gd||n.lookahead))return hn;for(a===1&&(t.adler=nS(t.adler,e,r,0)),n.wrap=0,r>=n.w_size&&(a===0&&(Es(n.head),n.strstart=0,n.block_start=0,n.insert=0),u=new ur.Buf8(n.w_size),ur.arraySet(u,e,r-n.w_size,n.w_size,0),e=u,r=n.w_size),o=t.avail_in,l=t.next_in,c=t.input,t.avail_in=r,t.next_in=0,t.input=e,ga(n);n.lookahead>=Te;){i=n.strstart,s=n.lookahead-(Te-1);do n.ins_h=(n.ins_h<{"use strict";p();var vd=Hi(),cS=!0,uS=!0;try{String.fromCharCode.apply(null,[0])}catch(t){cS=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){uS=!1}var Lc=new vd.Buf8(256);for(Gi=0;Gi<256;Gi++)Lc[Gi]=Gi>=252?6:Gi>=248?5:Gi>=240?4:Gi>=224?3:Gi>=192?2:1;var Gi;Lc[254]=Lc[254]=1;Uo.string2buf=function(t){var e,r,n,i,s,a=t.length,o=0;for(i=0;i>>6,e[s++]=128|r&63):r<65536?(e[s++]=224|r>>>12,e[s++]=128|r>>>6&63,e[s++]=128|r&63):(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63,e[s++]=128|r>>>6&63,e[s++]=128|r&63);return e};function fS(t,e){if(e<65534&&(t.subarray&&uS||!t.subarray&&cS))return String.fromCharCode.apply(null,vd.shrinkBuf(t,e));for(var r="",n=0;n4){o[n++]=65533,r+=s-1;continue}for(i&=s===2?31:s===3?15:7;s>1&&r1){o[n++]=65533;continue}i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|i&1023)}return fS(o,n)};Uo.utf8border=function(t,e){var r;for(e=e||t.length,e>t.length&&(e=t.length),r=e-1;r>=0&&(t[r]&192)===128;)r--;return r<0||r===0?e:r+Lc[t[r]]>e?r:e}});var Pg=I((mZ,dS)=>{"use strict";p();function OH(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}dS.exports=OH});var gS=I(Hc=>{"use strict";p();var Nc=lS(),Bc=Hi(),$g=Tg(),Ig=ud(),MH=Pg(),mS=Object.prototype.toString,DH=0,Rg=4,Go=0,hS=1,pS=2,LH=-1,NH=0,BH=8;function wa(t){if(!(this instanceof wa))return new wa(t);this.options=Bc.assign({level:LH,method:BH,chunkSize:16384,windowBits:15,memLevel:8,strategy:NH,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new MH,this.strm.avail_out=0;var r=Nc.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==Go)throw new Error(Ig[r]);if(e.header&&Nc.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(typeof e.dictionary=="string"?n=$g.string2buf(e.dictionary):mS.call(e.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(e.dictionary):n=e.dictionary,r=Nc.deflateSetDictionary(this.strm,n),r!==Go)throw new Error(Ig[r]);this._dict_set=!0}}wa.prototype.push=function(t,e){var r=this.strm,n=this.options.chunkSize,i,s;if(this.ended)return!1;s=e===~~e?e:e===!0?Rg:DH,typeof t=="string"?r.input=$g.string2buf(t):mS.call(t)==="[object ArrayBuffer]"?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new Bc.Buf8(n),r.next_out=0,r.avail_out=n),i=Nc.deflate(r,s),i!==hS&&i!==Go)return this.onEnd(i),this.ended=!0,!1;(r.avail_out===0||r.avail_in===0&&(s===Rg||s===pS))&&(this.options.to==="string"?this.onData($g.buf2binstring(Bc.shrinkBuf(r.output,r.next_out))):this.onData(Bc.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||r.avail_out===0)&&i!==hS);return s===Rg?(i=Nc.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Go):(s===pS&&(this.onEnd(Go),r.avail_out=0),!0)};wa.prototype.onData=function(t){this.chunks.push(t)};wa.prototype.onEnd=function(t){t===Go&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Bc.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function Fg(t,e){var r=new wa(e);if(r.push(t,!0),r.err)throw r.msg||Ig[r.err];return r.result}function HH(t,e){return e=e||{},e.raw=!0,Fg(t,e)}function UH(t,e){return e=e||{},e.gzip=!0,Fg(t,e)}Hc.Deflate=wa;Hc.deflate=Fg;Hc.deflateRaw=HH;Hc.gzip=UH});var wS=I((yZ,vS)=>{"use strict";p();var wd=30,GH=12;vS.exports=function(e,r){var n,i,s,a,o,l,c,u,f,d,h,m,g,v,w,b,k,x,E,A,y,S,_,C,P;n=e.state,i=e.next_in,C=e.input,s=i+(e.avail_in-5),a=e.next_out,P=e.output,o=a-(r-e.avail_out),l=a+(e.avail_out-257),c=n.dmax,u=n.wsize,f=n.whave,d=n.wnext,h=n.window,m=n.hold,g=n.bits,v=n.lencode,w=n.distcode,b=(1<>>24,m>>>=E,g-=E,E=x>>>16&255,E===0)P[a++]=x&65535;else if(E&16){A=x&65535,E&=15,E&&(g>>=E,g-=E),g<15&&(m+=C[i++]<>>24,m>>>=E,g-=E,E=x>>>16&255,E&16){if(y=x&65535,E&=15,gc){e.msg="invalid distance too far back",n.mode=wd;break e}if(m>>>=E,g-=E,E=a-o,y>E){if(E=y-E,E>f&&n.sane){e.msg="invalid distance too far back",n.mode=wd;break e}if(S=0,_=h,d===0){if(S+=u-E,E2;)P[a++]=_[S++],P[a++]=_[S++],P[a++]=_[S++],A-=3;A&&(P[a++]=_[S++],A>1&&(P[a++]=_[S++]))}else{S=a-y;do P[a++]=P[S++],P[a++]=P[S++],P[a++]=P[S++],A-=3;while(A>2);A&&(P[a++]=P[S++],A>1&&(P[a++]=P[S++]))}}else if(E&64){e.msg="invalid distance code",n.mode=wd;break e}else{x=w[(x&65535)+(m&(1<>3,i-=A,g-=A<<3,m&=(1<{"use strict";p();var yS=Hi(),jo=15,bS=852,_S=592,xS=0,Og=1,SS=2,jH=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],qH=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],WH=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],zH=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];ES.exports=function(e,r,n,i,s,a,o,l){var c=l.bits,u=0,f=0,d=0,h=0,m=0,g=0,v=0,w=0,b=0,k=0,x,E,A,y,S,_=null,C=0,P,N=new yS.Buf16(jo+1),B=new yS.Buf16(jo+1),H=null,ce=0,Pe,ve,ie;for(u=0;u<=jo;u++)N[u]=0;for(f=0;f=1&&N[h]===0;h--);if(m>h&&(m=h),h===0)return s[a++]=1<<24|64<<16|0,s[a++]=1<<24|64<<16|0,l.bits=1,0;for(d=1;d0&&(e===xS||h!==1))return-1;for(B[1]=0,u=1;ubS||e===SS&&b>_S)return 1;for(;;){Pe=u-v,o[f]P?(ve=H[ce+o[f]],ie=_[C+o[f]]):(ve=96,ie=0),x=1<>v)+E]=Pe<<24|ve<<16|ie|0;while(E!==0);for(x=1<>=1;if(x!==0?(k&=x-1,k+=x):k=0,f++,--N[u]===0){if(u===h)break;u=r[n+o[f]]}if(u>m&&(k&y)!==A){for(v===0&&(v=m),S+=d,g=u-v,w=1<bS||e===SS&&b>_S)return 1;A=k&y,s[A]=m<<24|g<<16|S-a|0}}return k!==0&&(s[S+k]=u-v<<24|64<<16|0),l.bits=m,0}});var aE=I(On=>{"use strict";p();var Yr=Hi(),Hg=xg(),ui=Sg(),VH=wS(),Uc=kS(),YH=0,KS=1,QS=2,AS=4,XH=5,yd=6,ya=0,ZH=1,KH=2,pn=-2,JS=-3,Ug=-4,QH=-5,CS=8,eE=1,TS=2,PS=3,RS=4,$S=5,IS=6,FS=7,OS=8,MS=9,DS=10,xd=11,ji=12,Mg=13,LS=14,Dg=15,NS=16,BS=17,HS=18,US=19,bd=20,_d=21,GS=22,jS=23,qS=24,WS=25,zS=26,Lg=27,VS=28,YS=29,Je=30,Gg=31,JH=32,e3=852,t3=592,r3=15,n3=r3;function XS(t){return(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24)}function i3(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Yr.Buf16(320),this.work=new Yr.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function tE(t){var e;return!t||!t.state?pn:(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=e.wrap&1),e.mode=eE,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Yr.Buf32(e3),e.distcode=e.distdyn=new Yr.Buf32(t3),e.sane=1,e.back=-1,ya)}function rE(t){var e;return!t||!t.state?pn:(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,tE(t))}function nE(t,e){var r,n;return!t||!t.state||(n=t.state,e<0?(r=0,e=-e):(r=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15))?pn:(n.window!==null&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,rE(t))}function iE(t,e){var r,n;return t?(n=new i3,t.state=n,n.window=null,r=nE(t,e),r!==ya&&(t.state=null),r):pn}function s3(t){return iE(t,n3)}var ZS=!0,Ng,Bg;function a3(t){if(ZS){var e;for(Ng=new Yr.Buf32(512),Bg=new Yr.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(Uc(KS,t.lens,0,288,Ng,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;Uc(QS,t.lens,0,32,Bg,0,t.work,{bits:5}),ZS=!1}t.lencode=Ng,t.lenbits=9,t.distcode=Bg,t.distbits=5}function sE(t,e,r,n){var i,s=t.state;return s.window===null&&(s.wsize=1<=s.wsize?(Yr.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i=s.wsize-s.wnext,i>n&&(i=n),Yr.arraySet(s.window,e,r-n,i,s.wnext),n-=i,n?(Yr.arraySet(s.window,e,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=ui(r.check,_,2,0),c=0,u=0,r.mode=TS;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((c&255)<<8)+(c>>8))%31){t.msg="incorrect header check",r.mode=Je;break}if((c&15)!==CS){t.msg="unknown compression method",r.mode=Je;break}if(c>>>=4,u-=4,y=(c&15)+8,r.wbits===0)r.wbits=y;else if(y>r.wbits){t.msg="invalid window size",r.mode=Je;break}r.dmax=1<>8&1),r.flags&512&&(_[0]=c&255,_[1]=c>>>8&255,r.check=ui(r.check,_,2,0)),c=0,u=0,r.mode=PS;case PS:for(;u<32;){if(o===0)break e;o--,c+=n[s++]<>>8&255,_[2]=c>>>16&255,_[3]=c>>>24&255,r.check=ui(r.check,_,4,0)),c=0,u=0,r.mode=RS;case RS:for(;u<16;){if(o===0)break e;o--,c+=n[s++]<>8),r.flags&512&&(_[0]=c&255,_[1]=c>>>8&255,r.check=ui(r.check,_,2,0)),c=0,u=0,r.mode=$S;case $S:if(r.flags&1024){for(;u<16;){if(o===0)break e;o--,c+=n[s++]<>>8&255,r.check=ui(r.check,_,2,0)),c=0,u=0}else r.head&&(r.head.extra=null);r.mode=IS;case IS:if(r.flags&1024&&(h=r.length,h>o&&(h=o),h&&(r.head&&(y=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Yr.arraySet(r.head.extra,n,s,h,y)),r.flags&512&&(r.check=ui(r.check,n,h,s)),o-=h,s+=h,r.length-=h),r.length))break e;r.length=0,r.mode=FS;case FS:if(r.flags&2048){if(o===0)break e;h=0;do y=n[s+h++],r.head&&y&&r.length<65536&&(r.head.name+=String.fromCharCode(y));while(y&&h>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=ji;break;case DS:for(;u<32;){if(o===0)break e;o--,c+=n[s++]<>>=u&7,u-=u&7,r.mode=Lg;break}for(;u<3;){if(o===0)break e;o--,c+=n[s++]<>>=1,u-=1,c&3){case 0:r.mode=LS;break;case 1:if(a3(r),r.mode=bd,e===yd){c>>>=2,u-=2;break e}break;case 2:r.mode=BS;break;case 3:t.msg="invalid block type",r.mode=Je}c>>>=2,u-=2;break;case LS:for(c>>>=u&7,u-=u&7;u<32;){if(o===0)break e;o--,c+=n[s++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=Je;break}if(r.length=c&65535,c=0,u=0,r.mode=Dg,e===yd)break e;case Dg:r.mode=NS;case NS:if(h=r.length,h){if(h>o&&(h=o),h>l&&(h=l),h===0)break e;Yr.arraySet(i,n,s,h,a),o-=h,s+=h,l-=h,a+=h,r.length-=h;break}r.mode=ji;break;case BS:for(;u<14;){if(o===0)break e;o--,c+=n[s++]<>>=5,u-=5,r.ndist=(c&31)+1,c>>>=5,u-=5,r.ncode=(c&15)+4,c>>>=4,u-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=Je;break}r.have=0,r.mode=HS;case HS:for(;r.have>>=3,u-=3}for(;r.have<19;)r.lens[N[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,C={bits:r.lenbits},S=Uc(YH,r.lens,0,19,r.lencode,0,r.work,C),r.lenbits=C.bits,S){t.msg="invalid code lengths set",r.mode=Je;break}r.have=0,r.mode=US;case US:for(;r.have>>24,b=v>>>16&255,k=v&65535,!(w<=u);){if(o===0)break e;o--,c+=n[s++]<>>=w,u-=w,r.lens[r.have++]=k;else{if(k===16){for(P=w+2;u>>=w,u-=w,r.have===0){t.msg="invalid bit length repeat",r.mode=Je;break}y=r.lens[r.have-1],h=3+(c&3),c>>>=2,u-=2}else if(k===17){for(P=w+3;u>>=w,u-=w,y=0,h=3+(c&7),c>>>=3,u-=3}else{for(P=w+7;u>>=w,u-=w,y=0,h=11+(c&127),c>>>=7,u-=7}if(r.have+h>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=Je;break}for(;h--;)r.lens[r.have++]=y}}if(r.mode===Je)break;if(r.lens[256]===0){t.msg="invalid code -- missing end-of-block",r.mode=Je;break}if(r.lenbits=9,C={bits:r.lenbits},S=Uc(KS,r.lens,0,r.nlen,r.lencode,0,r.work,C),r.lenbits=C.bits,S){t.msg="invalid literal/lengths set",r.mode=Je;break}if(r.distbits=6,r.distcode=r.distdyn,C={bits:r.distbits},S=Uc(QS,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,C),r.distbits=C.bits,S){t.msg="invalid distances set",r.mode=Je;break}if(r.mode=bd,e===yd)break e;case bd:r.mode=_d;case _d:if(o>=6&&l>=258){t.next_out=a,t.avail_out=l,t.next_in=s,t.avail_in=o,r.hold=c,r.bits=u,VH(t,d),a=t.next_out,i=t.output,l=t.avail_out,s=t.next_in,n=t.input,o=t.avail_in,c=r.hold,u=r.bits,r.mode===ji&&(r.back=-1);break}for(r.back=0;v=r.lencode[c&(1<>>24,b=v>>>16&255,k=v&65535,!(w<=u);){if(o===0)break e;o--,c+=n[s++]<>x)],w=v>>>24,b=v>>>16&255,k=v&65535,!(x+w<=u);){if(o===0)break e;o--,c+=n[s++]<>>=x,u-=x,r.back+=x}if(c>>>=w,u-=w,r.back+=w,r.length=k,b===0){r.mode=zS;break}if(b&32){r.back=-1,r.mode=ji;break}if(b&64){t.msg="invalid literal/length code",r.mode=Je;break}r.extra=b&15,r.mode=GS;case GS:if(r.extra){for(P=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=jS;case jS:for(;v=r.distcode[c&(1<>>24,b=v>>>16&255,k=v&65535,!(w<=u);){if(o===0)break e;o--,c+=n[s++]<>x)],w=v>>>24,b=v>>>16&255,k=v&65535,!(x+w<=u);){if(o===0)break e;o--,c+=n[s++]<>>=x,u-=x,r.back+=x}if(c>>>=w,u-=w,r.back+=w,b&64){t.msg="invalid distance code",r.mode=Je;break}r.offset=k,r.extra=b&15,r.mode=qS;case qS:if(r.extra){for(P=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=Je;break}r.mode=WS;case WS:if(l===0)break e;if(h=d-l,r.offset>h){if(h=r.offset-h,h>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=Je;break}h>r.wnext?(h-=r.wnext,m=r.wsize-h):m=r.wnext-h,h>r.length&&(h=r.length),g=r.window}else g=i,m=a-r.offset,h=r.length;h>l&&(h=l),l-=h,r.length-=h;do i[a++]=g[m++];while(--h);r.length===0&&(r.mode=_d);break;case zS:if(l===0)break e;i[a++]=r.length,l--,r.mode=_d;break;case Lg:if(r.wrap){for(;u<32;){if(o===0)break e;o--,c|=n[s++]<{"use strict";p();oE.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var cE=I((CZ,lE)=>{"use strict";p();function f3(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}lE.exports=f3});var fE=I(jc=>{"use strict";p();var qo=aE(),Gc=Hi(),Sd=Tg(),dt=jg(),qg=ud(),d3=Pg(),h3=cE(),uE=Object.prototype.toString;function ba(t){if(!(this instanceof ba))return new ba(t);this.options=Gc.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(t&&t.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d3,this.strm.avail_out=0;var r=qo.inflateInit2(this.strm,e.windowBits);if(r!==dt.Z_OK)throw new Error(qg[r]);if(this.header=new h3,qo.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=Sd.string2buf(e.dictionary):uE.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=qo.inflateSetDictionary(this.strm,e.dictionary),r!==dt.Z_OK)))throw new Error(qg[r])}ba.prototype.push=function(t,e){var r=this.strm,n=this.options.chunkSize,i=this.options.dictionary,s,a,o,l,c,u=!1;if(this.ended)return!1;a=e===~~e?e:e===!0?dt.Z_FINISH:dt.Z_NO_FLUSH,typeof t=="string"?r.input=Sd.binstring2buf(t):uE.call(t)==="[object ArrayBuffer]"?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new Gc.Buf8(n),r.next_out=0,r.avail_out=n),s=qo.inflate(r,dt.Z_NO_FLUSH),s===dt.Z_NEED_DICT&&i&&(s=qo.inflateSetDictionary(this.strm,i)),s===dt.Z_BUF_ERROR&&u===!0&&(s=dt.Z_OK,u=!1),s!==dt.Z_STREAM_END&&s!==dt.Z_OK)return this.onEnd(s),this.ended=!0,!1;r.next_out&&(r.avail_out===0||s===dt.Z_STREAM_END||r.avail_in===0&&(a===dt.Z_FINISH||a===dt.Z_SYNC_FLUSH))&&(this.options.to==="string"?(o=Sd.utf8border(r.output,r.next_out),l=r.next_out-o,c=Sd.buf2string(r.output,o),r.next_out=l,r.avail_out=n-l,l&&Gc.arraySet(r.output,r.output,o,l,0),this.onData(c)):this.onData(Gc.shrinkBuf(r.output,r.next_out))),r.avail_in===0&&r.avail_out===0&&(u=!0)}while((r.avail_in>0||r.avail_out===0)&&s!==dt.Z_STREAM_END);return s===dt.Z_STREAM_END&&(a=dt.Z_FINISH),a===dt.Z_FINISH?(s=qo.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===dt.Z_OK):(a===dt.Z_SYNC_FLUSH&&(this.onEnd(dt.Z_OK),r.avail_out=0),!0)};ba.prototype.onData=function(t){this.chunks.push(t)};ba.prototype.onEnd=function(t){t===dt.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Gc.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function Wg(t,e){var r=new ba(e);if(r.push(t,!0),r.err)throw r.msg||qg[r.err];return r.result}function p3(t,e){return e=e||{},e.raw=!0,Wg(t,e)}jc.Inflate=ba;jc.inflate=Wg;jc.inflateRaw=p3;jc.ungzip=Wg});var pE=I(($Z,hE)=>{"use strict";p();var m3=Hi().assign,g3=gS(),v3=fE(),w3=jg(),dE={};m3(dE,g3,v3,w3);hE.exports=dE});var vE=I((FZ,gE)=>{"use strict";p();var mE=(t,e)=>function(...r){let n=e.promiseModule;return new n((i,s)=>{e.multiArgs?r.push((...a)=>{e.errorFirst?a[0]?s(a):(a.shift(),i(a)):i(a)}):e.errorFirst?r.push((a,o)=>{a?s(a):i(o)}):r.push(i),t.apply(this,r)})};gE.exports=(t,e)=>{e=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},e);let r=typeof t;if(!(t!==null&&(r==="object"||r==="function")))throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${t===null?"null":r}\``);let n=s=>{let a=o=>typeof o=="string"?s===o:o.test(s);return e.include?e.include.some(a):!e.exclude.some(a)},i;r==="function"?i=function(...s){return e.excludeMain?t(...s):mE(t,e).apply(this,s)}:i=Object.create(Object.getPrototypeOf(t));for(let s in t){let a=t[s];i[s]=typeof a=="function"&&n(s)?mE(a,e):a}return i}});var AE=I((MZ,kE)=>{p();function wE(t){return Array.isArray(t)?t:[t]}var Yg="",yE=" ",zg="\\",y3=/^\s+$/,b3=/(?:[^\\]|^)\\$/,_3=/^\\!/,x3=/^\\#/,S3=/\r?\n/g,E3=/^\.*\/|^\.+$/,Vg="/",xE="node-ignore";typeof Symbol!="undefined"&&(xE=Symbol.for("node-ignore"));var bE=xE,k3=(t,e,r)=>Object.defineProperty(t,e,{value:r}),A3=/([0-z])-([0-z])/g,SE=()=>!1,C3=t=>t.replace(A3,(e,r,n)=>r.charCodeAt(0)<=n.charCodeAt(0)?e:Yg),T3=t=>{let{length:e}=t;return t.slice(0,e-e%2)},P3=[[/^\uFEFF/,()=>Yg],[/((?:\\\\)*?)(\\?\s+)$/,(t,e,r)=>e+(r.indexOf("\\")===0?yE:Yg)],[/(\\+?)\s/g,(t,e)=>{let{length:r}=e;return e.slice(0,r-r%2)+yE}],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6{let n=r.replace(/\\\*/g,"[^\\/]*");return e+n}],[/\\\\\\(?=[$.|*+(){^])/g,()=>zg],[/\\\\/g,()=>zg],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,n,i)=>e===zg?`\\[${r}${T3(n)}${i}`:i==="]"&&n.length%2===0?`[${C3(r)}${n}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],_E=Object.create(null),R3=(t,e)=>{let r=_E[t];return r||(r=P3.reduce((n,[i,s])=>n.replace(i,s.bind(t)),t),_E[t]=r),e?new RegExp(r,"i"):new RegExp(r)},Kg=t=>typeof t=="string",$3=t=>t&&Kg(t)&&!y3.test(t)&&!b3.test(t)&&t.indexOf("#")!==0,I3=t=>t.split(S3),Xg=class{constructor(e,r,n,i){this.origin=e,this.pattern=r,this.negative=n,this.regex=i}},F3=(t,e)=>{let r=t,n=!1;t.indexOf("!")===0&&(n=!0,t=t.substr(1)),t=t.replace(_3,"!").replace(x3,"#");let i=R3(t,e);return new Xg(r,t,n,i)},O3=(t,e)=>{throw new e(t)},qi=(t,e,r)=>Kg(t)?t?qi.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),EE=t=>E3.test(t);qi.isNotRelative=EE;qi.convert=t=>t;var Zg=class{constructor({ignorecase:e=!0,ignoreCase:r=e,allowRelativePaths:n=!1}={}){k3(this,bE,!0),this._rules=[],this._ignoreCase=r,this._allowRelativePaths=n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[bE]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if($3(e)){let r=F3(e,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,wE(Kg(e)?I3(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let n=!1,i=!1;return this._rules.forEach(s=>{let{negative:a}=s;if(i===a&&n!==i||a&&!n&&!i&&!r)return;s.regex.test(e)&&(n=!a,i=a)}),{ignored:n,unignored:i}}_test(e,r,n,i){let s=e&&qi.convert(e);return qi(s,e,this._allowRelativePaths?SE:O3),this._t(s,r,n,i)}_t(e,r,n,i){if(e in r)return r[e];if(i||(i=e.split(Vg)),i.pop(),!i.length)return r[e]=this._testOne(e,n);let s=this._t(i.join(Vg)+Vg,r,n,i);return r[e]=s.ignored?s:this._testOne(e,n)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return wE(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},Ed=t=>new Zg(t),M3=t=>qi(t&&qi.convert(t),t,SE);Ed.isPathValid=M3;Ed.default=Ed;kE.exports=Ed;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");qi.convert=t;let e=/^[a-z]:\//i;qi.isNotRelative=r=>e.test(r)||EE(r)}});var TE=I((LZ,CE)=>{"use strict";p();function D3(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fi(t,e,r){return e=e instanceof RegExp?e:new RegExp(D3(e),"g"),t.replace(e,r)}var L3={clean:function(e){if(typeof e!="string")throw new Error("Expected a string, received: "+e);return e=fi(e,"./","/"),e=fi(e,"..","."),e=fi(e," ","-"),e=fi(e,/^[~^:?*\\\-]/g,""),e=fi(e,/[~^:?*\\]/g,"-"),e=fi(e,/[~^:?*\\\-]$/g,""),e=fi(e,"@{","-"),e=fi(e,/\.$/g,""),e=fi(e,/\/$/g,""),e=fi(e,/\.lock$/g,""),e}};CE.exports=L3});var RE=I((BZ,PE)=>{p();PE.exports=function(t,e){var r=t,n=e,i=r.length,s=n.length,a=!1,o=null,l=i+1,c=[],u=[],f=[],d="",h=-1,m=0,g=1,v,w,b=function(){i>=s&&(v=r,w=i,r=n,n=v,i=s,s=w,a=!0,l=i+1)},k=function(y,S,_){return{x:y,y:S,k:_}},x=function(y,S){return{elem:y,t:S}},E=function(y,S,_){var C,P,N;for(S>_?C=c[y-1+l]:C=c[y+1+l],N=Math.max(S,_),P=N-y;P=0;--N)for(;CP-C?(a?f[f.length]=new x(n[P],h):f[f.length]=new x(n[P],g),++_,++P):y[N].y-y[N].x=y+1;--H)_[H+l]=E(H,_[H-1+l]+1,_[H+1+l]);_[y+l]=E(y,_[y-1+l]+1,_[y+1+l])}while(_[y+l]!==s);for(o=y+2*C,P=c[y+l],N=[];P!==-1;)N[N.length]=new k(u[P].x,u[P].y,null),P=u[P].k;A(N)}}}});var FE=I((UZ,IE)=>{p();var N3=RE();function B3(t,e){var r=new N3(t,e);r.compose();for(var n=r.getses(),i,s,a=t.length-1,o=e.length-1,l=n.length-1;l>=0;--l)n[l].t===r.SES_COMMON?(s?(s.chain={file1index:a,file2index:o,chain:null},s=s.chain):(i={file1index:a,file2index:o,chain:null},s=i),a--,o--):n[l].t===r.SES_DELETE?a--:n[l].t===r.SES_ADD&&o--;var c={file1index:-1,file2index:-1,chain:null};return s?(s.chain=c,i):c}function $E(t,e){for(var r=[],n=t.length,i=e.length,s=B3(t,e);s!==null;s=s.chain){var a=n-s.file1index-1,o=i-s.file2index-1;n=s.file1index,i=s.file2index,(a||o)&&r.push({file1:[n+1,a],file2:[i+1,o]})}return r.reverse(),r}function H3(t,e,r){var n,i=$E(e,t),s=$E(e,r),a=[];function o(B,H){a.push([B.file1[0],H,B.file1[1],B.file2[0],B.file2[1]])}for(n=0;nc&&(l.push([1,c,B-c]),c=B)}for(var f=0;fg)break;g=Math.max(g,w+v[2]),f++}if(u(m),d==f)h[4]>0&&l.push([h[1],h[3],h[4]]);else{var b={0:[t.length,-1,e.length,-1],2:[r.length,-1,e.length,-1]};for(n=d;n<=f;n++){h=a[n];var k=h[1],x=b[k],E=h[0],A=E+h[2],y=h[3],S=y+h[4];x[0]=Math.min(y,x[0]),x[1]=Math.max(S,x[1]),x[2]=Math.min(E,x[2]),x[3]=Math.max(A,x[3])}var _=b[0][0]+(m-b[0][2]),C=b[0][1]+(g-b[0][3]),P=b[2][0]+(m-b[2][2]),N=b[2][1]+(g-b[2][3]);l.push([-1,_,C-_,m,g-m,P,N-P])}c=g}return u(e.length),l}function U3(t,e,r){var n=[],i=[t,e,r],s=H3(t,e,r),a=[];function o(){a.length&&n.push({ok:a}),a=[]}function l(h){for(var m=0;m{"use strict";p();Object.defineProperty(Y,"__esModule",{value:!0});function Ds(t){return t&&typeof t=="object"&&"default"in t?t.default:t}var Wc=Ds(b_()),rk=Ds(k1()),G3=Ds(C1()),xv=Ds(pE()),kd=Ds(vE()),j3=Ds(AE()),zc=Ds(TE()),q3=Ds(FE()),Re=class t extends Error{constructor(e){super(e),this.caller=""}toJSON(){return{code:this.code,data:this.data,caller:this.caller,message:this.message,stack:this.stack}}fromJSON(e){let r=new t(e.message);return r.code=e.code,r.data=e.data,r.caller=e.caller,r.stack=e.stack,r}get isIsomorphicGitError(){return!0}},Vc=class t extends Re{constructor(e){super(`Modifying the index is not possible because you have unmerged files: ${e.toString}. Fix them up in the work tree, and then use 'git add/rm as appropriate to mark resolution and make a commit.`),this.code=this.name=t.code,this.data={filepaths:e}}};Vc.code="UnmergedPathsError";var he=class t extends Re{constructor(e){super(`An internal error caused this command to fail. + +If you're not a developer, report the bug to the developers of the application you're using. If this is a bug in isomorphic-git then you should create a proper bug yourselves. The bug should include a minimal reproduction and details about the version and environment. + +Please file a bug report at https://github.com/isomorphic-git/isomorphic-git/issues with this error message: ${e}`),this.code=this.name=t.code,this.data={message:e}}};he.code="InternalError";var zo=class t extends Re{constructor(e){super(`The filepath "${e}" contains unsafe character sequences`),this.code=this.name=t.code,this.data={filepath:e}}};zo.code="UnsafeFilepathError";var mn=class{constructor(e){this.buffer=e,this._start=0}eof(){return this._start>=this.buffer.length}tell(){return this._start}seek(e){this._start=e}slice(e){let r=this.buffer.slice(this._start,this._start+e);return this._start+=e,r}toString(e,r){let n=this.buffer.toString(e,this._start,this._start+r);return this._start+=r,n}write(e,r,n){let i=this.buffer.write(e,this._start,r,n);return this._start+=r,i}copy(e,r,n){let i=e.copy(this.buffer,this._start,r,n);return this._start+=i,i}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let r=this.buffer.writeUInt8(e,this._start);return this._start+=1,r}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let r=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,r}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let r=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,r}};function Nd(t,e){return-(te)}function nk(t,e){return Nd(t.path,e.path)}function ik(t){let e=t>0?t>>12:0;e!==4&&e!==8&&e!==10&&e!==14&&(e=8);let r=t&511;return r&73?r=493:r=420,e!==8&&(r=0),(e<<12)+r}var di=2**32;function OE(t,e,r,n){if(t!==void 0&&e!==void 0)return[t,e];r===void 0&&(r=n.valueOf());let i=Math.floor(r/1e3),s=(r-i*1e3)*1e6;return[i,s]}function Vo(t){let[e,r]=OE(t.ctimeSeconds,t.ctimeNanoseconds,t.ctimeMs,t.ctime),[n,i]=OE(t.mtimeSeconds,t.mtimeNanoseconds,t.mtimeMs,t.mtime);return{ctimeSeconds:e%di,ctimeNanoseconds:r%di,mtimeSeconds:n%di,mtimeNanoseconds:i%di,dev:t.dev%di,ino:t.ino%di,mode:ik(t.mode%di),uid:t.uid%di,gid:t.gid%di,size:t.size>-1?t.size%di:0}}function W3(t){let e="";for(let r of new Uint8Array(t))r<16&&(e+="0"),e+=r.toString(16);return e}var Qg=null;async function zi(t){return Qg===null&&(Qg=await V3()),Qg?sk(t):z3(t)}function z3(t){return new rk().update(t).digest("hex")}async function sk(t){let e=await crypto.subtle.digest("SHA-1",t);return W3(e)}async function V3(){try{return await sk(new Uint8Array([]))==="da39a3ee5e6b4b0d3255bfef95601890afd80709"}catch(t){}return!1}function Y3(t){return{assumeValid:!!(t&32768),extended:!!(t&16384),stage:(t&12288)>>12,nameLength:t&4095}}function X3(t){let e=t.flags;return e.extended=!1,e.nameLength=Math.min(Buffer.from(t.path).length,4095),(e.assumeValid?32768:0)+(e.extended?16384:0)+((e.stage&3)<<12)+(e.nameLength&4095)}var uv=class t{constructor(e,r){this._dirty=!1,this._unmergedPaths=r||new Set,this._entries=e||new Map}_addEntry(e){if(e.flags.stage===0)e.stages=[e],this._entries.set(e.path,e),this._unmergedPaths.delete(e.path);else{let r=this._entries.get(e.path);r||(this._entries.set(e.path,e),r=e),r.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(e){if(Buffer.isBuffer(e))return t.fromBuffer(e);if(e===null)return new t(null);throw new he("invalid type passed to GitIndex.from")}static async fromBuffer(e){if(e.length===0)throw new he("Index file is empty (.git/index)");let r=new t,n=new mn(e),i=n.toString("utf8",4);if(i!=="DIRC")throw new he(`Invalid dircache magic file number: ${i}`);let s=await zi(e.slice(0,-20)),a=e.slice(-20).toString("hex");if(a!==s)throw new he(`Invalid checksum in GitIndex buffer: expected ${a} but saw ${s}`);let o=n.readUInt32BE();if(o!==2)throw new he(`Unsupported dircache version: ${o}`);let l=n.readUInt32BE(),c=0;for(;!n.eof()&&ce.stages.length>1?e.stages.filter(r=>r):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:r,oid:n,stage:i=0}){r||(r={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0}),r=Vo(r);let s=Buffer.from(e),a={ctimeSeconds:r.ctimeSeconds,ctimeNanoseconds:r.ctimeNanoseconds,mtimeSeconds:r.mtimeSeconds,mtimeNanoseconds:r.mtimeNanoseconds,dev:r.dev,ino:r.ino,mode:r.mode||33188,uid:r.uid,gid:r.gid,size:r.size,path:e,oid:n,flags:{assumeValid:!1,extended:!1,stage:i,nameLength:s.length<4095?s.length:4095},stages:[]};this._addEntry(a),this._dirty=!0}delete({filepath:e}){if(this._entries.has(e))this._entries.delete(e);else for(let r of this._entries.keys())r.startsWith(e+"/")&&this._entries.delete(r);this._unmergedPaths.has(e)&&this._unmergedPaths.delete(e),this._dirty=!0}clear(){this._entries.clear(),this._dirty=!0}has({filepath:e}){return this._entries.has(e)}render(){return this.entries.map(e=>`${e.mode.toString(8)} ${e.oid} ${e.path}`).join(` +`)}static async _entryToBuffer(e){let r=Buffer.from(e.path),n=Math.ceil((62+r.length+1)/8)*8,i=Buffer.alloc(n),s=new mn(i),a=Vo(e);return s.writeUInt32BE(a.ctimeSeconds),s.writeUInt32BE(a.ctimeNanoseconds),s.writeUInt32BE(a.mtimeSeconds),s.writeUInt32BE(a.mtimeNanoseconds),s.writeUInt32BE(a.dev),s.writeUInt32BE(a.ino),s.writeUInt32BE(a.mode),s.writeUInt32BE(a.uid),s.writeUInt32BE(a.gid),s.writeUInt32BE(a.size),s.write(e.oid,20,"hex"),s.writeUInt16BE(X3(e)),s.write(e.path,r.length,"utf8"),i}async toObject(){let e=Buffer.alloc(12),r=new mn(e);r.write("DIRC",4,"utf8"),r.writeUInt32BE(2),r.writeUInt32BE(this.entriesFlat.length);let n=[];for(let o of this.entries)if(n.push(t._entryToBuffer(o)),o.stages.length>1)for(let l of o.stages)l&&l!==o&&n.push(t._entryToBuffer(l));n=await Promise.all(n);let i=Buffer.concat(n),s=Buffer.concat([e,i]),a=await zi(s);return Buffer.concat([s,Buffer.from(a,"hex")])}};function Td(t,e,r=!0,n=!0){let i=Vo(t),s=Vo(e);return r&&i.mode!==s.mode||i.mtimeSeconds!==s.mtimeSeconds||i.ctimeSeconds!==s.ctimeSeconds||i.uid!==s.uid||i.gid!==s.gid||n&&i.ino!==s.ino||i.size!==s.size}var Jg=null,ev=Symbol("IndexCache");function Z3(){return{map:new Map,stats:new Map}}async function K3(t,e,r){let[n,i]=await Promise.all([t.lstat(e),t.read(e)]),s=await uv.from(i);r.map.set(e,s),r.stats.set(e,n)}async function Q3(t,e,r){let n=r.stats.get(e);if(n===void 0)return!0;if(n===null)return!1;let i=await t.lstat(e);return i===null?!1:Td(n,i)}var ht=class{static async acquire({fs:e,gitdir:r,cache:n,allowUnmerged:i=!0},s){n[ev]||(n[ev]=Z3());let a=`${r}/index`;Jg===null&&(Jg=new Wc({maxPending:1/0}));let o,l=[];return await Jg.acquire(a,async()=>{let c=n[ev];await Q3(e,a,c)&&await K3(e,a,c);let u=c.map.get(a);if(l=u.unmergedPaths,l.length&&!i)throw new Vc(l);if(o=await s(u),u._dirty){let f=await u.toObject();await e.write(a,f),c.stats.set(a,await e.lstat(a)),u._dirty=!1}}),o}};function Pd(t){let e=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return e>-1&&(t=t.slice(e+1)),t}function Sa(t){let e=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return e===-1?".":e===0?"/":t.slice(0,e)}function ak(t){let e=new Map,r=function(i){if(!e.has(i)){let s={type:"tree",fullpath:i,basename:Pd(i),metadata:{},children:[]};e.set(i,s),s.parent=r(Sa(i)),s.parent&&s.parent!==s&&s.parent.children.push(s)}return e.get(i)},n=function(i,s){if(!e.has(i)){let a={type:"blob",fullpath:i,basename:Pd(i),metadata:s,parent:r(Sa(i)),children:[]};a.parent&&a.parent.children.push(a),e.set(i,a)}return e.get(i)};r(".");for(let i of t)n(i.path,i);return e}function J3(t){switch(t){case 16384:return"tree";case 33188:return"blob";case 33261:return"blob";case 40960:return"blob";case 57344:return"commit"}throw new he(`Unexpected GitTree entry mode: ${t.toString(8)}`)}var fv=class{constructor({fs:e,gitdir:r,cache:n}){this.treePromise=ht.acquire({fs:e,gitdir:r,cache:n},async function(s){return ak(s.entries)});let i=this;this.ConstructEntry=class{constructor(a){this._fullpath=a,this._type=!1,this._mode=!1,this._stat=!1,this._oid=!1}async type(){return i.type(this)}async mode(){return i.mode(this)}async stat(){return i.stat(this)}async content(){return i.content(this)}async oid(){return i.oid(this)}}}async readdir(e){let r=e._fullpath,i=(await this.treePromise).get(r);if(!i||i.type==="blob")return null;if(i.type!=="tree")throw new Error(`ENOTDIR: not a directory, scandir '${r}'`);let s=i.children.map(a=>a.fullpath);return s.sort(Nd),s}async type(e){return e._type===!1&&await e.stat(),e._type}async mode(e){return e._mode===!1&&await e.stat(),e._mode}async stat(e){if(e._stat===!1){let n=(await this.treePromise).get(e._fullpath);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let i=n.type==="tree"?{}:Vo(n.metadata);e._type=n.type==="tree"?"tree":J3(i.mode),e._mode=i.mode,n.type==="tree"?e._stat=void 0:e._stat=i}return e._stat}async content(e){}async oid(e){if(e._oid===!1){let n=(await this.treePromise).get(e._fullpath);e._oid=n.metadata.oid}return e._oid}},Bd=Symbol("GitWalkSymbol");function Ca(){let t=Object.create(null);return Object.defineProperty(t,Bd,{value:function({fs:e,gitdir:r,cache:n}){return new fv({fs:e,gitdir:r,cache:n})}}),Object.freeze(t),t}var Be=class t extends Re{constructor(e){super(`Could not find ${e}.`),this.code=this.name=t.code,this.data={what:e}}};Be.code="NotFoundError";var fr=class t extends Re{constructor(e,r,n,i){super(`Object ${e} ${i?`at ${i}`:""}was anticipated to be a ${n} but it is a ${r}.`),this.code=this.name=t.code,this.data={oid:e,actual:r,expected:n,filepath:i}}};fr.code="ObjectTypeError";var Rs=class t extends Re{constructor(e){super(`Expected a 40-char hex object id but saw "${e}".`),this.code=this.name=t.code,this.data={value:e}}};Rs.code="InvalidOidError";var Yc=class t extends Re{constructor(e){super(`Could not find a fetch refspec for remote "${e}". Make sure the config file has an entry like the following: +[remote "${e}"] + fetch = +refs/heads/*:refs/remotes/origin/* +`),this.code=this.name=t.code,this.data={remote:e}}};Yc.code="NoRefspecError";var Rd=class t{constructor(e){if(this.refs=new Map,this.parsedConfig=[],e){let r=null;this.parsedConfig=e.trim().split(` +`).map(n=>{if(/^\s*#/.test(n))return{line:n,comment:!0};let i=n.indexOf(" ");if(n.startsWith("^")){let s=n.slice(1);return this.refs.set(r+"^{}",s),{line:n,ref:r,peeled:s}}else{let s=n.slice(0,i);return r=n.slice(i+1),this.refs.set(r,s),{line:n,ref:r,oid:s}}})}return this}static from(e){return new t(e)}delete(e){this.parsedConfig=this.parsedConfig.filter(r=>r.ref!==e),this.refs.delete(e)}toString(){return this.parsedConfig.map(({line:e})=>e).join(` +`)+` +`}},$d=class t{constructor({remotePath:e,localPath:r,force:n,matchPrefix:i}){Object.assign(this,{remotePath:e,localPath:r,force:n,matchPrefix:i})}static from(e){let[r,n,i,s,a]=e.match(/^(\+?)(.*?)(\*?):(.*?)(\*?)$/).slice(1),o=r==="+",l=i==="*";if(l!==(a==="*"))throw new he("Invalid refspec");return new t({remotePath:n,localPath:s,force:o,matchPrefix:l})}translate(e){if(this.matchPrefix){if(e.startsWith(this.remotePath))return this.localPath+e.replace(this.remotePath,"")}else if(e===this.remotePath)return this.localPath;return null}reverseTranslate(e){if(this.matchPrefix){if(e.startsWith(this.localPath))return this.remotePath+e.replace(this.localPath,"")}else if(e===this.localPath)return this.remotePath;return null}},dv=class t{constructor(e=[]){this.rules=e}static from(e){let r=[];for(let n of e)r.push($d.from(n));return new t(r)}add(e){let r=$d.from(e);this.rules.push(r)}translate(e){let r=[];for(let n of this.rules)for(let i of e){let s=n.translate(i);s&&r.push([i,s])}return r}translateOne(e){let r=null;for(let n of this.rules){let i=n.translate(e);i&&(r=i)}return r}localNamespaces(){return this.rules.filter(e=>e.matchPrefix).map(e=>e.localPath.replace(/\/$/,""))}};function e8(t,e){let r=t.replace(/\^\{\}$/,""),n=e.replace(/\^\{\}$/,""),i=-(rn);return i===0?t.endsWith("^{}")?1:-1:i}function t8(t,e){let r="",n=0,i=-1,s=0,a="\0";for(let o=0;o<=t.length;++o){if(o2){let l=r.lastIndexOf("/");l===-1?(r="",n=0):(r=r.slice(0,l),n=r.length-1-r.lastIndexOf("/")),i=o,s=0;continue}else if(r.length!==0){r="",n=0,i=o,s=0;continue}}e&&(r+=r.length>0?"/..":"..",n=2)}else r.length>0?r+="/"+t.slice(i+1,o):r=t.slice(i+1,o),n=o-i-1;i=o,s=0}else a==="."&&s!==-1?++s:s=-1}return r}function r8(t){if(!t.length)return".";let e=t[0]==="/",r=t.at(-1)==="/";return t=t8(t,!e),t.length?(r&&(t+="/"),e?`/${t}`:t):e?"/":r?"./":"."}function D(...t){if(t.length===0)return".";let e;for(let r=0;r0&&(e===void 0?e=n:e+="/"+n)}return e===void 0?".":r8(e)}var n8=t=>{if(typeof t=="number")return t;t=t.toLowerCase();let e=parseInt(t);return t.endsWith("k")&&(e*=1024),t.endsWith("m")&&(e*=1024*1024),t.endsWith("g")&&(e*=1024*1024*1024),e},qc=t=>{if(typeof t=="boolean")return t;if(t=t.trim().toLowerCase(),t==="true"||t==="yes"||t==="on")return!0;if(t==="false"||t==="no"||t==="off")return!1;throw Error(`Expected 'true', 'false', 'yes', 'no', 'on', or 'off', but got ${t}`)},ME={core:{filemode:qc,bare:qc,logallrefupdates:qc,symlinks:qc,ignorecase:qc,bigFileThreshold:n8}},i8=/^\[([A-Za-z0-9-.]+)(?: "(.*)")?\]$/,s8=/^[A-Za-z0-9-.]+$/,a8=/^([A-Za-z][A-Za-z-]*)(?: *= *(.*))?$/,o8=/^[A-Za-z][A-Za-z-]*$/,l8=/^(.*?)( *[#;].*)$/,c8=t=>{let e=i8.exec(t);if(e!=null){let[r,n]=e.slice(1);return[r,n]}return null},u8=t=>{let e=a8.exec(t);if(e!=null){let[r,n="true"]=e.slice(1),i=f8(n),s=d8(i);return[r,s]}return null},f8=t=>{let e=l8.exec(t);if(e==null)return t;let[r,n]=e.slice(1);return DE(r)&&DE(n)?`${r}${n}`:r},DE=t=>(t.match(/(?:^|[^\\])"/g)||[]).length%2!==0,d8=t=>t.split("").reduce((e,r,n,i)=>{let s=r==='"'&&i[n-1]!=="\\",a=r==="\\"&&i[n+1]==='"';return s||a?e:e+r},""),LE=t=>t!=null?t.toLowerCase():null,hv=(t,e,r)=>[LE(t),e,LE(r)].filter(n=>n!=null).join("."),NE=t=>{let e=t.split("."),r=e.shift(),n=e.pop(),i=e.length?e.join("."):void 0;return{section:r,subsection:i,name:n,path:hv(r,i,n),sectionPath:hv(r,i,null),isSection:!!r}},h8=(t,e)=>t.reduce((r,n,i)=>e(n)?i:r,-1),pv=class t{constructor(e){let r=null,n=null;this.parsedConfig=e?e.split(` +`).map(i=>{let s=null,a=null,o=i.trim(),l=c8(o),c=l!=null;if(c)[r,n]=l;else{let f=u8(o);f!=null&&([s,a]=f)}let u=hv(r,n,s);return{line:i,isSection:c,section:r,subsection:n,name:s,value:a,path:u}}):[]}static from(e){return new t(e)}async get(e,r=!1){let n=NE(e).path,i=this.parsedConfig.filter(s=>s.path===n).map(({section:s,name:a,value:o})=>{let l=ME[s]&&ME[s][a];return l?l(o):o});return r?i:i.pop()}async getall(e){return this.get(e,!0)}async getSubsections(e){return this.parsedConfig.filter(r=>r.isSection&&r.section===e).map(r=>r.subsection)}async deleteSection(e,r){this.parsedConfig=this.parsedConfig.filter(n=>!(n.section===e&&n.subsection===r))}async append(e,r){return this.set(e,r,!0)}async set(e,r,n=!1){let{section:i,subsection:s,name:a,path:o,sectionPath:l,isSection:c}=NE(e),u=h8(this.parsedConfig,f=>f.path===o);if(r==null)u!==-1&&this.parsedConfig.splice(u,1);else if(u!==-1){let f=this.parsedConfig[u],d=Object.assign({},f,{name:a,value:r,modified:!0});n?this.parsedConfig.splice(u+1,0,d):this.parsedConfig[u]=d}else{let f=this.parsedConfig.findIndex(h=>h.path===l),d={section:i,subsection:s,name:a,value:r,modified:!0,path:o};if(s8.test(i)&&o8.test(a))if(f>=0)this.parsedConfig.splice(f+1,0,d);else{let h={isSection:c,section:i,subsection:s,modified:!0,path:l};this.parsedConfig.push(h,d)}}}toString(){return this.parsedConfig.map(({line:e,section:r,subsection:n,name:i,value:s,modified:a=!1})=>a?i!=null&&s!=null?typeof s=="string"&&/[#;]/.test(s)?` ${i} = "${s}"`:` ${i} = ${s}`:n!=null?`[${r} "${n}"]`:`[${r}]`:e).join(` +`)}},lt=class{static async get({fs:e,gitdir:r}){let n=await e.read(`${r}/config`,{encoding:"utf8"});return pv.from(n)}static async save({fs:e,gitdir:r,config:n}){await e.write(`${r}/config`,n.toString(),{encoding:"utf8"})}},Ad=t=>[`${t}`,`refs/${t}`,`refs/tags/${t}`,`refs/heads/${t}`,`refs/remotes/${t}`,`refs/remotes/${t}/HEAD`],p8=["config","description","index","shallow","commondir"],tv;async function Ts(t,e){return tv===void 0&&(tv=new Wc),tv.acquire(t,e)}var z=class t{static async updateRemoteRefs({fs:e,gitdir:r,remote:n,refs:i,symrefs:s,tags:a,refspecs:o=void 0,prune:l=!1,pruneTags:c=!1}){for(let v of i.values())if(!v.match(/[0-9a-f]{40}/))throw new Rs(v);let u=await lt.get({fs:e,gitdir:r});if(!o){if(o=await u.getall(`remote.${n}.fetch`),o.length===0)throw new Yc(n);o.unshift(`+HEAD:refs/remotes/${n}/HEAD`)}let f=dv.from(o),d=new Map;if(c){let v=await t.listRefs({fs:e,gitdir:r,filepath:"refs/tags"});await t.deleteRefs({fs:e,gitdir:r,refs:v.map(w=>`refs/tags/${w}`)})}if(a){for(let v of i.keys())if(v.startsWith("refs/tags")&&!v.endsWith("^{}")&&!await t.exists({fs:e,gitdir:r,ref:v})){let w=i.get(v);d.set(v,w)}}let h=f.translate([...i.keys()]);for(let[v,w]of h){let b=i.get(v);d.set(w,b)}let m=f.translate([...s.keys()]);for(let[v,w]of m){let b=s.get(v),k=f.translateOne(b);k&&d.set(w,`ref: ${k}`)}let g=[];if(l){for(let v of f.localNamespaces()){let w=(await t.listRefs({fs:e,gitdir:r,filepath:v})).map(b=>`${v}/${b}`);for(let b of w)d.has(b)||g.push(b)}g.length>0&&await t.deleteRefs({fs:e,gitdir:r,refs:g})}for(let[v,w]of d)await Ts(v,async()=>e.write(D(r,v),`${w.trim()} +`,"utf8"));return{pruned:g}}static async writeRef({fs:e,gitdir:r,ref:n,value:i}){if(!i.match(/[0-9a-f]{40}/))throw new Rs(i);await Ts(n,async()=>e.write(D(r,n),`${i.trim()} +`,"utf8"))}static async writeSymbolicRef({fs:e,gitdir:r,ref:n,value:i}){await Ts(n,async()=>e.write(D(r,n),`ref: ${i.trim()} +`,"utf8"))}static async deleteRef({fs:e,gitdir:r,ref:n}){return t.deleteRefs({fs:e,gitdir:r,refs:[n]})}static async deleteRefs({fs:e,gitdir:r,refs:n}){await Promise.all(n.map(o=>e.rm(D(r,o))));let i=await Ts("packed-refs",async()=>e.read(`${r}/packed-refs`,{encoding:"utf8"})),s=Rd.from(i),a=s.refs.size;for(let o of n)s.refs.has(o)&&s.delete(o);s.refs.sizee.write(`${r}/packed-refs`,i,{encoding:"utf8"})))}static async resolve({fs:e,gitdir:r,ref:n,depth:i=void 0}){if(i!==void 0&&(i--,i===-1))return n;if(n.startsWith("ref: "))return n=n.slice(5),t.resolve({fs:e,gitdir:r,ref:n,depth:i});if(n.length===40&&/[0-9a-f]{40}/.test(n))return n;let s=await t.packedRefs({fs:e,gitdir:r}),a=Ad(n).filter(o=>!p8.includes(o));for(let o of a){let l=await Ts(o,async()=>await e.read(`${r}/${o}`,{encoding:"utf8"})||s.get(o));if(l)return t.resolve({fs:e,gitdir:r,ref:l.trim(),depth:i})}throw new Be(n)}static async exists({fs:e,gitdir:r,ref:n}){try{return await t.expand({fs:e,gitdir:r,ref:n}),!0}catch(i){return!1}}static async expand({fs:e,gitdir:r,ref:n}){if(n.length===40&&/[0-9a-f]{40}/.test(n))return n;let i=await t.packedRefs({fs:e,gitdir:r}),s=Ad(n);for(let a of s)if(await Ts(a,async()=>e.exists(`${r}/${a}`))||i.has(a))return a;throw new Be(n)}static async expandAgainstMap({ref:e,map:r}){let n=Ad(e);for(let i of n)if(await r.has(i))return i;throw new Be(e)}static resolveAgainstMap({ref:e,fullref:r=e,depth:n=void 0,map:i}){if(n!==void 0&&(n--,n===-1))return{fullref:r,oid:e};if(e.startsWith("ref: "))return e=e.slice(5),t.resolveAgainstMap({ref:e,fullref:r,depth:n,map:i});if(e.length===40&&/[0-9a-f]{40}/.test(e))return{fullref:r,oid:e};let s=Ad(e);for(let a of s){let o=i.get(a);if(o)return t.resolveAgainstMap({ref:o.trim(),fullref:a,depth:n,map:i})}throw new Be(e)}static async packedRefs({fs:e,gitdir:r}){let n=await Ts("packed-refs",async()=>e.read(`${r}/packed-refs`,{encoding:"utf8"}));return Rd.from(n).refs}static async listRefs({fs:e,gitdir:r,filepath:n}){let i=t.packedRefs({fs:e,gitdir:r}),s=null;try{s=await e.readdirDeep(`${r}/${n}`),s=s.map(a=>a.replace(`${r}/${n}/`,""))}catch(a){s=[]}for(let a of(await i).keys())a.startsWith(n)&&(a=a.replace(n+"/",""),s.includes(a)||s.push(a));return s.sort(e8),s}static async listBranches({fs:e,gitdir:r,remote:n}){return n?t.listRefs({fs:e,gitdir:r,filepath:`refs/remotes/${n}`}):t.listRefs({fs:e,gitdir:r,filepath:"refs/heads"})}static async listTags({fs:e,gitdir:r}){return(await t.listRefs({fs:e,gitdir:r,filepath:"refs/tags"})).filter(i=>!i.endsWith("^{}"))}};function m8(t,e){return Nd(BE(t),BE(e))}function BE(t){return t.mode==="040000"?t.path+"/":t.path}function ok(t){switch(t){case"040000":return"tree";case"100644":return"blob";case"100755":return"blob";case"120000":return"blob";case"160000":return"commit"}throw new he(`Unexpected GitTree entry mode: ${t}`)}function g8(t){let e=[],r=0;for(;r`${e.mode} ${e.type} ${e.oid} ${e.path}`).join(` +`)}toObject(){let e=[...this._entries];return e.sort(m8),Buffer.concat(e.map(r=>{let n=Buffer.from(r.mode.replace(/^0/,"")),i=Buffer.from(" "),s=Buffer.from(r.path,"utf8"),a=Buffer.from([0]),o=Buffer.from(r.oid,"hex");return Buffer.concat([n,i,s,a,o])}))}entries(){return this._entries}*[Symbol.iterator](){for(let e of this._entries)yield e}},$s=class{static wrap({type:e,object:r}){let n=`${e} ${r.length}\0`,i=n.length,s=i+r.length,a=new Uint8Array(s);for(let o=0;o>=1,i+=8;return n}function GE(t,e){let r=t.readUInt8(),n=128,i=15,s=112;if(r&n){let a=UE(t,r&i,4),o=UE(t,(r&s)>>4,3);return o===0&&(o=65536),e.slice(a,a+o)}else return t.slice(r)}function b8(t){let e=[t];return{next(){return Promise.resolve({done:e.length===0,value:e.pop()})},return(){return e=[],{}},[Symbol.asyncIterator](){return this}}}function ck(t){return t[Symbol.asyncIterator]?t[Symbol.asyncIterator]():t[Symbol.iterator]?t[Symbol.iterator]():t.next?t:b8(t)}var Id=class{constructor(e){if(typeof Buffer=="undefined")throw new Error("Missing Buffer dependency");this.stream=ck(e),this.buffer=null,this.cursor=0,this.undoCursor=0,this.started=!1,this._ended=!1,this._discardedBytes=0}eof(){return this._ended&&this.cursor===this.buffer.length}tell(){return this._discardedBytes+this.cursor}async byte(){if(!this.eof()&&(this.started||await this._init(),!(this.cursor===this.buffer.length&&(await this._loadnext(),this._ended))))return this._moveCursor(1),this.buffer[this.undoCursor]}async chunk(){if(!this.eof()&&(this.started||await this._init(),!(this.cursor===this.buffer.length&&(await this._loadnext(),this._ended))))return this._moveCursor(this.buffer.length),this.buffer.slice(this.undoCursor,this.cursor)}async read(e){if(!this.eof())return this.started||await this._init(),this.cursor+e>this.buffer.length&&(this._trim(),await this._accumulate(e)),this._moveCursor(e),this.buffer.slice(this.undoCursor,this.cursor)}async skip(e){this.eof()||(this.started||await this._init(),this.cursor+e>this.buffer.length&&(this._trim(),await this._accumulate(e)),this._moveCursor(e))}async undo(){this.cursor=this.undoCursor}async _next(){this.started=!0;let{done:e,value:r}=await this.stream.next();return e&&(this._ended=!0,!r)?Buffer.alloc(0):(r&&(r=Buffer.from(r)),r)}_trim(){this.buffer=this.buffer.slice(this.undoCursor),this.cursor-=this.undoCursor,this._discardedBytes+=this.undoCursor,this.undoCursor=0}_moveCursor(e){this.undoCursor=this.cursor,this.cursor+=e,this.cursor>this.buffer.length&&(this.cursor=this.buffer.length)}async _accumulate(e){if(this._ended)return;let r=[this.buffer];for(;this.cursor+e>_8(r);){let n=await this._next();if(this._ended)break;r.push(n)}this.buffer=Buffer.concat(r)}async _loadnext(){this._discardedBytes+=this.buffer.length,this.undoCursor=0,this.cursor=0,this.buffer=await this._next()}async _init(){this.buffer=await this._next()}};function _8(t){return t.reduce((e,r)=>e+r.length,0)}async function x8(t,e){let r=new Id(t),n=await r.read(4);if(n=n.toString("utf8"),n!=="PACK")throw new he(`Invalid PACK header '${n}'`);let i=await r.read(4);if(i=i.readUInt32BE(0),i!==2)throw new he(`Invalid packfile version: ${i}`);let s=await r.read(4);if(s=s.readUInt32BE(0),!(s<1))for(;!r.eof()&&s--;){let a=r.tell(),{type:o,length:l,ofs:c,reference:u}=await S8(r),f=new xv.Inflate;for(;!f.result;){let d=await r.chunk();if(!d)break;if(f.push(d,!1),f.err)throw new he(`Pako error: ${f.msg}`);if(f.result){if(f.result.length!==l)throw new he("Inflated object size is different from that stated in packfile.");await r.undo(),await r.read(d.length-f.strm.avail_in);let h=r.tell();await e({data:f.result,type:o,num:s,offset:a,end:h,reference:u,ofs:c})}}}}async function S8(t){let e=await t.byte(),r=e>>4&7,n=e&15;if(e&128){let a=4;do e=await t.byte(),n|=(e&127)<i+1<<7|s,-1)}function C8(t,e){let r=e,n=4,i=null;do i=t.readUInt8(),r|=(i&127)<2048*1024*1024)throw new he("To keep implementation simple, I haven't implemented the layer 5 feature needed to support packfiles > 2GB in size.");n.seek(n.tell()+4*255);let a=n.readUInt32BE(),o=[];for(let u=0;u{u===null&&(u=x);let E=Math.floor((u-x)*100/u);E!==f&&n&&await n({phase:"Receiving objects",loaded:u-x,total:u}),f=E,w=i[w],["commit","tree","blob","tag"].includes(w)?s[k]={type:w,offset:k}:w==="ofs-delta"?s[k]={type:w,offset:k}:w==="ref-delta"&&(s[k]={type:w,offset:k})});let d=Object.keys(s).map(Number);for(let[v,w]of d.entries()){let b=v+1===d.length?e.byteLength-20:d[v+1],k=s[w],x=G3.buf(e.slice(w,b))>>>0;k.end=b,k.crc=x}let h=new t({pack:Promise.resolve(e),packfileSha:a,crcs:l,hashes:o,offsets:c,getExternalRefDelta:r});f=null;let m=0,g=[0,0,0,0,0,0,0,0,0,0,0,0];for(let v in s){v=Number(v);let w=Math.floor(m*100/u);w!==f&&n&&await n({phase:"Resolving deltas",loaded:m,total:u}),m++,f=w;let b=s[v];if(!b.oid)try{h.readDepth=0,h.externalReadDepth=0;let{type:k,object:x}=await h.readSlice({start:v});g[h.readDepth]+=1;let E=await zi($s.wrap({type:k,object:x}));b.oid=E,o.push(E),c.set(E,v),l[E]=b.crc}catch(k){continue}}return o.sort(),h}async toBuffer(){let e=[],r=(c,u)=>{e.push(Buffer.from(c,u))};r("ff744f63","hex"),r("00000002","hex");let n=new mn(Buffer.alloc(256*4));for(let c=0;c<256;c++){let u=0;for(let f of this.hashes)parseInt(f.slice(0,2),16)<=c&&u++;n.writeUInt32BE(u)}e.push(n.buffer);for(let c of this.hashes)r(c,"hex");let i=new mn(Buffer.alloc(this.hashes.length*4));for(let c of this.hashes)i.writeUInt32BE(this.crcs[c]);e.push(i.buffer);let s=new mn(Buffer.alloc(this.hashes.length*4));for(let c of this.hashes)s.writeUInt32BE(this.offsets.get(c));e.push(s.buffer),r(this.packfileSha,"hex");let a=Buffer.concat(e),o=await zi(a),l=Buffer.alloc(20);return l.write(o,"hex"),Buffer.concat([a,l])}async load({pack:e}){this.pack=e}async unload(){this.pack=null}async read({oid:e}){if(!this.offsets.get(e)){if(this.getExternalRefDelta)return this.externalReadDepth++,this.getExternalRefDelta(e);throw new he(`Could not read object ${e} from packfile`)}let r=this.offsets.get(e);return this.readSlice({start:r})}async readSlice({start:e}){if(this.offsetCache[e])return Object.assign({},this.offsetCache[e]);this.readDepth++;let r={16:"commit",32:"tree",48:"blob",64:"tag",96:"ofs_delta",112:"ref_delta"};if(!this.pack)throw new he("Tried to read from a GitPackIndex with no packfile loaded into memory");let n=(await this.pack).slice(e),i=new mn(n),s=i.readUInt8(),a=s&112,o=r[a];if(o===void 0)throw new he("Unrecognized type: 0b"+a.toString(2));let l=s&15,c=l;s&128&&(c=C8(i,l));let f=null,d=null;if(o==="ofs_delta"){let m=A8(i),g=e-m;({object:f,type:o}=await this.readSlice({start:g}))}if(o==="ref_delta"){let m=i.slice(20).toString("hex");({object:f,type:o}=await this.read({oid:m}))}let h=n.slice(i.tell());if(d=Buffer.from(await uk(h)),d.byteLength!==c)throw new he(`Packfile told us object would have length ${c} but it had length ${d.byteLength}`);return f&&(d=Buffer.from(y8(d,f))),this.readDepth>3&&(this.offsetCache[e]={type:o,object:d}),{type:o,format:"content",object:d}}},Cd=Symbol("PackfileCache");async function T8({fs:t,filename:e,getExternalRefDelta:r,emitter:n,emitterPrefix:i}){let s=await t.read(e);return Xc.fromIdx({idx:s,getExternalRefDelta:r})}function Sv({fs:t,cache:e,filename:r,getExternalRefDelta:n,emitter:i,emitterPrefix:s}){e[Cd]||(e[Cd]=new Map);let a=e[Cd].get(r);return a||(a=T8({fs:t,filename:r,getExternalRefDelta:n,emitter:i,emitterPrefix:s}),e[Cd].set(r,a)),a}async function P8({fs:t,cache:e,gitdir:r,oid:n,format:i="content",getExternalRefDelta:s}){let a=await t.readdir(D(r,"objects/pack"));a=a.filter(o=>o.endsWith(".idx"));for(let o of a){let l=`${r}/objects/pack/${o}`,c=await Sv({fs:t,cache:e,filename:l,getExternalRefDelta:s});if(c.error)throw new he(c.error);if(c.offsets.has(n)){if(!c.pack){let f=l.replace(/idx$/,"pack");c.pack=t.read(f)}let u=await c.read({oid:n,getExternalRefDelta:s});return u.format="content",u.source=`objects/pack/${o.replace(/idx$/,"pack")}`,u}}return null}async function Xe({fs:t,cache:e,gitdir:r,oid:n,format:i="content"}){let s=u=>Xe({fs:t,cache:e,gitdir:r,oid:u}),a;if(n==="4b825dc642cb6eb9a060e54bf8d69288fbee4904"&&(a={format:"wrapped",object:Buffer.from("tree 0\0")}),a||(a=await lk({fs:t,gitdir:r,oid:n})),!a){if(a=await P8({fs:t,cache:e,gitdir:r,oid:n,getExternalRefDelta:s}),!a)throw new Be(n);return a}if(i==="deflated"||(a.format==="deflated"&&(a.object=Buffer.from(await uk(a.object)),a.format="wrapped"),i==="wrapped"))return a;let o=await zi(a.object);if(o!==n)throw new he(`SHA check failed! Expected ${n}, computed ${o}`);let{object:l,type:c}=$s.unwrap(a.object);if(a.type=c,a.object=l,a.format="content",i==="content")return a;throw new he(`invalid requested format "${i}"`)}var Mn=class t extends Re{constructor(e,r,n=!0){super(`Failed to create ${e} at ${r} because it already exists.${n?` (Hint: use 'force: true' parameter to overwrite existing ${e}.)`:""}`),this.code=this.name=t.code,this.data={noun:e,where:r,canForce:n}}};Mn.code="AlreadyExistsError";var Zc=class t extends Re{constructor(e,r,n){super(`Found multiple ${e} matching "${r}" (${n.join(", ")}). Use a longer abbreviation length to disambiguate them.`),this.code=this.name=t.code,this.data={nouns:e,short:r,matches:n}}};Zc.code="AmbiguousError";var Kc=class t extends Re{constructor(e){super(`Your local changes to the following files would be overwritten by checkout: ${e.join(", ")}`),this.code=this.name=t.code,this.data={filepaths:e}}};Kc.code="CheckoutConflictError";var Qc=class t extends Re{constructor(e,r){super(`Failed to checkout "${e}" because commit ${r} is not available locally. Do a git fetch to make the branch available locally.`),this.code=this.name=t.code,this.data={ref:e,oid:r}}};Qc.code="CommitNotFetchedError";var Jc=class t extends Re{constructor(){super("Empty response from git server."),this.code=this.name=t.code,this.data={}}};Jc.code="EmptyServerResponseError";var eu=class t extends Re{constructor(){super("A simple fast-forward merge was not possible."),this.code=this.name=t.code,this.data={}}};eu.code="FastForwardError";var tu=class t extends Re{constructor(e,r){super(`One or more branches were not updated: ${e}`),this.code=this.name=t.code,this.data={prettyDetails:e,result:r}}};tu.code="GitPushError";var Yo=class t extends Re{constructor(e,r,n){super(`HTTP Error: ${e} ${r}`),this.code=this.name=t.code,this.data={statusCode:e,statusMessage:r,response:n}}};Yo.code="HttpError";var Is=class t extends Re{constructor(e){let r="invalid filepath";e==="leading-slash"||e==="trailing-slash"?r='"filepath" parameter should not include leading or trailing directory separators because these can cause problems on some platforms.':e==="directory"&&(r='"filepath" should not be a directory.'),super(r),this.code=this.name=t.code,this.data={reason:e}}};Is.code="InvalidFilepathError";var Dn=class t extends Re{constructor(e,r){super(`"${e}" would be an invalid git reference. (Hint: a valid alternative would be "${r}".)`),this.code=this.name=t.code,this.data={ref:e,suggestion:r}}};Dn.code="InvalidRefNameError";var ru=class t extends Re{constructor(e){super(`Maximum search depth of ${e} exceeded.`),this.code=this.name=t.code,this.data={depth:e}}};ru.code="MaxDepthError";var Xo=class t extends Re{constructor(){super("Merges with conflicts are not supported yet."),this.code=this.name=t.code,this.data={}}};Xo.code="MergeNotSupportedError";var Zo=class t extends Re{constructor(e,r,n,i){super(`Automatic merge failed with one or more merge conflicts in the following files: ${e.toString()}. Fix conflicts then commit the result.`),this.code=this.name=t.code,this.data={filepaths:e,bothModified:r,deleteByUs:n,deleteByTheirs:i}}};Zo.code="MergeConflictError";var Kt=class t extends Re{constructor(e){super(`No name was provided for ${e} in the argument or in the .git/config file.`),this.code=this.name=t.code,this.data={role:e}}};Kt.code="MissingNameError";var Sr=class t extends Re{constructor(e){super(`The function requires a "${e}" parameter but none was provided.`),this.code=this.name=t.code,this.data={parameter:e}}};Sr.code="MissingParameterError";var nu=class t extends Re{constructor(e){super('There are multiple errors that were thrown by the method. Please refer to the "errors" property to see more'),this.code=this.name=t.code,this.data={errors:e},this.errors=e}};nu.code="MultipleGitError";var Ea=class t extends Re{constructor(e,r){super(`Expected "${e}" but received "${r}".`),this.code=this.name=t.code,this.data={expected:e,actual:r}}};Ea.code="ParseError";var Ko=class t extends Re{constructor(e){let r="";e==="not-fast-forward"?r=" because it was not a simple fast-forward":e==="tag-exists"&&(r=" because tag already exists"),super(`Push rejected${r}. Use "force: true" to override.`),this.code=this.name=t.code,this.data={reason:e}}};Ko.code="PushRejectedError";var Ps=class t extends Re{constructor(e,r){super(`Remote does not support the "${e}" so the "${r}" parameter cannot be used.`),this.code=this.name=t.code,this.data={capability:e,parameter:r}}};Ps.code="RemoteCapabilityError";var iu=class t extends Re{constructor(e,r){super(`Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${e}`),this.code=this.name=t.code,this.data={preview:e,response:r}}};iu.code="SmartHttpError";var su=class t extends Re{constructor(e,r,n){super(`Git remote "${e}" uses an unrecognized transport protocol: "${r}"`),this.code=this.name=t.code,this.data={url:e,transport:r,suggestion:n}}};su.code="UnknownTransportError";var au=class t extends Re{constructor(e){super(`Cannot parse remote URL: "${e}"`),this.code=this.name=t.code,this.data={url:e}}};au.code="UrlParseError";var Qo=class t extends Re{constructor(){super("The operation was canceled."),this.code=this.name=t.code,this.data={}}};Qo.code="UserCanceledError";var ou=class t extends Re{constructor(e){super(`Could not merge index: Entry for '${e}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged changes.`),this.code=this.name=t.code,this.data={filepath:e}}};ou.code="IndexResetError";var lu=class t extends Re{constructor(e){super(`"${e}" does not point to any commit. You're maybe working on a repository with no commits yet. `),this.code=this.name=t.code,this.data={ref:e}}};lu.code="NoCommitError";var fk=Object.freeze({__proto__:null,AlreadyExistsError:Mn,AmbiguousError:Zc,CheckoutConflictError:Kc,CommitNotFetchedError:Qc,EmptyServerResponseError:Jc,FastForwardError:eu,GitPushError:tu,HttpError:Yo,InternalError:he,InvalidFilepathError:Is,InvalidOidError:Rs,InvalidRefNameError:Dn,MaxDepthError:ru,MergeNotSupportedError:Xo,MergeConflictError:Zo,MissingNameError:Kt,MissingParameterError:Sr,MultipleGitError:nu,NoRefspecError:Yc,NotFoundError:Be,ObjectTypeError:fr,ParseError:Ea,PushRejectedError:Ko,RemoteCapabilityError:Ps,SmartHttpError:iu,UnknownTransportError:su,UnsafeFilepathError:zo,UrlParseError:au,UserCanceledError:Qo,UnmergedPathsError:Vc,IndexResetError:ou,NoCommitError:lu});function mv({name:t,email:e,timestamp:r,timezoneOffset:n}){return n=R8(n),`${t} <${e}> ${r} ${n}`}function R8(t){let e=$8(I8(t));t=Math.abs(t);let r=Math.floor(t/60);t-=r*60;let n=String(r),i=String(t);return n.length<2&&(n="0"+n),i.length<2&&(i="0"+i),(e===-1?"-":"+")+n+i}function $8(t){return Math.sign(t)||(Object.is(t,-0)?-1:1)}function I8(t){return t===0?t:-t}function Wi(t){return t=t.replace(/\r/g,""),t=t.replace(/^\n+/,""),t=t.replace(/\n+$/,"")+` +`,t}function Fd(t){let[,e,r,n,i]=t.match(/^(.*) <(.*)> (.*) (.*)$/);return{name:e,email:r,timestamp:Number(n),timezoneOffset:F8(i)}}function F8(t){let[,e,r,n]=t.match(/(\+|-)(\d\d)(\d\d)/);return n=(e==="+"?1:-1)*(Number(r)*60+Number(n)),O8(n)}function O8(t){return t===0?t:-t}var Zr=class t{constructor(e){if(typeof e=="string")this._tag=e;else if(Buffer.isBuffer(e))this._tag=e.toString("utf8");else if(typeof e=="object")this._tag=t.render(e);else throw new he("invalid type passed to GitAnnotatedTag constructor")}static from(e){return new t(e)}static render(e){return`object ${e.object} +type ${e.type} +tag ${e.tag} +tagger ${mv(e.tagger)} + +${e.message} +${e.gpgsig?e.gpgsig:""}`}justHeaders(){return this._tag.slice(0,this._tag.indexOf(` + +`))}message(){let e=this.withoutSignature();return e.slice(e.indexOf(` + +`)+2)}parse(){return Object.assign(this.headers(),{message:this.message(),gpgsig:this.gpgsig()})}render(){return this._tag}headers(){let e=this.justHeaders().split(` +`),r=[];for(let i of e)i[0]===" "?r[r.length-1]+=` +`+i.slice(1):r.push(i);let n={};for(let i of r){let s=i.slice(0,i.indexOf(" ")),a=i.slice(i.indexOf(" ")+1);Array.isArray(n[s])?n[s].push(a):n[s]=a}return n.tagger&&(n.tagger=Fd(n.tagger)),n.committer&&(n.committer=Fd(n.committer)),n}withoutSignature(){let e=Wi(this._tag);return e.indexOf(` +-----BEGIN PGP SIGNATURE-----`)===-1?e:e.slice(0,e.lastIndexOf(` +-----BEGIN PGP SIGNATURE-----`))}gpgsig(){if(this._tag.indexOf(` +-----BEGIN PGP SIGNATURE-----`)===-1)return;let e=this._tag.slice(this._tag.indexOf("-----BEGIN PGP SIGNATURE-----"),this._tag.indexOf("-----END PGP SIGNATURE-----")+27);return Wi(e)}payload(){return this.withoutSignature()+` +`}toObject(){return Buffer.from(this._tag,"utf8")}static async sign(e,r,n){let i=e.payload(),{signature:s}=await r({payload:i,secretKey:n});s=Wi(s);let a=i+s;return t.from(a)}};function nv(t){return t.trim().split(` +`).map(e=>" "+e).join(` +`)+` +`}function M8(t){return t.split(` +`).map(e=>e.replace(/^ /,"")).join(` +`)}var kr=class t{constructor(e){if(typeof e=="string")this._commit=e;else if(Buffer.isBuffer(e))this._commit=e.toString("utf8");else if(typeof e=="object")this._commit=t.render(e);else throw new he("invalid type passed to GitCommit constructor")}static fromPayloadSignature({payload:e,signature:r}){let n=t.justHeaders(e),i=t.justMessage(e),s=Wi(n+` +gpgsig`+nv(r)+` +`+i);return new t(s)}static from(e){return new t(e)}toObject(){return Buffer.from(this._commit,"utf8")}headers(){return this.parseHeaders()}message(){return t.justMessage(this._commit)}parse(){return Object.assign({message:this.message()},this.headers())}static justMessage(e){return Wi(e.slice(e.indexOf(` + +`)+2))}static justHeaders(e){return e.slice(0,e.indexOf(` + +`))}parseHeaders(){let e=t.justHeaders(this._commit).split(` +`),r=[];for(let i of e)i[0]===" "?r[r.length-1]+=` +`+i.slice(1):r.push(i);let n={parent:[]};for(let i of r){let s=i.slice(0,i.indexOf(" ")),a=i.slice(i.indexOf(" ")+1);Array.isArray(n[s])?n[s].push(a):n[s]=a}return n.author&&(n.author=Fd(n.author)),n.committer&&(n.committer=Fd(n.committer)),n}static renderHeaders(e){let r="";if(e.tree?r+=`tree ${e.tree} +`:r+=`tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904 +`,e.parent){if(e.parent.length===void 0)throw new he("commit 'parent' property should be an array");for(let s of e.parent)r+=`parent ${s} +`}let n=e.author;r+=`author ${mv(n)} +`;let i=e.committer||e.author;return r+=`committer ${mv(i)} +`,e.gpgsig&&(r+="gpgsig"+nv(e.gpgsig)),r}static render(e){return t.renderHeaders(e)+` +`+Wi(e.message)}render(){return this._commit}withoutSignature(){let e=Wi(this._commit);if(e.indexOf(` +gpgsig`)===-1)return e;let r=e.slice(0,e.indexOf(` +gpgsig`)),n=e.slice(e.indexOf(`-----END PGP SIGNATURE----- +`)+28);return Wi(r+` +`+n)}isolateSignature(){let e=this._commit.slice(this._commit.indexOf("-----BEGIN PGP SIGNATURE-----"),this._commit.indexOf("-----END PGP SIGNATURE-----")+27);return M8(e)}static async sign(e,r,n){let i=e.withoutSignature(),s=t.justMessage(e._commit),{signature:a}=await r({payload:i,secretKey:n});a=Wi(a);let l=t.justHeaders(e._commit)+` +gpgsig`+nv(a)+` +`+s;return t.from(l)}};async function Jo({fs:t,cache:e,gitdir:r,oid:n}){if(n==="4b825dc642cb6eb9a060e54bf8d69288fbee4904")return{tree:Er.from([]),oid:n};let{type:i,object:s}=await Xe({fs:t,cache:e,gitdir:r,oid:n});if(i==="tag")return n=Zr.from(s).parse().object,Jo({fs:t,cache:e,gitdir:r,oid:n});if(i==="commit")return n=kr.from(s).parse().tree,Jo({fs:t,cache:e,gitdir:r,oid:n});if(i!=="tree")throw new fr(n,i,"tree");return{tree:Er.from(s),oid:n}}var gv=class{constructor({fs:e,gitdir:r,ref:n,cache:i}){this.fs=e,this.cache=i,this.gitdir=r,this.mapPromise=(async()=>{let a=new Map,o;try{o=await z.resolve({fs:e,gitdir:r,ref:n})}catch(c){c instanceof Be&&(o="4b825dc642cb6eb9a060e54bf8d69288fbee4904")}let l=await Jo({fs:e,cache:this.cache,gitdir:r,oid:o});return l.type="tree",l.mode="40000",a.set(".",l),a})();let s=this;this.ConstructEntry=class{constructor(o){this._fullpath=o,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return s.type(this)}async mode(){return s.mode(this)}async stat(){return s.stat(this)}async content(){return s.content(this)}async oid(){return s.oid(this)}}}async readdir(e){let r=e._fullpath,{fs:n,cache:i,gitdir:s}=this,a=await this.mapPromise,o=a.get(r);if(!o)throw new Error(`No obj for ${r}`);let l=o.oid;if(!l)throw new Error(`No oid for obj ${JSON.stringify(o)}`);if(o.type!=="tree")return null;let{type:c,object:u}=await Xe({fs:n,cache:i,gitdir:s,oid:l});if(c!==o.type)throw new fr(l,c,o.type);let f=Er.from(u);for(let d of f)a.set(D(r,d.path),d);return f.entries().map(d=>D(r,d.path))}async type(e){if(e._type===!1){let r=await this.mapPromise,{type:n}=r.get(e._fullpath);e._type=n}return e._type}async mode(e){if(e._mode===!1){let r=await this.mapPromise,{mode:n}=r.get(e._fullpath);e._mode=ik(parseInt(n,8))}return e._mode}async stat(e){}async content(e){if(e._content===!1){let r=await this.mapPromise,{fs:n,cache:i,gitdir:s}=this,o=r.get(e._fullpath).oid,{type:l,object:c}=await Xe({fs:n,cache:i,gitdir:s,oid:o});l!=="blob"?e._content=void 0:e._content=new Uint8Array(c)}return e._content}async oid(e){if(e._oid===!1){let n=(await this.mapPromise).get(e._fullpath);e._oid=n.oid}return e._oid}};function Xr({ref:t="HEAD"}={}){let e=Object.create(null);return Object.defineProperty(e,Bd,{value:function({fs:r,gitdir:n,cache:i}){return new gv({fs:r,gitdir:n,ref:t,cache:i})}}),Object.freeze(e),e}var vv=class{constructor({fs:e,dir:r,gitdir:n,cache:i}){this.fs=e,this.cache=i,this.dir=r,this.gitdir=n,this.config=null;let s=this;this.ConstructEntry=class{constructor(o){this._fullpath=o,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return s.type(this)}async mode(){return s.mode(this)}async stat(){return s.stat(this)}async content(){return s.content(this)}async oid(){return s.oid(this)}}}async readdir(e){let r=e._fullpath,{fs:n,dir:i}=this,s=await n.readdir(D(i,r));return s===null?null:s.map(a=>D(r,a))}async type(e){return e._type===!1&&await e.stat(),e._type}async mode(e){return e._mode===!1&&await e.stat(),e._mode}async stat(e){if(e._stat===!1){let{fs:r,dir:n}=this,i=await r.lstat(`${n}/${e._fullpath}`);if(!i)throw new Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let s=i.isDirectory()?"tree":"blob";s==="blob"&&!i.isFile()&&!i.isSymbolicLink()&&(s="special"),e._type=s,i=Vo(i),e._mode=i.mode,i.size===-1&&e._actualSize&&(i.size=e._actualSize),e._stat=i}return e._stat}async content(e){if(e._content===!1){let{fs:r,dir:n,gitdir:i}=this;if(await e.type()==="tree")e._content=void 0;else{let s;if(await e.mode()>>12===10)s=await r.readlink(`${n}/${e._fullpath}`);else{let o=await(await this._getGitConfig(r,i)).get("core.autocrlf");s=await r.read(`${n}/${e._fullpath}`,{autocrlf:o})}e._actualSize=s.length,e._stat&&e._stat.size===-1&&(e._stat.size=e._actualSize),e._content=new Uint8Array(s)}}return e._content}async oid(e){if(e._oid===!1){let r=this,{fs:n,gitdir:i,cache:s}=this,a;await ht.acquire({fs:n,gitdir:i,cache:s},async function(o){let l=o.entriesMap.get(e._fullpath),c=await e.stat(),f=await(await r._getGitConfig(n,i)).get("core.filemode"),d=typeof process!="undefined"?process.platform!=="win32":!0;if(!l||Td(c,l,f,d)){let h=await e.content();h===void 0?a=void 0:(a=await zi($s.wrap({type:"blob",object:h})),l&&a===l.oid&&(!f||c.mode===l.mode)&&Td(c,l,f,d)&&o.insert({filepath:e._fullpath,stats:c,oid:a}))}else a=l.oid}),e._oid=a}return e._oid}async _getGitConfig(e,r){return this.config?this.config:(this.config=await lt.get({fs:e,gitdir:r}),this.config)}};function sl(){let t=Object.create(null);return Object.defineProperty(t,Bd,{value:function({fs:e,dir:r,gitdir:n,cache:i}){return new vv({fs:e,dir:r,gitdir:n,cache:i})}}),Object.freeze(t),t}function D8(t,e){let r=e-t;return Array.from({length:r},(n,i)=>t+i)}var dk=typeof Array.prototype.flat=="undefined"?t=>t.reduce((e,r)=>e.concat(r),[]):t=>t.flat(),wv=class{constructor(){this.value=null}consider(e){e!=null&&(this.value===null?this.value=e:ec,reduce:a=async(l,c)=>{let u=dk(c);return l!==void 0&&u.unshift(l),u},iterate:o=(l,c)=>Promise.all([...c].map(l))}){let l=i.map(h=>h[Bd]({fs:t,dir:r,gitdir:n,cache:e})),c=new Array(l.length).fill("."),u=D8(0,l.length),f=async h=>{u.forEach(v=>{let w=h[v];h[v]=w&&new l[v].ConstructEntry(w)});let g=(await Promise.all(u.map(v=>{let w=h[v];return w?l[v].readdir(w):[]}))).map(v=>(v===null?[]:v)[Symbol.iterator]());return{entries:h,children:L8(g)}},d=async h=>{let{entries:m,children:g}=await f(h),v=m.find(b=>b&&b._fullpath)._fullpath,w=await s(v,m);if(w!==null){let b=await o(d,g);return b=b.filter(k=>k!==void 0),a(w,b)}};return d(c)}async function yv(t,e){let r=await t.readdir(e);r==null?await t.rm(e):r.length?await Promise.all(r.map(n=>{let i=D(e,n);return t.lstat(i).then(s=>{if(s)return s.isDirectory()?yv(t,i):t.rm(i)})})).then(()=>t.rmdir(e)):await t.rmdir(e)}function N8(t){return B8(t)&&jE(t.then)&&jE(t.catch)}function B8(t){return t&&typeof t=="object"}function jE(t){return typeof t=="function"}function qE(t){return N8((r=>{try{return r.readFile().catch(n=>n)}catch(n){return n}})(t))}var WE=["readFile","writeFile","mkdir","rmdir","unlink","stat","lstat","readdir","readlink","symlink"];function zE(t,e){if(qE(e))for(let r of WE)t[`_${r}`]=e[r].bind(e);else for(let r of WE)t[`_${r}`]=kd(e[r].bind(e));qE(e)?(e.cp&&(t._cp=e.cp.bind(e)),e.rm?t._rm=e.rm.bind(e):e.rmdir.length>1?t._rm=e.rmdir.bind(e):t._rm=yv.bind(null,t)):(e.cp&&(t._cp=kd(e.cp.bind(e))),e.rm?t._rm=kd(e.rm.bind(e)):e.rmdir.length>2?t._rm=kd(e.rmdir.bind(e)):t._rm=yv.bind(null,t))}var Q=class{constructor(e){if(typeof e._original_unwrapped_fs!="undefined")return e;let r=Object.getOwnPropertyDescriptor(e,"promises");r&&r.enumerable?zE(this,e.promises):zE(this,e),this._original_unwrapped_fs=e}async exists(e,r={}){try{return await this._stat(e),!0}catch(n){if(n.code==="ENOENT"||n.code==="ENOTDIR"||(n.code||"").includes("ENS"))return!1;throw console.log('Unhandled error in "FileSystem.exists()" function',n),n}}async read(e,r={}){try{let n=await this._readFile(e,r);if(r.autocrlf==="true")try{n=new TextDecoder("utf8",{fatal:!0}).decode(n),n=n.replace(/\r\n/g,` +`),n=new TextEncoder().encode(n)}catch(i){}return typeof n!="string"&&(n=Buffer.from(n)),n}catch(n){return null}}async write(e,r,n={}){try{await this._writeFile(e,r,n)}catch(i){await this.mkdir(Sa(e)),await this._writeFile(e,r,n)}}async mkdir(e,r=!1){try{await this._mkdir(e)}catch(n){if(n===null||n.code==="EEXIST")return;if(r)throw n;if(n.code==="ENOENT"){let i=Sa(e);if(i==="."||i==="/"||i===e)throw n;await this.mkdir(i),await this.mkdir(e,!0)}}}async rm(e){try{await this._unlink(e)}catch(r){if(r.code!=="ENOENT")throw r}}async rmdir(e,r){try{r&&r.recursive?await this._rm(e,r):await this._rmdir(e)}catch(n){if(n.code!=="ENOENT")throw n}}async readdir(e){try{let r=await this._readdir(e);return r.sort(Nd),r}catch(r){return r.code==="ENOTDIR"?null:[]}}async readdirDeep(e){let r=await this._readdir(e);return(await Promise.all(r.map(async i=>{let s=e+"/"+i;return(await this._stat(s)).isDirectory()?this.readdirDeep(s):s}))).reduce((i,s)=>i.concat(s),[])}async lstat(e){try{return await this._lstat(e)}catch(r){if(r.code==="ENOENT"||(r.code||"").includes("ENS"))return null;throw r}}async readlink(e,r={encoding:"buffer"}){try{let n=await this._readlink(e,r);return Buffer.isBuffer(n)?n:Buffer.from(n)}catch(n){if(n.code==="ENOENT"||(n.code||"").includes("ENS"))return null;throw n}}async writelink(e,r){return this._symlink(r.toString("utf8"),e)}};function T(t,e){if(e===void 0)throw new Sr(t)}async function J({fsp:t,dotgit:e}){T("fsp",t),T("dotgit",e);let r=await t._stat(e).catch(()=>({isFile:()=>!1,isDirectory:()=>!1}));return r.isDirectory()?e:r.isFile()?t._readFile(e,"utf8").then(n=>n.trimRight().substr(8)).then(n=>D(Sa(e),n)):e}async function Od(t,e){return!t&&!e?!1:t&&!e||!t&&e?!0:!(await t.type()==="tree"&&await e.type()==="tree"||await t.type()===await e.type()&&await t.mode()===await e.mode()&&await t.oid()===await e.oid())}async function hk({fs:t,dir:e,gitdir:r=D(e,".git"),commit:n="HEAD",cache:i={}}){try{T("fs",t),T("dir",e),T("gitdir",r);let s=new Q(t),a=[Xr({ref:n}),sl(),Ca()],o=[],l=await J({fsp:s,dotgit:r});await ht.acquire({fs:s,gitdir:l,cache:i},async function(u){o=u.unmergedPaths});let c=await Fs({fs:s,cache:i,dir:e,gitdir:l,trees:a,map:async function(u,[f,d,h]){let m=!await Od(d,h),g=o.includes(u),v=!await Od(h,f);if(m||g)return f?{path:u,mode:await f.mode(),oid:await f.oid(),type:await f.type(),content:await f.content()}:void 0;if(v)return!1;throw new ou(u)}});await ht.acquire({fs:s,gitdir:l,cache:i},async function(u){for(let f of c)if(f!==!1){if(!f){await s.rmdir(`${e}/${f.path}`,{recursive:!0}),u.delete({filepath:f.path});continue}if(f.type==="blob"){let d=new TextDecoder().decode(f.content);await s.write(`${e}/${f.path}`,d,{mode:f.mode}),u.insert({filepath:f.path,oid:f.oid,stage:0})}}})}catch(s){throw s.caller="git.abortMerge",s}}var Os=class{static async isIgnored({fs:e,dir:r,gitdir:n=D(r,".git"),filepath:i}){if(Pd(i)===".git")return!0;if(i===".")return!1;let s="",a=D(n,"info","exclude");await e.exists(a)&&(s=await e.read(a,"utf8"));let o=[{gitignore:D(r,".gitignore"),filepath:i}],l=i.split("/").filter(Boolean);for(let u=1;u{let f=await(await lt.get({fs:o,gitdir:l})).get("core.autocrlf");return bv({dir:e,gitdir:l,fs:o,filepath:n,index:c,force:s,parallel:a,autocrlf:f})})}catch(o){throw o.caller="git.add",o}}async function bv({dir:t,gitdir:e,fs:r,filepath:n,index:i,force:s,parallel:a,autocrlf:o}){n=Array.isArray(n)?n:[n];let l=n.map(async d=>{if(!s&&await Os.isIgnored({fs:r,dir:t,gitdir:e,filepath:d}))return;let h=await r.lstat(D(t,d));if(!h)throw new Be(d);if(h.isDirectory()){let m=await r.readdir(D(t,d));if(a){let g=m.map(v=>bv({dir:t,gitdir:e,fs:r,filepath:[D(d,v)],index:i,force:s,parallel:a,autocrlf:o}));await Promise.all(g)}else for(let g of m)await bv({dir:t,gitdir:e,fs:r,filepath:[D(d,g)],index:i,force:s,parallel:a,autocrlf:o})}else{let m=h.isSymbolicLink()?await r.readlink(D(t,d)).then(mk):await r.read(D(t,d),{autocrlf:o});if(m===null)throw new Be(d);let g=await Ar({fs:r,gitdir:e,type:"blob",object:m});i.insert({filepath:d,stats:h,oid:g})}}),c=await Promise.allSettled(l),u=c.filter(d=>d.status==="rejected").map(d=>d.reason);if(u.length>1)throw new nu(u);if(u.length===1)throw u[0];return c.filter(d=>d.status==="fulfilled"&&d.value).map(d=>d.value)}async function cu({fs:t,gitdir:e,path:r}){return(await lt.get({fs:t,gitdir:e})).get(r)}function vk(t,...e){for(let r of e)if(r)for(let n of Object.keys(r)){let i=r[n];i!==void 0&&(t[n]=i)}return t}async function Ms({fs:t,gitdir:e,author:r,commit:n}){let i=Math.floor(Date.now()/1e3),s={name:await cu({fs:t,gitdir:e,path:"user.name"}),email:await cu({fs:t,gitdir:e,path:"user.email"})||"",timestamp:i,timezoneOffset:new Date(i*1e3).getTimezoneOffset()},a=vk({},s,n?n.author:void 0,r);if(a.name!==void 0)return a}async function el({fs:t,gitdir:e,author:r,committer:n,commit:i}){let s=Math.floor(Date.now()/1e3),a={name:await cu({fs:t,gitdir:e,path:"user.name"}),email:await cu({fs:t,gitdir:e,path:"user.email"})||"",timestamp:s,timezoneOffset:new Date(s*1e3).getTimezoneOffset()},o=vk({},a,i?i.committer:void 0,r,n);if(o.name!==void 0)return o}async function wk({fs:t,cache:e,gitdir:r,oid:n}){let{type:i,object:s}=await Xe({fs:t,cache:e,gitdir:r,oid:n});if(i==="tag")return n=Zr.from(s).parse().object,wk({fs:t,cache:e,gitdir:r,oid:n});if(i!=="commit")throw new fr(n,i,"commit");return{commit:kr.from(s),oid:n}}async function tl({fs:t,cache:e,gitdir:r,oid:n}){let{commit:i,oid:s}=await wk({fs:t,cache:e,gitdir:r,oid:n});return{oid:s,commit:i.parse(),payload:i.withoutSignature()}}async function Hd({fs:t,cache:e,onSign:r,gitdir:n,message:i,author:s,committer:a,signingKey:o,amend:l=!1,dryRun:c=!1,noUpdateBranch:u=!1,ref:f,parent:d,tree:h}){let m=!1,g=!1;f||(g=!(await t.read(`${n}/HEAD`,{encoding:"utf8"})).startsWith("ref:"),f=await z.resolve({fs:t,gitdir:n,ref:"HEAD",depth:2}));let v,w;try{v=await z.resolve({fs:t,gitdir:n,ref:f}),w=await tl({fs:t,gitdir:n,oid:v,cache:{}})}catch(x){m=!0}if(l&&m)throw new lu(f);let b=l?await Ms({fs:t,gitdir:n,author:s,commit:w.commit}):await Ms({fs:t,gitdir:n,author:s});if(!b)throw new Kt("author");let k=l?await el({fs:t,gitdir:n,author:b,committer:a,commit:w.commit}):await el({fs:t,gitdir:n,author:b,committer:a});if(!k)throw new Kt("committer");return ht.acquire({fs:t,gitdir:n,cache:e,allowUnmerged:!1},async function(x){let A=ak(x.entries).get(".");if(h||(h=await yk({fs:t,gitdir:n,inode:A,dryRun:c})),d?d=await Promise.all(d.map(_=>z.resolve({fs:t,gitdir:n,ref:_}))):l?d=w.commit.parent:d=v?[v]:[],!i)if(l)i=w.commit.message;else throw new Sr("message");let y=kr.from({tree:h,parent:d,author:b,committer:k,message:i});o&&(y=await kr.sign(y,r,o));let S=await Ar({fs:t,gitdir:n,type:"commit",object:y.toObject(),dryRun:c});return!u&&!c&&await z.writeRef({fs:t,gitdir:n,ref:g?"HEAD":f,value:S}),S})}async function yk({fs:t,gitdir:e,inode:r,dryRun:n}){let i=r.children;for(let l of i)l.type==="tree"&&(l.metadata.mode="040000",l.metadata.oid=await yk({fs:t,gitdir:e,inode:l,dryRun:n}));let s=i.map(l=>({mode:l.metadata.mode,path:l.basename,oid:l.metadata.oid,type:l.type})),a=Er.from(s);return await Ar({fs:t,gitdir:e,type:"tree",object:a.toObject(),dryRun:n})}async function fu({fs:t,cache:e,gitdir:r,oid:n,filepath:i}){if(i.startsWith("/"))throw new Is("leading-slash");if(i.endsWith("/"))throw new Is("trailing-slash");let s=n,a=await Jo({fs:t,cache:e,gitdir:r,oid:n}),o=a.tree;if(i==="")n=a.oid;else{let l=i.split("/");n=await bk({fs:t,cache:e,gitdir:r,tree:o,pathArray:l,oid:s,filepath:i})}return n}async function bk({fs:t,cache:e,gitdir:r,tree:n,pathArray:i,oid:s,filepath:a}){let o=i.shift();for(let l of n)if(l.path===o){if(i.length===0)return l.oid;{let{type:c,object:u}=await Xe({fs:t,cache:e,gitdir:r,oid:l.oid});if(c!=="tree")throw new fr(s,c,"tree",a);return n=Er.from(u),bk({fs:t,cache:e,gitdir:r,tree:n,pathArray:i,oid:s,filepath:a})}}throw new Be(`file or directory found at "${s}:${a}"`)}async function al({fs:t,cache:e,gitdir:r,oid:n,filepath:i=void 0}){i!==void 0&&(n=await fu({fs:t,cache:e,gitdir:r,oid:n,filepath:i}));let{tree:s,oid:a}=await Jo({fs:t,cache:e,gitdir:r,oid:n});return{oid:a,tree:s.entries()}}async function du({fs:t,gitdir:e,tree:r}){let n=Er.from(r).toObject();return await Ar({fs:t,gitdir:e,type:"tree",object:n,format:"content"})}async function j8({fs:t,cache:e,onSign:r,gitdir:n,ref:i,oid:s,note:a,force:o,author:l,committer:c,signingKey:u}){let f;try{f=await z.resolve({gitdir:n,fs:t,ref:i})}catch(w){if(!(w instanceof Be))throw w}let h=(await al({fs:t,cache:e,gitdir:n,oid:f||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;if(o)h=h.filter(w=>w.path!==s);else for(let w of h)if(w.path===s)throw new Mn("note",s);typeof a=="string"&&(a=Buffer.from(a,"utf8"));let m=await Ar({fs:t,gitdir:n,type:"blob",object:a,format:"content"});h.push({mode:"100644",path:s,oid:m,type:"blob"});let g=await du({fs:t,gitdir:n,tree:h});return await Hd({fs:t,cache:e,onSign:r,gitdir:n,ref:i,tree:g,parent:f&&[f],message:`Note added by 'isomorphic-git addNote' +`,author:l,committer:c,signingKey:u})}async function _k({fs:t,onSign:e,dir:r,gitdir:n=D(r,".git"),ref:i="refs/notes/commits",oid:s,note:a,force:o,author:l,committer:c,signingKey:u,cache:f={}}){try{T("fs",t),T("gitdir",n),T("oid",s),T("note",a),u&&T("onSign",e);let d=new Q(t),h=await Ms({fs:d,gitdir:n,author:l});if(!h)throw new Kt("author");let m=await el({fs:d,gitdir:n,author:h,committer:c});if(!m)throw new Kt("committer");let g=await J({fsp:d,dotgit:n});return await j8({fs:d,cache:f,onSign:e,gitdir:g,ref:i,oid:s,note:a,force:o,author:h,committer:m,signingKey:u})}catch(d){throw d.caller="git.addNote",d}}var q8=/(^|[/.])([/.]|$)|^@$|@{|[\x00-\x20\x7f~^:?*[\\]|\.lock(\/|$)/;function uu(t,e){if(typeof t!="string")throw new TypeError("Reference name must be a string");return!q8.test(t)&&(!!e||t.includes("/"))}async function xk({fs:t,gitdir:e,remote:r,url:n,force:i}){if(!uu(r,!0))throw new Dn(r,zc.clean(r));let s=await lt.get({fs:t,gitdir:e});if(!i&&(await s.getSubsections("remote")).includes(r)&&n!==await s.get(`remote.${r}.url`))throw new Mn("remote",r);await s.set(`remote.${r}.url`,n),await s.set(`remote.${r}.fetch`,`+refs/heads/*:refs/remotes/${r}/*`),await lt.save({fs:t,gitdir:e,config:s})}async function Sk({fs:t,dir:e,gitdir:r=D(e,".git"),remote:n,url:i,force:s=!1}){try{T("fs",t),T("gitdir",r),T("remote",n),T("url",i);let a=new Q(t),o=await J({fsp:a,dotgit:r});return await xk({fs:a,gitdir:o,remote:n,url:i,force:s})}catch(a){throw a.caller="git.addRemote",a}}async function W8({fs:t,cache:e,onSign:r,gitdir:n,ref:i,tagger:s,message:a=i,gpgsig:o,object:l,signingKey:c,force:u=!1}){if(i=i.startsWith("refs/tags/")?i:`refs/tags/${i}`,!u&&await z.exists({fs:t,gitdir:n,ref:i}))throw new Mn("tag",i);let f=await z.resolve({fs:t,gitdir:n,ref:l||"HEAD"}),{type:d}=await Xe({fs:t,cache:e,gitdir:n,oid:f}),h=Zr.from({object:f,type:d,tag:i.replace("refs/tags/",""),tagger:s,message:a,gpgsig:o});c&&(h=await Zr.sign(h,r,c));let m=await Ar({fs:t,gitdir:n,type:"tag",object:h.toObject()});await z.writeRef({fs:t,gitdir:n,ref:i,value:m})}async function Ek({fs:t,onSign:e,dir:r,gitdir:n=D(r,".git"),ref:i,tagger:s,message:a=i,gpgsig:o,object:l,signingKey:c,force:u=!1,cache:f={}}){try{T("fs",t),T("gitdir",n),T("ref",i),c&&T("onSign",e);let d=new Q(t),h=await J({fsp:d,dotgit:n}),m=await Ms({fs:d,gitdir:h,author:s});if(!m)throw new Kt("tagger");return await W8({fs:d,cache:f,onSign:e,gitdir:h,ref:i,tagger:m,message:a,gpgsig:o,object:l,signingKey:c,force:u})}catch(d){throw d.caller="git.annotatedTag",d}}async function z8({fs:t,gitdir:e,ref:r,object:n,checkout:i=!1,force:s=!1}){if(!uu(r,!0))throw new Dn(r,zc.clean(r));let a=`refs/heads/${r}`;if(!s&&await z.exists({fs:t,gitdir:e,ref:a}))throw new Mn("branch",r,!1);let o;try{o=await z.resolve({fs:t,gitdir:e,ref:n||"HEAD"})}catch(l){}o&&await z.writeRef({fs:t,gitdir:e,ref:a,value:o}),i&&await z.writeSymbolicRef({fs:t,gitdir:e,ref:"HEAD",value:a})}async function kk({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n,object:i,checkout:s=!1,force:a=!1}){try{T("fs",t),T("gitdir",r),T("ref",n);let o=new Q(t),l=await J({fsp:o,dotgit:r});return await z8({fs:o,gitdir:l,ref:n,object:i,checkout:s,force:a})}catch(o){throw o.caller="git.branch",o}}var Ak=(t,e)=>t==="."||e==null||e.length===0||e==="."?!0:e.length>=t.length?e.startsWith(t):t.startsWith(e);async function Ev({fs:t,cache:e,onProgress:r,onPostCheckout:n,dir:i,gitdir:s,remote:a,ref:o,filepaths:l,noCheckout:c,noUpdateHead:u,dryRun:f,force:d,track:h=!0,nonBlocking:m=!1,batchSize:g=100}){let v;if(n)try{v=await z.resolve({fs:t,gitdir:s,ref:"HEAD"})}catch(b){v="0000000000000000000000000000000000000000"}let w;try{w=await z.resolve({fs:t,gitdir:s,ref:o})}catch(b){if(o==="HEAD")throw b;let k=`${a}/${o}`;if(w=await z.resolve({fs:t,gitdir:s,ref:k}),h){let x=await lt.get({fs:t,gitdir:s});await x.set(`branch.${o}.remote`,a),await x.set(`branch.${o}.merge`,`refs/heads/${o}`),await lt.save({fs:t,gitdir:s,config:x})}await z.writeRef({fs:t,gitdir:s,ref:`refs/heads/${o}`,value:w})}if(!c){let b;try{b=await V8({fs:t,cache:e,onProgress:r,dir:i,gitdir:s,ref:o,force:d,filepaths:l})}catch(y){throw y instanceof Be&&y.data.what===w?new Qc(o,w):y}let k=b.filter(([y])=>y==="conflict").map(([y,S])=>S);if(k.length>0)throw new Kc(k);let x=b.filter(([y])=>y==="error").map(([y,S])=>S);if(x.length>0)throw new he(x.join(", "));if(f){n&&await n({previousHead:v,newHead:w,type:l!=null&&l.length>0?"file":"branch"});return}let E=0,A=b.length;if(await ht.acquire({fs:t,gitdir:s,cache:e},async function(y){await Promise.all(b.filter(([S])=>S==="delete"||S==="delete-index").map(async function([S,_]){let C=`${i}/${_}`;S==="delete"&&await t.rm(C),y.delete({filepath:_}),r&&await r({phase:"Updating workdir",loaded:++E,total:A})}))}),await ht.acquire({fs:t,gitdir:s,cache:e},async function(y){for(let[S,_]of b)if(S==="rmdir"||S==="rmdir-index"){let C=`${i}/${_}`;try{S==="rmdir"&&await t.rmdir(C),y.delete({filepath:_}),r&&await r({phase:"Updating workdir",loaded:++E,total:A})}catch(P){if(P.code==="ENOTEMPTY")console.log(`Did not delete ${_} because directory is not empty`);else throw P}}}),await Promise.all(b.filter(([y])=>y==="mkdir"||y==="mkdir-index").map(async function([y,S]){let _=`${i}/${S}`;await t.mkdir(_),r&&await r({phase:"Updating workdir",loaded:++E,total:A})})),m){let y=b.filter(([_])=>_==="create"||_==="create-index"||_==="update"||_==="mkdir-index"),S=await VE("Update Working Dir",y.map(([_,C,P,N,B])=>()=>X8({fs:t,cache:e,gitdir:s,dir:i},[_,C,P,N,B])),r,g);await ht.acquire({fs:t,gitdir:s,cache:e,allowUnmerged:!0},async function(_){await VE("Update Index",S.map(([C,P,N])=>()=>Y8({index:_,fullpath:C,oid:P,stats:N})),r,g)})}else await ht.acquire({fs:t,gitdir:s,cache:e,allowUnmerged:!0},async function(y){await Promise.all(b.filter(([S])=>S==="create"||S==="create-index"||S==="update"||S==="mkdir-index").map(async function([S,_,C,P,N]){let B=`${i}/${_}`;try{if(S!=="create-index"&&S!=="mkdir-index"){let{object:ce}=await Xe({fs:t,cache:e,gitdir:s,oid:C});if(N&&await t.rm(B),P===33188)await t.write(B,ce);else if(P===33261)await t.write(B,ce,{mode:511});else if(P===40960)await t.writelink(B,ce);else throw new he(`Invalid mode 0o${P.toString(8)} detected in blob ${C}`)}let H=await t.lstat(B);P===33261&&(H.mode=493),S==="mkdir-index"&&(H.mode=57344),y.insert({filepath:_,stats:H,oid:C}),r&&await r({phase:"Updating workdir",loaded:++E,total:A})}catch(H){console.log(H)}}))});n&&await n({previousHead:v,newHead:w,type:l!=null&&l.length>0?"file":"branch"})}if(!u){let b=await z.expand({fs:t,gitdir:s,ref:o});b.startsWith("refs/heads")?await z.writeSymbolicRef({fs:t,gitdir:s,ref:"HEAD",value:b}):await z.writeRef({fs:t,gitdir:s,ref:"HEAD",value:w})}}async function V8({fs:t,cache:e,onProgress:r,dir:n,gitdir:i,ref:s,force:a,filepaths:o}){let l=0;return Fs({fs:t,cache:e,dir:n,gitdir:i,trees:[Xr({ref:s}),sl(),Ca()],map:async function(c,[u,f,d]){if(c===".")return;if(o&&!o.some(m=>Ak(c,m)))return null;switch(r&&await r({phase:"Analyzing workdir",loaded:++l}),[!!d,!!u,!!f].map(Number).join("")){case"000":return;case"001":return a&&o&&o.includes(c)?["delete",c]:void 0;case"010":switch(await u.type()){case"tree":return["mkdir",c];case"blob":return["create",c,await u.oid(),await u.mode()];case"commit":return["mkdir-index",c,await u.oid(),await u.mode()];default:return["error",`new entry Unhandled type ${await u.type()}`]}case"011":switch(`${await u.type()}-${await f.type()}`){case"tree-tree":return;case"tree-blob":case"blob-tree":return["conflict",c];case"blob-blob":return await u.oid()!==await f.oid()?a?["update",c,await u.oid(),await u.mode(),await u.mode()!==await f.mode()]:["conflict",c]:await u.mode()!==await f.mode()?a?["update",c,await u.oid(),await u.mode(),!0]:["conflict",c]:["create-index",c,await u.oid(),await u.mode()];case"commit-tree":return;case"commit-blob":return["conflict",c];default:return["error",`new entry Unhandled type ${u.type}`]}case"100":return["delete-index",c];case"101":switch(await d.type()){case"tree":return["rmdir-index",c];case"blob":return await d.oid()!==await f.oid()?a?["delete",c]:["conflict",c]:["delete",c];case"commit":return["rmdir-index",c];default:return["error",`delete entry Unhandled type ${await d.type()}`]}case"110":case"111":switch(`${await d.type()}-${await u.type()}`){case"tree-tree":return;case"blob-blob":{if(await d.oid()===await u.oid()&&await d.mode()===await u.mode()&&!a)return;if(f){if(await f.oid()!==await d.oid()&&await f.oid()!==await u.oid())return a?["update",c,await u.oid(),await u.mode(),await u.mode()!==await f.mode()]:["conflict",c]}else if(a)return["update",c,await u.oid(),await u.mode(),await u.mode()!==await d.mode()];return await u.mode()!==await d.mode()?["update",c,await u.oid(),await u.mode(),!0]:await u.oid()!==await d.oid()?["update",c,await u.oid(),await u.mode(),!1]:void 0}case"tree-blob":return["update-dir-to-blob",c,await u.oid()];case"blob-tree":return["update-blob-to-tree",c];case"commit-commit":return["mkdir-index",c,await u.oid(),await u.mode()];default:return["error",`update entry Unhandled type ${await d.type()}-${await u.type()}`]}}},reduce:async function(c,u){return u=dk(u),c?c&&c[0]==="rmdir"?(u.push(c),u):(u.unshift(c),u):u}})}async function Y8({index:t,fullpath:e,stats:r,oid:n}){try{t.insert({filepath:e,stats:r,oid:n})}catch(i){console.warn(`Error inserting ${e} into index:`,i)}}async function X8({fs:t,cache:e,gitdir:r,dir:n},[i,s,a,o,l]){let c=`${n}/${s}`;if(i!=="create-index"&&i!=="mkdir-index"){let{object:f}=await Xe({fs:t,cache:e,gitdir:r,oid:a});if(l&&await t.rm(c),o===33188)await t.write(c,f);else if(o===33261)await t.write(c,f,{mode:511});else if(o===40960)await t.writelink(c,f);else throw new he(`Invalid mode 0o${o.toString(8)} detected in blob ${a}`)}let u=await t.lstat(c);return o===33261&&(u.mode=493),i==="mkdir-index"&&(u.mode=57344),[s,a,u]}async function VE(t,e,r,n){let i=[];try{for(let s=0;sl());(await Promise.allSettled(a)).forEach(l=>{l.status==="fulfilled"&&i.push(l.value)}),r&&await r({phase:"Updating workdir",loaded:s+a.length,total:e.length})}return i}catch(s){console.error(`Error during ${t}: ${s}`)}return i}async function kv({fs:t,onProgress:e,onPostCheckout:r,dir:n,gitdir:i=D(n,".git"),remote:s="origin",ref:a,filepaths:o,noCheckout:l=!1,noUpdateHead:c=a===void 0,dryRun:u=!1,force:f=!1,track:d=!0,cache:h={},nonBlocking:m=!1,batchSize:g=100}){try{T("fs",t),T("dir",n),T("gitdir",i);let v=a||"HEAD",w=new Q(t),b=await J({fsp:w,dotgit:i});return await Ev({fs:w,cache:h,onProgress:e,onPostCheckout:r,dir:n,gitdir:b,remote:s,ref:v,filepaths:o,noCheckout:l,noUpdateHead:c,dryRun:u,force:f,track:d,nonBlocking:m,batchSize:g})}catch(v){throw v.caller="git.checkout",v}}var Z8=/^refs\/(heads\/|tags\/|remotes\/)?(.*)/;function xa(t){let e=Z8.exec(t);return e?e[1]==="remotes/"&&t.endsWith("/HEAD")?e[2].slice(0,-5):e[2]:t}async function Ls({fs:t,gitdir:e,fullname:r=!1,test:n=!1}){let i=await z.resolve({fs:t,gitdir:e,ref:"HEAD",depth:2});if(n)try{await z.resolve({fs:t,gitdir:e,ref:i})}catch(s){return}if(i.startsWith("refs/"))return r?i:xa(i)}function K8(t){return t=t.replace(/^git@([^:]+):/,"https://$1/"),t=t.replace(/^ssh:\/\//,"https://"),t}function Ck({username:t="",password:e=""}){return`Basic ${Buffer.from(`${t}:${e}`).toString("base64")}`}async function hu(t,e){let r=ck(t);for(;;){let{value:n,done:i}=await r.next();if(n&&await e(n),i)break}r.return&&r.return()}async function Md(t){let e=0,r=[];await hu(t,s=>{r.push(s),e+=s.byteLength});let n=new Uint8Array(e),i=0;for(let s of r)n.set(s,i),i+=s.byteLength;return n}function YE(t){let e=t.match(/^https?:\/\/([^/]+)@/);if(e==null)return{url:t,auth:{}};e=e[1];let[r,n]=e.split(":");return t=t.replace(`${e}@`,""),{url:t,auth:{username:r,password:n}}}function _v(t,e){let r=e.toString(16);return"0".repeat(t-r.length)+r}var st=class{static flush(){return Buffer.from("0000","utf8")}static delim(){return Buffer.from("0001","utf8")}static encode(e){typeof e=="string"&&(e=Buffer.from(e));let r=e.length+4,n=_v(4,r);return Buffer.concat([Buffer.from(n,"utf8"),e])}static streamReader(e){let r=new Id(e);return async function(){try{let i=await r.read(4);if(i==null)return!0;if(i=parseInt(i.toString("utf8"),16),i===0||i===1)return null;let s=await r.read(i-4);return s==null?!0:s}catch(i){return e.error=i,!0}}}};async function XE(t){let e={},r;for(;r=await t(),r!==!0;){if(r===null)continue;r=r.toString("utf8").replace(/\n$/,"");let n=r.indexOf("=");if(n>-1){let i=r.slice(0,n),s=r.slice(n+1);e[i]=s}else e[r]=!0}return{protocolVersion:2,capabilities2:e}}async function ZE(t,{service:e}){let r=new Set,n=new Map,i=new Map,s=st.streamReader(t),a=await s();for(;a===null;)a=await s();if(a===!0)throw new Jc;if(a.includes("version 2"))return XE(s);if(a.toString("utf8").replace(/\n$/,"")!==`# service=${e}`)throw new Ea(`# service=${e}\\n`,a.toString("utf8"));let o=await s();for(;o===null;)o=await s();if(o===!0)return{capabilities:r,refs:n,symrefs:i};if(o=o.toString("utf8"),o.includes("version 2"))return XE(s);let[l,c]=sv(o,"\0","\\x00");if(c.split(" ").map(u=>r.add(u)),l!=="0000000000000000000000000000000000000000 capabilities^{}"){let[u,f]=sv(l," "," ");for(n.set(f,u);;){let d=await s();if(d===!0)break;if(d!==null){let[h,m]=sv(d.toString("utf8")," "," ");n.set(m,h)}}}for(let u of r)if(u.startsWith("symref=")){let f=u.match(/symref=([^:]+):(.*)/);f.length===3&&i.set(f[1],f[2])}return{protocolVersion:1,capabilities:r,refs:n,symrefs:i}}function sv(t,e,r){let n=t.trim().split(e);if(n.length!==2)throw new Ea(`Two strings separated by '${r}'`,t.toString("utf8"));return n}var KE=(t,e)=>t.endsWith("?")?`${t}${e}`:`${t}/${e.replace(/^https?:\/\//,"")}`,QE=(t,e)=>{(e.username||e.password)&&(t.Authorization=Ck(e)),e.headers&&Object.assign(t,e.headers)},av=async t=>{try{let e=Buffer.from(await Md(t.body)),r=e.toString("utf8");return{preview:r.length<256?r:r.slice(0,256)+"...",response:r,data:e}}catch(e){return{}}},rl=class{static async capabilities(){return["discover","connect"]}static async discover({http:e,onProgress:r,onAuth:n,onAuthSuccess:i,onAuthFailure:s,corsProxy:a,service:o,url:l,headers:c,protocolVersion:u}){let{url:f,auth:d}=YE(l),h=a?KE(a,f):f;(d.username||d.password)&&(c.Authorization=Ck(d)),u===2&&(c["Git-Protocol"]="version=2");let m,g,v=!1;do if(m=await e.request({onProgress:r,method:"GET",url:`${h}/info/refs?service=${o}`,headers:c}),g=!1,m.statusCode===401||m.statusCode===203){let w=v?s:n;if(w){if(d=await w(f,{...d,headers:{...c}}),d&&d.cancel)throw new Qo;d&&(QE(c,d),v=!0,g=!0)}}else m.statusCode===200&&v&&i&&await i(f,d);while(g);if(m.statusCode!==200){let{response:w}=await av(m);throw new Yo(m.statusCode,m.statusMessage,w)}if(m.headers["content-type"]===`application/x-${o}-advertisement`){let w=await ZE(m.body,{service:o});return w.auth=d,w}else{let{preview:w,response:b,data:k}=await av(m);try{let x=await ZE([k],{service:o});return x.auth=d,x}catch(x){throw new iu(w,b)}}}static async connect({http:e,onProgress:r,corsProxy:n,service:i,url:s,auth:a,body:o,headers:l}){let c=YE(s);c&&(s=c.url),n&&(s=KE(n,s)),l["content-type"]=`application/x-${i}-request`,l.accept=`application/x-${i}-result`,QE(l,a);let u=await e.request({onProgress:r,method:"POST",url:`${s}/${i}`,body:o,headers:l});if(u.statusCode!==200){let{response:f}=av(u);throw new Yo(u.statusCode,u.statusMessage,f)}return u}},nl=class{static getRemoteHelperFor({url:e}){let r=new Map;r.set("http",rl),r.set("https",rl);let n=Q8({url:e});if(!n)throw new au(e);if(r.has(n.transport))return r.get(n.transport);throw new su(e,n.transport,n.transport==="ssh"?K8(e):void 0)}};function Q8({url:t}){if(t.startsWith("git@"))return{transport:"ssh",address:t};let e=t.match(/(\w+)(:\/\/|::)(.*)/);if(e!==null){if(e[2]==="://")return{transport:e[1],address:e[0]};if(e[2]==="::")return{transport:e[1],address:e[3]}}}var _a=null,ka=class{static async read({fs:e,gitdir:r}){_a===null&&(_a=new Wc);let n=D(r,"shallow"),i=new Set;return await _a.acquire(n,async function(){let s=await e.read(n,{encoding:"utf8"});if(s===null||s.trim()==="")return i;s.trim().split(` +`).map(a=>i.add(a))}),i}static async write({fs:e,gitdir:r,oids:n}){_a===null&&(_a=new Wc);let i=D(r,"shallow");if(n.size>0){let s=[...n].join(` +`)+` +`;await _a.acquire(i,async function(){await e.write(i,s,{encoding:"utf8"})})}else await _a.acquire(i,async function(){await e.rm(i)})}};async function J8({fs:t,gitdir:e,oid:r}){let n=`objects/${r.slice(0,2)}/${r.slice(2)}`;return t.exists(`${e}/${n}`)}async function e6({fs:t,cache:e,gitdir:r,oid:n,getExternalRefDelta:i}){let s=await t.readdir(D(r,"objects/pack"));s=s.filter(a=>a.endsWith(".idx"));for(let a of s){let o=`${r}/objects/pack/${a}`,l=await Sv({fs:t,cache:e,filename:o,getExternalRefDelta:i});if(l.error)throw new he(l.error);if(l.offsets.has(n))return!0}return!1}async function JE({fs:t,cache:e,gitdir:r,oid:n,format:i="content"}){let s=o=>Xe({fs:t,cache:e,gitdir:r,oid:o}),a=await J8({fs:t,gitdir:r,oid:n});return a||(a=await e6({fs:t,cache:e,gitdir:r,oid:n,getExternalRefDelta:s})),a}function t6(t){let i="5041434b"+"00000002"+"00000000";return t.slice(0,12).toString("hex")===i}function Tk(t,e){let r=t.map(n=>n.split("=",1)[0]);return e.filter(n=>{let i=n.split("=",1)[0];return r.includes(i)})}var Ud={name:"isomorphic-git",version:"1.36.3",agent:"git/isomorphic-git@1.36.3"},Wo=class{constructor(){this._queue=[]}write(e){if(this._ended)throw Error("You cannot write to a FIFO that has already been ended!");if(this._waiting){let r=this._waiting;this._waiting=null,r({value:e})}else this._queue.push(e)}end(){if(this._ended=!0,this._waiting){let e=this._waiting;this._waiting=null,e({done:!0})}}destroy(e){this.error=e,this.end()}async next(){if(this._queue.length>0)return{value:this._queue.shift()};if(this._ended)return{done:!0};if(this._waiting)throw Error("You cannot call read until the previous call to read has returned!");return new Promise(e=>{this._waiting=e})}};function r6(t){let e=t.indexOf("\r"),r=t.indexOf(` +`);return e===-1&&r===-1?-1:e===-1?r+1:r===-1?e+1:r===e+1?r+1:Math.min(e,r)+1}function Pk(t){let e=new Wo,r="";return(async()=>(await hu(t,n=>{for(n=n.toString("utf8"),r+=n;;){let i=r6(r);if(i===-1)break;e.write(r.slice(0,i)),r=r.slice(i)}}),r.length>0&&e.write(r),e.end()))(),e}var Dd=class{static demux(e){let r=st.streamReader(e),n=new Wo,i=new Wo,s=new Wo,a=async function(){let o=await r();if(o===null)return a();if(o===!0){n.end(),s.end(),e.error?i.destroy(e.error):i.end();return}switch(o[0]){case 1:{i.write(o.slice(1));break}case 2:{s.write(o.slice(1));break}case 3:{let l=o.slice(1);s.write(l),n.end(),s.end(),i.destroy(new Error(l.toString("utf8")));return}default:n.write(o)}a()};return a(),{packetlines:n,packfile:i,progress:s}}};async function n6(t){let{packetlines:e,packfile:r,progress:n}=Dd.demux(t),i=[],s=[],a=[],o=!1,l=!1;return new Promise((c,u)=>{hu(e,f=>{let d=f.toString("utf8").trim();if(d.startsWith("shallow")){let h=d.slice(-41).trim();h.length!==40&&u(new Rs(h)),i.push(h)}else if(d.startsWith("unshallow")){let h=d.slice(-41).trim();h.length!==40&&u(new Rs(h)),s.push(h)}else if(d.startsWith("ACK")){let[,h,m]=d.split(" ");a.push({oid:h,status:m}),m||(l=!0)}else d.startsWith("NAK")?(o=!0,l=!0):(l=!0,o=!0);l&&(t.error?u(t.error):c({shallows:i,unshallows:s,acks:a,nak:o,packfile:r,progress:n}))}).finally(()=>{l||(t.error?u(t.error):c({shallows:i,unshallows:s,acks:a,nak:o,packfile:r,progress:n}))})})}function i6({capabilities:t=[],wants:e=[],haves:r=[],shallows:n=[],depth:i=null,since:s=null,exclude:a=[]}){let o=[];e=[...new Set(e)];let l=` ${t.join(" ")}`;for(let c of e)o.push(st.encode(`want ${c}${l} +`)),l="";for(let c of n)o.push(st.encode(`shallow ${c} +`));i!==null&&o.push(st.encode(`deepen ${i} +`)),s!==null&&o.push(st.encode(`deepen-since ${Math.floor(s.valueOf()/1e3)} +`));for(let c of a)o.push(st.encode(`deepen-not ${c} +`));o.push(st.flush());for(let c of r)o.push(st.encode(`have ${c} +`));return o.push(st.encode(`done +`)),o}async function Av({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:l,ref:c,remoteRef:u,remote:f,url:d,corsProxy:h,depth:m=null,since:g=null,exclude:v=[],relative:w=!1,tags:b=!1,singleBranch:k=!1,headers:x={},prune:E=!1,pruneTags:A=!1}){let y=c||await Ls({fs:t,gitdir:l,test:!0}),S=await lt.get({fs:t,gitdir:l}),_=f||y&&await S.get(`branch.${y}.remote`)||"origin",C=d||await S.get(`remote.${_}.url`);if(typeof C=="undefined")throw new Sr("remote OR url");let P=u||y&&await S.get(`branch.${y}.merge`)||c||"HEAD";h===void 0&&(h=await S.get("http.corsProxy"));let N=nl.getRemoteHelperFor({url:C}),B=await N.discover({http:r,onAuth:s,onAuthSuccess:a,onAuthFailure:o,corsProxy:h,service:"git-upload-pack",url:C,headers:x,protocolVersion:1}),H=B.auth,ce=B.refs;if(ce.size===0)return{defaultBranch:null,fetchHead:null,fetchHeadDescription:null};if(m!==null&&!B.capabilities.has("shallow"))throw new Ps("shallow","depth");if(g!==null&&!B.capabilities.has("deepen-since"))throw new Ps("deepen-since","since");if(v.length>0&&!B.capabilities.has("deepen-not"))throw new Ps("deepen-not","exclude");if(w===!0&&!B.capabilities.has("deepen-relative"))throw new Ps("deepen-relative","relative");let{oid:Pe,fullref:ve}=z.resolveAgainstMap({ref:P,map:ce});for(let M of ce.keys())M===ve||M==="HEAD"||M.startsWith("refs/heads/")||b&&M.startsWith("refs/tags/")||ce.delete(M);let ie=Tk([...B.capabilities],["multi_ack_detailed","no-done","side-band-64k","ofs-delta",`agent=${Ud.agent}`]);w&&ie.push("deepen-relative");let xe=k?[Pe]:ce.values(),we=k?[y]:await z.listRefs({fs:t,gitdir:l,filepath:"refs"}),W=[];for(let M of we)try{M=await z.expand({fs:t,gitdir:l,ref:M});let O=await z.resolve({fs:t,gitdir:l,ref:M});await JE({fs:t,cache:e,gitdir:l,oid:O})&&W.push(O)}catch(O){}W=[...new Set(W)];let X=await ka.read({fs:t,gitdir:l}),q=B.capabilities.has("shallow")?[...X]:[],De=i6({capabilities:ie,wants:xe,haves:W,shallows:q,depth:m,since:g,exclude:v}),ar=Buffer.from(await Md(De)),Ft=await N.connect({http:r,onProgress:n,corsProxy:h,service:"git-upload-pack",url:C,auth:H,body:[ar],headers:x}),Ie=await n6(Ft.body);Ft.headers&&(Ie.headers=Ft.headers);for(let M of Ie.shallows)if(!X.has(M))try{let{object:O}=await Xe({fs:t,cache:e,gitdir:l,oid:M}),oe=new kr(O),Ce=await Promise.all(oe.headers().parent.map(wr=>JE({fs:t,cache:e,gitdir:l,oid:wr})));Ce.length===0||Ce.every(wr=>wr)||X.add(M)}catch(O){X.add(M)}for(let M of Ie.unshallows)X.delete(M);if(await ka.write({fs:t,gitdir:l,oids:X}),k){let M=new Map([[ve,Pe]]),O=new Map,oe=10,Ce=ve;for(;oe--;){let bo=B.symrefs.get(Ce);if(bo===void 0)break;O.set(Ce,bo),Ce=bo}let Ot=ce.get(Ce);Ot&&M.set(Ce,Ot);let{pruned:wr}=await z.updateRemoteRefs({fs:t,gitdir:l,remote:_,refs:M,symrefs:O,tags:b,prune:E});E&&(Ie.pruned=wr)}else{let{pruned:M}=await z.updateRemoteRefs({fs:t,gitdir:l,remote:_,refs:ce,symrefs:B.symrefs,tags:b,prune:E,pruneTags:A});E&&(Ie.pruned=M)}if(Ie.HEAD=B.symrefs.get("HEAD"),Ie.HEAD===void 0){let{oid:M}=z.resolveAgainstMap({ref:"HEAD",map:ce});for(let[O,oe]of ce.entries())if(O!=="HEAD"&&oe===M){Ie.HEAD=O;break}}let kt=ve.startsWith("refs/tags")?"tag":"branch";if(Ie.FETCH_HEAD={oid:Pe,description:`${kt} '${xa(ve)}' of ${C}`},n||i){let M=Pk(Ie.progress);hu(M,async O=>{if(i&&await i(O),n){let oe=O.match(/([^:]*).*\((\d+?)\/(\d+?)\)/);oe&&await n({phase:oe[1].trim(),loaded:parseInt(oe[2],10),total:parseInt(oe[3],10)})}})}let At=Buffer.from(await Md(Ie.packfile));if(Ft.body.error)throw Ft.body.error;let je=At.slice(-20).toString("hex"),Z={defaultBranch:Ie.HEAD,fetchHead:Ie.FETCH_HEAD.oid,fetchHeadDescription:Ie.FETCH_HEAD.description};if(Ie.headers&&(Z.headers=Ie.headers),E&&(Z.pruned=Ie.pruned),je!==""&&!t6(At)){Z.packfile=`objects/pack/pack-${je}.pack`;let M=D(l,Z.packfile);await t.write(M,At);let O=Ce=>Xe({fs:t,cache:e,gitdir:l,oid:Ce}),oe=await Xc.fromPack({pack:At,getExternalRefDelta:O,onProgress:n});await t.write(M.replace(/\.pack$/,".idx"),await oe.toBuffer())}return Z}async function Rk({fs:t,bare:e=!1,dir:r,gitdir:n=e?r:D(r,".git"),defaultBranch:i="master"}){if(await t.exists(n+"/config"))return;let s=["hooks","info","objects/info","objects/pack","refs/heads","refs/tags"];s=s.map(a=>n+"/"+a);for(let a of s)await t.mkdir(a);await t.write(n+"/config",`[core] + repositoryformatversion = 0 + filemode = false + bare = ${e} +`+(e?"":` logallrefupdates = true +`)+` symlinks = false + ignorecase = true +`),await t.write(n+"/HEAD",`ref: refs/heads/${i} +`)}async function s6({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:s,onAuthSuccess:a,onAuthFailure:o,onPostCheckout:l,dir:c,gitdir:u,url:f,corsProxy:d,ref:h,remote:m,depth:g,since:v,exclude:w,relative:b,singleBranch:k,noCheckout:x,noTags:E,headers:A,nonBlocking:y,batchSize:S=100}){try{if(await Rk({fs:t,gitdir:u}),await xk({fs:t,gitdir:u,remote:m,url:f,force:!1}),d){let P=await lt.get({fs:t,gitdir:u});await P.set("http.corsProxy",d),await lt.save({fs:t,gitdir:u,config:P})}let{defaultBranch:_,fetchHead:C}=await Av({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:u,ref:h,remote:m,corsProxy:d,depth:g,since:v,exclude:w,relative:b,singleBranch:k,headers:A,tags:!E});if(C===null)return;h=h||_,h=h.replace("refs/heads/",""),await Ev({fs:t,cache:e,onProgress:n,onPostCheckout:l,dir:c,gitdir:u,ref:h,remote:m,noCheckout:x,nonBlocking:y,batchSize:S})}catch(_){throw await t.rmdir(u,{recursive:!0,maxRetries:10}).catch(()=>{}),_}}async function $k({fs:t,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,onPostCheckout:o,dir:l,gitdir:c=D(l,".git"),url:u,corsProxy:f=void 0,ref:d=void 0,remote:h="origin",depth:m=void 0,since:g=void 0,exclude:v=[],relative:w=!1,singleBranch:b=!1,noCheckout:k=!1,noTags:x=!1,headers:E={},cache:A={},nonBlocking:y=!1,batchSize:S=100}){try{T("fs",t),T("http",e),T("gitdir",c),k||T("dir",l),T("url",u);let _=new Q(t),C=await J({fsp:_,dotgit:c});return await s6({fs:_,cache:A,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,onPostCheckout:o,dir:l,gitdir:C,url:u,corsProxy:f,ref:d,remote:h,depth:m,since:g,exclude:v,relative:w,singleBranch:b,noCheckout:k,noTags:x,headers:E,nonBlocking:y,batchSize:S})}catch(_){throw _.caller="git.clone",_}}async function Ik({fs:t,onSign:e,dir:r,gitdir:n=D(r,".git"),message:i,author:s,committer:a,signingKey:o,amend:l=!1,dryRun:c=!1,noUpdateBranch:u=!1,ref:f,parent:d,tree:h,cache:m={}}){try{T("fs",t),l||T("message",i),o&&T("onSign",e);let g=new Q(t),v=await J({fsp:g,dotgit:n});return await Hd({fs:g,cache:m,onSign:e,gitdir:v,message:i,author:s,committer:a,signingKey:o,amend:l,dryRun:c,noUpdateBranch:u,ref:f,parent:d,tree:h})}catch(g){throw g.caller="git.commit",g}}async function Fk({fs:t,dir:e,gitdir:r=D(e,".git"),fullname:n=!1,test:i=!1}){try{T("fs",t),T("gitdir",r);let s=new Q(t),a=await J({fsp:s,dotgit:r});return await Ls({fs:s,gitdir:a,fullname:n,test:i})}catch(s){throw s.caller="git.currentBranch",s}}async function a6({fs:t,gitdir:e,ref:r}){if(r=r.startsWith("refs/heads/")?r:`refs/heads/${r}`,!await z.exists({fs:t,gitdir:e,ref:r}))throw new Be(r);let i=await z.expand({fs:t,gitdir:e,ref:r}),s=await Ls({fs:t,gitdir:e,fullname:!0});if(i===s){let l=await z.resolve({fs:t,gitdir:e,ref:i});await z.writeRef({fs:t,gitdir:e,ref:"HEAD",value:l})}await z.deleteRef({fs:t,gitdir:e,ref:i});let a=xa(r),o=await lt.get({fs:t,gitdir:e});await o.deleteSection("branch",a),await lt.save({fs:t,gitdir:e,config:o})}async function Ok({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n}){try{T("fs",t),T("ref",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return await a6({fs:i,gitdir:s,ref:n})}catch(i){throw i.caller="git.deleteBranch",i}}async function Mk({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n}){try{T("fs",t),T("ref",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});await z.deleteRef({fs:i,gitdir:s,ref:n})}catch(i){throw i.caller="git.deleteRef",i}}async function o6({fs:t,gitdir:e,remote:r}){let n=await lt.get({fs:t,gitdir:e});await n.deleteSection("remote",r),await lt.save({fs:t,gitdir:e,config:n})}async function Dk({fs:t,dir:e,gitdir:r=D(e,".git"),remote:n}){try{T("fs",t),T("remote",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return await o6({fs:i,gitdir:s,remote:n})}catch(i){throw i.caller="git.deleteRemote",i}}async function l6({fs:t,gitdir:e,ref:r}){r=r.startsWith("refs/tags/")?r:`refs/tags/${r}`,await z.deleteRef({fs:t,gitdir:e,ref:r})}async function Lk({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n}){try{T("fs",t),T("ref",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return await l6({fs:i,gitdir:s,ref:n})}catch(i){throw i.caller="git.deleteTag",i}}async function c6({fs:t,gitdir:e,oid:r}){let n=r.slice(0,2);return(await t.readdir(`${e}/objects/${n}`)).map(s=>`${n}${s}`).filter(s=>s.startsWith(r))}async function u6({fs:t,cache:e,gitdir:r,oid:n,getExternalRefDelta:i}){let s=[],a=await t.readdir(D(r,"objects/pack"));a=a.filter(o=>o.endsWith(".idx"));for(let o of a){let l=`${r}/objects/pack/${o}`,c=await Sv({fs:t,cache:e,filename:l,getExternalRefDelta:i});if(c.error)throw new he(c.error);for(let u of c.offsets.keys())u.startsWith(n)&&s.push(u)}return s}async function f6({fs:t,cache:e,gitdir:r,oid:n}){let i=o=>Xe({fs:t,cache:e,gitdir:r,oid:o}),s=await c6({fs:t,gitdir:r,oid:n}),a=await u6({fs:t,cache:e,gitdir:r,oid:n,getExternalRefDelta:i});for(let o of a)s.indexOf(o)===-1&&s.push(o);if(s.length===1)return s[0];throw s.length>1?new Zc("oids",n,s):new Be(`an object matching "${n}"`)}async function Nk({fs:t,dir:e,gitdir:r=D(e,".git"),oid:n,cache:i={}}){try{T("fs",t),T("gitdir",r),T("oid",n);let s=new Q(t),a=await J({fsp:s,dotgit:r});return await f6({fs:s,cache:i,gitdir:a,oid:n})}catch(s){throw s.caller="git.expandOid",s}}async function Bk({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n}){try{T("fs",t),T("gitdir",r),T("ref",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return await z.expand({fs:i,gitdir:s,ref:n})}catch(i){throw i.caller="git.expandRef",i}}async function Cv({fs:t,cache:e,gitdir:r,oids:n}){let i={},s=n.length,a=n.map((o,l)=>({index:l,oid:o}));for(;a.length;){let o=new Set;for(let{oid:c,index:u}of a)i[c]||(i[c]=new Set),i[c].add(u),i[c].size===s&&o.add(c);if(o.size>0)return[...o];let l=new Map;for(let{oid:c,index:u}of a)try{let{object:f}=await Xe({fs:t,cache:e,gitdir:r,oid:c}),d=kr.from(f),{parent:h}=d.parseHeaders();for(let m of h)(!i[m]||!i[m].has(u))&&l.set(m+":"+u,{oid:m,index:u})}catch(f){}a=Array.from(l.values())}return[]}var ov=/^.*(\r?\n|$)/gm;function d6({branches:t,contents:e}){let r=t[1],n=t[2],i=e[0],s=e[1],a=e[2],o=s.match(ov),l=i.match(ov),c=a.match(ov),u=q3(o,l,c),f=7,d="",h=!0;for(let m of u)m.ok&&(d+=m.ok.join("")),m.conflict&&(h=!1,d+=`${"<".repeat(f)} ${r} +`,d+=m.conflict.a.join(""),d+=`${"=".repeat(f)} +`,d+=m.conflict.b.join(""),d+=`${">".repeat(f)} ${n} +`);return{cleanMerge:h,mergedText:d}}async function h6({fs:t,cache:e,dir:r,gitdir:n=D(r,".git"),index:i,ourOid:s,baseOid:a,theirOid:o,ourName:l="ours",baseName:c="base",theirName:u="theirs",dryRun:f=!1,abortOnConflict:d=!0,mergeDriver:h}){let m=Xr({ref:s}),g=Xr({ref:a}),v=Xr({ref:o}),w=[],b=[],k=[],x=[],E=await Fs({fs:t,cache:e,dir:r,gitdir:n,trees:[m,g,v],map:async function(A,[y,S,_]){let C=Pd(A),P=await Od(y,S),N=await Od(_,S);switch(`${P}-${N}`){case"false-false":return{mode:await S.mode(),path:C,oid:await S.oid(),type:await S.type()};case"false-true":return!_&&await y.type()==="tree"?{mode:await y.mode(),path:C,oid:await y.oid(),type:await y.type()}:_?{mode:await _.mode(),path:C,oid:await _.oid(),type:await _.type()}:void 0;case"true-false":return!y&&await _.type()==="tree"?{mode:await _.mode(),path:C,oid:await _.oid(),type:await _.type()}:y?{mode:await y.mode(),path:C,oid:await y.oid(),type:await y.type()}:void 0;case"true-true":{if(y&&_&&await y.type()==="tree"&&await _.type()==="tree")return{mode:await y.mode(),path:C,oid:await y.oid(),type:"tree"};if(y&&_&&await y.type()==="blob"&&await _.type()==="blob")return p6({fs:t,gitdir:n,path:C,ours:y,base:S,theirs:_,ourName:l,baseName:c,theirName:u,mergeDriver:h}).then(async B=>{if(B.cleanMerge)d||i.insert({filepath:A,oid:B.mergeResult.oid,stage:0});else if(w.push(A),b.push(A),!d){let H="";S&&await S.type()==="blob"&&(H=await S.oid());let ce=await y.oid(),Pe=await _.oid();i.delete({filepath:A}),H&&i.insert({filepath:A,oid:H,stage:1}),i.insert({filepath:A,oid:ce,stage:2}),i.insert({filepath:A,oid:Pe,stage:3})}return B.mergeResult});if(S&&!y&&_&&await S.type()==="blob"&&await _.type()==="blob"){if(w.push(A),k.push(A),!d){let B=await S.oid(),H=await _.oid();i.delete({filepath:A}),i.insert({filepath:A,oid:B,stage:1}),i.insert({filepath:A,oid:H,stage:3})}return{mode:await _.mode(),oid:await _.oid(),type:"blob",path:C}}if(S&&y&&!_&&await S.type()==="blob"&&await y.type()==="blob"){if(w.push(A),x.push(A),!d){let B=await S.oid(),H=await y.oid();i.delete({filepath:A}),i.insert({filepath:A,oid:B,stage:1}),i.insert({filepath:A,oid:H,stage:2})}return{mode:await y.mode(),oid:await y.oid(),type:"blob",path:C}}if(S&&!y&&!_&&(await S.type()==="blob"||await S.type()==="tree"))return;throw new Xo}}},reduce:w.length!==0&&(!r||d)?void 0:async(A,y)=>{let S=y.filter(Boolean);if(A&&!(A&&A.type==="tree"&&S.length===0&&A.path!==".")){if(S.length>0||A.path==="."&&S.length===0){let C=new Er(S).toObject(),P=await Ar({fs:t,gitdir:n,type:"tree",object:C,dryRun:f});A.oid=P}return A}}});return w.length!==0?(r&&!d&&await Fs({fs:t,cache:e,dir:r,gitdir:n,trees:[Xr({ref:E.oid})],map:async function(A,[y]){let S=`${r}/${A}`;if(await y.type()==="blob"){let _=await y.mode(),C=new TextDecoder().decode(await y.content());await t.write(S,C,{mode:_})}return!0}}),new Zo(w,b,k,x)):E.oid}async function p6({fs:t,gitdir:e,path:r,ours:n,base:i,theirs:s,ourName:a,theirName:o,baseName:l,dryRun:c,mergeDriver:u=d6}){let f="blob",d="100755",h="",m="";i&&await i.type()==="blob"&&(d=await i.mode(),h=await i.oid(),m=Buffer.from(await i.content()).toString("utf8"));let g=d===await n.mode()?await s.mode():await n.mode();if(await n.oid()===await s.oid())return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await n.oid(),type:f}};if(await n.oid()===h)return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await s.oid(),type:f}};if(await s.oid()===h)return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await n.oid(),type:f}};let v=Buffer.from(await n.content()).toString("utf8"),w=Buffer.from(await s.content()).toString("utf8"),{mergedText:b,cleanMerge:k}=await u({branches:[l,a,o],contents:[m,v,w],path:r}),x=await Ar({fs:t,gitdir:e,type:"blob",object:Buffer.from(b,"utf8"),dryRun:c});return{cleanMerge:k,mergeResult:{mode:g,path:r,oid:x,type:f}}}async function Hk({fs:t,cache:e,dir:r,gitdir:n,ours:i,theirs:s,fastForward:a=!0,fastForwardOnly:o=!1,dryRun:l=!1,noUpdateBranch:c=!1,abortOnConflict:u=!0,message:f,author:d,committer:h,signingKey:m,onSign:g,mergeDriver:v,allowUnrelatedHistories:w=!1}){i===void 0&&(i=await Ls({fs:t,gitdir:n,fullname:!0})),i=await z.expand({fs:t,gitdir:n,ref:i}),s=await z.expand({fs:t,gitdir:n,ref:s});let b=await z.resolve({fs:t,gitdir:n,ref:i}),k=await z.resolve({fs:t,gitdir:n,ref:s}),x=await Cv({fs:t,cache:e,gitdir:n,oids:[b,k]});if(x.length!==1)if(x.length===0&&w)x.push("4b825dc642cb6eb9a060e54bf8d69288fbee4904");else throw new Xo;let E=x[0];if(E===k)return{oid:b,alreadyMerged:!0};if(a&&E===b)return!l&&!c&&await z.writeRef({fs:t,gitdir:n,ref:i,value:k}),{oid:k,fastForward:!0};{if(o)throw new eu;let A=await ht.acquire({fs:t,gitdir:n,cache:e,allowUnmerged:!1},async S=>h6({fs:t,cache:e,dir:r,gitdir:n,index:S,ourOid:b,theirOid:k,baseOid:E,ourName:xa(i),baseName:"base",theirName:xa(s),dryRun:l,abortOnConflict:u,mergeDriver:v}));if(A instanceof Zo)throw A;return f||(f=`Merge branch '${xa(s)}' into ${xa(i)}`),{oid:await Hd({fs:t,cache:e,gitdir:n,message:f,ref:i,tree:A,parent:[b,k],author:d,committer:h,signingKey:m,onSign:g,dryRun:l,noUpdateBranch:c}),tree:A,mergeCommit:!0}}}async function Uk({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:s,onAuthSuccess:a,onAuthFailure:o,dir:l,gitdir:c,ref:u,url:f,remote:d,remoteRef:h,prune:m,pruneTags:g,fastForward:v,fastForwardOnly:w,corsProxy:b,singleBranch:k,headers:x,author:E,committer:A,signingKey:y}){try{if(!u){let C=await Ls({fs:t,gitdir:c});if(!C)throw new Sr("ref");u=C}let{fetchHead:S,fetchHeadDescription:_}=await Av({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:c,corsProxy:b,ref:u,url:f,remote:d,remoteRef:h,singleBranch:k,headers:x,prune:m,pruneTags:g});await Hk({fs:t,cache:e,gitdir:c,ours:u,theirs:S,fastForward:v,fastForwardOnly:w,message:`Merge ${_}`,author:E,committer:A,signingKey:y,dryRun:!1,noUpdateBranch:!1}),await Ev({fs:t,cache:e,onProgress:n,dir:l,gitdir:c,ref:u,remote:d,noCheckout:!1})}catch(S){throw S.caller="git.pull",S}}async function Gk({fs:t,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=D(o,".git"),ref:c,url:u,remote:f,remoteRef:d,corsProxy:h,singleBranch:m,headers:g={},cache:v={}}){try{T("fs",t),T("http",e),T("gitdir",l);let w={name:"",email:"",timestamp:Date.now(),timezoneOffset:0},b=new Q(t),k=await J({fsp:b,dotgit:l});return await Uk({fs:b,cache:v,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:k,ref:c,url:u,remote:f,remoteRef:d,fastForwardOnly:!0,corsProxy:h,singleBranch:m,headers:g,author:w,committer:w})}catch(w){throw w.caller="git.fastForward",w}}async function jk({fs:t,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=D(o,".git"),ref:c,remote:u,remoteRef:f,url:d,corsProxy:h,depth:m=null,since:g=null,exclude:v=[],relative:w=!1,tags:b=!1,singleBranch:k=!1,headers:x={},prune:E=!1,pruneTags:A=!1,cache:y={}}){try{T("fs",t),T("http",e),T("gitdir",l);let S=new Q(t),_=await J({fsp:S,dotgit:l});return await Av({fs:S,cache:y,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,gitdir:_,ref:c,remote:u,remoteRef:f,url:d,corsProxy:h,depth:m,since:g,exclude:v,relative:w,tags:b,singleBranch:k,headers:x,prune:E,pruneTags:A})}catch(S){throw S.caller="git.fetch",S}}async function qk({fs:t,dir:e,gitdir:r=D(e,".git"),oids:n,cache:i={}}){try{T("fs",t),T("gitdir",r),T("oids",n);let s=new Q(t),a=await J({fsp:s,dotgit:r});return await Cv({fs:s,cache:i,gitdir:a,oids:n})}catch(s){throw s.caller="git.findMergeBase",s}}async function Wk({fs:t,filepath:e}){if(await t.exists(D(e,".git")))return e;{let r=Sa(e);if(r===e)throw new Be(`git root for ${e}`);return Wk({fs:t,filepath:r})}}async function zk({fs:t,filepath:e}){try{return T("fs",t),T("filepath",e),await Wk({fs:new Q(t),filepath:e})}catch(r){throw r.caller="git.findRoot",r}}async function Vk({fs:t,dir:e,gitdir:r=D(e,".git"),path:n}){try{T("fs",t),T("gitdir",r),T("path",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return await cu({fs:i,gitdir:s,path:n})}catch(i){throw i.caller="git.getConfig",i}}async function m6({fs:t,gitdir:e,path:r}){return(await lt.get({fs:t,gitdir:e})).getall(r)}async function Yk({fs:t,dir:e,gitdir:r=D(e,".git"),path:n}){try{T("fs",t),T("gitdir",r),T("path",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return await m6({fs:i,gitdir:s,path:n})}catch(i){throw i.caller="git.getConfigAll",i}}async function Xk({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,url:s,headers:a={},forPush:o=!1}){try{T("http",t),T("url",s);let c=await nl.getRemoteHelperFor({url:s}).discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:s,headers:a,protocolVersion:1}),u={capabilities:[...c.capabilities]};for(let[f,d]of c.refs){let h=f.split("/"),m=h.pop(),g=u;for(let v of h)g[v]=g[v]||{},g=g[v];g[m]=d}for(let[f,d]of c.symrefs){let h=f.split("/"),m=h.pop(),g=u;for(let v of h)g[v]=g[v]||{},g=g[v];g[m]=d}return u}catch(l){throw l.caller="git.getRemoteInfo",l}}function Zk(t,e,r,n){let i=[];for(let[s,a]of t.refs){if(e&&!s.startsWith(e))continue;if(s.endsWith("^{}")){if(n){let l=s.replace("^{}",""),c=i[i.length-1],u=c.ref===l?c:i.find(f=>f.ref===l);if(u===void 0)throw new Error("I did not expect this to happen");u.peeled=a}continue}let o={ref:s,oid:a};r&&t.symrefs.has(s)&&(o.target=t.symrefs.get(s)),i.push(o)}return i}async function Kk({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,url:s,headers:a={},forPush:o=!1,protocolVersion:l=2}){try{T("http",t),T("url",s);let u=await nl.getRemoteHelperFor({url:s}).discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:s,headers:a,protocolVersion:l});if(u.protocolVersion===2)return{protocolVersion:u.protocolVersion,capabilities:u.capabilities2};let f={};for(let d of u.capabilities){let[h,m]=d.split("=");m?f[h]=m:f[h]=!0}return{protocolVersion:1,capabilities:f,refs:Zk(u,void 0,!0,!0)}}catch(c){throw c.caller="git.getRemoteInfo2",c}}async function g6({type:t,object:e,format:r="content",oid:n=void 0}){return r!=="deflated"&&(r!=="wrapped"&&(e=$s.wrap({type:t,object:e})),n=await zi(e)),{oid:n,object:e}}async function Qk({object:t}){try{T("object",t),typeof t=="string"?t=Buffer.from(t,"utf8"):t instanceof Uint8Array||(t=new Uint8Array(t));let e="blob",{oid:r,object:n}=await g6({type:e,format:"content",object:t});return{oid:r,type:e,object:n,format:"wrapped"}}catch(e){throw e.caller="git.hashBlob",e}}async function v6({fs:t,cache:e,onProgress:r,dir:n,gitdir:i,filepath:s}){try{s=D(n,s);let a=await t.read(s),o=c=>Xe({fs:t,cache:e,gitdir:i,oid:c}),l=await Xc.fromPack({pack:a,getExternalRefDelta:o,onProgress:r});return await t.write(s.replace(/\.pack$/,".idx"),await l.toBuffer()),{oids:[...l.hashes]}}catch(a){throw a.caller="git.indexPack",a}}async function Jk({fs:t,onProgress:e,dir:r,gitdir:n=D(r,".git"),filepath:i,cache:s={}}){try{T("fs",t),T("dir",r),T("gitdir",r),T("filepath",i);let a=new Q(t),o=await J({fsp:a,dotgit:n});return await v6({fs:a,cache:s,onProgress:e,dir:r,gitdir:o,filepath:i})}catch(a){throw a.caller="git.indexPack",a}}async function eA({fs:t,bare:e=!1,dir:r,gitdir:n=e?r:D(r,".git"),defaultBranch:i="master"}){try{T("fs",t),T("gitdir",n),e||T("dir",r);let s=new Q(t),a=await J({fsp:s,dotgit:n});return await Rk({fs:s,bare:e,dir:r,gitdir:a,defaultBranch:i})}catch(s){throw s.caller="git.init",s}}async function tA({fs:t,cache:e,gitdir:r,oid:n,ancestor:i,depth:s}){let a=await ka.read({fs:t,gitdir:r});if(!n)throw new Sr("oid");if(!i)throw new Sr("ancestor");if(n===i)return!1;let o=[n],l=new Set,c=0;for(;o.length;){if(c++===s)throw new ru(s);let u=o.shift(),{type:f,object:d}=await Xe({fs:t,cache:e,gitdir:r,oid:u});if(f!=="commit")throw new fr(u,f,"commit");let h=kr.from(d).parse();for(let m of h.parent)if(m===i)return!0;if(!a.has(u))for(let m of h.parent)l.has(m)||(o.push(m),l.add(m))}return!1}async function rA({fs:t,dir:e,gitdir:r=D(e,".git"),oid:n,ancestor:i,depth:s=-1,cache:a={}}){try{T("fs",t),T("gitdir",r),T("oid",n),T("ancestor",i);let o=new Q(t),l=await J({fsp:o,dotgit:r});return await tA({fs:o,cache:a,gitdir:l,oid:n,ancestor:i,depth:s})}catch(o){throw o.caller="git.isDescendent",o}}async function nA({fs:t,dir:e,gitdir:r=D(e,".git"),filepath:n}){try{T("fs",t),T("dir",e),T("gitdir",r),T("filepath",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return Os.isIgnored({fs:i,dir:e,gitdir:s,filepath:n})}catch(i){throw i.caller="git.isIgnored",i}}async function iA({fs:t,dir:e,gitdir:r=D(e,".git"),remote:n}){try{T("fs",t),T("gitdir",r);let i=new Q(t),s=await J({fsp:i,dotgit:r});return z.listBranches({fs:i,gitdir:s,remote:n})}catch(i){throw i.caller="git.listBranches",i}}async function w6({fs:t,gitdir:e,ref:r,cache:n}){if(r){let i=await z.resolve({gitdir:e,fs:t,ref:r}),s=[];return await sA({fs:t,cache:n,gitdir:e,oid:i,filenames:s,prefix:""}),s}else return ht.acquire({fs:t,gitdir:e,cache:n},async function(i){return i.entries.map(s=>s.path)})}async function sA({fs:t,cache:e,gitdir:r,oid:n,filenames:i,prefix:s}){let{tree:a}=await al({fs:t,cache:e,gitdir:r,oid:n});for(let o of a)o.type==="tree"?await sA({fs:t,cache:e,gitdir:r,oid:o.oid,filenames:i,prefix:D(s,o.path)}):i.push(D(s,o.path))}async function aA({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n,cache:i={}}){try{T("fs",t),T("gitdir",r);let s=new Q(t),a=await J({fsp:s,dotgit:r});return await w6({fs:s,cache:i,gitdir:a,ref:n})}catch(s){throw s.caller="git.listFiles",s}}async function y6({fs:t,cache:e,gitdir:r,ref:n}){let i;try{i=await z.resolve({gitdir:r,fs:t,ref:n})}catch(o){if(o instanceof Be)return[]}return(await al({fs:t,cache:e,gitdir:r,oid:i})).tree.map(o=>({target:o.path,note:o.oid}))}async function oA({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n="refs/notes/commits",cache:i={}}){try{T("fs",t),T("gitdir",r),T("ref",n);let s=new Q(t),a=await J({fsp:s,dotgit:r});return await y6({fs:s,cache:i,gitdir:a,ref:n})}catch(s){throw s.caller="git.listNotes",s}}async function lA({fs:t,dir:e,gitdir:r=D(e,".git"),filepath:n}){try{T("fs",t),T("gitdir",r);let i=new Q(t),s=await J({fsp:i,dotgit:r});return z.listRefs({fs:i,gitdir:s,filepath:n})}catch(i){throw i.caller="git.listRefs",i}}async function b6({fs:t,gitdir:e}){let r=await lt.get({fs:t,gitdir:e}),n=await r.getSubsections("remote");return Promise.all(n.map(async s=>{let a=await r.get(`remote.${s}.url`);return{remote:s,url:a}}))}async function cA({fs:t,dir:e,gitdir:r=D(e,".git")}){try{T("fs",t),T("gitdir",r);let n=new Q(t),i=await J({fsp:n,dotgit:r});return await b6({fs:n,gitdir:i})}catch(n){throw n.caller="git.listRemotes",n}}async function _6(t){let e=st.streamReader(t),r=[],n;for(;n=await e(),n!==!0;){if(n===null)continue;n=n.toString("utf8").replace(/\n$/,"");let[i,s,...a]=n.split(" "),o={ref:s,oid:i};for(let l of a){let[c,u]=l.split(":");c==="symref-target"?o.target=u:c==="peeled"&&(o.peeled=u)}r.push(o)}return r}async function x6({prefix:t,symrefs:e,peelTags:r}){let n=[];return n.push(st.encode(`command=ls-refs +`)),n.push(st.encode(`agent=${Ud.agent} +`)),(r||e||t)&&n.push(st.delim()),r&&n.push(st.encode("peel")),e&&n.push(st.encode("symrefs")),t&&n.push(st.encode(`ref-prefix ${t}`)),n.push(st.flush()),n}async function uA({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,url:s,headers:a={},forPush:o=!1,protocolVersion:l=2,prefix:c,symrefs:u,peelTags:f}){try{T("http",t),T("url",s);let d=await rl.discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:s,headers:a,protocolVersion:l});if(d.protocolVersion===1)return Zk(d,c,u,f);let h=await x6({prefix:c,symrefs:u,peelTags:f}),m=await rl.connect({http:t,auth:d.auth,headers:a,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:s,body:h});return _6(m.body)}catch(d){throw d.caller="git.listServerRefs",d}}async function fA({fs:t,dir:e,gitdir:r=D(e,".git")}){try{T("fs",t),T("gitdir",r);let n=new Q(t),i=await J({fsp:n,dotgit:r});return z.listTags({fs:n,gitdir:i})}catch(n){throw n.caller="git.listTags",n}}function S6(t,e){return t.committer.timestamp-e.committer.timestamp}var E6="e69de29bb2d1d6434b8b29ae775ad8c2e48c5391";async function ek({fs:t,cache:e,gitdir:r,oid:n,fileId:i}){if(i===E6)return;let s=n,a,o=await Jo({fs:t,cache:e,gitdir:r,oid:n}),l=o.tree;return i===o.oid?a=o.path:(a=await dA({fs:t,cache:e,gitdir:r,tree:l,fileId:i,oid:s}),Array.isArray(a)&&(a.length===0?a=void 0:a.length===1&&(a=a[0]))),a}async function dA({fs:t,cache:e,gitdir:r,tree:n,fileId:i,oid:s,filepaths:a=[],parentPath:o=""}){let l=n.entries().map(function(c){let u;return c.oid===i?(u=D(o,c.path),a.push(u)):c.type==="tree"&&(u=Xe({fs:t,cache:e,gitdir:r,oid:c.oid}).then(function({object:f}){return dA({fs:t,cache:e,gitdir:r,tree:Er.from(f),fileId:i,oid:s,filepaths:a,parentPath:D(o,c.path)})})),u});return await Promise.all(l),a}async function k6({fs:t,cache:e,gitdir:r,filepath:n,ref:i,depth:s,since:a,force:o,follow:l}){let c=typeof a=="undefined"?void 0:Math.floor(a.valueOf()/1e3),u=[],f=await ka.read({fs:t,gitdir:r}),d=await z.resolve({fs:t,gitdir:r,ref:i}),h=[await tl({fs:t,cache:e,gitdir:r,oid:d})],m,g,v;function w(b){v&&n&&u.push(b)}for(;h.length>0;){let b=h.pop();if(c!==void 0&&b.commit.committer.timestamp<=c)break;if(n){let k;try{k=await fu({fs:t,cache:e,gitdir:r,oid:b.commit.tree,filepath:n}),g&&m!==k&&u.push(g),m=k,g=b,v=!0}catch(x){if(x instanceof Be){let E=l&&m;if(E&&(E=await ek({fs:t,cache:e,gitdir:r,oid:b.commit.tree,fileId:m}),E))if(Array.isArray(E)){if(g){let A=await ek({fs:t,cache:e,gitdir:r,oid:g.commit.tree,fileId:m});if(Array.isArray(A))if(E=E.filter(y=>A.indexOf(y)===-1),E.length===1)E=E[0],n=E,g&&u.push(g);else{E=!1,g&&u.push(g);break}}}else n=E,g&&u.push(g);if(!E){if(v&&m&&(u.push(g),!o))break;if(!o&&!l)throw x}g=b,v=!1}else throw x}}else u.push(b);if(s!==void 0&&u.length===s){w(b);break}if(!f.has(b.oid))for(let k of b.commit.parent){let x=await tl({fs:t,cache:e,gitdir:r,oid:k});h.map(E=>E.oid).includes(x.oid)||h.push(x)}h.length===0&&w(b),h.sort((k,x)=>S6(k.commit,x.commit))}return u}async function hA({fs:t,dir:e,gitdir:r=D(e,".git"),filepath:n,ref:i="HEAD",depth:s,since:a,force:o,follow:l,cache:c={}}){try{T("fs",t),T("gitdir",r),T("ref",i);let u=new Q(t),f=await J({fsp:u,dotgit:r});return await k6({fs:u,cache:c,gitdir:f,filepath:n,ref:i,depth:s,since:a,force:o,follow:l})}catch(u){throw u.caller="git.log",u}}async function pA({fs:t,onSign:e,dir:r,gitdir:n=D(r,".git"),ours:i,theirs:s,fastForward:a=!0,fastForwardOnly:o=!1,dryRun:l=!1,noUpdateBranch:c=!1,abortOnConflict:u=!0,message:f,author:d,committer:h,signingKey:m,cache:g={},mergeDriver:v,allowUnrelatedHistories:w=!1}){try{T("fs",t),m&&T("onSign",e);let b=new Q(t),k=await J({fsp:b,dotgit:n}),x=await Ms({fs:b,gitdir:k,author:d});if(!x&&(!o||!a))throw new Kt("author");let E=await el({fs:b,gitdir:k,author:x,committer:h});if(!E&&(!o||!a))throw new Kt("committer");return await Hk({fs:b,cache:g,dir:r,gitdir:k,ours:i,theirs:s,fastForward:a,fastForwardOnly:o,dryRun:l,noUpdateBranch:c,abortOnConflict:u,message:f,author:x,committer:E,signingKey:m,onSign:e,mergeDriver:v,allowUnrelatedHistories:w})}catch(b){throw b.caller="git.merge",b}}var A6={commit:16,tree:32,blob:48,tag:64,ofs_delta:96,ref_delta:112};async function mA({fs:t,cache:e,dir:r,gitdir:n=D(r,".git"),oids:i}){let s=new rk,a=[];function o(u,f){let d=Buffer.from(u,f);a.push(d),s.update(d)}async function l({stype:u,object:f}){let d=A6[u],h=f.length,m=h>15?128:0,g=h&15;h=h>>>4;let v=(m|d|g).toString(16);for(o(v,"hex");m;)m=h>127?128:0,v=m|h&127,o(_v(2,v),"hex"),h=h>>>7;o(Buffer.from(await pk(f)))}o("PACK"),o("00000002","hex"),o(_v(8,i.length),"hex");for(let u of i){let{type:f,object:d}=await Xe({fs:t,cache:e,gitdir:n,oid:u});await l({write:o,object:d,stype:f})}let c=s.digest();return a.push(c),a}async function C6({fs:t,cache:e,gitdir:r,oids:n,write:i}){let s=await mA({fs:t,cache:e,gitdir:r,oids:n}),a=Buffer.from(await Md(s)),l=`pack-${a.slice(-20).toString("hex")}.pack`;return i?(await t.write(D(r,`objects/pack/${l}`),a),{filename:l}):{filename:l,packfile:new Uint8Array(a)}}async function gA({fs:t,dir:e,gitdir:r=D(e,".git"),oids:n,write:i=!1,cache:s={}}){try{T("fs",t),T("gitdir",r),T("oids",n);let a=new Q(t),o=await J({fsp:a,dotgit:r});return await C6({fs:a,cache:s,gitdir:o,oids:n,write:i})}catch(a){throw a.caller="git.packObjects",a}}async function vA({fs:t,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=D(o,".git"),ref:c,url:u,remote:f,remoteRef:d,prune:h=!1,pruneTags:m=!1,fastForward:g=!0,fastForwardOnly:v=!1,corsProxy:w,singleBranch:b,headers:k={},author:x,committer:E,signingKey:A,cache:y={}}){try{T("fs",t),T("gitdir",l);let S=new Q(t),_=await J({fsp:S,dotgit:l}),C=await Ms({fs:S,gitdir:_,author:x});if(!C)throw new Kt("author");let P=await el({fs:S,gitdir:_,author:C,committer:E});if(!P)throw new Kt("committer");return await Uk({fs:S,cache:y,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:_,ref:c,url:u,remote:f,remoteRef:d,fastForward:g,fastForwardOnly:v,corsProxy:w,singleBranch:b,headers:k,author:C,committer:P,signingKey:A,prune:h,pruneTags:m})}catch(S){throw S.caller="git.pull",S}}async function T6({fs:t,cache:e,dir:r,gitdir:n=D(r,".git"),start:i,finish:s}){let a=await ka.read({fs:t,gitdir:n}),o=new Set,l=new Set;for(let f of i)o.add(await z.resolve({fs:t,gitdir:n,ref:f}));for(let f of s)try{let d=await z.resolve({fs:t,gitdir:n,ref:f});l.add(d)}catch(d){}let c=new Set;async function u(f){c.add(f);let{type:d,object:h}=await Xe({fs:t,cache:e,gitdir:n,oid:f});if(d==="tag"){let g=Zr.from(h).headers().object;return u(g)}if(d!=="commit")throw new fr(f,d,"commit");if(!a.has(f)){let g=kr.from(h).headers().parent;for(f of g)!l.has(f)&&!c.has(f)&&await u(f)}}for(let f of o)await u(f);return c}async function lv({fs:t,cache:e,dir:r,gitdir:n=D(r,".git"),oids:i}){let s=new Set;async function a(o){if(s.has(o))return;s.add(o);let{type:l,object:c}=await Xe({fs:t,cache:e,gitdir:n,oid:o});if(l==="tag"){let f=Zr.from(c).headers().object;await a(f)}else if(l==="commit"){let f=kr.from(c).headers().tree;await a(f)}else if(l==="tree"){let u=Er.from(c);for(let f of u)f.type==="blob"&&s.add(f.oid),f.type==="tree"&&await a(f.oid)}}for(let o of i)await a(o);return s}async function P6(t){let e={},r="",n=st.streamReader(t),i=await n();for(;i!==!0;)i!==null&&(r+=i.toString("utf8")+` +`),i=await n();let s=r.toString("utf8").split(` +`);if(i=s.shift(),!i.startsWith("unpack "))throw new Ea('unpack ok" or "unpack [error message]',i);e.ok=i==="unpack ok",e.ok||(e.error=i.slice(7)),e.refs={};for(let a of s){if(a.trim()==="")continue;let o=a.slice(0,2),l=a.slice(3),c=l.indexOf(" ");c===-1&&(c=l.length);let u=l.slice(0,c),f=l.slice(c+1);e.refs[u]={ok:o==="ok",error:f}}return e}async function R6({capabilities:t=[],triplets:e=[]}){let r=[],n=`\0 ${t.join(" ")}`;for(let i of e)r.push(st.encode(`${i.oldoid} ${i.oid} ${i.fullRef}${n} +`)),n="";return r.push(st.flush()),r}async function $6({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:s,onAuthSuccess:a,onAuthFailure:o,onPrePush:l,gitdir:c,ref:u,remoteRef:f,remote:d,url:h,force:m=!1,delete:g=!1,corsProxy:v,headers:w={}}){let b=u||await Ls({fs:t,gitdir:c});if(typeof b=="undefined")throw new Sr("ref");let k=await lt.get({fs:t,gitdir:c});d=d||await k.get(`branch.${b}.pushRemote`)||await k.get("remote.pushDefault")||await k.get(`branch.${b}.remote`)||"origin";let x=h||await k.get(`remote.${d}.pushurl`)||await k.get(`remote.${d}.url`);if(typeof x=="undefined")throw new Sr("remote OR url");let E=f||await k.get(`branch.${b}.merge`);if(typeof x=="undefined")throw new Sr("remoteRef");v===void 0&&(v=await k.get("http.corsProxy"));let A=await z.expand({fs:t,gitdir:c,ref:b}),y=g?"0000000000000000000000000000000000000000":await z.resolve({fs:t,gitdir:c,ref:A}),S=nl.getRemoteHelperFor({url:x}),_=await S.discover({http:r,onAuth:s,onAuthSuccess:a,onAuthFailure:o,corsProxy:v,service:"git-receive-pack",url:x,headers:w,protocolVersion:1}),C=_.auth,P;if(!E)P=A;else try{P=await z.expandAgainstMap({ref:E,map:_.refs})}catch(X){if(X instanceof Be)P=E.startsWith("refs/")?E:`refs/heads/${E}`;else throw X}let N=_.refs.get(P)||"0000000000000000000000000000000000000000";if(l&&!await l({remote:d,url:x,localRef:{ref:g?"(delete)":A,oid:y},remoteRef:{ref:P,oid:N}}))throw new Qo;let B=!_.capabilities.has("no-thin"),H=new Set;if(!g){let X=[..._.refs.values()],q=new Set;if(N!=="0000000000000000000000000000000000000000"){let De=await Cv({fs:t,cache:e,gitdir:c,oids:[y,N]});for(let ar of De)X.push(ar);B&&(q=await lv({fs:t,cache:e,gitdir:c,oids:De}))}if(!X.includes(y)){let De=await T6({fs:t,cache:e,gitdir:c,start:[y],finish:X});H=await lv({fs:t,cache:e,gitdir:c,oids:De})}if(B){try{let De=await z.resolve({fs:t,gitdir:c,ref:`refs/remotes/${d}/HEAD`,depth:2}),{oid:ar}=await z.resolveAgainstMap({ref:De.replace(`refs/remotes/${d}/`,""),fullref:De,map:_.refs}),Ft=[ar];for(let Ie of await lv({fs:t,cache:e,gitdir:c,oids:Ft}))q.add(Ie)}catch(De){}for(let De of q)H.delete(De)}if(y===N&&(m=!0),!m){if(A.startsWith("refs/tags")&&N!=="0000000000000000000000000000000000000000")throw new Ko("tag-exists");if(y!=="0000000000000000000000000000000000000000"&&N!=="0000000000000000000000000000000000000000"&&!await tA({fs:t,cache:e,gitdir:c,oid:y,ancestor:N,depth:-1}))throw new Ko("not-fast-forward")}}let ce=Tk([..._.capabilities],["report-status","side-band-64k",`agent=${Ud.agent}`]),Pe=await R6({capabilities:ce,triplets:[{oldoid:N,oid:y,fullRef:P}]}),ve=g?[]:await mA({fs:t,cache:e,gitdir:c,oids:[...H]}),ie=await S.connect({http:r,onProgress:n,corsProxy:v,service:"git-receive-pack",url:x,auth:C,headers:w,body:[...Pe,...ve]}),{packfile:xe,progress:we}=await Dd.demux(ie.body);if(i){let X=Pk(we);hu(X,async q=>{await i(q)})}let W=await P6(xe);if(ie.headers&&(W.headers=ie.headers),d&&W.ok&&W.refs[P].ok&&!A.startsWith("refs/tags")){let X=`refs/remotes/${d}/${P.replace("refs/heads","")}`;g?await z.deleteRef({fs:t,gitdir:c,ref:X}):await z.writeRef({fs:t,gitdir:c,ref:X,value:y})}if(W.ok&&Object.values(W.refs).every(X=>X.ok))return W;{let X=Object.entries(W.refs).filter(([q,De])=>!De.ok).map(([q,De])=>` + - ${q}: ${De.error}`).join("");throw new tu(X,W)}}async function wA({fs:t,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,onPrePush:o,dir:l,gitdir:c=D(l,".git"),ref:u,remoteRef:f,remote:d="origin",url:h,force:m=!1,delete:g=!1,corsProxy:v,headers:w={},cache:b={}}){try{T("fs",t),T("http",e),T("gitdir",c);let k=new Q(t),x=await J({fsp:k,dotgit:c});return await $6({fs:k,cache:b,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,onPrePush:o,gitdir:x,ref:u,remoteRef:f,remote:d,url:h,force:m,delete:g,corsProxy:v,headers:w})}catch(k){throw k.caller="git.push",k}}async function yA({fs:t,cache:e,gitdir:r,oid:n}){let{type:i,object:s}=await Xe({fs:t,cache:e,gitdir:r,oid:n});if(i==="tag")return n=Zr.from(s).parse().object,yA({fs:t,cache:e,gitdir:r,oid:n});if(i!=="blob")throw new fr(n,i,"blob");return{oid:n,blob:new Uint8Array(s)}}async function bA({fs:t,cache:e,gitdir:r,oid:n,filepath:i=void 0}){return i!==void 0&&(n=await fu({fs:t,cache:e,gitdir:r,oid:n,filepath:i})),await yA({fs:t,cache:e,gitdir:r,oid:n})}async function _A({fs:t,dir:e,gitdir:r=D(e,".git"),oid:n,filepath:i,cache:s={}}){try{T("fs",t),T("gitdir",r),T("oid",n);let a=new Q(t),o=await J({fsp:a,dotgit:r});return await bA({fs:a,cache:s,gitdir:o,oid:n,filepath:i})}catch(a){throw a.caller="git.readBlob",a}}async function Tv({fs:t,dir:e,gitdir:r=D(e,".git"),oid:n,cache:i={}}){try{T("fs",t),T("gitdir",r),T("oid",n);let s=new Q(t),a=await J({fsp:s,dotgit:r});return await tl({fs:s,cache:i,gitdir:a,oid:n})}catch(s){throw s.caller="git.readCommit",s}}async function I6({fs:t,cache:e,gitdir:r,ref:n="refs/notes/commits",oid:i}){let s=await z.resolve({gitdir:r,fs:t,ref:n}),{blob:a}=await bA({fs:t,cache:e,gitdir:r,oid:s,filepath:i});return a}async function xA({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n="refs/notes/commits",oid:i,cache:s={}}){try{T("fs",t),T("gitdir",r),T("ref",n),T("oid",i);let a=new Q(t),o=await J({fsp:a,dotgit:r});return await I6({fs:a,cache:s,gitdir:o,ref:n,oid:i})}catch(a){throw a.caller="git.readNote",a}}async function SA({fs:t,dir:e,gitdir:r=D(e,".git"),oid:n,format:i="parsed",filepath:s=void 0,encoding:a=void 0,cache:o={}}){try{T("fs",t),T("gitdir",r),T("oid",n);let l=new Q(t),c=await J({fsp:l,dotgit:r});s!==void 0&&(n=await fu({fs:l,cache:o,gitdir:c,oid:n,filepath:s}));let f=await Xe({fs:l,cache:o,gitdir:c,oid:n,format:i==="parsed"?"content":i});if(f.oid=n,i==="parsed")switch(f.format="parsed",f.type){case"commit":f.object=kr.from(f.object).parse();break;case"tree":f.object=Er.from(f.object).entries();break;case"blob":a?f.object=f.object.toString(a):(f.object=new Uint8Array(f.object),f.format="content");break;case"tag":f.object=Zr.from(f.object).parse();break;default:throw new fr(f.oid,f.type,"blob|commit|tag|tree")}else(f.format==="deflated"||f.format==="wrapped")&&(f.type=f.format);return f}catch(l){throw l.caller="git.readObject",l}}async function F6({fs:t,cache:e,gitdir:r,oid:n}){let{type:i,object:s}=await Xe({fs:t,cache:e,gitdir:r,oid:n,format:"content"});if(i!=="tag")throw new fr(n,i,"tag");let a=Zr.from(s);return{oid:n,tag:a.parse(),payload:a.payload()}}async function EA({fs:t,dir:e,gitdir:r=D(e,".git"),oid:n,cache:i={}}){try{T("fs",t),T("gitdir",r),T("oid",n);let s=new Q(t),a=await J({fsp:s,dotgit:r});return await F6({fs:s,cache:i,gitdir:a,oid:n})}catch(s){throw s.caller="git.readTag",s}}async function kA({fs:t,dir:e,gitdir:r=D(e,".git"),oid:n,filepath:i=void 0,cache:s={}}){try{T("fs",t),T("gitdir",r),T("oid",n);let a=new Q(t),o=await J({fsp:a,dotgit:r});return await al({fs:a,cache:s,gitdir:o,oid:n,filepath:i})}catch(a){throw a.caller="git.readTree",a}}async function AA({fs:t,dir:e,gitdir:r=D(e,".git"),filepath:n,cache:i={}}){try{T("fs",t),T("gitdir",r),T("filepath",n);let s=new Q(t),a=await J({fsp:s,dotgit:r});await ht.acquire({fs:s,gitdir:a,cache:i},async function(o){o.delete({filepath:n})})}catch(s){throw s.caller="git.remove",s}}async function O6({fs:t,cache:e,onSign:r,gitdir:n,ref:i="refs/notes/commits",oid:s,author:a,committer:o,signingKey:l}){let c;try{c=await z.resolve({gitdir:n,fs:t,ref:i})}catch(m){if(!(m instanceof Be))throw m}let f=(await al({fs:t,cache:e,gitdir:n,oid:c||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;f=f.filter(m=>m.path!==s);let d=await du({fs:t,gitdir:n,tree:f});return await Hd({fs:t,cache:e,onSign:r,gitdir:n,ref:i,tree:d,parent:c&&[c],message:`Note removed by 'isomorphic-git removeNote' +`,author:a,committer:o,signingKey:l})}async function CA({fs:t,onSign:e,dir:r,gitdir:n=D(r,".git"),ref:i="refs/notes/commits",oid:s,author:a,committer:o,signingKey:l,cache:c={}}){try{T("fs",t),T("gitdir",n),T("oid",s);let u=new Q(t),f=await J({fsp:u,dotgit:n}),d=await Ms({fs:u,gitdir:f,author:a});if(!d)throw new Kt("author");let h=await el({fs:u,gitdir:f,author:d,committer:o});if(!h)throw new Kt("committer");return await O6({fs:u,cache:c,onSign:e,gitdir:f,ref:i,oid:s,author:d,committer:h,signingKey:l})}catch(u){throw u.caller="git.removeNote",u}}async function M6({fs:t,gitdir:e,oldref:r,ref:n,checkout:i=!1}){if(!uu(n,!0))throw new Dn(n,zc.clean(n));if(!uu(r,!0))throw new Dn(r,zc.clean(r));let s=`refs/heads/${r}`,a=`refs/heads/${n}`;if(await z.exists({fs:t,gitdir:e,ref:a}))throw new Mn("branch",n,!1);let l=await z.resolve({fs:t,gitdir:e,ref:s,depth:1});await z.writeRef({fs:t,gitdir:e,ref:a,value:l}),await z.deleteRef({fs:t,gitdir:e,ref:s});let u=await Ls({fs:t,gitdir:e,fullname:!0})===s;(i||u)&&await z.writeSymbolicRef({fs:t,gitdir:e,ref:"HEAD",value:a})}async function TA({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n,oldref:i,checkout:s=!1}){try{T("fs",t),T("gitdir",r),T("ref",n),T("oldref",i);let a=new Q(t),o=await J({fsp:a,dotgit:r});return await M6({fs:a,gitdir:o,ref:n,oldref:i,checkout:s})}catch(a){throw a.caller="git.renameBranch",a}}async function PA({gitdir:t,type:e,object:r}){return zi($s.wrap({type:e,object:r}))}async function RA({fs:t,dir:e,gitdir:r=D(e,".git"),filepath:n,ref:i,cache:s={}}){try{T("fs",t),T("gitdir",r),T("filepath",n);let a=new Q(t),o=await J({fsp:a,dotgit:r}),l,c;try{l=await z.resolve({fs:a,gitdir:o,ref:i||"HEAD"})}catch(d){if(i)throw d}if(l)try{l=await fu({fs:a,cache:s,gitdir:o,oid:l,filepath:n})}catch(d){l=null}let u={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:0,uid:0,gid:0,size:0},f=e&&await a.read(D(e,n));f&&(c=await PA({gitdir:o,type:"blob",object:f}),l===c&&(u=await a.lstat(D(e,n)))),await ht.acquire({fs:a,gitdir:o,cache:s},async function(d){d.delete({filepath:n}),l&&d.insert({filepath:n,stats:u,oid:l})})}catch(a){throw a.caller="git.reset",a}}async function $A({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n,depth:i}){try{T("fs",t),T("gitdir",r),T("ref",n);let s=new Q(t),a=await J({fsp:s,dotgit:r});return await z.resolve({fs:s,gitdir:a,ref:n,depth:i})}catch(s){throw s.caller="git.resolveRef",s}}async function IA({fs:t,dir:e,gitdir:r=D(e,".git"),path:n,value:i,append:s=!1}){try{T("fs",t),T("gitdir",r),T("path",n);let a=new Q(t),o=await J({fsp:a,dotgit:r}),l=await lt.get({fs:a,gitdir:o});s?await l.append(n,i):await l.set(n,i),await lt.save({fs:a,gitdir:o,config:l})}catch(a){throw a.caller="git.setConfig",a}}async function FA({fs:t,gitdir:e,commit:r}){let n=kr.from(r).toObject();return await Ar({fs:t,gitdir:e,type:"commit",object:n,format:"content"})}var Ld=class t{static get timezoneOffsetForRefLogEntry(){let e=new Date().getTimezoneOffset(),r=Math.abs(Math.floor(e/60)),n=Math.abs(e%60).toString().padStart(2,"0");return`${e>0?"-":"+"}${r.toString().padStart(2,"0")}${n}`}static createStashReflogEntry(e,r,n){let i=e.name.replace(/\s/g,""),s="0000000000000000000000000000000000000000",a=Math.floor(Date.now()/1e3),o=t.timezoneOffsetForRefLogEntry;return`${s} ${r} ${i} ${e.email} ${a} ${o} ${n} +`}static getStashReflogEntry(e,r=!1){return e.split(` +`).filter(s=>s).reverse().map((s,a)=>r?`stash@{${a}}: ${s.split(" ")[1]}`:s)}},D6={stage:Ca,workdir:sl},cv;async function il(t,e){return cv===void 0&&(cv=new Wc),cv.acquire(t,e)}async function L6(t,e,r,n,i=null){let s=D(r,n),a=await t.lstat(s);if(!a)throw new Be(s);if(a.isDirectory())throw new he(`${s}: file expected, but found directory`);let o=i?await lk({fs:t,gitdir:e,oid:i}):void 0,l=o?i:void 0;return o||await il({fs:t,gitdir:e,currentFilepath:s},async()=>{let c=a.isSymbolicLink()?await t.readlink(s).then(mk):await t.read(s);if(c===null)throw new Be(s);l=await Ar({fs:t,gitdir:e,type:"blob",object:c})}),l}async function N6({fs:t,dir:e,gitdir:r,entries:n}){async function i(s){if(s.type==="tree"){if(!s.oid){let a=await Promise.all(s.children.map(i));s.oid=await du({fs:t,gitdir:r,tree:a}),s.mode=16384}}else s.type==="blob"&&(s.oid=await L6(t,r,e,s.path,s.oid),s.mode=33188);return s.path=s.path.split("/").pop(),s}return Promise.all(n.map(i))}async function tk({fs:t,dir:e,gitdir:r,treePair:n}){let i=n[1]==="stage",s=n.map(h=>typeof h=="string"?D6[h]():h),a=[],u=await Fs({fs:t,cache:{},dir:e,gitdir:r,trees:s,map:async(h,[m,g])=>{if(!(h==="."||await Os.isIgnored({fs:t,dir:e,gitdir:r,filepath:h}))&&g)return(!m||await m.oid()!==await g.oid()&&await g.oid()!==void 0)&&a.push([m,g]),{mode:await g.mode(),path:h,oid:await g.oid(),type:await g.type()}},reduce:async(h,m)=>(m=m.filter(Boolean),h?(h.children=m,h):m.length>0?m:void 0),iterate:async(h,m)=>{let g=[];for(let v of m){let[w,b]=v;i?b&&(await t.exists(`${e}/${b.toString()}`)?g.push(v):a.push([null,b])):w&&(b?g.push(v):a.push([w,null]))}return g.length?Promise.all(g.map(h)):[]}});if(a.length===0||u.length===0)return null;let d=(await N6({fs:t,dir:e,gitdir:r,entries:u})).filter(Boolean).map(h=>({mode:h.mode,path:h.path,oid:h.oid,type:h.type}));return du({fs:t,gitdir:r,tree:d})}async function B6({fs:t,dir:e,gitdir:r,stashCommit:n,parentCommit:i,wasStaged:s}){let a=[],o=[],l=await Fs({fs:t,cache:{},dir:e,gitdir:r,trees:[Xr({ref:i}),Xr({ref:n})],map:async(c,[u,f])=>{if(c==="."||await Os.isIgnored({fs:t,dir:e,gitdir:r,filepath:c}))return;let d=f?await f.type():await u.type();if(d!=="tree"&&d!=="blob")return;if(!f&&u){let m=d==="tree"?"rmdir":"rm";return d==="tree"&&a.push(c),d==="blob"&&s&&o.push({filepath:c,oid:await u.oid()}),{method:m,filepath:c}}let h=await f.oid();if(!u||await u.oid()!==h)return d==="tree"?{method:"mkdir",filepath:c}:(s&&o.push({filepath:c,oid:h,stats:await t.lstat(D(e,c))}),{method:"write",filepath:c,oid:h})}});await il({fs:t,gitdir:r,dirRemoved:a,ops:l},async()=>{for(let c of l){let u=D(e,c.filepath);switch(c.method){case"rmdir":await t.rmdir(u);break;case"mkdir":await t.mkdir(u);break;case"rm":await t.rm(u);break;case"write":if(!a.some(f=>u.startsWith(f))){let{object:f}=await Xe({fs:t,cache:{},gitdir:r,oid:c.oid});await t.exists(u)&&await t.rm(u),await t.write(u,f)}break}}}),await ht.acquire({fs:t,gitdir:r,cache:{}},async c=>{o.forEach(({filepath:u,stats:f,oid:d})=>{c.insert({filepath:u,stats:f,oid:d})})})}var Aa=class t{constructor({fs:e,dir:r,gitdir:n=D(r,".git")}){Object.assign(this,{fs:e,dir:r,gitdir:n,_author:null})}static get refStash(){return"refs/stash"}static get refLogsStash(){return"logs/refs/stash"}get refStashPath(){return D(this.gitdir,t.refStash)}get refLogsStashPath(){return D(this.gitdir,t.refLogsStash)}async getAuthor(){if(!this._author&&(this._author=await Ms({fs:this.fs,gitdir:this.gitdir,author:{}}),!this._author))throw new Kt("author");return this._author}async getStashSHA(e,r){return await this.fs.exists(this.refStashPath)?(r||await this.readStashReflogs({parsed:!1}))[e].split(" ")[1]:null}async writeStashCommit({message:e,tree:r,parent:n}){return FA({fs:this.fs,gitdir:this.gitdir,commit:{message:e,tree:r,parent:n,author:await this.getAuthor(),committer:await this.getAuthor()}})}async readStashCommit(e){let r=await this.readStashReflogs({parsed:!1});if(e!==0&&(e<0||e>r.length-1))throw new Dn(`stash@${e}`,"number that is in range of [0, num of stash pushed]");let n=await this.getStashSHA(e,r);return n?tl({fs:this.fs,cache:{},gitdir:this.gitdir,oid:n}):{}}async writeStashRef(e){return z.writeRef({fs:this.fs,gitdir:this.gitdir,ref:t.refStash,value:e})}async writeStashReflogEntry({stashCommit:e,message:r}){let n=await this.getAuthor(),i=Ld.createStashReflogEntry(n,e,r),s=this.refLogsStashPath;await il({filepath:s,entry:i},async()=>{let a=await this.fs.exists(s)?await this.fs.read(s,"utf8"):"";await this.fs.write(s,a+i,"utf8")})}async readStashReflogs({parsed:e=!1}){if(!await this.fs.exists(this.refLogsStashPath))return[];let r=await this.fs.read(this.refLogsStashPath,"utf8");return Ld.getStashReflogEntry(r,e)}};async function OA({fs:t,dir:e,gitdir:r,message:n=""}){let i=new Aa({fs:t,dir:e,gitdir:r});await i.getAuthor();let s=await Ls({fs:t,gitdir:r,fullname:!1}),a=await z.resolve({fs:t,gitdir:r,ref:"HEAD"}),l=(await Tv({fs:t,dir:e,gitdir:r,oid:a})).commit.message,c=[a],u=null,f=Xr({ref:"HEAD"}),d=await tk({fs:t,dir:e,gitdir:r,treePair:[Xr({ref:"HEAD"}),"stage"]});if(d){let v=await i.writeStashCommit({message:`stash-Index: WIP on ${s} - ${new Date().toISOString()}`,tree:d,parent:c});c.push(v),u=d,f=Ca()}let h=await tk({fs:t,dir:e,gitdir:r,treePair:[f,"workdir"]});if(h){let v=await i.writeStashCommit({message:`stash-WorkDir: WIP on ${s} - ${new Date().toISOString()}`,tree:h,parent:[c[c.length-1]]});c.push(v),u=h}if(!u||!d&&!h)throw new Be("changes, nothing to stash");let m=(n.trim()||`WIP on ${s}`)+`: ${a.substring(0,7)} ${l}`;return{stashCommit:await i.writeStashCommit({message:m,tree:u,parent:c}),stashMsg:m,branch:s,stashMgr:i}}async function H6({fs:t,dir:e,gitdir:r,message:n=""}){let{stashCommit:i,stashMsg:s,branch:a,stashMgr:o}=await OA({fs:t,dir:e,gitdir:r,message:n});return await o.writeStashRef(i),await o.writeStashReflogEntry({stashCommit:i,message:s}),await kv({fs:t,dir:e,gitdir:r,ref:a,track:!1,force:!0}),i}async function U6({fs:t,dir:e,gitdir:r,message:n=""}){let{stashCommit:i}=await OA({fs:t,dir:e,gitdir:r,message:n});return i}async function MA({fs:t,dir:e,gitdir:r,refIdx:n=0}){let s=await new Aa({fs:t,dir:e,gitdir:r}).readStashCommit(n),{parent:a=null}=s.commit?s.commit:{};if(!(!a||!Array.isArray(a)))for(let o=0;o{await t.exists(a)&&await t.rm(a)});let o=await i.readStashReflogs({parsed:!1});if(!o.length)return;o.splice(n,1);let l=i.refLogsStashPath;await il({reflogEntries:o,stashReflogPath:l,stashMgr:i},async()=>{if(o.length){await t.write(l,o.reverse().join(` +`)+` +`,"utf8");let c=o[o.length-1].split(" ")[1];await i.writeStashRef(c)}else await t.rm(l)})}async function G6({fs:t,dir:e,gitdir:r}){return new Aa({fs:t,dir:e,gitdir:r}).readStashReflogs({parsed:!0})}async function j6({fs:t,dir:e,gitdir:r}){let n=new Aa({fs:t,dir:e,gitdir:r}),i=[n.refStashPath,n.refLogsStashPath];await il(i,async()=>{await Promise.all(i.map(async s=>{if(await t.exists(s))return t.rm(s)}))})}async function q6({fs:t,dir:e,gitdir:r,refIdx:n=0}){await MA({fs:t,dir:e,gitdir:r,refIdx:n}),await DA({fs:t,dir:e,gitdir:r,refIdx:n})}async function LA({fs:t,dir:e,gitdir:r=D(e,".git"),op:n="push",message:i="",refIdx:s=0}){T("fs",t),T("dir",e),T("gitdir",r),T("op",n);let a={push:H6,apply:MA,drop:DA,list:G6,clear:j6,pop:q6,create:U6},o=["apply","drop","pop"];try{let l=new Q(t),c=await J({fsp:l,dotgit:r});["refs","logs","logs/refs"].map(d=>D(c,d)).forEach(async d=>{await l.exists(d)||await l.mkdir(d)});let f=a[n];if(f){if(o.includes(n)&&s<0)throw new Dn(`stash@${s}`,"number that is in range of [0, num of stash pushed]");return await f({fs:l,dir:e,gitdir:c,message:i,refIdx:s})}throw new Error(`To be implemented: ${n}`)}catch(l){throw l.caller="git.stash",l}}async function NA({fs:t,dir:e,gitdir:r=D(e,".git"),filepath:n,cache:i={}}){try{T("fs",t),T("gitdir",r),T("filepath",n);let s=new Q(t),a=await J({fsp:s,dotgit:r});if(await Os.isIgnored({fs:s,gitdir:a,dir:e,filepath:n}))return"ignored";let l=await W6({fs:s,cache:i,gitdir:a}),c=await BA({fs:s,cache:i,gitdir:a,tree:l,path:n}),u=await ht.acquire({fs:s,gitdir:a,cache:i},async function(v){for(let w of v)if(w.path===n)return w;return null}),f=await s.lstat(D(e,n)),d=c!==null,h=u!==null,m=f!==null,g=async()=>{if(h&&!Td(u,f))return u.oid;{let v=await s.read(D(e,n)),w=await PA({gitdir:a,type:"blob",object:v});return h&&u.oid===w&&f.size!==-1&&ht.acquire({fs:s,gitdir:a,cache:i},async function(b){b.insert({filepath:n,stats:f,oid:w})}),w}};if(!d&&!m&&!h)return"absent";if(!d&&!m&&h)return"*absent";if(!d&&m&&!h)return"*added";if(!d&&m&&h)return await g()===u.oid?"added":"*added";if(d&&!m&&!h)return"deleted";if(d&&!m&&h)return c===u.oid,"*deleted";if(d&&m&&!h)return await g()===c?"*undeleted":"*undeletemodified";if(d&&m&&h){let v=await g();return v===c?v===u.oid?"unmodified":"*unmodified":v===u.oid?"modified":"*modified"}}catch(s){throw s.caller="git.status",s}}async function BA({fs:t,cache:e,gitdir:r,tree:n,path:i}){typeof i=="string"&&(i=i.split("/"));let s=i.shift();for(let a of n)if(a.path===s){if(i.length===0)return a.oid;let{type:o,object:l}=await Xe({fs:t,cache:e,gitdir:r,oid:a.oid});if(o==="tree"){let c=Er.from(l);return BA({fs:t,cache:e,gitdir:r,tree:c,path:i})}if(o==="blob")throw new fr(a.oid,o,"blob",i.join("/"))}return null}async function W6({fs:t,cache:e,gitdir:r}){let n;try{n=await z.resolve({fs:t,gitdir:r,ref:"HEAD"})}catch(s){if(s instanceof Be)return[]}let{tree:i}=await al({fs:t,cache:e,gitdir:r,oid:n});return i}async function HA({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n="HEAD",filepaths:i=["."],filter:s,cache:a={},ignored:o=!1}){try{T("fs",t),T("gitdir",r),T("ref",n);let l=new Q(t),c=await J({fsp:l,dotgit:r});return await Fs({fs:l,cache:a,dir:e,gitdir:c,trees:[Xr({ref:n}),sl(),Ca()],map:async function(u,[f,d,h]){if(!f&&!h&&d&&!o&&await Os.isIgnored({fs:l,dir:e,filepath:u})||!i.some(y=>Ak(u,y)))return null;if(s&&!s(u))return;let[m,g,v]=await Promise.all([f&&f.type(),d&&d.type(),h&&h.type()]),w=[m,g,v].includes("blob");if((m==="tree"||m==="special")&&!w)return;if(m==="commit")return null;if((g==="tree"||g==="special")&&!w)return;if(v==="commit")return null;if((v==="tree"||v==="special")&&!w)return;let b=m==="blob"?await f.oid():void 0,k=v==="blob"?await h.oid():void 0,x;m!=="blob"&&g==="blob"&&v!=="blob"?x="42":g==="blob"&&(x=await d.oid());let E=[void 0,b,x,k],A=E.map(y=>E.indexOf(y));return A.shift(),[u,...A]}})}catch(l){throw l.caller="git.statusMatrix",l}}async function UA({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n,object:i,force:s=!1}){try{T("fs",t),T("gitdir",r),T("ref",n);let a=new Q(t);if(n===void 0)throw new Sr("ref");n=n.startsWith("refs/tags/")?n:`refs/tags/${n}`;let o=await J({fsp:a,dotgit:r}),l=await z.resolve({fs:a,gitdir:o,ref:i||"HEAD"});if(!s&&await z.exists({fs:a,gitdir:o,ref:n}))throw new Mn("tag",n);await z.writeRef({fs:a,gitdir:o,ref:n,value:l})}catch(a){throw a.caller="git.tag",a}}async function GA({fs:t,dir:e,gitdir:r=D(e,".git"),cache:n={},filepath:i,oid:s,mode:a,add:o,remove:l,force:c}){try{T("fs",t),T("gitdir",r),T("filepath",i);let u=new Q(t),f=await J({fsp:u,dotgit:r});if(l)return await ht.acquire({fs:u,gitdir:f,cache:n},async function(h){if(!c){let m=await u.lstat(D(e,i));if(m){if(m.isDirectory())throw new Is("directory");return}}h.has({filepath:i})&&h.delete({filepath:i})});let d;if(!s){if(d=await u.lstat(D(e,i)),!d)throw new Be(`file at "${i}" on disk and "remove" not set`);if(d.isDirectory())throw new Is("directory")}return await ht.acquire({fs:u,gitdir:f,cache:n},async function(h){if(!o&&!h.has({filepath:i}))throw new Be(`file at "${i}" in index and "add" not set`);let m;if(s)m={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:a,uid:0,gid:0,size:0};else{m=d;let g=m.isSymbolicLink()?await u.readlink(D(e,i)):await u.read(D(e,i));s=await Ar({fs:u,gitdir:f,type:"blob",format:"content",object:g})}return h.insert({filepath:i,oid:s,stats:m}),s})}catch(u){throw u.caller="git.updateIndex",u}}function jA(){try{return Ud.version}catch(t){throw t.caller="git.version",t}}async function qA({fs:t,dir:e,gitdir:r=D(e,".git"),trees:n,map:i,reduce:s,iterate:a,cache:o={}}){try{T("fs",t),T("gitdir",r),T("trees",n);let l=new Q(t),c=await J({fsp:l,dotgit:r});return await Fs({fs:l,cache:o,dir:e,gitdir:c,trees:n,map:i,reduce:s,iterate:a})}catch(l){throw l.caller="git.walk",l}}async function WA({fs:t,dir:e,gitdir:r=D(e,".git"),blob:n}){try{T("fs",t),T("gitdir",r),T("blob",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return await Ar({fs:i,gitdir:s,type:"blob",object:n,format:"content"})}catch(i){throw i.caller="git.writeBlob",i}}async function zA({fs:t,dir:e,gitdir:r=D(e,".git"),commit:n}){try{T("fs",t),T("gitdir",r),T("commit",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return await FA({fs:i,gitdir:s,commit:n})}catch(i){throw i.caller="git.writeCommit",i}}async function VA({fs:t,dir:e,gitdir:r=D(e,".git"),type:n,object:i,format:s="parsed",oid:a,encoding:o=void 0}){try{let l=new Q(t),c=await J({fsp:l,dotgit:r});if(s==="parsed"){switch(n){case"commit":i=kr.from(i).toObject();break;case"tree":i=Er.from(i).toObject();break;case"blob":i=Buffer.from(i,o);break;case"tag":i=Zr.from(i).toObject();break;default:throw new fr(a||"",n,"blob|commit|tag|tree")}s="content"}return a=await Ar({fs:l,gitdir:c,type:n,object:i,oid:a,format:s}),a}catch(l){throw l.caller="git.writeObject",l}}async function YA({fs:t,dir:e,gitdir:r=D(e,".git"),ref:n,value:i,force:s=!1,symbolic:a=!1}){try{T("fs",t),T("gitdir",r),T("ref",n),T("value",i);let o=new Q(t);if(!uu(n,!0))throw new Dn(n,zc.clean(n));let l=await J({fsp:o,dotgit:r});if(!s&&await z.exists({fs:o,gitdir:l,ref:n}))throw new Mn("ref",n);a?await z.writeSymbolicRef({fs:o,gitdir:l,ref:n,value:i}):(i=await z.resolve({fs:o,gitdir:l,ref:i}),await z.writeRef({fs:o,gitdir:l,ref:n,value:i}))}catch(o){throw o.caller="git.writeRef",o}}async function z6({fs:t,gitdir:e,tag:r}){let n=Zr.from(r).toObject();return await Ar({fs:t,gitdir:e,type:"tag",object:n,format:"content"})}async function XA({fs:t,dir:e,gitdir:r=D(e,".git"),tag:n}){try{T("fs",t),T("gitdir",r),T("tag",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return await z6({fs:i,gitdir:s,tag:n})}catch(i){throw i.caller="git.writeTag",i}}async function ZA({fs:t,dir:e,gitdir:r=D(e,".git"),tree:n}){try{T("fs",t),T("gitdir",r),T("tree",n);let i=new Q(t),s=await J({fsp:i,dotgit:r});return await du({fs:i,gitdir:s,tree:n})}catch(i){throw i.caller="git.writeTree",i}}var V6={Errors:fk,STAGE:Ca,TREE:Xr,WORKDIR:sl,add:gk,abortMerge:hk,addNote:_k,addRemote:Sk,annotatedTag:Ek,branch:kk,checkout:kv,clone:$k,commit:Ik,getConfig:Vk,getConfigAll:Yk,setConfig:IA,currentBranch:Fk,deleteBranch:Ok,deleteRef:Mk,deleteRemote:Dk,deleteTag:Lk,expandOid:Nk,expandRef:Bk,fastForward:Gk,fetch:jk,findMergeBase:qk,findRoot:zk,getRemoteInfo:Xk,getRemoteInfo2:Kk,hashBlob:Qk,indexPack:Jk,init:eA,isDescendent:rA,isIgnored:nA,listBranches:iA,listFiles:aA,listNotes:oA,listRefs:lA,listRemotes:cA,listServerRefs:uA,listTags:fA,log:hA,merge:pA,packObjects:gA,pull:vA,push:wA,readBlob:_A,readCommit:Tv,readNote:xA,readObject:SA,readTag:EA,readTree:kA,remove:AA,removeNote:CA,renameBranch:TA,resetIndex:RA,updateIndex:GA,resolveRef:$A,status:NA,statusMatrix:HA,tag:UA,version:jA,walk:qA,writeBlob:WA,writeCommit:zA,writeObject:VA,writeRef:YA,writeTag:XA,writeTree:ZA,stash:LA};Y.Errors=fk;Y.STAGE=Ca;Y.TREE=Xr;Y.WORKDIR=sl;Y.abortMerge=hk;Y.add=gk;Y.addNote=_k;Y.addRemote=Sk;Y.annotatedTag=Ek;Y.branch=kk;Y.checkout=kv;Y.clone=$k;Y.commit=Ik;Y.currentBranch=Fk;Y.default=V6;Y.deleteBranch=Ok;Y.deleteRef=Mk;Y.deleteRemote=Dk;Y.deleteTag=Lk;Y.expandOid=Nk;Y.expandRef=Bk;Y.fastForward=Gk;Y.fetch=jk;Y.findMergeBase=qk;Y.findRoot=zk;Y.getConfig=Vk;Y.getConfigAll=Yk;Y.getRemoteInfo=Xk;Y.getRemoteInfo2=Kk;Y.hashBlob=Qk;Y.indexPack=Jk;Y.init=eA;Y.isDescendent=rA;Y.isIgnored=nA;Y.listBranches=iA;Y.listFiles=aA;Y.listNotes=oA;Y.listRefs=lA;Y.listRemotes=cA;Y.listServerRefs=uA;Y.listTags=fA;Y.log=hA;Y.merge=pA;Y.packObjects=gA;Y.pull=vA;Y.push=wA;Y.readBlob=_A;Y.readCommit=Tv;Y.readNote=xA;Y.readObject=SA;Y.readTag=EA;Y.readTree=kA;Y.remove=AA;Y.removeNote=CA;Y.renameBranch=TA;Y.resetIndex=RA;Y.resolveRef=$A;Y.setConfig=IA;Y.stash=LA;Y.status=NA;Y.statusMatrix=HA;Y.tag=UA;Y.updateIndex=GA;Y.version=jA;Y.walk=qA;Y.writeBlob=WA;Y.writeCommit=zA;Y.writeObject=VA;Y.writeRef=YA;Y.writeTag=XA;Y.writeTree=ZA});var lC=I((TK,oC)=>{"use strict";p();oC.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var uC=I((RK,cC)=>{p();var jv={px:{px:1,cm:37.79527559055118,mm:3.7795275590551185,in:96,pt:1.3333333333333333,pc:16},cm:{px:.026458333333333334,cm:1,mm:.1,in:2.54,pt:.035277777777777776,pc:.42333333333333334},mm:{px:.26458333333333334,cm:10,mm:1,in:25.4,pt:.35277777777777775,pc:4.233333333333333},in:{px:.010416666666666666,cm:.39370078740157477,mm:.03937007874015748,in:1,pt:.013888888888888888,pc:.16666666666666666},pt:{px:.75,cm:28.346456692913385,mm:2.834645669291339,in:72,pt:1,pc:12},pc:{px:.0625,cm:2.3622047244094486,mm:.2362204724409449,in:6,pt:.08333333333333333,pc:1},deg:{deg:1,grad:.9,rad:180/Math.PI,turn:360},grad:{deg:1.1111111111111112,grad:1,rad:200/Math.PI,turn:400},rad:{deg:Math.PI/180,grad:Math.PI/200,rad:1,turn:Math.PI*2},turn:{deg:.002777777777777778,grad:.0025,rad:.5/Math.PI,turn:1},s:{s:1,ms:.001},ms:{s:1e3,ms:1},Hz:{Hz:1,kHz:1e3},kHz:{Hz:.001,kHz:1},dpi:{dpi:1,dpcm:.39370078740157477,dppx:.010416666666666666},dpcm:{dpi:2.54,dpcm:1,dppx:.026458333333333334},dppx:{dpi:96,dpcm:37.79527559055118,dppx:1}};cC.exports=function(t,e,r,n){if(!jv.hasOwnProperty(r))throw new Error("Cannot convert to "+r);if(!jv[r].hasOwnProperty(e))throw new Error("Cannot convert from "+e+" to "+r);var i=jv[r][e]*t;return n!==!1?(n=Math.pow(10,parseInt(n)||5),Math.round(i*n)/n):i}});var EC=I(Yi=>{"use strict";p();Object.defineProperty(Yi,"__esModule",{value:!0});Yi.fromRgba=fl;Yi.fromRgb=qv;Yi.fromHsla=Kd;Yi.fromHsl=xC;Yi.fromString=SC;Yi.default=void 0;var fC=pC(lC()),r5=pC(uC());function pC(t){return t&&t.__esModule?t:{default:t}}function n5(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function dC(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r-1}function c5(t,e,r){var n=t/255,i=e/255,s=r/255,a=Math.max(n,i,s),o=Math.min(n,i,s),l=a-o,c=(a+o)/2;if(l===0)return[0,0,c*100];var u=l/(1-Math.abs(2*c-1)),f=function(){switch(a){case n:return(i-s)/l%6;case i:return(s-n)/l+2;default:return(n-i)/l+4}}();return[f*60,u*100,c*100]}function u5(t,e,r){var n=t/60,i=e/100,s=r/100,a=(1-Math.abs(2*s-1))*i,o=a*(1-Math.abs(n%2-1)),l=s-a/2,c=function(){return n<1?[a,o,0]:n<2?[o,a,0]:n<3?[0,a,o]:n<4?[0,o,a]:n<5?[o,0,a]:[a,0,o]}(),u=dr(c,3),f=u[0],d=u[1],h=u[2];return[(f+l)*255,(d+l)*255,(h+l)*255]}var f5=function(){function t(e){var r=dr(e,4),n=r[0],i=r[1],s=r[2],a=r[3];n5(this,t),this.values=[Math.max(Math.min(parseInt(n,10),255),0),Math.max(Math.min(parseInt(i,10),255),0),Math.max(Math.min(parseInt(s,10),255),0),a==null?1:Math.max(Math.min(parseFloat(a),255),0)]}return i5(t,[{key:"toRgbString",value:function(){var r=dr(this.values,4),n=r[0],i=r[1],s=r[2],a=r[3];return a===1?"rgb(".concat(n,", ").concat(i,", ").concat(s,")"):"rgba(".concat(n,", ").concat(i,", ").concat(s,", ").concat(a,")")}},{key:"toHslString",value:function(){var r=this.toHslaArray(),n=dr(r,4),i=n[0],s=n[1],a=n[2],o=n[3];return o===1?"hsl(".concat(i,", ").concat(s,"%, ").concat(a,"%)"):"hsla(".concat(i,", ").concat(s,"%, ").concat(a,"%, ").concat(o,")")}},{key:"toHexString",value:function(){var r=dr(this.values,4),n=r[0],i=r[1],s=r[2],a=r[3];return n=Number(n).toString(16).padStart(2,"0"),i=Number(i).toString(16).padStart(2,"0"),s=Number(s).toString(16).padStart(2,"0"),a=a<1?parseInt(a*255,10).toString(16).padStart(2,"0"):"","#".concat(n).concat(i).concat(s).concat(a)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var r=dr(this.values,4),n=r[0],i=r[1],s=r[2],a=r[3],o=c5(n,i,s),l=dr(o,3),c=l[0],u=l[1],f=l[2];return[c,u,f,a]}}]),t}();function fl(t){var e=dr(t,4),r=e[0],n=e[1],i=e[2],s=e[3];return new f5([r,n,i,s])}function qv(t){var e=dr(t,3),r=e[0],n=e[1],i=e[2];return fl([r,n,i,1])}function Kd(t){var e=dr(t,4),r=e[0],n=e[1],i=e[2],s=e[3],a=u5(r,n,i),o=dr(a,3),l=o[0],c=o[1],u=o[2];return fl([l,c,u,s])}function xC(t){var e=dr(t,3),r=e[0],n=e[1],i=e[2];return Kd([r,n,i,1])}function d5(t){var e=mC.exec(t)||gC.exec(t),r=dr(e,5),n=r[1],i=r[2],s=r[3],a=r[4];return n=parseInt(n.length<2?n.repeat(2):n,16),i=parseInt(i.length<2?i.repeat(2):i,16),s=parseInt(s.length<2?s.repeat(2):s,16),a=a&&(parseInt(a.length<2?a.repeat(2):a,16)/255).toPrecision(1)||1,fl([n,i,s,a])}function h5(t){var e=vC.exec(t)||yC.exec(t)||wC.exec(t)||bC.exec(t),r=dr(e,5),n=r[1],i=r[2],s=r[3],a=r[4];return n=gu(n,"%")?parseInt(n,10)*255/100:parseInt(n,10),i=gu(i,"%")?parseInt(i,10)*255/100:parseInt(i,10),s=gu(s,"%")>0?parseInt(s,10)*255/100:parseInt(s,10),a=a===void 0?1:parseFloat(a)/(gu(a,"%")?100:1),fl([n,i,s,a])}function p5(t){var e=_C.exec(t),r=dr(e,6),n=r[1],i=r[2],s=r[3],a=r[4],o=r[5];return i=i||"deg",n=(0,r5.default)(parseFloat(n),i,"deg"),s=parseFloat(s),a=parseFloat(a),o=o===void 0?1:parseFloat(o)/(gu(o,"%")?100:1),Kd([n,s,a,o])}function SC(t){return fC.default[t]?qv(fC.default[t]):mC.test(t)||gC.test(t)?d5(t):vC.test(t)||yC.test(t)||wC.test(t)||bC.test(t)?h5(t):_C.test(t)?p5(t):null}var m5={fromString:SC,fromRgb:qv,fromRgba:fl,fromHsl:xC,fromHsla:Kd};Yi.default=m5});var Wv=I((OK,AC)=>{"use strict";p();var kC=Object.prototype.toString;AC.exports=function(e){var r=kC.call(e),n=r==="[object Arguments]";return n||(n=r!=="[object Array]"&&e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&kC.call(e.callee)==="[object Function]"),n}});var MC=I((DK,OC)=>{"use strict";p();var FC;Object.keys||(vu=Object.prototype.hasOwnProperty,zv=Object.prototype.toString,CC=Wv(),Vv=Object.prototype.propertyIsEnumerable,TC=!Vv.call({toString:null},"toString"),PC=Vv.call(function(){},"prototype"),wu=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Qd=function(t){var e=t.constructor;return e&&e.prototype===t},RC={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},$C=function(){if(typeof window=="undefined")return!1;for(var t in window)try{if(!RC["$"+t]&&vu.call(window,t)&&window[t]!==null&&typeof window[t]=="object")try{Qd(window[t])}catch(e){return!0}}catch(e){return!0}return!1}(),IC=function(t){if(typeof window=="undefined"||!$C)return Qd(t);try{return Qd(t)}catch(e){return!1}},FC=function(e){var r=e!==null&&typeof e=="object",n=zv.call(e)==="[object Function]",i=CC(e),s=r&&zv.call(e)==="[object String]",a=[];if(!r&&!n&&!i)throw new TypeError("Object.keys called on a non-object");var o=PC&&n;if(s&&e.length>0&&!vu.call(e,0))for(var l=0;l0)for(var c=0;c{"use strict";p();var g5=Array.prototype.slice,v5=Wv(),DC=Object.keys,Jd=DC?function(e){return DC(e)}:MC(),LC=Object.keys;Jd.shim=function(){if(Object.keys){var e=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);e||(Object.keys=function(n){return v5(n)?LC(g5.call(n)):LC(n)})}else Object.keys=Jd;return Object.keys||Jd};NC.exports=Jd});var Hs=I((HK,GC)=>{"use strict";p();var w5=eh(),y5=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",b5=Object.prototype.toString,_5=Array.prototype.concat,BC=Jf(),x5=function(t){return typeof t=="function"&&b5.call(t)==="[object Function]"},HC=td()(),S5=function(t,e,r,n){if(e in t){if(n===!0){if(t[e]===r)return}else if(!x5(n)||!n())return}HC?BC(t,e,r,!0):BC(t,e,r)},UC=function(t,e){var r=arguments.length>2?arguments[2]:{},n=w5(e);y5&&(n=_5.call(n,Object.getOwnPropertySymbols(e)));for(var i=0;i{"use strict";p();var E5=eh(),qC=Sc()(),WC=Lt(),th=Bf(),k5=WC("Array.prototype.push"),jC=WC("Object.prototype.propertyIsEnumerable"),A5=qC?th.getOwnPropertySymbols:null;zC.exports=function(e,r){if(e==null)throw new TypeError("target must be an object");var n=th(e);if(arguments.length===1)return n;for(var i=1;i{"use strict";p();var Xv=Yv(),C5=function(){if(!Object.assign)return!1;for(var t="abcdefghijklmnopqrst",e=t.split(""),r={},n=0;n{"use strict";p();var P5=Hs(),R5=Zv();YC.exports=function(){var e=R5();return P5(Object,{assign:e},{assign:function(){return Object.assign!==e}}),e}});var JC=I((YK,QC)=>{"use strict";p();var $5=Hs(),I5=da(),F5=Yv(),ZC=Zv(),O5=XC(),M5=I5.apply(ZC()),KC=function(e,r){return M5(Object,arguments)};$5(KC,{getPolyfill:ZC,implementation:F5,shim:O5});QC.exports=KC});var Kv=I((ZK,rT)=>{"use strict";p();var eT=si(),tT=da(),D5=tT(eT("String.prototype.indexOf"));rT.exports=function(e,r){var n=eT(e,!!r);return typeof n=="function"&&D5(e,".prototype.")>-1?tT(n):n}});var iT=I((QK,nT)=>{"use strict";p();var bu=function(){return typeof function(){}.name=="string"},yu=Object.getOwnPropertyDescriptor;if(yu)try{yu([],"length")}catch(t){yu=null}bu.functionsHaveConfigurableNames=function(){if(!bu()||!yu)return!1;var e=yu(function(){},"name");return!!e&&!!e.configurable};var L5=Function.prototype.bind;bu.boundFunctionsHaveNames=function(){return bu()&&typeof L5=="function"&&function(){}.bind().name!==""};nT.exports=bu});var oT=I((eQ,aT)=>{"use strict";p();var sT=Jf(),N5=td()(),B5=iT().functionsHaveConfigurableNames(),H5=_r();aT.exports=function(e,r){if(typeof e!="function")throw new H5("`fn` is not a function");var n=arguments.length>2&&!!arguments[2];return(!n||B5)&&(N5?sT(e,"name",r,!0,!0):sT(e,"name",r)),e}});var Qv=I((rQ,lT)=>{"use strict";p();var U5=oT(),G5=_r(),j5=Object;lT.exports=U5(function(){if(this==null||this!==j5(this))throw new G5("RegExp.prototype.flags getter called on non-object");var e="";return this.hasIndices&&(e+="d"),this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),this.dotAll&&(e+="s"),this.unicode&&(e+="u"),this.unicodeSets&&(e+="v"),this.sticky&&(e+="y"),e},"get flags",!0)});var Jv=I((iQ,cT)=>{"use strict";p();var q5=Qv(),W5=Hs().supportsDescriptors,z5=Object.getOwnPropertyDescriptor;cT.exports=function(){if(W5&&/a/mig.flags==="gim"){var e=z5(RegExp.prototype,"flags");if(e&&typeof e.get=="function"&&"dotAll"in RegExp.prototype&&"hasIndices"in RegExp.prototype){var r="",n={};if(Object.defineProperty(n,"hasIndices",{get:function(){r+="d"}}),Object.defineProperty(n,"sticky",{get:function(){r+="y"}}),e.get.call(n),r==="dy")return e.get}}return q5}});var dT=I((aQ,fT)=>{"use strict";p();var V5=Hs().supportsDescriptors,Y5=Jv(),X5=bs(),Z5=Object.defineProperty,K5=Ym(),uT=Vf(),Q5=/a/;fT.exports=function(){if(!V5||!uT)throw new K5("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var e=Y5(),r=uT(Q5),n=X5(r,"flags");return(!n||n.get!==e)&&Z5(r,"flags",{configurable:!0,enumerable:!1,get:e}),e}});var gT=I((lQ,mT)=>{"use strict";p();var J5=Hs(),eU=da(),tU=Qv(),hT=Jv(),rU=dT(),pT=eU(hT());J5(pT,{getPolyfill:hT,implementation:tU,shim:rU});mT.exports=pT});var tw=I((uQ,wT)=>{"use strict";p();var nU=_s()(),iU=Lt(),ew=iU("Object.prototype.toString"),rh=function(e){return nU&&e&&typeof e=="object"&&Symbol.toStringTag in e?!1:ew(e)==="[object Arguments]"},vT=function(e){return rh(e)?!0:e!==null&&typeof e=="object"&&"length"in e&&typeof e.length=="number"&&e.length>=0&&ew(e)!=="[object Array]"&&"callee"in e&&ew(e.callee)==="[object Function]"},sU=function(){return rh(arguments)}();rh.isLegacyArguments=vT;wT.exports=sU?rh:vT});var yT=I(()=>{p()});var ku=I((mQ,BT)=>{p();var fw=typeof Map=="function"&&Map.prototype,rw=Object.getOwnPropertyDescriptor&&fw?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,ih=fw&&rw&&typeof rw.get=="function"?rw.get:null,bT=fw&&Map.prototype.forEach,dw=typeof Set=="function"&&Set.prototype,nw=Object.getOwnPropertyDescriptor&&dw?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,sh=dw&&nw&&typeof nw.get=="function"?nw.get:null,_T=dw&&Set.prototype.forEach,aU=typeof WeakMap=="function"&&WeakMap.prototype,xu=aU?WeakMap.prototype.has:null,oU=typeof WeakSet=="function"&&WeakSet.prototype,Su=oU?WeakSet.prototype.has:null,lU=typeof WeakRef=="function"&&WeakRef.prototype,xT=lU?WeakRef.prototype.deref:null,cU=Boolean.prototype.valueOf,uU=Object.prototype.toString,fU=Function.prototype.toString,dU=String.prototype.match,hw=String.prototype.slice,Us=String.prototype.replace,hU=String.prototype.toUpperCase,ST=String.prototype.toLowerCase,IT=RegExp.prototype.test,ET=Array.prototype.concat,pi=Array.prototype.join,pU=Array.prototype.slice,kT=Math.floor,aw=typeof BigInt=="function"?BigInt.prototype.valueOf:null,iw=Object.getOwnPropertySymbols,ow=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,dl=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Eu=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===dl||!0)?Symbol.toStringTag:null,FT=Object.prototype.propertyIsEnumerable,AT=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function CT(t,e){if(t===1/0||t===-1/0||t!==t||t&&t>-1e3&&t<1e3||IT.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof t=="number"){var n=t<0?-kT(-t):kT(t);if(n!==t){var i=String(n),s=hw.call(e,i.length+1);return Us.call(i,r,"$&_")+"."+Us.call(Us.call(s,/([0-9]{3})/g,"$&_"),/_$/,"")}}return Us.call(e,r,"$&_")}var lw=yT(),TT=lw.custom,PT=DT(TT)?TT:null,OT={__proto__:null,double:'"',single:"'"},mU={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};BT.exports=function t(e,r,n,i){var s=r||{};if(Xi(s,"quoteStyle")&&!Xi(OT,s.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Xi(s,"maxStringLength")&&(typeof s.maxStringLength=="number"?s.maxStringLength<0&&s.maxStringLength!==1/0:s.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var a=Xi(s,"customInspect")?s.customInspect:!0;if(typeof a!="boolean"&&a!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Xi(s,"indent")&&s.indent!==null&&s.indent!==" "&&!(parseInt(s.indent,10)===s.indent&&s.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Xi(s,"numericSeparator")&&typeof s.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var o=s.numericSeparator;if(typeof e=="undefined")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return NT(e,s);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var l=String(e);return o?CT(e,l):l}if(typeof e=="bigint"){var c=String(e)+"n";return o?CT(e,c):c}var u=typeof s.depth=="undefined"?5:s.depth;if(typeof n=="undefined"&&(n=0),n>=u&&u>0&&typeof e=="object")return cw(e)?"[Array]":"[Object]";var f=FU(s,n);if(typeof i=="undefined")i=[];else if(LT(i,e)>=0)return"[Circular]";function d(B,H,ce){if(H&&(i=pU.call(i),i.push(H)),ce){var Pe={depth:s.depth};return Xi(s,"quoteStyle")&&(Pe.quoteStyle=s.quoteStyle),t(B,Pe,n+1,i)}return t(B,s,n+1,i)}if(typeof e=="function"&&!RT(e)){var h=EU(e),m=nh(e,d);return"[Function"+(h?": "+h:" (anonymous)")+"]"+(m.length>0?" { "+pi.call(m,", ")+" }":"")}if(DT(e)){var g=dl?Us.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):ow.call(e);return typeof e=="object"&&!dl?_u(g):g}if(RU(e)){for(var v="<"+ST.call(String(e.nodeName)),w=e.attributes||[],b=0;b",v}if(cw(e)){if(e.length===0)return"[]";var k=nh(e,d);return f&&!IU(k)?"["+uw(k,f)+"]":"[ "+pi.call(k,", ")+" ]"}if(wU(e)){var x=nh(e,d);return!("cause"in Error.prototype)&&"cause"in e&&!FT.call(e,"cause")?"{ ["+String(e)+"] "+pi.call(ET.call("[cause]: "+d(e.cause),x),", ")+" }":x.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+pi.call(x,", ")+" }"}if(typeof e=="object"&&a){if(PT&&typeof e[PT]=="function"&&lw)return lw(e,{depth:u-n});if(a!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(kU(e)){var E=[];return bT&&bT.call(e,function(B,H){E.push(d(H,e,!0)+" => "+d(B,e))}),$T("Map",ih.call(e),E,f)}if(TU(e)){var A=[];return _T&&_T.call(e,function(B){A.push(d(B,e))}),$T("Set",sh.call(e),A,f)}if(AU(e))return sw("WeakMap");if(PU(e))return sw("WeakSet");if(CU(e))return sw("WeakRef");if(bU(e))return _u(d(Number(e)));if(xU(e))return _u(d(aw.call(e)));if(_U(e))return _u(cU.call(e));if(yU(e))return _u(d(String(e)));if(typeof window!="undefined"&&e===window)return"{ [object Window] }";if(typeof globalThis!="undefined"&&e===globalThis||typeof global!="undefined"&&e===global)return"{ [object globalThis] }";if(!vU(e)&&!RT(e)){var y=nh(e,d),S=AT?AT(e)===Object.prototype:e instanceof Object||e.constructor===Object,_=e instanceof Object?"":"null prototype",C=!S&&Eu&&Object(e)===e&&Eu in e?hw.call(Gs(e),8,-1):_?"Object":"",P=S||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",N=P+(C||_?"["+pi.call(ET.call([],C||[],_||[]),": ")+"] ":"");return y.length===0?N+"{}":f?N+"{"+uw(y,f)+"}":N+"{ "+pi.call(y,", ")+" }"}return String(e)};function MT(t,e,r){var n=r.quoteStyle||e,i=OT[n];return i+t+i}function gU(t){return Us.call(String(t),/"/g,""")}function Pa(t){return!Eu||!(typeof t=="object"&&(Eu in t||typeof t[Eu]!="undefined"))}function cw(t){return Gs(t)==="[object Array]"&&Pa(t)}function vU(t){return Gs(t)==="[object Date]"&&Pa(t)}function RT(t){return Gs(t)==="[object RegExp]"&&Pa(t)}function wU(t){return Gs(t)==="[object Error]"&&Pa(t)}function yU(t){return Gs(t)==="[object String]"&&Pa(t)}function bU(t){return Gs(t)==="[object Number]"&&Pa(t)}function _U(t){return Gs(t)==="[object Boolean]"&&Pa(t)}function DT(t){if(dl)return t&&typeof t=="object"&&t instanceof Symbol;if(typeof t=="symbol")return!0;if(!t||typeof t!="object"||!ow)return!1;try{return ow.call(t),!0}catch(e){}return!1}function xU(t){if(!t||typeof t!="object"||!aw)return!1;try{return aw.call(t),!0}catch(e){}return!1}var SU=Object.prototype.hasOwnProperty||function(t){return t in this};function Xi(t,e){return SU.call(t,e)}function Gs(t){return uU.call(t)}function EU(t){if(t.name)return t.name;var e=dU.call(fU.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}function LT(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;re.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return NT(hw.call(t,0,e.maxStringLength),e)+n}var i=mU[e.quoteStyle||"single"];i.lastIndex=0;var s=Us.call(Us.call(t,i,"\\$1"),/[\x00-\x1f]/g,$U);return MT(s,"single",e)}function $U(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+hU.call(e.toString(16))}function _u(t){return"Object("+t+")"}function sw(t){return t+" { ? }"}function $T(t,e,r,n){var i=n?uw(r,n):pi.call(r,", ");return t+" ("+e+") {"+i+"}"}function IU(t){for(var e=0;e=0)return!1;return!0}function FU(t,e){var r;if(t.indent===" ")r=" ";else if(typeof t.indent=="number"&&t.indent>0)r=pi.call(Array(t.indent+1)," ");else return null;return{base:r,prev:pi.call(Array(e+1),r)}}function uw(t,e){if(t.length===0)return"";var r=` +`+e.prev+e.base;return r+pi.call(t,","+r)+` +`+e.prev}function nh(t,e){var r=cw(t),n=[];if(r){n.length=t.length;for(var i=0;i{"use strict";p();var OU=ku(),MU=_r(),ah=function(t,e,r){for(var n=t,i;(i=n.next)!=null;n=i)if(i.key===e)return n.next=i.next,r||(i.next=t.next,t.next=i),i},DU=function(t,e){if(t){var r=ah(t,e);return r&&r.value}},LU=function(t,e,r){var n=ah(t,e);n?n.value=r:t.next={key:e,next:t.next,value:r}},NU=function(t,e){return t?!!ah(t,e):!1},BU=function(t,e){if(t)return ah(t,e,!0)};HT.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new MU("Side channel does not contain "+OU(n))},delete:function(n){var i=e&&e.next,s=BU(e,n);return s&&i&&i===s&&(e=void 0),!!s},get:function(n){return DU(e,n)},has:function(n){return NU(e,n)},set:function(n,i){e||(e={next:void 0}),LU(e,n,i)}};return r}});var pw=I((yQ,jT)=>{"use strict";p();var HU=si(),Au=Lt(),UU=ku(),GU=_r(),GT=HU("%Map%",!0),jU=Au("Map.prototype.get",!0),qU=Au("Map.prototype.set",!0),WU=Au("Map.prototype.has",!0),zU=Au("Map.prototype.delete",!0),VU=Au("Map.prototype.size",!0);jT.exports=!!GT&&function(){var e,r={assert:function(n){if(!r.has(n))throw new GU("Side channel does not contain "+UU(n))},delete:function(n){if(e){var i=zU(e,n);return VU(e)===0&&(e=void 0),i}return!1},get:function(n){if(e)return jU(e,n)},has:function(n){return e?WU(e,n):!1},set:function(n,i){e||(e=new GT),qU(e,n,i)}};return r}});var WT=I((_Q,qT)=>{"use strict";p();var YU=si(),lh=Lt(),XU=ku(),oh=pw(),ZU=_r(),hl=YU("%WeakMap%",!0),KU=lh("WeakMap.prototype.get",!0),QU=lh("WeakMap.prototype.set",!0),JU=lh("WeakMap.prototype.has",!0),e4=lh("WeakMap.prototype.delete",!0);qT.exports=hl?function(){var e,r,n={assert:function(i){if(!n.has(i))throw new ZU("Side channel does not contain "+XU(i))},delete:function(i){if(hl&&i&&(typeof i=="object"||typeof i=="function")){if(e)return e4(e,i)}else if(oh&&r)return r.delete(i);return!1},get:function(i){return hl&&i&&(typeof i=="object"||typeof i=="function")&&e?KU(e,i):r&&r.get(i)},has:function(i){return hl&&i&&(typeof i=="object"||typeof i=="function")&&e?JU(e,i):!!r&&r.has(i)},set:function(i,s){hl&&i&&(typeof i=="object"||typeof i=="function")?(e||(e=new hl),QU(e,i,s)):oh&&(r||(r=oh()),r.set(i,s))}};return n}:oh});var mw=I((SQ,zT)=>{"use strict";p();var t4=_r(),r4=ku(),n4=UT(),i4=pw(),s4=WT(),a4=s4||i4||n4;zT.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new t4("Side channel does not contain "+r4(n))},delete:function(n){return!!e&&e.delete(n)},get:function(n){return e&&e.get(n)},has:function(n){return!!e&&e.has(n)},set:function(n,i){e||(e=a4()),e.set(n,i)}};return r}});var YT=I((kQ,VT)=>{"use strict";p();var o4=Yf(),Cu=mw()(),Zi=_r(),gw={assert:function(t,e){if(!t||typeof t!="object"&&typeof t!="function")throw new Zi("`O` is not an object");if(typeof e!="string")throw new Zi("`slot` must be a string");if(Cu.assert(t),!gw.has(t,e))throw new Zi("`"+e+"` is not present on `O`")},get:function(t,e){if(!t||typeof t!="object"&&typeof t!="function")throw new Zi("`O` is not an object");if(typeof e!="string")throw new Zi("`slot` must be a string");var r=Cu.get(t);return r&&r["$"+e]},has:function(t,e){if(!t||typeof t!="object"&&typeof t!="function")throw new Zi("`O` is not an object");if(typeof e!="string")throw new Zi("`slot` must be a string");var r=Cu.get(t);return!!r&&o4(r,"$"+e)},set:function(t,e,r){if(!t||typeof t!="object"&&typeof t!="function")throw new Zi("`O` is not an object");if(typeof e!="string")throw new Zi("`slot` must be a string");var n=Cu.get(t);n||(n={},Cu.set(t,n)),n["$"+e]=r}};Object.freeze&&Object.freeze(gw);VT.exports=gw});var KT=I((CQ,ZT)=>{"use strict";p();var Tu=YT(),l4=Hf(),XT=typeof StopIteration=="object"?StopIteration:null;ZT.exports=function(e){if(!XT)throw new l4("this environment lacks StopIteration");Tu.set(e,"[[Done]]",!1);var r={next:function(){var i=Tu.get(this,"[[Iterator]]"),s=!!Tu.get(i,"[[Done]]");try{return{done:s,value:s?void 0:i.next()}}catch(a){if(Tu.set(i,"[[Done]]",!0),a!==XT)throw a;return{done:!0,value:void 0}}}};return Tu.set(r,"[[Iterator]]",e),r}});var vw=I((PQ,JT)=>{"use strict";p();var QT=Lt(),c4=QT("String.prototype.valueOf"),u4=function(e){try{return c4(e),!0}catch(r){return!1}},f4=QT("Object.prototype.toString"),d4="[object String]",h4=_s()();JT.exports=function(e){return typeof e=="string"?!0:!e||typeof e!="object"?!1:h4?u4(e):f4(e)===d4}});var yw=I(($Q,r2)=>{"use strict";p();var ww=typeof Map=="function"&&Map.prototype?Map:null,p4=typeof Set=="function"&&Set.prototype?Set:null,ch;ww||(ch=function(e){return!1});var t2=ww?Map.prototype.has:null,e2=p4?Set.prototype.has:null;!ch&&!t2&&(ch=function(e){return!1});r2.exports=ch||function(e){if(!e||typeof e!="object")return!1;try{if(t2.call(e),e2)try{e2.call(e)}catch(r){return!0}return e instanceof ww}catch(r){}return!1}});var _w=I((FQ,s2)=>{"use strict";p();var m4=typeof Map=="function"&&Map.prototype?Map:null,bw=typeof Set=="function"&&Set.prototype?Set:null,uh;bw||(uh=function(e){return!1});var n2=m4?Map.prototype.has:null,i2=bw?Set.prototype.has:null;!uh&&!i2&&(uh=function(e){return!1});s2.exports=uh||function(e){if(!e||typeof e!="object")return!1;try{if(i2.call(e),n2)try{n2.call(e)}catch(r){return!0}return e instanceof bw}catch(r){}return!1}});var v2=I((MQ,hh)=>{"use strict";p();var a2=tw(),o2=KT();jf()()||Sc()()?(fh=Symbol.iterator,hh.exports=function(e){if(e!=null&&typeof e[fh]!="undefined")return e[fh]();if(a2(e))return Array.prototype[fh].call(e)}):(l2=Nf(),c2=vw(),xw=si(),u2=xw("%Map%",!0),f2=xw("%Set%",!0),vn=Kv(),Sw=vn("Array.prototype.push"),Ew=vn("String.prototype.charCodeAt"),d2=vn("String.prototype.slice"),h2=function(e,r){var n=e.length;if(r+1>=n)return r+1;var i=Ew(e,r);if(i<55296||i>56319)return r+1;var s=Ew(e,r+1);return s<56320||s>57343?r+1:r+2},dh=function(e){var r=0;return{next:function(){var i=r>=e.length,s;return i||(s=e[r],r+=1),{done:i,value:s}}}},kw=function(e,r){if(l2(e)||a2(e))return dh(e);if(c2(e)){var n=0;return{next:function(){var s=h2(e,n),a=d2(e,n,s);return n=s,{done:s>e.length,value:a}}}}if(r&&typeof e["_es6-shim iterator_"]!="undefined")return e["_es6-shim iterator_"]()},!u2&&!f2?hh.exports=function(e){if(e!=null)return kw(e,!0)}:(p2=yw(),m2=_w(),Aw=vn("Map.prototype.forEach",!0),Cw=vn("Set.prototype.forEach",!0),(typeof process=="undefined"||!process.versions||!process.versions.node)&&(Tw=vn("Map.prototype.iterator",!0),Pw=vn("Set.prototype.iterator",!0)),Rw=vn("Map.prototype.@@iterator",!0)||vn("Map.prototype._es6-shim iterator_",!0),$w=vn("Set.prototype.@@iterator",!0)||vn("Set.prototype._es6-shim iterator_",!0),g2=function(e){if(p2(e)){if(Tw)return o2(Tw(e));if(Rw)return Rw(e);if(Aw){var r=[];return Aw(e,function(i,s){Sw(r,[s,i])}),dh(r)}}if(m2(e)){if(Pw)return o2(Pw(e));if($w)return $w(e);if(Cw){var n=[];return Cw(e,function(i){Sw(n,i)}),dh(n)}}},hh.exports=function(e){return g2(e)||kw(e)}));var fh,l2,c2,xw,u2,f2,vn,Sw,Ew,d2,h2,dh,kw,p2,m2,Aw,Cw,Tw,Pw,Rw,$w,g2});var Iw=I((LQ,y2)=>{"use strict";p();var w2=function(t){return t!==t};y2.exports=function(e,r){return e===0&&r===0?1/e===1/r:!!(e===r||w2(e)&&w2(r))}});var Fw=I((BQ,b2)=>{"use strict";p();var g4=Iw();b2.exports=function(){return typeof Object.is=="function"?Object.is:g4}});var x2=I((UQ,_2)=>{"use strict";p();var v4=Fw(),w4=Hs();_2.exports=function(){var e=v4();return w4(Object,{is:e},{is:function(){return Object.is!==e}}),e}});var A2=I((jQ,k2)=>{"use strict";p();var y4=Hs(),b4=da(),_4=Iw(),S2=Fw(),x4=x2(),E2=b4(S2(),Object);y4(E2,{getPolyfill:S2,implementation:_4,shim:x4});k2.exports=E2});var Mw=I((WQ,R2)=>{"use strict";p();var S4=da(),P2=Lt(),E4=si(),Ow=E4("%ArrayBuffer%",!0),ph=P2("ArrayBuffer.prototype.byteLength",!0),k4=P2("Object.prototype.toString"),C2=!!Ow&&!ph&&new Ow(0).slice,T2=!!C2&&S4(C2);R2.exports=ph||T2?function(e){if(!e||typeof e!="object")return!1;try{return ph?ph(e):T2(e,0),!0}catch(r){return!1}}:Ow?function(e){return k4(e)==="[object ArrayBuffer]"}:function(e){return!1}});var F2=I((VQ,I2)=>{"use strict";p();var $2=Lt(),A4=$2("Date.prototype.getDay"),C4=function(e){try{return A4(e),!0}catch(r){return!1}},T4=$2("Object.prototype.toString"),P4="[object Date]",R4=_s()();I2.exports=function(e){return typeof e!="object"||e===null?!1:R4?C4(e):T4(e)===P4}});var Bw=I((XQ,N2)=>{"use strict";p();var O2=Lt(),$4=_s()(),I4=Yf(),F4=bs(),Nw;$4?(M2=O2("RegExp.prototype.exec"),Dw={},mh=function(){throw Dw},Lw={toString:mh,valueOf:mh},typeof Symbol.toPrimitive=="symbol"&&(Lw[Symbol.toPrimitive]=mh),Nw=function(e){if(!e||typeof e!="object")return!1;var r=F4(e,"lastIndex"),n=r&&I4(r,"value");if(!n)return!1;try{M2(e,Lw)}catch(i){return i===Dw}}):(D2=O2("Object.prototype.toString"),L2="[object RegExp]",Nw=function(e){return!e||typeof e!="object"&&typeof e!="function"?!1:D2(e)===L2});var M2,Dw,mh,Lw,D2,L2;N2.exports=Nw});var U2=I((KQ,H2)=>{"use strict";p();var O4=Lt(),B2=O4("SharedArrayBuffer.prototype.byteLength",!0);H2.exports=B2?function(e){if(!e||typeof e!="object")return!1;try{return B2(e),!0}catch(r){return!1}}:function(e){return!1}});var q2=I((JQ,j2)=>{"use strict";p();var G2=Lt(),M4=G2("Number.prototype.toString"),D4=function(e){try{return M4(e),!0}catch(r){return!1}},L4=G2("Object.prototype.toString"),N4="[object Number]",B4=_s()();j2.exports=function(e){return typeof e=="number"?!0:!e||typeof e!="object"?!1:B4?D4(e):L4(e)===N4}});var V2=I((tJ,z2)=>{"use strict";p();var W2=Lt(),H4=W2("Boolean.prototype.toString"),U4=W2("Object.prototype.toString"),G4=function(e){try{return H4(e),!0}catch(r){return!1}},j4="[object Boolean]",q4=_s()();z2.exports=function(e){return typeof e=="boolean"?!0:e===null||typeof e!="object"?!1:q4?G4(e):U4(e)===j4}});var X2=I((nJ,Y2)=>{"use strict";p();var W4=Lt(),z4=Bw(),V4=W4("RegExp.prototype.exec"),Y4=_r();Y2.exports=function(e){if(!z4(e))throw new Y4("`regex` must be a RegExp");return function(n){return V4(e,n)!==null}}});var eP=I((sJ,Hw)=>{"use strict";p();var J2=Lt(),X4=J2("Object.prototype.toString"),Z4=jf()(),K4=X2();Z4?(Z2=J2("Symbol.prototype.toString"),K2=K4(/^Symbol\(.*\)$/),Q2=function(e){return typeof e.valueOf()!="symbol"?!1:K2(Z2(e))},Hw.exports=function(e){if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||X4(e)!=="[object Symbol]")return!1;try{return Q2(e)}catch(r){return!1}}):Hw.exports=function(e){return!1};var Z2,K2,Q2});var nP=I((oJ,rP)=>{"use strict";p();var tP=typeof BigInt!="undefined"&&BigInt;rP.exports=function(){return typeof tP=="function"&&typeof BigInt=="function"&&typeof tP(42)=="bigint"&&typeof BigInt(42)=="bigint"}});var aP=I((cJ,Uw)=>{"use strict";p();var Q4=nP()();Q4?(iP=BigInt.prototype.valueOf,sP=function(e){try{return iP.call(e),!0}catch(r){}return!1},Uw.exports=function(e){return e===null||typeof e=="undefined"||typeof e=="boolean"||typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="function"?!1:typeof e=="bigint"?!0:sP(e)}):Uw.exports=function(e){return!1};var iP,sP});var lP=I((fJ,oP)=>{"use strict";p();var J4=vw(),eG=q2(),tG=V2(),rG=eP(),nG=aP();oP.exports=function(e){if(e==null||typeof e!="object"&&typeof e!="function")return null;if(J4(e))return"String";if(eG(e))return"Number";if(tG(e))return"Boolean";if(rG(e))return"Symbol";if(nG(e))return"BigInt"}});var fP=I((hJ,uP)=>{"use strict";p();var gh=typeof WeakMap=="function"&&WeakMap.prototype?WeakMap:null,cP=typeof WeakSet=="function"&&WeakSet.prototype?WeakSet:null,vh;gh||(vh=function(e){return!1});var jw=gh?gh.prototype.has:null,Gw=cP?cP.prototype.has:null;!vh&&!jw&&(vh=function(e){return!1});uP.exports=vh||function(e){if(!e||typeof e!="object")return!1;try{if(jw.call(e,jw),Gw)try{Gw.call(e,Gw)}catch(r){return!0}return e instanceof gh}catch(r){}return!1}});var hP=I((mJ,Ww)=>{"use strict";p();var iG=si(),dP=Lt(),sG=iG("%WeakSet%",!0),qw=dP("WeakSet.prototype.has",!0);qw?(wh=dP("WeakMap.prototype.has",!0),Ww.exports=function(e){if(!e||typeof e!="object")return!1;try{if(qw(e,qw),wh)try{wh(e,wh)}catch(r){return!0}return e instanceof sG}catch(r){}return!1}):Ww.exports=function(e){return!1};var wh});var mP=I((vJ,pP)=>{"use strict";p();var aG=yw(),oG=_w(),lG=fP(),cG=hP();pP.exports=function(e){if(e&&typeof e=="object"){if(aG(e))return"Map";if(oG(e))return"Set";if(lG(e))return"WeakMap";if(cG(e))return"WeakSet"}return!1}});var wP=I((yJ,vP)=>{"use strict";p();var uG=Lt(),gP=uG("ArrayBuffer.prototype.byteLength",!0),fG=Mw();vP.exports=function(e){return fG(e)?gP?gP(e):e.byteLength:NaN}});var jP=I((_J,GP)=>{"use strict";p();var BP=JC(),mi=Kv(),yP=gT(),dG=si(),pl=v2(),hG=mw(),bP=A2(),_P=tw(),xP=Nf(),SP=Mw(),EP=F2(),kP=Bw(),AP=U2(),CP=eh(),TP=lP(),PP=mP(),RP=ug(),$P=wP(),IP=mi("SharedArrayBuffer.prototype.byteLength",!0),FP=mi("Date.prototype.getTime"),zw=Object.getPrototypeOf,OP=mi("Object.prototype.toString"),bh=dG("%Set%",!0),Vw=mi("Map.prototype.has",!0),_h=mi("Map.prototype.get",!0),MP=mi("Map.prototype.size",!0),xh=mi("Set.prototype.add",!0),HP=mi("Set.prototype.delete",!0),Sh=mi("Set.prototype.has",!0),yh=mi("Set.prototype.size",!0);function DP(t,e,r,n){for(var i=pl(t),s;(s=i.next())&&!s.done;)if(Nn(e,s.value,r,n))return HP(t,s.value),!0;return!1}function UP(t){if(typeof t=="undefined")return null;if(typeof t!="object")return typeof t=="symbol"?!1:typeof t=="string"||typeof t=="number"?+t==+t:!0}function pG(t,e,r,n,i,s){var a=UP(r);if(a!=null)return a;var o=_h(e,a),l=BP({},i,{strict:!1});return typeof o=="undefined"&&!Vw(e,a)||!Nn(n,o,l,s)?!1:!Vw(t,a)&&Nn(n,o,l,s)}function mG(t,e,r){var n=UP(r);return n!=null?n:Sh(e,n)&&!Sh(t,n)}function LP(t,e,r,n,i,s){for(var a=pl(t),o,l;(o=a.next())&&!o.done;)if(l=o.value,Nn(r,l,i,s)&&Nn(n,_h(e,l),i,s))return HP(t,l),!0;return!1}function Nn(t,e,r,n){var i=r||{};if(i.strict?bP(t,e):t===e)return!0;var s=TP(t),a=TP(e);if(s!==a)return!1;if(!t||!e||typeof t!="object"&&typeof e!="object")return i.strict?bP(t,e):t==e;var o=n.has(t),l=n.has(e),c;if(o&&l){if(n.get(t)===n.get(e))return!0}else c={};return o||n.set(t,c),l||n.set(e,c),wG(t,e,i,n)}function NP(t){return!t||typeof t!="object"||typeof t.length!="number"||typeof t.copy!="function"||typeof t.slice!="function"||t.length>0&&typeof t[0]!="number"?!1:!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))}function gG(t,e,r,n){if(yh(t)!==yh(e))return!1;for(var i=pl(t),s=pl(e),a,o,l;(a=i.next())&&!a.done;)if(a.value&&typeof a.value=="object")l||(l=new bh),xh(l,a.value);else if(!Sh(e,a.value)){if(r.strict||!mG(t,e,a.value))return!1;l||(l=new bh),xh(l,a.value)}if(l){for(;(o=s.next())&&!o.done;)if(o.value&&typeof o.value=="object"){if(!DP(l,o.value,r.strict,n))return!1}else if(!r.strict&&!Sh(t,o.value)&&!DP(l,o.value,r.strict,n))return!1;return yh(l)===0}return!0}function vG(t,e,r,n){if(MP(t)!==MP(e))return!1;for(var i=pl(t),s=pl(e),a,o,l,c,u,f;(a=i.next())&&!a.done;)if(c=a.value[0],u=a.value[1],c&&typeof c=="object")l||(l=new bh),xh(l,c);else if(f=_h(e,c),typeof f=="undefined"&&!Vw(e,c)||!Nn(u,f,r,n)){if(r.strict||!pG(t,e,c,u,r,n))return!1;l||(l=new bh),xh(l,c)}if(l){for(;(o=s.next())&&!o.done;)if(c=o.value[0],f=o.value[1],c&&typeof c=="object"){if(!LP(l,t,c,f,r,n))return!1}else if(!r.strict&&(!t.has(c)||!Nn(_h(t,c),f,r,n))&&!LP(l,t,c,f,BP({},r,{strict:!1}),n))return!1;return yh(l)===0}return!0}function wG(t,e,r,n){var i,s;if(typeof t!=typeof e||t==null||e==null||OP(t)!==OP(e)||_P(t)!==_P(e))return!1;var a=xP(t),o=xP(e);if(a!==o)return!1;var l=t instanceof Error,c=e instanceof Error;if(l!==c||(l||c)&&(t.name!==e.name||t.message!==e.message))return!1;var u=kP(t),f=kP(e);if(u!==f||(u||f)&&(t.source!==e.source||yP(t)!==yP(e)))return!1;var d=EP(t),h=EP(e);if(d!==h||(d||h)&&FP(t)!==FP(e)||r.strict&&zw&&zw(t)!==zw(e))return!1;var m=RP(t),g=RP(e);if(m!==g)return!1;if(m||g){if(t.length!==e.length)return!1;for(i=0;i=0;i--)if(A[i]!=y[i])return!1;for(i=A.length-1;i>=0;i--)if(s=A[i],!Nn(t[s],e[s],r,n))return!1;var S=PP(t),_=PP(e);return S!==_?!1:S==="Set"||_==="Set"?gG(t,e,r,n):S==="Map"?vG(t,e,r,n):!0}GP.exports=function(e,r,n){return Nn(e,r,n,hG())}});var nR=I((RJ,rR)=>{p();rR.exports=function(t,e){var r=t,n=e,i=r.length,s=n.length,a=!1,o=i+1,l=[],c=[],u,f,d=function(){i>=s&&(u=r,f=i,r=n,n=u,i=s,s=f,a=!0,o=i+1)},h=function(g,v,w,b,k){return{startX:g,startY:v,endX:w,endY:b,r:k}},m=function(g,v,w){var b,k,x,E,A;for(v>w?b=l[g-1+o]:b=l[g+1+o],A=x=Math.max(v,w),E=k=x-g;k=g+1;--E)w[E+o]=m(E,w[E-1+o]+1,w[E+1+o]);w[g+o]=m(g,w[g-1+o]+1,w[g+1+o])}while(w[g+o]!==s);for(ed=g+2*b,k=l[g+o],A=i,y=s,S=[];k!==-1;){let _=c[k];(i!=_.endX||s!=_.endY)&&S.push({file1:[a?_.endY:_.endX,a?y-_.endY:A-_.endX],file2:[a?_.endX:_.endY,a?A-_.endX:y-_.endY]}),A=_.startX,y=_.startY,k=c[k].r}return(A!=0||y!=0)&&S.push({file1:[0,a?y:A],file2:[0,a?A:y]}),S.reverse(),S}}}});var aR=I((IJ,sR)=>{p();var iR=nR();function bG(t,e,r){var n,i=new iR(e,t).compose(),s=new iR(e,r).compose(),a=[];function o(B,H){a.push([B.file1[0],H,B.file1[1],B.file2[0],B.file2[1]])}for(n=0;nc&&(l.push([1,c,B-c]),c=B)}for(var f=0;fg)break;g=Math.max(g,w+v[2]),f++}if(u(m),d==f)h[4]>0&&l.push([h[1],h[3],h[4]]);else{var b={0:[t.length,-1,e.length,-1],2:[r.length,-1,e.length,-1]};for(n=d;n<=f;n++){h=a[n];var k=h[1],x=b[k],E=h[0],A=E+h[2],y=h[3],S=y+h[4];x[0]=Math.min(y,x[0]),x[1]=Math.max(S,x[1]),x[2]=Math.min(E,x[2]),x[3]=Math.max(A,x[3])}var _=b[0][0]+(m-b[0][2]),C=b[0][1]+(g-b[0][3]),P=b[2][0]+(m-b[2][2]),N=b[2][1]+(g-b[2][3]);l.push([-1,_,C-_,m,g-m,P,N-P])}c=g}return u(e.length),l}function _G(t,e,r){var n=[],i=[t,e,r],s=bG(t,e,r),a=[];function o(){a.length&&n.push({ok:a}),a=[]}function l(h){for(var m=0;m{p();var yl=1e3,bl=yl*60,_l=bl*60,$a=_l*24,EG=$a*7,kG=$a*365.25;lR.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return AG(t);if(r==="number"&&isFinite(t))return e.long?TG(t):CG(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function AG(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*kG;case"weeks":case"week":case"w":return r*EG;case"days":case"day":case"d":return r*$a;case"hours":case"hour":case"hrs":case"hr":case"h":return r*_l;case"minutes":case"minute":case"mins":case"min":case"m":return r*bl;case"seconds":case"second":case"secs":case"sec":case"s":return r*yl;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function CG(t){var e=Math.abs(t);return e>=$a?Math.round(t/$a)+"d":e>=_l?Math.round(t/_l)+"h":e>=bl?Math.round(t/bl)+"m":e>=yl?Math.round(t/yl)+"s":t+"ms"}function TG(t){var e=Math.abs(t);return e>=$a?Ch(t,e,$a,"day"):e>=_l?Ch(t,e,_l,"hour"):e>=bl?Ch(t,e,bl,"minute"):e>=yl?Ch(t,e,yl,"second"):t+" ms"}function Ch(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var fR=I((qJ,uR)=>{p();function PG(t){r.debug=r,r.default=r,r.coerce=l,r.disable=a,r.enable=i,r.enabled=o,r.humanize=cR(),r.destroy=c,Object.keys(t).forEach(u=>{r[u]=t[u]}),r.names=[],r.skips=[],r.formatters={};function e(u){let f=0;for(let d=0;d{if(A==="%%")return"%";x++;let S=r.formatters[y];if(typeof S=="function"){let _=v[x];A=S.call(w,_),v.splice(x,1),x--}return A}),r.formatArgs.call(w,v),(w.log||r.log).apply(w,v)}return g.namespace=u,g.useColors=r.useColors(),g.color=r.selectColor(u),g.extend=n,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==r.namespaces&&(h=r.namespaces,m=r.enabled(u)),m),set:v=>{d=v}}),typeof r.init=="function"&&r.init(g),g}function n(u,f){let d=r(this.namespace+(typeof f=="undefined"?":":f)+u);return d.log=this.log,d}function i(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of f)d[0]==="-"?r.skips.push(d.slice(1)):r.names.push(d)}function s(u,f){let d=0,h=0,m=-1,g=0;for(;d"-"+f)].join(",");return r.enable(""),u}function o(u){for(let f of r.skips)if(s(u,f))return!1;for(let f of r.names)if(s(u,f))return!0;return!1}function l(u){return u instanceof Error?u.stack||u.message:u}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}uR.exports=PG});var Ph=I((Cr,Th)=>{p();Cr.formatArgs=$G;Cr.save=IG;Cr.load=FG;Cr.useColors=RG;Cr.storage=OG();Cr.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Cr.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function RG(){if(typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function $G(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Th.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}Cr.log=console.debug||console.log||(()=>{});function IG(t){try{t?Cr.storage.setItem("debug",t):Cr.storage.removeItem("debug")}catch(e){}}function FG(){let t;try{t=Cr.storage.getItem("debug")||Cr.storage.getItem("DEBUG")}catch(e){}return!t&&typeof process!="undefined"&&"env"in process&&(t=process.env.DEBUG),t}function OG(){try{return localStorage}catch(t){}}Th.exports=fR()(Cr);var{formatters:MG}=Th.exports;MG.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var dR=I(Kr=>{"use strict";p();var DG=Kr&&Kr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Kr,"__esModule",{value:!0});var LG=require("fs"),NG=DG(Ph()),xl=NG.default("@kwsites/file-exists");function BG(t,e,r){xl("checking %s",t);try{let n=LG.statSync(t);return n.isFile()&&e?(xl("[OK] path represents a file"),!0):n.isDirectory()&&r?(xl("[OK] path represents a directory"),!0):(xl("[FAIL] path represents something other than a file or directory"),!1)}catch(n){if(n.code==="ENOENT")return xl("[FAIL] path is not accessible: %o",n),!1;throw xl("[FATAL] %o",n),n}}function HG(t,e=Kr.READABLE){return BG(t,(e&Kr.FILE)>0,(e&Kr.FOLDER)>0)}Kr.exists=HG;Kr.FILE=1;Kr.FOLDER=2;Kr.READABLE=Kr.FILE+Kr.FOLDER});var hR=I(Rh=>{"use strict";p();function UG(t){for(var e in t)Rh.hasOwnProperty(e)||(Rh[e]=t[e])}Object.defineProperty(Rh,"__esModule",{value:!0});UG(dR())});var t0=I(Ia=>{"use strict";p();Object.defineProperty(Ia,"__esModule",{value:!0});Ia.createDeferred=Ia.deferred=void 0;function e0(){let t,e,r="pending";return{promise:new Promise((i,s)=>{t=i,e=s}),done(i){r==="pending"&&(r="resolved",t(i))},fail(i){r==="pending"&&(r="rejected",e(i))},get fulfilled(){return r!=="pending"},get status(){return r}}}Ia.deferred=e0;Ia.createDeferred=e0;Ia.default=e0});var V0=I((exports,module)=>{p();(function(){"use strict";var ERROR="input is invalid type",WINDOW=typeof window=="object",root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&typeof self=="object",NODE_JS=!root.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&typeof module=="object"&&module.exports,AMD=typeof define=="function"&&define.amd,ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer!="undefined",HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];(root.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(t){return Object.prototype.toString.call(t)==="[object Array]"}),ARRAY_BUFFER&&(root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(t){return typeof t=="object"&&t.buffer&&t.buffer.constructor===ArrayBuffer});var createOutputMethod=function(t,e){return function(r){return new Sha256(e,!0).update(r)[t]()}},createMethod=function(t){var e=createOutputMethod("hex",t);NODE_JS&&(e=nodeWrap(e,t)),e.create=function(){return new Sha256(t)},e.update=function(i){return e.create().update(i)};for(var r=0;r>2]|=t[i]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|n&63)<=57344?(o[s>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|n&63)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|n&63)<=64?(this.block=o[16],this.start=s-64,this.hash(),this.hashed=!0):this.start=s}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,e=this.lastByteIndex;t[16]=this.block,t[e>>2]|=EXTRA[e&3],this.block=t[16],e>=56&&(this.hashed||this.hash(),t[0]=this.block,t[16]=t[1]=t[2]=t[3]=t[4]=t[5]=t[6]=t[7]=t[8]=t[9]=t[10]=t[11]=t[12]=t[13]=t[14]=t[15]=0),t[14]=this.hBytes<<3|this.bytes>>>29,t[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var t=this.h0,e=this.h1,r=this.h2,n=this.h3,i=this.h4,s=this.h5,a=this.h6,o=this.h7,l=this.blocks,c,u,f,d,h,m,g,v,w,b,k;for(c=16;c<64;++c)h=l[c-15],u=(h>>>7|h<<25)^(h>>>18|h<<14)^h>>>3,h=l[c-2],f=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,l[c]=l[c-16]+u+l[c-7]+f<<0;for(k=e&r,c=0;c<64;c+=4)this.first?(this.is224?(v=300032,h=l[0]-1413257819,o=h-150054599<<0,n=h+24177077<<0):(v=704751109,h=l[0]-210244248,o=h-1521486534<<0,n=h+143694565<<0),this.first=!1):(u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),f=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),v=t&e,d=v^t&r^k,g=i&s^~i&a,h=o+f+g+K[c]+l[c],m=u+d,o=n+h<<0,n=h+m<<0),u=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),f=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),w=n&t,d=w^n&e^v,g=o&i^~o&s,h=a+f+g+K[c+1]+l[c+1],m=u+d,a=r+h<<0,r=h+m<<0,u=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),f=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),b=r&n,d=b^r&t^w,g=a&o^~a&i,h=s+f+g+K[c+2]+l[c+2],m=u+d,s=e+h<<0,e=h+m<<0,u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),f=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),k=e&r,d=k^e&n^b,g=s&a^~s&o,h=i+f+g+K[c+3]+l[c+3],m=u+d,i=t+h<<0,t=h+m<<0;this.h0=this.h0+t<<0,this.h1=this.h1+e<<0,this.h2=this.h2+r<<0,this.h3=this.h3+n<<0,this.h4=this.h4+i<<0,this.h5=this.h5+s<<0,this.h6=this.h6+a<<0,this.h7=this.h7+o<<0},Sha256.prototype.hex=function(){this.finalize();var t=this.h0,e=this.h1,r=this.h2,n=this.h3,i=this.h4,s=this.h5,a=this.h6,o=this.h7,l=HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[t&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[e&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[r&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[n&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[i&15]+HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[s&15]+HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[a&15];return this.is224||(l+=HEX_CHARS[o>>28&15]+HEX_CHARS[o>>24&15]+HEX_CHARS[o>>20&15]+HEX_CHARS[o>>16&15]+HEX_CHARS[o>>12&15]+HEX_CHARS[o>>8&15]+HEX_CHARS[o>>4&15]+HEX_CHARS[o&15]),l},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var t=this.h0,e=this.h1,r=this.h2,n=this.h3,i=this.h4,s=this.h5,a=this.h6,o=this.h7,l=[t>>24&255,t>>16&255,t>>8&255,t&255,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24&255,n>>16&255,n>>8&255,n&255,i>>24&255,i>>16&255,i>>8&255,i&255,s>>24&255,s>>16&255,s>>8&255,s&255,a>>24&255,a>>16&255,a>>8&255,a&255];return this.is224||l.push(o>>24&255,o>>16&255,o>>8&255,o&255),l},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var t=new ArrayBuffer(this.is224?28:32),e=new DataView(t);return e.setUint32(0,this.h0),e.setUint32(4,this.h1),e.setUint32(8,this.h2),e.setUint32(12,this.h3),e.setUint32(16,this.h4),e.setUint32(20,this.h5),e.setUint32(24,this.h6),this.is224||e.setUint32(28,this.h7),t};function HmacSha256(t,e,r){var n,i=typeof t;if(i==="string"){var s=[],a=t.length,o=0,l;for(n=0;n>6,s[o++]=128|l&63):l<55296||l>=57344?(s[o++]=224|l>>12,s[o++]=128|l>>6&63,s[o++]=128|l&63):(l=65536+((l&1023)<<10|t.charCodeAt(++n)&1023),s[o++]=240|l>>18,s[o++]=128|l>>12&63,s[o++]=128|l>>6&63,s[o++]=128|l&63);t=s}else if(i==="object"){if(t===null)throw new Error(ERROR);if(ARRAY_BUFFER&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!Array.isArray(t)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(t)))throw new Error(ERROR)}else throw new Error(ERROR);t.length>64&&(t=new Sha256(e,!0).update(t).array());var c=[],u=[];for(n=0;n<64;++n){var f=t[n]||0;c[n]=92^f,u[n]=54^f}Sha256.call(this,e,r),this.update(u),this.oKeyPad=c,this.inner=!0,this.sharedMemory=r}HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var t=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(t),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224,AMD&&define(function(){return exports}))})()});var OO=I(Ay=>{p();(function(t){var e=/\S/,r=/\"/g,n=/\n/g,i=/\r/g,s=/\\/g,a=/\u2028/,o=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(S,_){var C=S.length,P=0,N=1,B=2,H=P,ce=null,Pe=null,ve="",ie=[],xe=!1,we=0,W=0,X="{{",q="}}";function De(){ve.length>0&&(ie.push({tag:"_t",text:new String(ve)}),ve="")}function ar(){for(var kt=!0,At=W;At"&&(Z.indent=ie[je].text.toString()),ie.splice(je,1));else At||ie.push({tag:` +`});xe=!1,W=ie.length}function Ie(kt,At){var je="="+q,Z=kt.indexOf(je,At),M=c(kt.substring(kt.indexOf("=",At)+1,Z)).split(" ");return X=M[0],q=M[M.length-1],Z+je.length-1}for(_&&(_=_.split(" "),X=_[0],q=_[1]),we=0;we0;){if(H=y.shift(),B&&B.tag=="<"&&!(H.tag in f))throw new Error("Illegal content in < super tag.");if(t.tags[H.tag]<=t.tags.$||h(H,C))_.push(H),H.nodes=d(y,H.tag,_,C);else if(H.tag=="/"){if(_.length===0)throw new Error("Closing tag without opener: /"+H.n);if(N=_.pop(),H.n!=N.n&&!m(H.n,N.n,C))throw new Error("Nesting error: "+N.n+" vs. "+H.n);return N.end=H.i,P}else H.tag==` +`&&(H.last=y.length==0||y[0].tag==` +`);P.push(H)}if(_.length>0)throw new Error("missing closing tag: "+_.pop().n);return P}function h(y,S){for(var _=0,C=S.length;_":x,"<":function(y,S){var _={partials:{},code:"",subs:{},inPartial:!0};t.walk(y.nodes,_);var C=S.partials[x(y,S)];C.subs=_.subs,C.partials=_.partials},$:function(y,S){var _={subs:{},code:"",partials:S.partials,prefix:y.n};t.walk(y.nodes,_),S.subs[y.n]=_.code,S.inPartial||(S.code+='t.sub("'+b(y.n)+'",c,p,i);')},"\n":function(y,S){S.code+=A('"\\n"'+(y.last?"":" + i"))},_v:function(y,S){S.code+="t.b(t.v(t."+k(y.n)+'("'+b(y.n)+'",c,p,0)));'},_t:function(y,S){S.code+=A('"'+b(y.text)+'"')},"{":E,"&":E};function E(y,S){S.code+="t.b(t.t(t."+k(y.n)+'("'+b(y.n)+'",c,p,0)));'}function A(y){return"t.b("+y+");"}t.walk=function(y,S){for(var _,C=0,P=y.length;C{p();var PV={};(function(t){t.Template=function(d,h,m,g){d=d||{},this.r=d.code||this.r,this.c=m,this.options=g||{},this.text=h||"",this.partials=d.partials||{},this.subs=d.subs||{},this.buf=""},t.Template.prototype={r:function(d,h,m){return""},v:u,t:c,render:function(h,m,g){return this.ri([h],m||{},g)},ri:function(d,h,m){return this.r(d,h,m)},ep:function(d,h){var m=this.partials[d],g=h[m.name];if(m.instance&&m.base==g)return m.instance;if(typeof g=="string"){if(!this.c)throw new Error("No compiler available.");g=this.c.compile(g,this.options)}if(!g)return null;if(this.partials[d].base=g,m.subs){h.stackText||(h.stackText={});for(key in m.subs)h.stackText[key]||(h.stackText[key]=this.activeSub!==void 0&&h.stackText[this.activeSub]?h.stackText[this.activeSub]:this.text);g=r(g,m.subs,m.partials,this.stackSubs,this.stackPartials,h.stackText)}return this.partials[d].instance=g,g},rp:function(d,h,m,g){var v=this.ep(d,m);return v?v.ri(h,m,g):""},rs:function(d,h,m){var g=d[d.length-1];if(!f(g)){m(d,h,this);return}for(var v=0;v=0;x--)if(w=h[x],v=e(d,w,k),v!==void 0){b=!0;break}return b?(!g&&typeof v=="function"&&(v=this.mv(v,h,m)),v):g?!1:""},ls:function(d,h,m,g,v,w){var b=this.options.delimiters;return this.options.delimiters=w,this.b(this.ct(c(d.call(h,v,m)),h,g)),this.options.delimiters=b,!1},ct:function(d,h,m){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(d,this.options).render(h,m)},b:function(d){this.buf+=d},fl:function(){var d=this.buf;return this.buf="",d},ms:function(d,h,m,g,v,w,b){var k,x=h[h.length-1],E=d.call(x);return typeof E=="function"?g?!0:(k=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(E,x,h,m,k.substring(v,w),b)):E},mv:function(d,h,m){var g=h[h.length-1],v=d.call(g);return typeof v=="function"?this.ct(c(v.call(g)),g,m):v},sub:function(d,h,m,g){var v=this.subs[d];v&&(this.activeSub=d,v(h,m,this,g),this.activeSub=!1)}};function e(d,h,m){var g;return h&&typeof h=="object"&&(h[d]!==void 0?g=h[d]:m&&h.get&&typeof h.get=="function"&&(g=h.get(d))),g}function r(d,h,m,g,v,w){function b(){}b.prototype=d;function k(){}k.prototype=d.subs;var x,E=new b;E.subs=new k,E.subsText={},E.buf="",g=g||{},E.stackSubs=g,E.subsText=w;for(x in h)g[x]||(g[x]=h[x]);for(x in g)E.subs[x]=g[x];v=v||{},E.stackPartials=v;for(x in m)v[x]||(v[x]=m[x]);for(x in v)E.partials[x]=v[x];return E}var n=/&/g,i=//g,a=/\'/g,o=/\"/g,l=/[&<>\"\']/;function c(d){return String(d==null?"":d)}function u(d){return d=c(d),l.test(d)?d.replace(n,"&").replace(i,"<").replace(s,">").replace(a,"'").replace(o,"""):d}var f=Array.isArray||function(d){return Object.prototype.toString.call(d)==="[object Array]"}})(typeof Cy!="undefined"?Cy:PV)});var Ty=I((vne,DO)=>{p();var kp=OO();kp.Template=MO().Template;kp.template=kp.Template;DO.exports=kp});var BO=I(En=>{"use strict";p();Object.defineProperty(En,"__esModule",{value:!0});En.ColorSchemeType=En.DiffStyleType=En.LineMatchingType=En.OutputFormatType=En.LineType=void 0;var LO;(function(t){t.INSERT="insert",t.DELETE="delete",t.CONTEXT="context"})(LO||(En.LineType=LO={}));En.OutputFormatType={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"};En.LineMatchingType={LINES:"lines",WORDS:"words",NONE:"none"};En.DiffStyleType={WORD:"word",CHAR:"char"};var NO;(function(t){t.AUTO="auto",t.DARK="dark",t.LIGHT="light"})(NO||(En.ColorSchemeType=NO={}))});var H7={};eL(H7,{default:()=>Pm});module.exports=tL(H7);p();var ID=Ct(Pv()),be=require("obsidian"),FD=Ct(require("path")),Rm=Ct(require("fs/promises"));p();var Ln={};p();var Gd=class{constructor(e){this.plugin=e;this.tasks=[]}addTask(e,r){this.tasks.push({task:e,onFinished:r!=null?r:()=>{}}),this.tasks.length===1&&this.handleTask()}handleTask(){if(this.tasks.length>0){let e=this.tasks[0];e.task().then(r=>{e.onFinished(r),this.tasks.shift(),this.handleTask()},r=>{this.plugin.displayError(r),e.onFinished(void 0),this.tasks.shift(),this.handleTask()})}}clear(){this.tasks=[]}};p();var U=require("obsidian");p();var KA=require("obsidian"),jd="YYYY-MM-DD",Rv=`${jd} HH:mm`,$v=`${jd} HH:mm:ss`,qd=40,ol="conflict-files-obsidian-git.md",et={commitMessage:"vault backup: {{date}}",autoCommitMessage:"vault backup: {{date}}",commitMessageScript:"",commitDateFormat:$v,autoSaveInterval:0,autoPushInterval:0,autoPullInterval:0,autoPullOnBoot:!1,autoCommitOnlyStaged:!1,disablePush:!1,pullBeforePush:!0,disablePopups:!1,showErrorNotices:!0,disablePopupsForNoChanges:!1,listChangedFilesInMessageBody:!1,showStatusBar:!0,updateSubmodules:!1,syncMethod:"merge",mergeStrategy:"none",customMessageOnAutoBackup:!1,autoBackupAfterFileChange:!1,treeStructure:!1,refreshSourceControl:KA.Platform.isDesktopApp,basePath:"",differentIntervalCommitAndPush:!1,changedFilesInStatusBar:!1,showedMobileNotice:!1,refreshSourceControlTimer:7e3,showBranchStatusBar:!0,setLastSaveToLastCommit:!1,submoduleRecurseCheckout:!1,gitDir:"",showFileMenu:!0,authorInHistoryView:"hide",dateInHistoryView:!1,diffStyle:"split",hunks:{showSigns:!1,hunkCommands:!1,statusBar:"disabled"},lineAuthor:{show:!1,followMovement:"inactive",authorDisplay:"initials",showCommitHash:!1,dateTimeFormatOptions:"date",dateTimeFormatCustomString:Rv,dateTimeTimezone:"viewer-local",coloringMaxAge:"1y",colorNew:{r:255,g:150,b:150},colorOld:{r:120,g:160,b:255},textColorCss:"var(--text-muted)",ignoreWhitespace:!1,gutterSpacingFallbackLength:5}},jt={type:"git-view",name:"Source Control",icon:"git-pull-request"},gn={type:"git-history-view",name:"History",icon:"history"},Ns={type:"split-diff-view",name:"Diff view",icon:"diff"},Bs={type:"diff-view",name:"Diff View",icon:"git-pull-request"},Wd="C:\\Program Files\\Git\\cmd\\git.exe",zd=".git_credentials_input",Ta="obsidian_askpass.sh",QA=`#!/bin/sh + +PROMPT="$1" +TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT" + +cleanup() { + rm -f "$TEMP_FILE" "$TEMP_FILE.response" +} +trap cleanup EXIT + +echo "$PROMPT" > "$TEMP_FILE" + +while [ ! -e "$TEMP_FILE.response" ]; do + if [ ! -e "$TEMP_FILE" ]; then + echo "Trigger file got removed: Abort" >&2 + exit 1 + fi + sleep 0.1 +done + +RESPONSE=$(cat "$TEMP_FILE.response") + +echo "$RESPONSE" +`,JA=["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"];p();p();p();var hi=class{diff(e,r,n={}){let i;typeof n=="function"?(i=n,n={}):"callback"in n&&(i=n.callback);let s=this.castInput(e,n),a=this.castInput(r,n),o=this.removeEmpty(this.tokenize(s,n)),l=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,l,n,i)}diffWithOptionsObj(e,r,n,i){var s;let a=b=>{if(b=this.postProcess(b,n),i){setTimeout(function(){i(b)},0);return}else return b},o=r.length,l=e.length,c=1,u=o+l;n.maxEditLength!=null&&(u=Math.min(u,n.maxEditLength));let f=(s=n.timeout)!==null&&s!==void 0?s:1/0,d=Date.now()+f,h=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(h[0],r,e,0,n);if(h[0].oldPos+1>=l&&m+1>=o)return a(this.buildValues(h[0].lastComponent,r,e));let g=-1/0,v=1/0,w=()=>{for(let b=Math.max(g,-c);b<=Math.min(v,c);b+=2){let k,x=h[b-1],E=h[b+1];x&&(h[b-1]=void 0);let A=!1;if(E){let S=E.oldPos-b;A=E&&0<=S&&S=l&&m+1>=o)return a(this.buildValues(k.lastComponent,r,e))||!0;h[b]=k,k.oldPos+1>=l&&(v=Math.min(v,b-1)),m+1>=o&&(g=Math.max(g,b+1))}c++};if(i)(function b(){setTimeout(function(){if(c>u||Date.now()>d)return i(void 0);w()||b()},0)})();else for(;c<=u&&Date.now()<=d;){let b=w();if(b)return b}}addToPath(e,r,n,i,s){let a=e.lastComponent;return a&&!s.oneChangePerToken&&a.added===r&&a.removed===n?{oldPos:e.oldPos+i,lastComponent:{count:a.count+1,added:r,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+i,lastComponent:{count:1,added:r,removed:n,previousComponent:a}}}extractCommon(e,r,n,i,s){let a=r.length,o=n.length,l=e.oldPos,c=l-i,u=0;for(;c+1d.length?m:d}),u.value=this.join(f)}else u.value=this.join(r.slice(l,l+u.count));l+=u.count,u.added||(c+=u.count)}}return i}};p();var Iv=class extends hi{},eC=new Iv;function Fv(t,e,r){return eC.diff(t,e,r)}p();p();function Ov(t,e){let r;for(r=0;re.length&&(r=t.length-e.length);let n=e.length;t.length0&&e[a]!=e[s];)s=i[s];e[a]==e[s]&&s++}s=0;for(let a=r;a0&&t[a]!=e[s];)s=i[s];t[a]==e[s]&&s++}return s}function cl(t){let e;for(e=t.length-1;e>=0&&t[e].match(/\s/);e--);return t.substring(e+1)}function Vi(t){let e=t.match(/^\s*/);return e?e[0]:""}var Xd="a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",X6=new RegExp(`[${Xd}]+|\\s+|[^${Xd}]`,"ug"),Lv=class extends hi{equals(e,r,n){return n.ignoreCase&&(e=e.toLowerCase(),r=r.toLowerCase()),e.trim()===r.trim()}tokenize(e,r={}){let n;if(r.intlSegmenter){let a=r.intlSegmenter;if(a.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');n=[];for(let o of Array.from(a.segment(e))){let l=o.segment;n.length&&/\s/.test(n[n.length-1])&&/\s/.test(l)?n[n.length-1]+=l:n.push(l)}}else n=e.match(X6)||[];let i=[],s=null;return n.forEach(a=>{/\s/.test(a)?s==null?i.push(a):i.push(i.pop()+a):s!=null&&/\s/.test(s)?i[i.length-1]==s?i.push(i.pop()+a):i.push(s+a):i.push(a),s=a}),i}join(e){return e.map((r,n)=>n==0?r:r.replace(/^\s+/,"")).join("")}postProcess(e,r){if(!e||r.oneChangePerToken)return e;let n=null,i=null,s=null;return e.forEach(a=>{a.added?i=a:a.removed?s=a:((i||s)&&tC(n,s,i,a),n=a,i=null,s=null)}),(i||s)&&tC(n,s,i,null),e}},Z6=new Lv;function tC(t,e,r,n){if(e&&r){let i=Vi(e.value),s=cl(e.value),a=Vi(r.value),o=cl(r.value);if(t){let l=Ov(i,a);t.value=Yd(t.value,a,l),e.value=ll(e.value,l),r.value=ll(r.value,l)}if(n){let l=Mv(s,o);n.value=Vd(n.value,o,l),e.value=pu(e.value,l),r.value=pu(r.value,l)}}else if(r){if(t){let i=Vi(r.value);r.value=r.value.substring(i.length)}if(n){let i=Vi(n.value);n.value=n.value.substring(i.length)}}else if(t&&n){let i=Vi(n.value),s=Vi(e.value),a=cl(e.value),o=Ov(i,s);e.value=ll(e.value,o);let l=Mv(ll(i,o),a);e.value=pu(e.value,l),n.value=Vd(n.value,i,l),t.value=Yd(t.value,i,i.slice(0,i.length-l.length))}else if(n){let i=Vi(n.value),s=cl(e.value),a=Dv(s,i);e.value=pu(e.value,a)}else if(t){let i=cl(t.value),s=Vi(e.value),a=Dv(i,s);e.value=ll(e.value,a)}}var Nv=class extends hi{tokenize(e){let r=new RegExp(`(\\r?\\n)|[${Xd}]+|[^\\S\\n\\r]+|[^${Xd}]`,"ug");return e.match(r)||[]}},rC=new Nv;function Bv(t,e,r){return rC.diff(t,e,r)}p();var Hv=class extends hi{constructor(){super(...arguments),this.tokenize=Q6}equals(e,r,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(` +`))&&(e=e.trim()),(!n.newlineIsToken||!r.includes(` +`))&&(r=r.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(` +`)&&(e=e.slice(0,-1)),r.endsWith(` +`)&&(r=r.slice(0,-1))),super.equals(e,r,n)}},K6=new Hv;function Uv(t,e,r){return K6.diff(t,e,r)}function Q6(t,e){e.stripTrailingCr&&(t=t.replace(/\r\n/g,` +`));let r=[],n=t.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(let i=0;i{let d=c(f);u(d)}}))}else return c(Uv(r,n,o));function c(u){if(!u)return;u.push({value:"",lines:[]});function f(b){return b.map(function(k){return" "+k})}let d=[],h=0,m=0,g=[],v=1,w=1;for(let b=0;b0?f(E.lines.slice(-l)):[],h-=g.length,m-=g.length)}for(let E of x)g.push((k.added?"+":"-")+E);k.added?w+=x.length:v+=x.length}else{if(h)if(x.length<=l*2&&b1&&!e.includeFileHeaders)throw new Error("Cannot omit file headers on a multi-file patch. (The result would be unparseable; how would a tool trying to apply the patch know which changes are to which file?)");return t.map(n=>Zd(n,e)).join(` +`)}let r=[];e.includeIndex&&t.oldFileName==t.newFileName&&r.push("Index: "+t.oldFileName),e.includeUnderline&&r.push("==================================================================="),e.includeFileHeaders&&(r.push("--- "+t.oldFileName+(typeof t.oldHeader=="undefined"?"":" "+t.oldHeader)),r.push("+++ "+t.newFileName+(typeof t.newHeader=="undefined"?"":" "+t.newHeader)));for(let n=0;n{o(l?Zd(l,a.headerOptions):void 0)}}))}else{let o=Gv(t,e,r,n,i,s,a);return o?Zd(o,a==null?void 0:a.headerOptions):void 0}}function mu(t,e,r,n,i,s){return iC(t,t,e,r,n,i,s)}function J6(t){let e=t.endsWith(` +`),r=t.split(` +`).map(n=>n+` +`);return e?r.pop():r.push(r.pop().slice(0,-1)),r}var te=Ct(Pv()),Ra=require("obsidian");p();function sC(t,e){let r=Object.assign({},t.lineAuthor,e.lineAuthor);return Object.assign({},t,e,{lineAuthor:r})}var ul=class extends Error{constructor(r){super("No network connection available");this.originalError=r}};p();var aC=require("obsidian"),t5={options:[],placeholder:"",allowEmpty:!1,onlySelection:!1,initialValue:void 0,obscure:!1},Ze=class extends aC.SuggestModal{constructor(e,r){if(super(e.app),this.config={...t5,...r},this.setPlaceholder(this.config.placeholder),this.config.obscure){this.inputEl.type="password";let n=this.containerEl.querySelector(".prompt-input-container");n.addClass("git-obscure-prompt"),n.setAttr("git-is-obscured","true");let i=n==null?void 0:n.createDiv({cls:"search-input-clear-button"});i.style.marginRight="32px",i.id="git-show-password",i.addEventListener("click",()=>{n.getAttr("git-is-obscured")==="true"?(this.inputEl.type="text",n.setAttr("git-is-obscured","false")):(this.inputEl.type="password",n.setAttr("git-is-obscured","true"))})}}openAndGetResult(){return new Promise(e=>{this.resolve=e,this.open(),this.config.initialValue!=null&&(this.inputEl.value=this.config.initialValue,this.inputEl.dispatchEvent(new Event("input")))})}onClose(){new Promise(e=>setTimeout(e,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(e){return this.config.onlySelection?this.config.options:this.config.allowEmpty?[e.length>0?e:" ",...this.config.options]:[e.length>0?e:"...",...this.config.options]}renderSuggestion(e,r){this.config.obscure?r.hide():r.setText(e)}onChooseSuggestion(e,r){if(this.resolve){let n;this.config.allowEmpty&&e===" "?n="":e==="..."?n=void 0:n=e,this.resolve(n)}}};p();var qP=Ct(EC()),WP=require("child_process"),zP=Ct(jP()),Ki=require("obsidian");function Eh(t){throw new Error(`Unexpected object: ${t}`)}function Pu(t,e,r){return t===1?`${t} ${e}`:`${t} ${r!=null?r:e+"s"}`}var Yw=(t,e)=>t==="."||e==null||e.length===0||e==="."?!0:e.length>=t.length?e.startsWith(t):t.startsWith(e);function Bn(t,e){let r;if(e){if(e.button===0||e.button===1){let n=Ki.Keymap.isModEvent(e);r=t.workspace.getLeaf(n)}}else r=t.workspace.getLeaf(!1);return r}function gi(t,e,r,n,i){if(e.button==2){let s=t.vault.getAbstractFileByPath(r);if(s!=null){let a=new Ki.Menu;t.workspace.trigger("file-menu",a,s,i,n),a.showAtPosition({x:e.pageX,y:e.pageY})}else{let a=new Ki.Menu;t.workspace.trigger("obsidian-git:menu",a,r,i,n),a.showAtPosition({x:e.pageX,y:e.pageY})}}}function js(t){throw new Error("Impossible branch: "+t)}function Xw(t){return`rgb(${t.r},${t.g},${t.b})`}function VP(t){var s;let e=(s=qP.fromString(t))==null?void 0:s.toRgbaArray();if(e===void 0)return;let[r,n,i]=e;return{r,g:n,b:i}}function YP(t){return t.diff(Ki.moment.unix(0),"seconds")}function XP(t){if(t.length!==0)return t.slice().sort()[Math.floor(t.length/2)]}function ZP(t,e){return(0,zP.default)(t,e,{strict:!0})}function Ru(t,e){return new Proxy(t,{get(r,n){return n==="length"?Math.min(e,r.length):r[n]}})}function KP(t,e,r){return t.length<=e?new Array(e-t.length).fill(r).join("")+t:t.substring(t.length-e)}function QP(t,e){if(e<=0)return t;let r=new Array(e).fill(" ").join(""),n=t.substring(e,t.length);return r+n}function Zw(t,e,r){return t<=e&&e<=r}function Qi(t){let[e,...r]=t.split("/");return[e,r.length===0?void 0:r.join("/")]}function vi(t){return t.endsWith("/")?t:t.split("/").last().replace(/\.md$/,"")}function JP(t){return t===1?"1 minute":`${t} minutes`}function yG(t){let e=t.lastIndexOf(".");return t.substring(e+1)}function ml(t){if(t.endsWith(".md"))return!1;let e=yG(t);return JA.includes(e)}function Kw(t){return(t.startsWith("https://github.com/")||t.startsWith("https://gitlab.com/"))&&(t.endsWith(".git")||(t=t+".git")),t}function gl(t,e){let r=e.vault.getAbstractFileByPath(t);if(!(r instanceof Ki.TFile))return!1;try{return!!e.viewRegistry.getTypeByExtension(r.extension)}catch(n){return!0}}function eR({isFolder:t,gitRelativePath:e}){let r="/";return r+=e,t&&(r+="/"),r.replace(/([\\!#*?[\]])/g,String.raw`\$1`).replace(/\s(?=\s*$)/g,String.raw`\ `)}function vl(t,e,r,n){let i=e.target;t.workspace.trigger("hover-link",{event:e,source:r.getViewType(),hoverParent:r,targetEl:i,linktext:n})}function $u(t,e,r={}){return new Promise((n,i)=>{let s=(0,WP.spawn)(t,e,r),a="",o="";s.stdout.on("data",l=>{a+=l.toString()}),s.stderr.on("data",l=>{o+=l.toString()}),s.on("error",l=>{n({error:new Error(l.message),stdout:a,stderr:a,code:1})}),s.on("close",l=>{n({stdout:a,stderr:o,code:l!=null?l:1,error:void 0})})})}p();var tR=require("os"),kh=require("obsidian"),wl=class{constructor(e){this.plugin=e,this.app=e.app}getRelativeVaultPath(e){return this.plugin.settings.basePath?this.plugin.settings.basePath+"/"+e:e}getRelativeRepoPath(e,r=!0){return r&&this.plugin.settings.basePath.length>0?e.substring(this.plugin.settings.basePath.length+1):e}unload(){}_getTreeStructure(e,r=0){let n=[];for(e=[...e];e.length>0;){let i=e.first(),s=i.path.substring(r);if(s.contains("/")){let a=s.substring(0,s.indexOf("/")),o=e.filter(c=>c.path.substring(r).startsWith(a+"/"));o.forEach(c=>e.remove(c));let l=i.path.substring(0,s.indexOf("/")+r);n.push({title:a,path:l,vaultPath:this.getRelativeVaultPath(l),children:this._getTreeStructure(o,(r>0?r+a.length:a.length)+1)})}else n.push({title:s,data:i,path:i.path,vaultPath:this.getRelativeVaultPath(i.path)}),e.remove(i)}return n}simplify(e){var r,n,i,s;for(let a of e){for(;;){let o=((r=a.children)==null?void 0:r.length)==1,l=((i=(n=a.children)==null?void 0:n.first())==null?void 0:i.data)==null;if(!(a.children!=null&&o&&l))break;let c=a.children.first();a.title+="/"+c.title,a.data=c.data,a.path=c.path,a.vaultPath=c.vaultPath,a.children=c.children}a.children!=null&&this.simplify(a.children),(s=a.children)==null||s.sort((o,l)=>{let c=(l.data==null?1:0)-(o.data==null?1:0);return c!=0?c:o.title.localeCompare(l.title)})}return e.sort((a,o)=>{let l=(o.data==null?1:0)-(a.data==null?1:0);return l!=0?l:a.title.localeCompare(o.title)})}getTreeStructure(e){let r=this._getTreeStructure(e);return this.simplify(r)}async formatCommitMessage(e){let r;if(e.includes("{{numFiles}}")){r=await this.status();let n=r.staged.length;e=e.replace("{{numFiles}}",String(n))}if(e.includes("{{hostname}}")){let n=this.plugin.localStorage.getHostname()||"";!n&&kh.Platform.isDesktopApp&&(n=(0,tR.hostname)()),e=e.replace("{{hostname}}",n)}if(e.includes("{{files}}")){r=r!=null?r:await this.status();let n={},i="";if(r.staged.length<100){r.staged.forEach(a=>{a.index in n?n[a.index].push(a.path):n[a.index]=[a.path]});let s=[];for(let[a,o]of Object.entries(n))s.push(a+" "+o.join(" "));i=s.join(", ")}else i="Too many files to list";e=e.replace("{{files}}",i)}if(e=e.replace("{{date}}",(0,kh.moment)().format(this.plugin.settings.commitDateFormat)),this.plugin.settings.listChangedFilesInMessageBody){let n=r!=null?r:await this.status(),i="";n.staged.length<100?i=n.staged.map(s=>s.path).join(` +`):i="Too many files to list",e=e+` + +Affected files: +`+i}return e}};p();var qs=require("obsidian"),Ah=class{constructor(e,r){this.plugin=r;this.promises={};this.adapter=e.adapter,this.vault=e,this.lastBasePath=this.plugin.settings.basePath,this.promises.readFile=this.readFile.bind(this),this.promises.writeFile=this.writeFile.bind(this),this.promises.readdir=this.readdir.bind(this),this.promises.mkdir=this.mkdir.bind(this),this.promises.rmdir=this.rmdir.bind(this),this.promises.stat=this.stat.bind(this),this.promises.unlink=this.unlink.bind(this),this.promises.lstat=this.lstat.bind(this),this.promises.readlink=this.readlink.bind(this),this.promises.symlink=this.symlink.bind(this)}async readFile(e,r){var n;if(this.maybeLog("Read: "+e+JSON.stringify(r)),r=="utf8"||r.encoding=="utf8"){let i=this.vault.getAbstractFileByPath(e);return i instanceof qs.TFile?(this.maybeLog("Reuse"),this.vault.read(i)):this.adapter.read(e)}else{if(e.endsWith(this.gitDir+"/index"))return this.plugin.settings.basePath!=this.lastBasePath?(this.clearIndex(),this.lastBasePath=this.plugin.settings.basePath,this.adapter.readBinary(e)):(n=this.index)!=null?n:this.adapter.readBinary(e);let i=this.vault.getAbstractFileByPath(e);return i instanceof qs.TFile?(this.maybeLog("Reuse"),this.vault.readBinary(i)):this.adapter.readBinary(e)}}async writeFile(e,r){if(this.maybeLog("Write: "+e),typeof r=="string"){let n=this.vault.getAbstractFileByPath(e);return n instanceof qs.TFile?this.vault.modify(n,r):this.adapter.write(e,r)}else if(e.endsWith(this.gitDir+"/index"))this.index=r,this.indexmtime=Date.now();else{let n=this.vault.getAbstractFileByPath(e);return n instanceof qs.TFile?this.vault.modifyBinary(n,r):this.adapter.writeBinary(e,r)}}async readdir(e){e==="."&&(e="/");let r=await this.adapter.list(e),n=[...r.files,...r.folders],i;return e!=="/"?i=n.map(s=>(0,qs.normalizePath)(s.substring(e.length))):i=n,i}async mkdir(e){return this.adapter.mkdir(e)}async rmdir(e,r){var n,i;return this.adapter.rmdir(e,(i=(n=r==null?void 0:r.options)==null?void 0:n.recursive)!=null?i:!1)}async stat(e){if(e.endsWith(this.gitDir+"/index")){if(this.index!==void 0&&this.indexctime!=null&&this.indexmtime!=null)return{isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1,size:this.index.byteLength,type:"file",ctimeMs:this.indexctime,mtimeMs:this.indexmtime};{let n=await this.adapter.stat(e);if(n==null)throw{code:"ENOENT"};return this.indexctime=n.ctime,this.indexmtime=n.mtime,{ctimeMs:n.ctime,mtimeMs:n.mtime,size:n.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1}}}e==="."&&(e="/");let r=this.vault.getAbstractFileByPath(e);if(this.maybeLog("Stat: "+e),r instanceof qs.TFile)return this.maybeLog("Reuse stat"),{ctimeMs:r.stat.ctime,mtimeMs:r.stat.mtime,size:r.stat.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1};{let n=await this.adapter.stat(e);if(n)return{ctimeMs:n.ctime,mtimeMs:n.mtime,size:n.size,type:n.type==="folder"?"directory":n.type,isFile:()=>n.type==="file",isDirectory:()=>n.type==="folder",isSymbolicLink:()=>!1};throw{code:"ENOENT"}}}async unlink(e){return this.adapter.remove(e)}async lstat(e){return this.stat(e)}async readlink(e){throw new Error(`readlink of (${e}) is not implemented.`)}async symlink(e){throw new Error(`symlink of (${e}) is not implemented.`)}async saveAndClear(){this.index!==void 0&&await this.adapter.writeBinary(this.plugin.gitManager.getRelativeVaultPath(this.gitDir+"/index"),this.index,{ctime:this.indexctime,mtime:this.indexmtime}),this.clearIndex()}clearIndex(){this.index=void 0,this.indexctime=void 0,this.indexmtime=void 0}get gitDir(){return this.plugin.settings.gitDir||".git"}maybeLog(e){}};var oR=Ct(aR()),Hn=class extends wl{constructor(r){super(r);this.FILE=0;this.HEAD=1;this.WORKDIR=2;this.STAGE=3;this.status_mapping={"000":" ","003":"AD","020":"??","022":"A ","023":"AM",100:"D ",101:" D",103:"MD",110:"DA",111:" ",113:"MM",120:"DA",121:" M",122:"M ",123:"MM"};this.noticeLength=999999;this.fs=new Ah(this.app.vault,this.plugin)}getRepo(){return{fs:this.fs,dir:this.plugin.settings.basePath,gitdir:this.plugin.settings.gitDir||void 0,onAuth:()=>{var r,n;return{username:(r=this.plugin.localStorage.getUsername())!=null?r:void 0,password:(n=this.plugin.localStorage.getPassword())!=null?n:void 0}},onAuthFailure:async()=>{new Ra.Notice("Authentication failed. Please try with different credentials");let r=await new Ze(this.plugin,{placeholder:"Specify your username"}).openAndGetResult();if(r){let n=await new Ze(this.plugin,{placeholder:"Specify your password/personal access token",obscure:!0}).openAndGetResult();if(n)return this.plugin.localStorage.setUsername(r),this.plugin.localStorage.setPassword(n),{username:r,password:n}}return{cancel:!0}},http:{async request({url:r,method:n,headers:i,body:s}){let a;s&&(a=await SG(s));let o=await(0,Ra.requestUrl)({url:r,method:n,headers:i,body:a,throw:!1});return{url:r,method:n,headers:o.headers,body:xG(o.arrayBuffer),statusCode:o.status,statusMessage:o.status.toString()}}}}}async wrapFS(r){try{let n=await r;return await this.fs.saveAndClear(),n}catch(n){throw await this.fs.saveAndClear(),n}}async status(r){let n,i=window.setTimeout(()=>{n=new Ra.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{this.plugin.setPluginState({gitAction:1});let s={...this.getRepo()};(r==null?void 0:r.path)!=null&&(s.filepaths=[`${r.path}/`]);let a=(await this.wrapFS(te.default.statusMatrix(s))).map(f=>this.getFileStatusResult(f)),o=[],l=[],c=[];for(let f of a)f.workingDir!==" "&&o.push(f),f.index!==" "&&f.index!=="U"&&l.push(f),(f.index!=" "||f.workingDir!=" ")&&c.push(f);let u=[];return window.clearTimeout(i),n==null||n.hide(),{all:c,changed:o,staged:l,conflicted:u}}catch(s){throw window.clearTimeout(i),n==null||n.hide(),this.plugin.displayError(s),s}}async commitAll({message:r,status:n,unstagedFiles:i}){try{return await this.checkAuthorInfo(),await this.stageAll({status:n,unstagedFiles:i}),this.commit({message:r})}catch(s){throw this.plugin.displayError(s),s}}async commit({message:r}){try{await this.checkAuthorInfo(),this.plugin.setPluginState({gitAction:4});let n=await this.formatCommitMessage(r),i=this.plugin.localStorage.getConflict(),s;if(i){let a=await this.branchInfo();s=[a.current,a.tracking]}await this.wrapFS(te.default.commit({...this.getRepo(),message:n,parent:s})),this.plugin.localStorage.setConflict(!1);return}catch(n){throw this.plugin.displayError(n),n}}async stage(r,n){let i=this.getRelativeRepoPath(r,n),s;n?s=r:s=this.getRelativeVaultPath(r);try{this.plugin.setPluginState({gitAction:3}),await this.app.vault.adapter.exists(s)?await this.wrapFS(te.default.add({...this.getRepo(),filepath:i})):await this.wrapFS(te.default.remove({...this.getRepo(),filepath:i}))}catch(a){throw this.plugin.displayError(a),a}}async stageAll({dir:r,status:n,unstagedFiles:i}){try{if(n)await Promise.all(n.changed.map(s=>s.workingDir!=="D"?this.wrapFS(te.default.add({...this.getRepo(),filepath:s.path})):te.default.remove({...this.getRepo(),filepath:s.path})));else{let s=i!=null?i:await this.getUnstagedFiles(r!=null?r:".");await Promise.all(s.map(({path:a,type:o})=>o=="D"?te.default.remove({...this.getRepo(),filepath:a}):this.wrapFS(te.default.add({...this.getRepo(),filepath:a}))))}}catch(s){throw this.plugin.displayError(s),s}}async unstage(r,n){try{this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,n),await this.wrapFS(te.default.resetIndex({...this.getRepo(),filepath:r}))}catch(i){throw this.plugin.displayError(i),i}}async unstageAll({dir:r,status:n}){try{let i;n?i=n.staged.map(s=>s.path):i=(await this.getStagedFiles(r!=null?r:".")).map(({path:a})=>a),await this.wrapFS(Promise.all(i.map(s=>te.default.resetIndex({...this.getRepo(),filepath:s}))))}catch(i){throw this.plugin.displayError(i),i}}async discard(r){try{this.plugin.setPluginState({gitAction:3}),await this.wrapFS(te.default.checkout({...this.getRepo(),filepaths:[r],force:!0}))}catch(n){throw this.plugin.displayError(n),n}}async discardAll({dir:r,status:n}){let i=[];n?r!=null?i=n.changed.filter(s=>s.workingDir!="U"&&s.path.startsWith(r)).map(s=>s.path):i=n.changed.filter(s=>s.workingDir!="U").map(s=>s.path):i=(await this.getUnstagedFiles(r)).filter(s=>s.type!="A").map(({path:s})=>s);try{await this.wrapFS(te.default.checkout({...this.getRepo(),filepaths:i,force:!0}))}catch(s){throw this.plugin.displayError(s),s}}async getUntrackedPaths(r){let n=[];if(r.status)for(let i of r.status.changed)i.index=="U"&&i.workingDir==="U"&&i.path.startsWith(r.path!=null?`${r.path}/`:"")&&n.push(i.path);else{let i=await this.status({path:r==null?void 0:r.path});for(let s of i.changed)s.index==="U"&&s.workingDir==="U"&&n.push(s.path)}return n}getProgressText(r,n){let i=`${r} progress:`;return n.phase&&(i=`${i} ${n.phase}:`),n.loaded&&(i=`${i} ${n.loaded}`,n.total&&(i=`${i} of ${n.total}`)),i}resolveRef(r){return this.wrapFS(te.default.resolveRef({...this.getRepo(),ref:r}))}async pull(){let r=this.showNotice("Initializing pull");try{this.plugin.setPluginState({gitAction:2});let n=await this.resolveRef("HEAD");await this.fetch();let i=await this.branchInfo();await this.checkAuthorInfo(),(await this.wrapFS(te.default.merge({...this.getRepo(),ours:i.current,theirs:i.tracking,abortOnConflict:!1,mergeDriver:this.plugin.settings.mergeStrategy!=="none"?({contents:l})=>{var b,k,x;let c=l[0],u=l[1],f=l[2],d=/^.*(\r?\n|$)/gm,h=(b=u.match(d))!=null?b:[],m=(k=c.match(d))!=null?k:[],g=(x=f.match(d))!=null?x:[],v=(0,oR.default)(h,m,g),w="";for(let E of v)E.ok&&(w+=E.ok.join("")),E.conflict&&(w+=this.plugin.settings.mergeStrategy==="ours"?E.conflict.a.join(""):E.conflict.b.join(""));return{cleanMerge:!0,mergedText:w}}:void 0}))).alreadyMerged||await this.wrapFS(te.default.checkout({...this.getRepo(),ref:i.current,onProgress:l=>{r!==void 0&&(r.noticeEl.innerText=this.getProgressText("Checkout",l))},remote:i.remote})),r==null||r.hide();let a=await this.resolveRef("HEAD"),o=await this.getFileChangesCount(n,a);return this.showNotice("Finished pull",!1),o.map(l=>({path:l.path,workingDir:"P",index:"P",vaultPath:this.getRelativeVaultPath(l.path)}))}catch(n){throw r==null||r.hide(),n instanceof te.Errors.MergeConflictError&&await this.plugin.handleConflict(n.data.filepaths.map(i=>this.getRelativeVaultPath(i))),this.plugin.displayError(n),n}}async push(){if(!await this.canPush())return 0;let r=this.showNotice("Initializing push");try{this.plugin.setPluginState({gitAction:1});let n=await this.branchInfo(),i=n.tracking,s=n.current,a=(await this.getFileChangesCount(s,i)).length;this.plugin.setPluginState({gitAction:5});let o=await this.getCurrentRemote();return await this.wrapFS(te.default.push({...this.getRepo(),remote:o,onProgress:l=>{r!==void 0&&(r.noticeEl.innerText=this.getProgressText("Pushing",l))}})),r==null||r.hide(),a}catch(n){throw r==null||r.hide(),this.plugin.displayError(n),n}}async getUnpushedCommits(){let r=await this.branchInfo(),n=r.tracking,i=r.current;if(n==null||i==null)return 0;let s=await this.resolveRef(i),a=await this.resolveRef(n);return(await this.getFileChangesCount(s,a)).length}async canPush(){let r=await this.branchInfo(),n=r.tracking,i=r.current,s=await this.resolveRef(i),a=await this.resolveRef(n);return s!=a}async checkRequirements(){return await this.plugin.app.vault.adapter.exists(`${this.getRepo().dir}/.git/HEAD`)?"valid":"missing-repo"}async branchInfo(){var r,n;try{let i=await te.default.currentBranch(this.getRepo())||"",s=await te.default.listBranches(this.getRepo()),a=(r=await this.getConfig(`branch.${i}.remote`))!=null?r:"origin",o=(n=await this.getConfig(`branch.${i}.merge`))==null?void 0:n.split("refs/heads")[1],l=o?a+o:void 0;return{current:i,tracking:l,branches:s,remote:a}}catch(i){throw this.plugin.displayError(i),i}}async getCurrentRemote(){var i;let r=await te.default.currentBranch(this.getRepo())||"";return(i=await this.getConfig(`branch.${r}.remote`))!=null?i:"origin"}async checkout(r,n){try{return this.wrapFS(te.default.checkout({...this.getRepo(),ref:r,force:!!n,remote:n}))}catch(i){throw this.plugin.displayError(i),i}}async createBranch(r){try{await this.wrapFS(te.default.branch({...this.getRepo(),ref:r,checkout:!0}))}catch(n){throw this.plugin.displayError(n),n}}async deleteBranch(r){try{await this.wrapFS(te.default.deleteBranch({...this.getRepo(),ref:r}))}catch(n){throw this.plugin.displayError(n),n}}branchIsMerged(r){return Promise.resolve(!0)}async init(){try{await this.wrapFS(te.default.init(this.getRepo()))}catch(r){throw this.plugin.displayError(r),r}}async clone(r,n,i){let s=this.showNotice("Initializing clone");try{await this.wrapFS(te.default.clone({...this.getRepo(),dir:n,url:r,depth:i,onProgress:a=>{s!==void 0&&(s.noticeEl.innerText=this.getProgressText("Cloning",a))}})),s==null||s.hide()}catch(a){throw s==null||s.hide(),this.plugin.displayError(a),a}}async setConfig(r,n){try{return this.wrapFS(te.default.setConfig({...this.getRepo(),path:r,value:n}))}catch(i){throw this.plugin.displayError(i),i}}async getConfig(r){try{return this.wrapFS(te.default.getConfig({...this.getRepo(),path:r}))}catch(n){throw this.plugin.displayError(n),n}}async fetch(r){let n=this.showNotice("Initializing fetch");try{let i={...this.getRepo(),onProgress:s=>{n!==void 0&&(n.noticeEl.innerText=this.getProgressText("Fetching",s))},remote:r!=null?r:await this.getCurrentRemote()};await this.wrapFS(te.default.fetch(i)),n==null||n.hide()}catch(i){throw this.plugin.displayError(i),n==null||n.hide(),i}}async setRemote(r,n){try{await this.wrapFS(te.default.addRemote({...this.getRepo(),remote:r,url:n,force:!0}))}catch(i){throw this.plugin.displayError(i),i}}async getRemoteBranches(r){let n=[];return n.push(...await this.wrapFS(te.default.listBranches({...this.getRepo(),remote:r}))),n.remove("HEAD"),n=n.map(i=>`${r}/${i}`),n}async getRemotes(){return(await this.wrapFS(te.default.listRemotes({...this.getRepo()}))).map(r=>r.remote)}async removeRemote(r){await this.wrapFS(te.default.deleteRemote({...this.getRepo(),remote:r}))}async getRemoteUrl(r){var n;return(n=(await this.wrapFS(te.default.listRemotes({...this.getRepo()}))).filter(i=>i.remote==r)[0])==null?void 0:n.url}async log(r,n=!0,i,s){let a=await this.wrapFS(te.default.log({...this.getRepo(),depth:i,ref:s}));return Promise.all(a.map(async o=>{let l=o.commit.message.split(` + +`);return{message:l[0],author:{name:o.commit.author.name,email:o.commit.author.email},body:l.slice(1).join(` + +`),date:new Date(o.commit.committer.timestamp).toDateString(),diff:{changed:0,files:(await this.getFileChangesCount(o.commit.parent.first(),o.oid)).map(c=>({path:c.path,status:c.type,vaultPath:this.getRelativeVaultPath(c.path),hash:o.oid}))},hash:o.oid,refs:[]}}))}updateBasePath(r){return this.getRepo().dir=r,Promise.resolve()}async updateUpstreamBranch(r){let[n,i]=Qi(r),s=await this.branchInfo();await this.wrapFS(te.default.push({...this.getRepo(),remote:n,remoteRef:i})),await this.setConfig(`branch.${s.current}.merge`,`refs/heads/${i}`)}updateGitPath(r){return Promise.resolve()}async getFileChangesCount(r,n){return this.walkDifference({walkers:[te.default.TREE({ref:r}),te.default.TREE({ref:n})]})}async walkDifference({walkers:r,dir:n}){return await this.wrapFS(te.default.walk({...this.getRepo(),trees:r,map:async function(s,[a,o]){if(!Yw(s,n))return null;if(await(a==null?void 0:a.type())==="tree"||await(o==null?void 0:o.type())==="tree")return;let l=await(a==null?void 0:a.oid()),c=await(o==null?void 0:o.oid()),u="equal";if(l!==c&&(u="M"),l===void 0&&(u="A"),c===void 0&&(u="D"),l===void 0&&c===void 0&&(console.log("Something weird happened:"),console.log(a),console.log(o)),u!=="equal")return{path:s,type:u}}}))}async getStagedFiles(r="."){return(await this.walkDifference({walkers:[te.default.TREE({ref:"HEAD"}),te.default.STAGE()],dir:r})).map(i=>({vaultPath:this.getRelativeVaultPath(i.path),path:i.path}))}async getUnstagedFiles(r="."){let n,i=window.setTimeout(()=>{n=new Ra.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{let s=this.getRepo(),a=await this.wrapFS(te.default.walk({...s,trees:[te.default.WORKDIR(),te.default.STAGE()],map:async function(o,[l,c]){if(!c&&l&&await te.default.isIgnored({...s,filepath:o})||!Yw(o,r))return null;let[u,f]=await Promise.all([l&&l.type(),c&&c.type()]),d=[u,f].includes("blob");if((u==="tree"||u==="special")&&!d)return;if(f==="commit")return null;if((f==="tree"||f==="special")&&!d)return;let h=f==="blob"?await c.oid():void 0,m;return u==="blob"&&f!=="blob"?m="42":u==="blob"&&(m=await l.oid()),m?h?m!==h?{path:o,type:"M"}:null:{path:o,type:"A"}:{path:o,type:"D"}}}));return window.clearTimeout(i),n==null||n.hide(),a}catch(s){throw window.clearTimeout(i),n==null||n.hide(),this.plugin.displayError(s),s}}async getDiffString(r,n=!1,i){let s=this.getRelativeVaultPath(r),a=async(c,[u])=>{if(r==c){let f=await u.oid();return(await te.default.readBlob({...this.getRepo(),oid:f})).blob}};if(i){let c=await(0,te.readBlob)({...this.getRepo(),filepath:r,oid:i}).then(h=>new TextDecoder().decode(h.blob)).catch(h=>{if(!(h instanceof te.default.Errors.NotFoundError))throw h}),u=await te.default.readCommit({...this.getRepo(),oid:i}),f=await(0,te.readBlob)({...this.getRepo(),filepath:r,oid:u.commit.parent.first()}).then(h=>new TextDecoder().decode(h.blob)).catch(h=>{if(!(h instanceof te.default.Errors.NotFoundError))throw h});return mu(s,f!=null?f:"",c!=null?c:"")}let o=(await te.default.walk({...this.getRepo(),trees:[te.default.STAGE()],map:a})).first(),l=new TextDecoder().decode(o);if(n){let c=await this.resolveRef("HEAD").then(f=>(0,te.readBlob)({...this.getRepo(),filepath:r,oid:f})).then(f=>new TextDecoder().decode(f.blob)).catch(f=>{if(!(f instanceof te.default.Errors.NotFoundError))throw f});return mu(s,c!=null?c:"",l)}else{let c;return await this.app.vault.adapter.exists(s)?c=await this.app.vault.adapter.read(s):c="",mu(s,l,c)}}async getLastCommitTime(){let r=this.getRepo(),n=await this.resolveRef("HEAD"),s=(await te.default.readCommit({...r,oid:n})).commit.committer.timestamp;return new Date(s*1e3)}getFileStatusResult(r){let n=this.status_mapping[`${r[this.HEAD]}${r[this.WORKDIR]}${r[this.STAGE]}`];return{index:n[0]=="?"?"U":n[0],workingDir:n[1]=="?"?"U":n[1],path:r[this.FILE],vaultPath:this.getRelativeVaultPath(r[this.FILE])}}async checkAuthorInfo(){let r=await this.getConfig("user.name"),n=await this.getConfig("user.email");if(!r||!n)throw Error("Git author name and email are not set. Please set both fields in the settings.")}showNotice(r,n=!0){if(!this.plugin.settings.disablePopups)return new Ra.Notice(r,n?this.noticeLength:void 0)}};async function*xG(t){yield new Uint8Array(t)}async function SG(t){let e=new ReadableStream({async start(n){for await(let i of t)n.enqueue(i);n.close()}});return await new Response(e).arrayBuffer()}p();var nF=Ct(Ph()),Jr=Ct(require("fs/promises")),Ji=require("obsidian"),Ue=Ct(require("path")),Uu=require("path");p();var Bh=Ct(hR(),1);p();var Jw=new WeakMap;function Sl(...t){let e=new String(t);return Jw.set(e,t),e}function wn(t){return t instanceof String&&Jw.has(t)}function El(t){var e;return(e=Jw.get(t))!=null?e:[]}var Lh=Ct(Ph(),1),j$=require("child_process");var CI=Ct(t0(),1),NI=require("node:path");p();function*pR(t,e){let r=e==="global";for(let n of t)n.isGlobal===r&&(yield n)}var GG=new Set(["--add","--edit","--remove-section","--rename-section","--replace-all","--unset","--unset-all","-e"]),jG=new Set(["--get","--get-all","--get-color","--get-colorbool","--get-regexp","--get-urlmatch","--list","-l"]),qG=new Set(["edit","remove-section","rename-section","set","unset"]),WG=new Set(["get","get-color","get-colorbool","list"]);function zG(t,e){var n;for(let{name:i}of pR(t,"task")){if(GG.has(i))return kl(!0,e);if(jG.has(i))return kl(!1,e)}let r=(n=e.at(0))==null?void 0:n.toLowerCase();return r===void 0?null:qG.has(r)?kl(!0,e.slice(1)):WG.has(r)?kl(!1,e.slice(1)):e.length===1?kl(!1,e):kl(!0,e)}function kl(t=!1,e=[]){var n;let r=(n=e.at(0))==null?void 0:n.toLowerCase();return r===void 0?null:{isWrite:t,isRead:!t,key:r,value:e.at(1)}}function VG(t,e){return e.isWrite&&e.value!==void 0?{key:e.key,value:e.value,scope:t}:{key:e.key,scope:t}}function YG(t){let e=(t==null?void 0:t.indexOf("="))||-1;return!t||e<0?null:{key:t.slice(0,e).trim().toLowerCase(),value:t.slice(e+1)}}function XG(t){for(let{name:e}of pR(t,"task"))switch(e){case"--global":return"global";case"--system":return"system";case"--worktree":return"worktree";case"--local":return"local";case"--file":case"-f":return"file"}return"local"}function ZG({name:t}){if(t==="-c"||t==="--config")return"inline";if(t==="--config-env")return"env"}function*KG(t){for(let e of t){let r=ZG(e),n=r&&YG(e.value);n&&(yield{...n,scope:r})}}function QG(t,e,r){let n={read:[],write:[...KG(e)]};return t==="config"&&JG(n,XG(e),zG(e,r)),n}function JG(t,e,r){if(r===null)return;let n=VG(e,r);r.isWrite?t.write.push(n):t.read.push(n)}var mR={short:new Map([["c",!0]])},ej={short:new Map([["C",!0],["P",!1],["h",!1],["p",!1],["v",!1],...mR.short.entries()]),long:new Set(["attr-source","config-env","exec-path","git-dir","list-cmds","namespace","super-prefix","work-tree"])},tj={clone:{short:new Map([["b",!0],["j",!0],["l",!1],["n",!1],["o",!0],["q",!1],["s",!1],["u",!0]]),long:new Set(["branch","config","jobs","origin","upload-pack","u","template"])},commit:{short:new Map([["C",!0],["F",!0],["c",!0],["m",!0],["t",!0]]),long:new Set(["file","message","reedit-message","reuse-message","template"])},config:{short:new Map([["e",!1],["f",!0],["l",!1]]),long:new Set(["blob","comment","default","file","type","value"])},fetch:{short:new Map,long:new Set(["upload-pack"])},init:{short:new Map,long:new Set(["template"])},pull:{short:new Map,long:new Set(["upload-pack"])},push:{short:new Map,long:new Set(["exec","receive-pack"])}},rj={short:new Map,long:new Set};function nj(t){var r;let e=(r=tj[t!=null?t:""])!=null?r:rj;return{short:new Map([...mR.short.entries(),...e.short.entries()]),long:e.long}}function gR(t,e=ej){if(t.startsWith("--")){let r=t.indexOf("=");if(r>2)return[{name:t.slice(0,r),value:t.slice(r+1),needsNext:!1}];let n=t.slice(2);return[{name:t,needsNext:e.long.has(n)}]}if(t.length===2){let r=t.charAt(1),n=e.short.get(r);return[{name:t,needsNext:n===!0}]}return ij(t,e.short)}function ij(t,e){let r=t.slice(1).split(""),n=[];for(let i=0;ie.has(l)))return n.push({name:`-${s}`,value:o,needsNext:!1}),n}n.push({name:`-${s}`,needsNext:a})}return n}function sj(t,e=[]){let r=0;for(;rfunction(){return t&&(e=(0,t[S0(t)[0]])(t=0)),e},yj=(t,e)=>function(){return e||(0,t[S0(t)[0]])((e={exports:{}}).exports,e),e.exports},yt=(t,e)=>{for(var r in e)x0(t,r,{get:e[r],enumerable:!0})},bj=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of S0(e))!wj.call(t,i)&&i!==r&&x0(t,i,{get:()=>e[i],enumerable:!(n=vj(e,i))||n.enumerable});return t},pt=t=>bj(x0({},"__esModule",{value:!0}),t),Pr,zs=V({"src/lib/errors/git-error.ts"(){"use strict";Pr=class extends Error{constructor(t,e){super(e),this.task=t,Object.setPrototypeOf(this,new.target.prototype)}}}}),Du,Pl=V({"src/lib/errors/git-response-error.ts"(){"use strict";zs(),Du=class extends Pr{constructor(t,e){super(void 0,e||String(t)),this.git=t}}}}),QR,JR=V({"src/lib/errors/task-configuration-error.ts"(){"use strict";zs(),QR=class extends Pr{constructor(t){super(void 0,t)}}}});function e$(t){return typeof t!="function"?Da:t}function t$(t){return typeof t=="function"&&t!==Da}function r$(t,e){let r=t.indexOf(e);return r<=0?[t,""]:[t.substr(0,r),t.substr(r+1)]}function n$(t,e=0){return i$(t)&&t.length>e?t[e]:void 0}function Ma(t,e=0){if(i$(t)&&t.length>e)return t[t.length-1-e]}function i$(t){return jh(t)}function Lu(t="",e=!0,r=` +`){return t.split(r).reduce((n,i)=>{let s=e?i.trim():i;return s&&n.push(s),n},[])}function E0(t,e){return Lu(t,!0).map(r=>e(r))}function k0(t){return(0,Bh.exists)(t,Bh.FOLDER)}function _n(t,e){return Array.isArray(t)?t.includes(e)||t.push(e):t.add(e),e}function s$(t,e){return Array.isArray(t)&&!t.includes(e)&&t.push(e),t}function Hh(t,e){if(Array.isArray(t)){let r=t.indexOf(e);r>=0&&t.splice(r,1)}else t.delete(e);return e}function wi(t){return Array.isArray(t)?t:[t]}function a$(t){return t.replace(/[\s-]+(.)/g,(e,r)=>r.toUpperCase())}function Rl(t){return wi(t).map(e=>e instanceof String?e:String(e))}function We(t,e=0){if(t==null)return e;let r=parseInt(t,10);return Number.isNaN(r)?e:r}function Ou(t,e){let r=[];for(let n=0,i=t.length;n{t[n]!==void 0&&(r[n]=t[n])}),r}function l0(t=0){return new Promise(e=>setTimeout(e,t))}function c0(t){if(t!==!1)return t}var Cl,Da,Nu,Uh=V({"src/lib/utils/util.ts"(){"use strict";A0(),Cl="\0",Da=()=>{},Nu=Object.prototype.toString.call.bind(Object.prototype.toString)}});function Qt(t,e,r){return e(t)?t:arguments.length>2?r:void 0}function u0(t,e){let r=wn(t)?"string":typeof t;return/number|string|boolean/.test(r)&&(!e||!e.includes(r))}function Gh(t){return!!t&&Nu(t)==="[object Object]"}function l$(t){return typeof t=="function"}var Bu,c$,ct,Mh,jh,A0=V({"src/lib/utils/argument-filters.ts"(){"use strict";Uh(),Bu=t=>Array.isArray(t),c$=t=>typeof t=="number",ct=t=>typeof t=="string"||wn(t),Mh=t=>ct(t)||Array.isArray(t)&&t.every(ct),jh=t=>t==null||"number|boolean|function".includes(typeof t)?!1:typeof t.length=="number"}}),f0,_j=V({"src/lib/utils/exit-codes.ts"(){"use strict";f0=(t=>(t[t.SUCCESS=0]="SUCCESS",t[t.ERROR=1]="ERROR",t[t.NOT_FOUND=-2]="NOT_FOUND",t[t.UNCLEAN=128]="UNCLEAN",t))(f0||{})}}),Dh,xj=V({"src/lib/utils/git-output-streams.ts"(){"use strict";Dh=class u${constructor(e,r){this.stdOut=e,this.stdErr=r}asStrings(){return new u$(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}});function Sj(){throw new Error("LineParser:useMatches not implemented")}var pe,Ws,Ej=V({"src/lib/utils/line-parser.ts"(){"use strict";pe=class{constructor(t,e){this.matches=[],this.useMatches=Sj,this.parse=(r,n)=>(this.resetMatches(),this._regExp.every((i,s)=>this.addMatch(i,s,r(s)))?this.useMatches(n,this.prepareMatches())!==!1:!1),this._regExp=Array.isArray(t)?t:[t],e&&(this.useMatches=e)}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(t,e,r){let n=r&&t.exec(r);return n&&this.pushMatch(e,n),!!n}pushMatch(t,e){this.matches.push(...e.slice(1))}},Ws=class extends pe{addMatch(t,e,r){return/^remote:\s/.test(String(r))&&super.addMatch(t,e,r)}pushMatch(t,e){(t>0||e.length>1)&&super.pushMatch(t,e)}}}});function f$(...t){let e=process.cwd(),r=Object.assign({baseDir:e,...d$},...t.filter(n=>typeof n=="object"&&n));return r.baseDir=r.baseDir||e,r.trimmed=r.trimmed===!0,r}var d$,kj=V({"src/lib/utils/simple-git-options.ts"(){"use strict";d$={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function C0(t,e=[]){return Gh(t)?Object.keys(t).reduce((r,n)=>{let i=t[n];if(wn(i))r.push(i);else if(u0(i,["boolean"]))r.push(n+"="+i);else if(Array.isArray(i))for(let s of i)u0(s,["string","number"])||r.push(n+"="+s);else r.push(n);return r},e):e}function hr(t,e=0,r=!1){let n=[];for(let i=0,s=e<0?t.length:e;i{for(let s=Lu(i,n),a=0,o=s.length;a{if(!(a+c>=o))return s[a+c]};e.some(({parse:c})=>c(l,t))}}),t}var Tj=V({"src/lib/utils/task-parser.ts"(){"use strict";Uh()}}),h$={};yt(h$,{ExitCodes:()=>f0,GitOutputStreams:()=>Dh,LineParser:()=>pe,NOOP:()=>Da,NULL:()=>Cl,RemoteLineParser:()=>Ws,append:()=>_n,appendTaskOptions:()=>C0,asArray:()=>wi,asCamelCase:()=>a$,asFunction:()=>e$,asNumber:()=>We,asStringArray:()=>Rl,bufferToString:()=>Mu,callTaskParser:()=>d0,createInstanceConfig:()=>f$,delay:()=>l0,filterArray:()=>Bu,filterFunction:()=>l$,filterHasLength:()=>jh,filterNumber:()=>c$,filterPlainObject:()=>Gh,filterPrimitives:()=>u0,filterString:()=>ct,filterStringOrStringArray:()=>Mh,filterType:()=>Qt,first:()=>n$,folderExists:()=>k0,forEachLineWithContent:()=>E0,getTrailingOptions:()=>hr,including:()=>s$,isUserFunction:()=>t$,last:()=>Ma,objectToString:()=>Nu,orVoid:()=>c0,parseStringResponse:()=>Rr,pick:()=>o$,prefixedArray:()=>Ou,remove:()=>Hh,splitOn:()=>r$,toLinesWithContent:()=>Lu,trailingFunctionArgument:()=>tt,trailingOptionsArgument:()=>T0});var ue=V({"src/lib/utils/index.ts"(){"use strict";A0(),_j(),xj(),Ej(),kj(),Cj(),Tj(),Uh()}}),p$={};yt(p$,{CheckRepoActions:()=>h0,checkIsBareRepoTask:()=>g$,checkIsRepoRootTask:()=>m$,checkIsRepoTask:()=>Pj});function Pj(t){switch(t){case"bare":return g$();case"root":return m$()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:qh,parser:P0}}function m$(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:qh,parser(e){return/^\.(git)?$/.test(e.trim())}}}function g$(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:qh,parser:P0}}function Rj(t){return/(Not a git repository|Kein Git-Repository)/i.test(String(t))}var h0,qh,P0,v$=V({"src/lib/tasks/check-is-repo.ts"(){"use strict";ue(),h0=(t=>(t.BARE="bare",t.IN_TREE="tree",t.IS_REPO_ROOT="root",t))(h0||{}),qh=({exitCode:t},e,r,n)=>{if(t===128&&Rj(e))return r(Buffer.from("false"));n(e)},P0=t=>t.trim()==="true"}});function $j(t,e){let r=new w$(t),n=t?b$:y$;return Lu(e).forEach(i=>{let s=i.replace(n,"");r.paths.push(s),(_$.test(s)?r.folders:r.files).push(s)}),r}var w$,y$,b$,_$,Ij=V({"src/lib/responses/CleanSummary.ts"(){"use strict";ue(),w$=class{constructor(t){this.dryRun=t,this.paths=[],this.files=[],this.folders=[]}},y$=/^[a-z]+\s*/i,b$=/^[a-z]+\s+[a-z]+\s*/i,_$=/\/$/}}),p0={};yt(p0,{EMPTY_COMMANDS:()=>Wh,adhocExecTask:()=>x$,configurationErrorTask:()=>Tr,isBufferTask:()=>E$,isEmptyTask:()=>k$,straightThroughBufferTask:()=>S$,straightThroughStringTask:()=>pr});function x$(t){return{commands:Wh,format:"empty",parser:t}}function Tr(t){return{commands:Wh,format:"empty",parser(){throw typeof t=="string"?new QR(t):t}}}function pr(t,e=!1){return{commands:t,format:"utf-8",parser(r){return e?String(r).trim():r}}}function S$(t){return{commands:t,format:"buffer",parser(e){return e}}}function E$(t){return t.format==="buffer"}function k$(t){return t.format==="empty"||!t.commands.length}var Wh,mt=V({"src/lib/tasks/task.ts"(){"use strict";JR(),Wh=[]}}),A$={};yt(A$,{CONFIG_ERROR_INTERACTIVE_MODE:()=>R0,CONFIG_ERROR_MODE_REQUIRED:()=>$0,CONFIG_ERROR_UNKNOWN_OPTION:()=>I0,CleanOptions:()=>Oa,cleanTask:()=>C$,cleanWithOptionsTask:()=>Fj,isCleanOptionsArray:()=>Oj});function Fj(t,e){let{cleanMode:r,options:n,valid:i}=Mj(t);return r?i.options?(n.push(...e),n.some(Nj)?Tr(R0):C$(r,n)):Tr(I0+JSON.stringify(t)):Tr($0)}function C$(t,e){return{commands:["clean",`-${t}`,...e],format:"utf-8",parser(n){return $j(t==="n",n)}}}function Oj(t){return Array.isArray(t)&&t.every(e=>F0.has(e))}function Mj(t){let e,r=[],n={cleanMode:!1,options:!0};return t.replace(/[^a-z]i/g,"").split("").forEach(i=>{Dj(i)?(e=i,n.cleanMode=!0):n.options=n.options&&Lj(r[r.length]=`-${i}`)}),{cleanMode:e,options:r,valid:n}}function Dj(t){return t==="f"||t==="n"}function Lj(t){return/^-[a-z]$/i.test(t)&&F0.has(t.charAt(1))}function Nj(t){return/^-[^\-]/.test(t)?t.indexOf("i")>0:t==="--interactive"}var R0,$0,I0,Oa,F0,T$=V({"src/lib/tasks/clean.ts"(){"use strict";Ij(),ue(),mt(),R0="Git clean interactive mode is not supported",$0='Git clean mode parameter ("n" or "f") is required',I0="Git clean unknown option found in: ",Oa=(t=>(t.DRY_RUN="n",t.FORCE="f",t.IGNORED_INCLUDED="x",t.IGNORED_ONLY="X",t.EXCLUDING="e",t.QUIET="q",t.RECURSIVE="d",t))(Oa||{}),F0=new Set(["i",...Rl(Object.values(Oa))])}});function Bj(t){let e=new R$;for(let r of P$(t))e.addValue(r.file,String(r.key),r.value);return e}function Hj(t,e){let r=null,n=[],i=new Map;for(let s of P$(t,e))s.key===e&&(n.push(r=s.value),i.has(s.file)||i.set(s.file,[]),i.get(s.file).push(r));return{key:e,paths:Array.from(i.keys()),scopes:i,value:r,values:n}}function Uj(t){return t.replace(/^(file):/,"")}function*P$(t,e=null){let r=t.split("\0");for(let n=0,i=r.length-1;nObject.assign(t,this.values[e]),{})),this._all}addFile(t){if(!(t in this.values)){let e=Ma(this.files);this.values[t]=e?Object.create(this.values[e]):{},this.files.push(t)}return this.values[t]}addValue(t,e,r){let n=this.addFile(t);Object.hasOwn(n,e)?Array.isArray(n[e])?n[e].push(r):n[e]=[n[e],r]:n[e]=r,this._all=void 0}}}});function r0(t,e){return typeof t=="string"&&Object.hasOwn(m0,t)?t:e}function jj(t,e,r,n){let i=["config",`--${n}`];return r&&i.push("--add"),i.push(t,e),{commands:i,format:"utf-8",parser(s){return s}}}function qj(t,e){let r=["config","--null","--show-origin","--get-all",t];return e&&r.splice(1,0,`--${e}`),{commands:r,format:"utf-8",parser(n){return Hj(n,t)}}}function Wj(t){let e=["config","--list","--show-origin","--null"];return t&&e.push(`--${t}`),{commands:e,format:"utf-8",parser(r){return Bj(r)}}}function zj(){return{addConfig(t,e,...r){return this._runTask(jj(t,e,r[0]===!0,r0(r[1],"local")),tt(arguments))},getConfig(t,e){return this._runTask(qj(t,r0(e,void 0)),tt(arguments))},listConfig(...t){return this._runTask(Wj(r0(t[0],void 0)),tt(arguments))}}}var m0,$$=V({"src/lib/tasks/config.ts"(){"use strict";Gj(),ue(),m0=(t=>(t.system="system",t.global="global",t.local="local",t.worktree="worktree",t))(m0||{})}});function Vj(t){return I$.has(t)}var n0,I$,F$=V({"src/lib/tasks/diff-name-status.ts"(){"use strict";n0=(t=>(t.ADDED="A",t.COPIED="C",t.DELETED="D",t.MODIFIED="M",t.RENAMED="R",t.CHANGED="T",t.UNMERGED="U",t.UNKNOWN="X",t.BROKEN="B",t))(n0||{}),I$=new Set(Object.values(n0))}});function Yj(...t){return new M$().param(...t)}function Xj(t){let e=new Set,r={};return E0(t,n=>{let[i,s,a]=n.split(Cl);e.add(i),(r[i]=r[i]||[]).push({line:We(s),path:i,preview:a})}),{paths:e,results:r}}function Zj(){return{grep(t){let e=tt(arguments),r=hr(arguments);for(let i of O$)if(r.includes(i))return this._runTask(Tr(`git.grep: use of "${i}" is not supported.`),e);typeof t=="string"&&(t=Yj().param(t));let n=["grep","--null","-n","--full-name",...r,...t];return this._runTask({commands:n,format:"utf-8",parser(i){return Xj(i)}},e)}}}var O$,Fu,_R,M$,D$=V({"src/lib/tasks/grep.ts"(){"use strict";ue(),mt(),O$=["-h"],Fu=Symbol("grepQuery"),M$=class{constructor(){this[_R]=[]}*[(_R=Fu,Symbol.iterator)](){for(let t of this[Fu])yield t}and(...t){return t.length&&this[Fu].push("--and","(",...Ou(t,"-e"),")"),this}param(...t){return this[Fu].push(...Ou(t,"-e")),this}}}}),L$={};yt(L$,{ResetMode:()=>Ih,getResetMode:()=>Qj,resetTask:()=>Kj});function Kj(t,e){let r=["reset"];return N$(t)&&r.push(`--${t}`),r.push(...e),pr(r)}function Qj(t){if(N$(t))return t;switch(typeof t){case"string":case"undefined":return"soft"}}function N$(t){return typeof t=="string"&&B$.includes(t)}var Ih,B$,H$=V({"src/lib/tasks/reset.ts"(){"use strict";ue(),mt(),Ih=(t=>(t.MIXED="mixed",t.SOFT="soft",t.HARD="hard",t.MERGE="merge",t.KEEP="keep",t))(Ih||{}),B$=Rl(Object.values(Ih))}});function Jj(){return(0,Lh.default)("simple-git")}function xR(t,e,r){return!e||!String(e).replace(/\s*/,"")?r?(n,...i)=>{t(n,...i),r(n,...i)}:t:(n,...i)=>{t(`%s ${n}`,e,...i),r&&r(n,...i)}}function eq(t,e,{namespace:r}){if(typeof t=="string")return t;let n=e&&e.namespace||"";return n.startsWith(r)?n.substr(r.length+1):n||r}function O0(t,e,r,n=Jj()){let i=t&&`[${t}]`||"",s=[],a=typeof e=="string"?n.extend(e):e,o=eq(Qt(e,ct),a,n);return c(r);function l(u,f){return _n(s,O0(t,o.replace(/^[^:]+/,u),f,n))}function c(u){let f=u&&`[${u}]`||"",d=a&&xR(a,f)||Da,h=xR(n,`${i} ${f}`,d);return Object.assign(a?d:h,{label:t,sibling:l,info:h,step:c})}}var U$=V({"src/lib/git-logger.ts"(){"use strict";ue(),Lh.default.formatters.L=t=>String(jh(t)?t.length:"-"),Lh.default.formatters.B=t=>Buffer.isBuffer(t)?t.toString("utf8"):Nu(t)}}),G$,tq=V({"src/lib/runners/tasks-pending-queue.ts"(){"use strict";var t;zs(),U$(),G$=(t=class{constructor(r="GitExecutor"){this.logLabel=r,this._queue=new Map}withProgress(r){return this._queue.get(r)}createProgress(r){let n=t.getName(r.commands[0]),i=O0(this.logLabel,n);return{task:r,logger:i,name:n}}push(r){let n=this.createProgress(r);return n.logger("Adding task to the queue, commands = %o",r.commands),this._queue.set(r,n),n}fatal(r){for(let[n,{logger:i}]of Array.from(this._queue.entries()))n===r.task?(i.info("Failed %o",r),i("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):i.info("A fatal exception occurred in a previous task, the queue has been purged: %o",r.message),this.complete(n);if(this._queue.size!==0)throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(r){this.withProgress(r)&&this._queue.delete(r)}attempt(r){let n=this.withProgress(r);if(!n)throw new Pr(void 0,"TasksPendingQueue: attempt called for an unknown task");return n.logger("Starting task"),n}static getName(r="empty"){return`task:${r}:${++t.counter}`}},t.counter=0,t)}});function Fa(t,e){return{method:n$(t.commands)||"",commands:e}}function rq(t,e){return r=>{e("[ERROR] child process exception %o",r),t.push(Buffer.from(String(r.stack),"ascii"))}}function SR(t,e,r,n){return i=>{r("%s received %L bytes",e,i),n("%B",i),t.push(i)}}var g0,nq=V({"src/lib/runners/git-executor-chain.ts"(){"use strict";zs(),mt(),ue(),tq(),g0=class{constructor(t,e,r){this._executor=t,this._scheduler=e,this._plugins=r,this._chain=Promise.resolve(),this._queue=new G$}get cwd(){return this._cwd||this._executor.cwd}set cwd(t){this._cwd=t}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(t){return this._queue.push(t),this._chain=this._chain.then(()=>this.attemptTask(t))}async attemptTask(t){let e=await this._scheduler.next(),r=()=>this._queue.complete(t);try{let{logger:n}=this._queue.attempt(t);return await(k$(t)?this.attemptEmptyTask(t,n):this.attemptRemoteTask(t,n))}catch(n){throw this.onFatalException(t,n)}finally{r(),e()}}onFatalException(t,e){let r=e instanceof Pr?Object.assign(e,{task:t}):new Pr(t,e&&String(e));return this._chain=Promise.resolve(),this._queue.fatal(r),r}async attemptRemoteTask(t,e){let r=this._plugins.exec("spawn.binary","",Fa(t,t.commands)),n=this._plugins.exec("spawn.args",[...t.commands],{...Fa(t,t.commands),env:{...this.env}}),i=await this.gitResponse(t,r,n,this.outputHandler,e.step("SPAWN")),s=await this.handleTaskData(t,n,i,e.step("HANDLE"));return e("passing response to task's parser as a %s",t.format),E$(t)?d0(t.parser,s):d0(t.parser,s.asStrings())}async attemptEmptyTask(t,e){return e("empty task bypassing child process to call to task's parser"),t.parser(this)}handleTaskData(t,e,r,n){let{exitCode:i,rejection:s,stdOut:a,stdErr:o}=r;return new Promise((l,c)=>{n("Preparing to handle process response exitCode=%d stdOut=",i);let{error:u}=this._plugins.exec("task.error",{error:s},{...Fa(t,e),...r});if(u&&t.onError)return n.info("exitCode=%s handling with custom error handler"),t.onError(r,u,f=>{n.info("custom error handler treated as success"),n("custom error returned a %s",Nu(f)),l(new Dh(Array.isArray(f)?Buffer.concat(f):f,Buffer.concat(o)))},c);if(u)return n.info("handling as error: exitCode=%s stdErr=%s rejection=%o",i,o.length,s),c(u);n.info("retrieving task output complete"),l(new Dh(Buffer.concat(a),Buffer.concat(o)))})}async gitResponse(t,e,r,n,i){let s=i.sibling("output"),a=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},Fa(t,t.commands));return new Promise(o=>{let l=[],c=[];i.info("%s %o",e,r),i("%O",a);let u=this._beforeSpawn(t,r);if(u)return o({stdOut:l,stdErr:c,exitCode:9901,rejection:u});this._plugins.exec("spawn.before",void 0,{...Fa(t,r),kill(d){u=d||u}});let f=(0,j$.spawn)(e,r,a);f.stdout.on("data",SR(l,"stdOut",i,s.step("stdOut"))),f.stderr.on("data",SR(c,"stdErr",i,s.step("stdErr"))),f.on("error",rq(c,i)),n&&(i("Passing child process stdOut/stdErr to custom outputHandler"),n(e,f.stdout,f.stderr,[...r])),this._plugins.exec("spawn.after",void 0,{...Fa(t,r),spawned:f,close(d,h){o({stdOut:l,stdErr:c,exitCode:d,rejection:u||h})},kill(d){f.killed||(u=d,f.kill("SIGINT"))}})})}_beforeSpawn(t,e){let r;return this._plugins.exec("spawn.before",void 0,{...Fa(t,e),kill(n){r=n||r}}),r}}}}),q$={};yt(q$,{GitExecutor:()=>W$});var W$,iq=V({"src/lib/runners/git-executor.ts"(){"use strict";nq(),W$=class{constructor(t,e,r){this.cwd=t,this._scheduler=e,this._plugins=r,this._chain=new g0(this,this._scheduler,this._plugins)}chain(){return new g0(this,this._scheduler,this._plugins)}push(t){return this._chain.push(t)}}}});function sq(t,e,r=Da){let n=s=>{r(null,s)},i=s=>{(s==null?void 0:s.task)===t&&r(s instanceof Du?aq(s):s,void 0)};e.then(n,i)}function aq(t){let e=n=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${n} should be GitResponseError.git.${n}, this will no longer be available in version 3`),e=Da};return Object.create(t,Object.getOwnPropertyNames(t.git).reduce(r,{}));function r(n,i){return i in t||(n[i]={enumerable:!1,configurable:!1,get(){return e(i),t.git[i]}}),n}}var oq=V({"src/lib/task-callback.ts"(){"use strict";Pl(),ue()}});function ER(t,e){return x$(r=>{if(!k0(t))throw new Error(`Git.cwd: cannot change to non-directory "${t}"`);return(e||r).cwd=t})}var lq=V({"src/lib/tasks/change-working-directory.ts"(){"use strict";ue(),mt()}});function i0(t){let e=["checkout",...t];return e[1]==="-b"&&e.includes("-B")&&(e[1]=Hh(e,"-B")),pr(e)}function cq(){return{checkout(){return this._runTask(i0(hr(arguments,1)),tt(arguments))},checkoutBranch(t,e){return this._runTask(i0(["-b",t,e,...hr(arguments)]),tt(arguments))},checkoutLocalBranch(t){return this._runTask(i0(["-b",t,...hr(arguments)]),tt(arguments))}}}var uq=V({"src/lib/tasks/checkout.ts"(){"use strict";ue(),mt()}});function fq(){return{count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0}}function dq(){return{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser(t){return Rr(fq(),[z$],t)}})}}}var z$,hq=V({"src/lib/tasks/count-objects.ts"(){"use strict";ue(),z$=new pe(/([a-z-]+): (\d+)$/,(t,[e,r])=>{let n=a$(e);Object.hasOwn(t,n)&&(t[n]=We(r))})}});function pq(t){return Rr({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},V$,t)}var V$,mq=V({"src/lib/parsers/parse-commit.ts"(){"use strict";ue(),V$=[new pe(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(t,[e,r,n])=>{t.branch=e,t.commit=n,t.root=!!r}),new pe(/\s*Author:\s(.+)/i,(t,[e])=>{let r=e.split("<"),n=r.pop();!n||!n.includes("@")||(t.author={email:n.substr(0,n.length-1),name:r.join("<").trim()})}),new pe(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(t,[e,r,n])=>{t.summary.changes=parseInt(e,10)||0,t.summary.insertions=parseInt(r,10)||0,t.summary.deletions=parseInt(n,10)||0}),new pe(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(t,[e,r,n])=>{t.summary.changes=parseInt(e,10)||0;let i=parseInt(r,10)||0;n==="-"?t.summary.deletions=i:n==="+"&&(t.summary.insertions=i)})]}});function gq(t,e,r){return{commands:["-c","core.abbrev=40","commit",...Ou(t,"-m"),...e,...r],format:"utf-8",parser:pq}}function vq(){return{commit(e,...r){let n=tt(arguments),i=t(e)||gq(wi(e),wi(Qt(r[0],Mh,[])),[...Rl(Qt(r[1],Bu,[])),...hr(arguments,0,!0)]);return this._runTask(i,n)}};function t(e){return!Mh(e)&&Tr("git.commit: requires the commit message to be supplied as a string/string[]")}}var wq=V({"src/lib/tasks/commit.ts"(){"use strict";mq(),ue(),mt()}});function yq(){return{firstCommit(){return this._runTask(pr(["rev-list","--max-parents=0","HEAD"],!0),tt(arguments))}}}var bq=V({"src/lib/tasks/first-commit.ts"(){"use strict";ue(),mt()}});function _q(t,e){let r=["hash-object",t];return e&&r.push("-w"),pr(r,!0)}var xq=V({"src/lib/tasks/hash-object.ts"(){"use strict";mt()}});function Sq(t,e,r){let n=String(r).trim(),i;if(i=Y$.exec(n))return new Fh(t,e,!1,i[1]);if(i=X$.exec(n))return new Fh(t,e,!0,i[1]);let s="",a=n.split(" ");for(;a.length;)if(a.shift()==="in"){s=a.join(" ");break}return new Fh(t,e,/^re/i.test(n),s)}var Fh,Y$,X$,Eq=V({"src/lib/responses/InitSummary.ts"(){"use strict";Fh=class{constructor(t,e,r,n){this.bare=t,this.path=e,this.existing=r,this.gitDir=n}},Y$=/^Init.+ repository in (.+)$/,X$=/^Rein.+ in (.+)$/}});function kq(t){return t.includes(M0)}function Aq(t=!1,e,r){let n=["init",...r];return t&&!kq(n)&&n.splice(1,0,M0),{commands:n,format:"utf-8",parser(i){return Sq(n.includes("--bare"),e,i)}}}var M0,Cq=V({"src/lib/tasks/init.ts"(){"use strict";Eq(),M0="--bare"}});function D0(t){for(let e=0;eRr(new Z$,e,r,!1)}var s0,kR,AR,CR,Q$,J$=V({"src/lib/parsers/parse-diff-summary.ts"(){"use strict";Hu(),Pq(),F$(),ue(),s0=[new pe(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(t,[e,r,n=""])=>{t.files.push({file:e.trim(),changes:We(r),insertions:n.replace(/[^+]/g,"").length,deletions:n.replace(/[^-]/g,"").length,binary:!1})}),new pe(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(t,[e,r,n])=>{t.files.push({file:e.trim(),before:We(r),after:We(n),binary:!0})}),new pe(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(t,[e,r])=>{let n=/(\d+) i/.exec(r),i=/(\d+) d/.exec(r);t.changed=We(e),t.insertions=We(n==null?void 0:n[1]),t.deletions=We(i==null?void 0:i[1])})],kR=[new pe(/(\d+)\t(\d+)\t(.+)$/,(t,[e,r,n])=>{let i=We(e),s=We(r);t.changed++,t.insertions+=i,t.deletions+=s,t.files.push({file:n,changes:i+s,insertions:i,deletions:s,binary:!1})}),new pe(/-\t-\t(.+)$/,(t,[e])=>{t.changed++,t.files.push({file:e,after:0,before:0,binary:!0})})],AR=[new pe(/(.+)$/,(t,[e])=>{t.changed++,t.files.push({file:e,changes:0,insertions:0,deletions:0,binary:!1})})],CR=[new pe(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(t,[e,r,n,i,s])=>{t.changed++,t.files.push({file:s!=null?s:n,changes:0,insertions:0,deletions:0,binary:!1,status:c0(Vj(e)&&e),from:c0(!!s&&n!==s&&n),similarity:We(r)})})],Q$={"":s0,"--stat":s0,"--numstat":kR,"--name-status":CR,"--name-only":AR}}});function Rq(t,e){return e.reduce((r,n,i)=>(r[n]=t[i]||"",r),Object.create({diff:null}))}function eI(t=H0,e=tI,r=""){let n=K$(r);return function(i){let s=Lu(i.trim(),!1,N0).map(function(a){let o=a.split(B0),l=Rq(o[0].split(t),e);return o.length>1&&o[1].trim()&&(l.diff=n(o[1])),l});return{all:s,latest:s.length&&s[0]||null,total:s.length}}}var N0,B0,H0,tI,rI=V({"src/lib/parsers/parse-list-log-summary.ts"(){"use strict";ue(),J$(),Hu(),N0="\xF2\xF2\xF2\xF2\xF2\xF2 ",B0=" \xF2\xF2",H0=" \xF2 ",tI=["hash","date","message","refs","author_name","author_email"]}}),nI={};yt(nI,{diffSummaryTask:()=>$q,validateLogFormatConfig:()=>zh});function $q(t){let e=D0(t),r=["diff"];return e===""&&(e="--stat",r.push("--stat=4096")),r.push(...t),zh(r)||{commands:r,format:"utf-8",parser:K$(e)}}function zh(t){let e=t.filter(Tq);if(e.length>1)return Tr(`Summary flags are mutually exclusive - pick one of ${e.join(",")}`);if(e.length&&t.includes("-z"))return Tr(`Summary flag ${e} parsing is not compatible with null termination option '-z'`)}var U0=V({"src/lib/tasks/diff.ts"(){"use strict";Hu(),J$(),mt()}});function Iq(t,e){let r=[],n=[];return Object.keys(t).forEach(i=>{r.push(i),n.push(String(t[i]))}),[r,n.join(e)]}function Fq(t){return Object.keys(t).reduce((e,r)=>(r in v0||(e[r]=t[r]),e),{})}function iI(t={},e=[]){let r=Qt(t.splitter,ct,H0),n=Gh(t.format)?t.format:{hash:"%H",date:t.strictDate===!1?"%ai":"%aI",message:"%s",refs:"%D",body:t.multiLine?"%B":"%b",author_name:t.mailMap!==!1?"%aN":"%an",author_email:t.mailMap!==!1?"%aE":"%ae"},[i,s]=Iq(n,r),a=[],o=[`--pretty=format:${N0}${s}${B0}`,...e],l=t.n||t["max-count"]||t.maxCount;if(l&&o.push(`--max-count=${l}`),t.from||t.to){let c=t.symmetric!==!1?"...":"..";a.push(`${t.from||""}${c}${t.to||""}`)}return ct(t.file)&&o.push("--follow",Sl(t.file)),C0(Fq(t),o),{fields:i,splitter:r,commands:[...o,...a]}}function Oq(t,e,r){let n=eI(t,e,D0(r));return{commands:["log",...r],format:"utf-8",parser:n}}function Mq(){return{log(...r){let n=tt(arguments),i=iI(T0(arguments),Rl(Qt(arguments[0],Bu,[]))),s=e(...r)||zh(i.commands)||t(i);return this._runTask(s,n)}};function t(r){return Oq(r.splitter,r.fields,r.commands)}function e(r,n){return ct(r)&&ct(n)&&Tr("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}}var v0,sI=V({"src/lib/tasks/log.ts"(){"use strict";Hu(),rI(),ue(),mt(),U0(),v0=(t=>(t[t["--pretty"]=0]="--pretty",t[t["max-count"]=1]="max-count",t[t.maxCount=2]="maxCount",t[t.n=3]="n",t[t.file=4]="file",t[t.format=5]="format",t[t.from=6]="from",t[t.to=7]="to",t[t.splitter=8]="splitter",t[t.symmetric=9]="symmetric",t[t.mailMap=10]="mailMap",t[t.multiLine=11]="multiLine",t[t.strictDate=12]="strictDate",t))(v0||{})}}),Oh,aI,Dq=V({"src/lib/responses/MergeSummary.ts"(){"use strict";Oh=class{constructor(t,e=null,r){this.reason=t,this.file=e,this.meta=r}toString(){return`${this.file}:${this.reason}`}},aI=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),w0,oI,Lq=V({"src/lib/responses/PullSummary.ts"(){"use strict";w0=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},oI=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}});function a0(t){return t.objects=t.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function TR(t){let e=/^\s*(\d+)/.exec(t),r=/delta (\d+)/i.exec(t);return{count:We(e&&e[1]||"0"),delta:We(r&&r[1]||"0")}}var lI,Nq=V({"src/lib/parsers/parse-remote-objects.ts"(){"use strict";ue(),lI=[new Ws(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(t,[e,r])=>{let n=e.toLowerCase(),i=a0(t.remoteMessages);Object.assign(i,{[n]:We(r)})}),new Ws(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(t,[e,r])=>{let n=e.toLowerCase(),i=a0(t.remoteMessages);Object.assign(i,{[n]:We(r)})}),new Ws(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(t,[e,r,n])=>{let i=a0(t.remoteMessages);i.total=TR(e),i.reused=TR(r),i.packReused=We(n)})]}});function cI(t,e){return Rr({remoteMessages:new fI},uI,e)}var uI,fI,dI=V({"src/lib/parsers/parse-remote-messages.ts"(){"use strict";ue(),Nq(),uI=[new Ws(/^remote:\s*(.+)$/,(t,[e])=>(t.remoteMessages.all.push(e.trim()),!1)),...lI,new Ws([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(t,[e])=>{t.remoteMessages.pullRequestUrl=e}),new Ws([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(t,[e,r,n])=>{t.remoteMessages.vulnerabilities={count:We(e),summary:r,url:n}})],fI=class{constructor(){this.all=[]}}}});function Bq(t,e){let r=Rr(new oI,hI,[t,e]);return r.message&&r}var PR,RR,$R,IR,hI,FR,G0,pI=V({"src/lib/parsers/parse-pull.ts"(){"use strict";Lq(),ue(),dI(),PR=/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,RR=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,$R=/^(create|delete) mode \d+ (.+)/,IR=[new pe(PR,(t,[e,r,n])=>{t.files.push(e),r&&(t.insertions[e]=r.length),n&&(t.deletions[e]=n.length)}),new pe(RR,(t,[e,,r,,n])=>r!==void 0||n!==void 0?(t.summary.changes=+e||0,t.summary.insertions=+r||0,t.summary.deletions=+n||0,!0):!1),new pe($R,(t,[e,r])=>{_n(t.files,r),_n(e==="create"?t.created:t.deleted,r)})],hI=[new pe(/^from\s(.+)$/i,(t,[e])=>void(t.remote=e)),new pe(/^fatal:\s(.+)$/,(t,[e])=>void(t.message=e)),new pe(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(t,[e,r,n,i])=>{t.branch.local=n,t.hash.local=e,t.branch.remote=i,t.hash.remote=r})],FR=(t,e)=>Rr(new w0,IR,[t,e]),G0=(t,e)=>Object.assign(new w0,FR(t,e),cI(t,e))}}),OR,mI,MR,Hq=V({"src/lib/parsers/parse-merge.ts"(){"use strict";Dq(),ue(),pI(),OR=[new pe(/^Auto-merging\s+(.+)$/,(t,[e])=>{t.merges.push(e)}),new pe(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(t,[e,r])=>{t.conflicts.push(new Oh(e,r))}),new pe(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(t,[e,r,n])=>{t.conflicts.push(new Oh(e,r,{deleteRef:n}))}),new pe(/^CONFLICT\s+\((.+)\):/,(t,[e])=>{t.conflicts.push(new Oh(e,null))}),new pe(/^Automatic merge failed;\s+(.+)$/,(t,[e])=>{t.result=e})],mI=(t,e)=>Object.assign(MR(t,e),G0(t,e)),MR=t=>Rr(new aI,OR,t)}});function DR(t){return t.length?{commands:["merge",...t],format:"utf-8",parser(e,r){let n=mI(e,r);if(n.failed)throw new Du(n);return n}}:Tr("Git.merge requires at least one option")}var Uq=V({"src/lib/tasks/merge.ts"(){"use strict";Pl(),Hq(),mt()}});function Gq(t,e,r){let n=r.includes("deleted"),i=r.includes("tag")||/^refs\/tags/.test(t),s=!r.includes("new");return{deleted:n,tag:i,branch:!i,new:!s,alreadyUpdated:s,local:t,remote:e}}var LR,gI,NR,jq=V({"src/lib/parsers/parse-push.ts"(){"use strict";ue(),dI(),LR=[new pe(/^Pushing to (.+)$/,(t,[e])=>{t.repo=e}),new pe(/^updating local tracking ref '(.+)'/,(t,[e])=>{t.ref={...t.ref||{},local:e}}),new pe(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(t,[e,r,n])=>{t.pushed.push(Gq(e,r,n))}),new pe(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(t,[e,r,n])=>{t.branch={...t.branch||{},local:e,remote:r,remoteName:n}}),new pe(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(t,[e,r,n,i])=>{t.update={head:{local:e,remote:r},hash:{from:n,to:i}}})],gI=(t,e)=>{let r=NR(t,e),n=cI(t,e);return{...r,...n}},NR=(t,e)=>Rr({pushed:[]},LR,[t,e])}}),vI={};yt(vI,{pushTagsTask:()=>qq,pushTask:()=>j0});function qq(t={},e){return _n(e,"--tags"),j0(t,e)}function j0(t={},e){let r=["push",...e];return t.branch&&r.splice(1,0,t.branch),t.remote&&r.splice(1,0,t.remote),Hh(r,"-v"),_n(r,"--verbose"),_n(r,"--porcelain"),{commands:r,format:"utf-8",parser:gI}}var wI=V({"src/lib/tasks/push.ts"(){"use strict";jq(),ue()}});function Wq(){return{showBuffer(){let t=["show",...hr(arguments,1)];return t.includes("--binary")||t.splice(1,0,"--binary"),this._runTask(S$(t),tt(arguments))},show(){let t=["show",...hr(arguments,1)];return this._runTask(pr(t),tt(arguments))}}}var zq=V({"src/lib/tasks/show.ts"(){"use strict";ue(),mt()}}),BR,yI,Vq=V({"src/lib/responses/FileStatusSummary.ts"(){"use strict";BR=/^(.+)\0(.+)$/,yI=class{constructor(t,e,r){if(this.path=t,this.index=e,this.working_dir=r,e==="R"||r==="R"){let n=BR.exec(t)||[null,t,t];this.from=n[2]||"",this.path=n[1]||""}}}}});function HR(t){let[e,r]=t.split(Cl);return{from:r||e,to:e}}function Qr(t,e,r){return[`${t}${e}`,r]}function o0(t,...e){return e.map(r=>Qr(t,r,(n,i)=>n.conflicted.push(i)))}function Yq(t,e){let r=e.trim();switch(" "){case r.charAt(2):return n(r.charAt(0),r.charAt(1),r.slice(3));case r.charAt(1):return n(" ",r.charAt(0),r.slice(2));default:return}function n(i,s,a){let o=`${i}${s}`,l=bI.get(o);l&&l(t,a),o!=="##"&&o!=="!!"&&t.files.push(new yI(a,i,s))}}var UR,bI,_I,Xq=V({"src/lib/responses/StatusSummary.ts"(){"use strict";ue(),Vq(),UR=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},bI=new Map([Qr(" ","A",(t,e)=>t.created.push(e)),Qr(" ","D",(t,e)=>t.deleted.push(e)),Qr(" ","M",(t,e)=>t.modified.push(e)),Qr("A"," ",(t,e)=>{t.created.push(e),t.staged.push(e)}),Qr("A","M",(t,e)=>{t.created.push(e),t.staged.push(e),t.modified.push(e)}),Qr("D"," ",(t,e)=>{t.deleted.push(e),t.staged.push(e)}),Qr("M"," ",(t,e)=>{t.modified.push(e),t.staged.push(e)}),Qr("M","M",(t,e)=>{t.modified.push(e),t.staged.push(e)}),Qr("R"," ",(t,e)=>{t.renamed.push(HR(e))}),Qr("R","M",(t,e)=>{let r=HR(e);t.renamed.push(r),t.modified.push(r.to)}),Qr("!","!",(t,e)=>{(t.ignored=t.ignored||[]).push(e)}),Qr("?","?",(t,e)=>t.not_added.push(e)),...o0("A","A","U"),...o0("D","D","U"),...o0("U","A","D","U"),["##",(t,e)=>{let r=/ahead (\d+)/,n=/behind (\d+)/,i=/^(.+?(?=(?:\.{3}|\s|$)))/,s=/\.{3}(\S*)/,a=/\son\s(\S+?)(?=\.{3}|$)/,o=r.exec(e);t.ahead=o&&+o[1]||0,o=n.exec(e),t.behind=o&&+o[1]||0,o=i.exec(e),t.current=Qt(o==null?void 0:o[1],ct,null),o=s.exec(e),t.tracking=Qt(o==null?void 0:o[1],ct,null),o=a.exec(e),o&&(t.current=Qt(o==null?void 0:o[1],ct,t.current)),t.detached=/\(no branch\)/.test(e)}]]),_I=function(t){let e=t.split(Cl),r=new UR;for(let n=0,i=e.length;n!xI.includes(r))],parser(r){return _I(r)}}}var xI,Kq=V({"src/lib/tasks/status.ts"(){"use strict";Xq(),xI=["--null","-z"]}});function Nh(t=0,e=0,r=0,n="",i=!0){return Object.defineProperty({major:t,minor:e,patch:r,agent:n,installed:i},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function Qq(){return Nh(0,0,0,"",!1)}function Jq(){return{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:eW,onError(t,e,r,n){if(t.exitCode===-2)return r(Buffer.from(q0));n(e)}})}}}function eW(t){return t===q0?Qq():Rr(Nh(0,0,0,t),SI,t)}var q0,SI,tW=V({"src/lib/tasks/version.ts"(){"use strict";ue(),q0="installed=false",SI=[new pe(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(t,[e,r,n,i=""])=>{Object.assign(t,Nh(We(e),We(r),We(n),i))}),new pe(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(t,[e,r,n,i=""])=>{Object.assign(t,Nh(We(e),We(r),n,i))})]}});function GR(t,e,r,...n){return ct(r)?e(r,Qt(n[0],ct),hr(arguments)):Tr(`git.${t}() requires a string 'repoPath'`)}function rW(){return{clone(t,...e){return this._runTask(GR("clone",y0,Qt(t,ct),...e),tt(arguments))},mirror(t,...e){return this._runTask(GR("mirror",EI,Qt(t,ct),...e),tt(arguments))}}}var y0,EI,nW=V({"src/lib/tasks/clone.ts"(){"use strict";mt(),ue(),y0=(t,e,r)=>{let n=["clone",...r];return ct(t)&&n.push(Sl(t)),ct(e)&&n.push(Sl(e)),pr(n)},EI=(t,e,r)=>(_n(r,"--mirror"),y0(t,e,r))}}),kI={};yt(kI,{SimpleGitApi:()=>b0});var b0,iW=V({"src/lib/simple-git-api.ts"(){"use strict";oq(),lq(),uq(),hq(),wq(),$$(),bq(),D$(),xq(),Cq(),sI(),Uq(),wI(),zq(),Kq(),mt(),tW(),ue(),nW(),b0=class{constructor(t){this._executor=t}_runTask(t,e){let r=this._executor.chain(),n=r.push(t);return e&&sq(t,n,e),Object.create(this,{then:{value:n.then.bind(n)},catch:{value:n.catch.bind(n)},_executor:{value:r}})}add(t){return this._runTask(pr(["add",...wi(t)]),tt(arguments))}cwd(t){let e=tt(arguments);return typeof t=="string"?this._runTask(ER(t,this._executor),e):typeof(t==null?void 0:t.path)=="string"?this._runTask(ER(t.path,t.root&&this._executor||void 0),e):this._runTask(Tr("Git.cwd: workingDirectory must be supplied as a string"),e)}hashObject(t,e){return this._runTask(_q(t,e===!0),tt(arguments))}init(t){return this._runTask(Aq(t===!0,this._executor.cwd,hr(arguments)),tt(arguments))}merge(){return this._runTask(DR(hr(arguments)),tt(arguments))}mergeFromTo(t,e){return ct(t)&&ct(e)?this._runTask(DR([t,e,...hr(arguments)]),tt(arguments,!1)):this._runTask(Tr("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(t){return this._executor.outputHandler=t,this}push(){let t=j0({remote:Qt(arguments[0],ct),branch:Qt(arguments[1],ct)},hr(arguments));return this._runTask(t,tt(arguments))}stash(){return this._runTask(pr(["stash",...hr(arguments)]),tt(arguments))}status(){return this._runTask(Zq(hr(arguments)),tt(arguments))}},Object.assign(b0.prototype,cq(),rW(),vq(),zj(),dq(),yq(),Zj(),Mq(),Wq(),Jq())}}),AI={};yt(AI,{Scheduler:()=>TI});var jR,TI,sW=V({"src/lib/runners/scheduler.ts"(){"use strict";ue(),U$(),jR=(()=>{let t=0;return()=>{t++;let{promise:e,done:r}=(0,CI.createDeferred)();return{promise:e,done:r,id:t}}})(),TI=class{constructor(t=2){this.concurrency=t,this.logger=O0("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",t)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency){this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency);return}let t=_n(this.running,this.pending.shift());this.logger("Attempting id=%s",t.id),t.done(()=>{this.logger("Completing id=",t.id),Hh(this.running,t),this.schedule()})}next(){let{promise:t,id:e}=_n(this.pending,jR());return this.logger("Scheduling id=%s",e),this.schedule(),t}}}}),PI={};yt(PI,{applyPatchTask:()=>aW});function aW(t,e){return pr(["apply",...e,...t])}var oW=V({"src/lib/tasks/apply-patch.ts"(){"use strict";mt()}});function lW(t,e){return{branch:t,hash:e,success:!0}}function cW(t){return{branch:t,hash:null,success:!1}}var RI,uW=V({"src/lib/responses/BranchDeleteSummary.ts"(){"use strict";RI=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function $I(t,e){return e===1&&_0.test(t)}var qR,_0,WR,Vh,fW=V({"src/lib/parsers/parse-branch-delete.ts"(){"use strict";uW(),ue(),qR=/(\S+)\s+\(\S+\s([^)]+)\)/,_0=/^error[^']+'([^']+)'/m,WR=[new pe(qR,(t,[e,r])=>{let n=lW(e,r);t.all.push(n),t.branches[e]=n}),new pe(_0,(t,[e])=>{let r=cW(e);t.errors.push(r),t.all.push(r),t.branches[e]=r})],Vh=(t,e)=>Rr(new RI,WR,[t,e])}}),II,dW=V({"src/lib/responses/BranchSummary.ts"(){"use strict";II=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(t,e,r,n,i){t==="*"&&(this.detached=e,this.current=r),this.all.push(r),this.branches[r]={current:t==="*",linkedWorkTree:t==="+",name:r,commit:n,label:i}}}}});function zR(t){return t?t.charAt(0):""}function FI(t,e=!1){return Rr(new II,e?[MI]:OI,t)}var OI,MI,hW=V({"src/lib/parsers/parse-branch.ts"(){"use strict";dW(),ue(),OI=[new pe(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(t,[e,r,n,i])=>{t.push(zR(e),!0,r,n,i)}),new pe(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,(t,[e,r,n,i])=>{t.push(zR(e),!1,r,n,i)})],MI=new pe(/^(\S+)$/s,(t,[e])=>{t.push("*",!1,e,"","")})}}),DI={};yt(DI,{branchLocalTask:()=>mW,branchTask:()=>pW,containsDeleteBranchCommand:()=>LI,deleteBranchTask:()=>vW,deleteBranchesTask:()=>gW});function LI(t){let e=["-d","-D","--delete"];return t.some(r=>e.includes(r))}function pW(t){let e=LI(t),r=t.includes("--show-current"),n=["branch",...t];return n.length===1&&n.push("-a"),n.includes("-v")||n.splice(1,0,"-v"),{format:"utf-8",commands:n,parser(i,s){return e?Vh(i,s).all[0]:FI(i,r)}}}function mW(){return{format:"utf-8",commands:["branch","-v"],parser(t){return FI(t)}}}function gW(t,e=!1){return{format:"utf-8",commands:["branch","-v",e?"-D":"-d",...t],parser(r,n){return Vh(r,n)},onError({exitCode:r,stdOut:n},i,s,a){if(!$I(String(i),r))return a(i);s(n)}}}function vW(t,e=!1){let r={format:"utf-8",commands:["branch","-v",e?"-D":"-d",t],parser(n,i){return Vh(n,i).branches[t]},onError({exitCode:n,stdErr:i,stdOut:s},a,o,l){if(!$I(String(a),n))return l(a);throw new Du(r.parser(Mu(s),Mu(i)),String(a))}};return r}var wW=V({"src/lib/tasks/branch.ts"(){"use strict";Pl(),fW(),hW(),ue()}});function yW(t){let e=t.trim().replace(/^["']|["']$/g,"");return e&&(0,NI.normalize)(e)}var BI,bW=V({"src/lib/responses/CheckIgnore.ts"(){"use strict";BI=t=>t.split(/\n/g).map(yW).filter(Boolean)}}),HI={};yt(HI,{checkIgnoreTask:()=>_W});function _W(t){return{commands:["check-ignore",...t],format:"utf-8",parser:BI}}var xW=V({"src/lib/tasks/check-ignore.ts"(){"use strict";bW()}});function SW(t,e){return Rr({raw:t,remote:null,branches:[],tags:[],updated:[],deleted:[]},UI,[t,e])}var UI,EW=V({"src/lib/parsers/parse-fetch.ts"(){"use strict";ue(),UI=[new pe(/From (.+)$/,(t,[e])=>{t.remote=e}),new pe(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(t,[e,r])=>{t.branches.push({name:e,tracking:r})}),new pe(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(t,[e,r])=>{t.tags.push({name:e,tracking:r})}),new pe(/- \[deleted]\s+\S+\s*-> (.+)$/,(t,[e])=>{t.deleted.push({tracking:e})}),new pe(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(t,[e,r,n,i])=>{t.updated.push({name:n,tracking:i,to:r,from:e})})]}}),GI={};yt(GI,{fetchTask:()=>AW});function kW(t){return/^--upload-pack(=|$)/.test(t)}function AW(t,e,r){let n=["fetch",...r];return t&&e&&n.push(t,e),n.find(kW)?Tr("git.fetch: potential exploit argument blocked."):{commands:n,format:"utf-8",parser:SW}}var CW=V({"src/lib/tasks/fetch.ts"(){"use strict";EW(),mt()}});function TW(t){return Rr({moves:[]},jI,t)}var jI,PW=V({"src/lib/parsers/parse-move.ts"(){"use strict";ue(),jI=[new pe(/^Renaming (.+) to (.+)$/,(t,[e,r])=>{t.moves.push({from:e,to:r})})]}}),qI={};yt(qI,{moveTask:()=>RW});function RW(t,e){return{commands:["mv","-v",...wi(t),e],format:"utf-8",parser:TW}}var $W=V({"src/lib/tasks/move.ts"(){"use strict";PW(),ue()}}),WI={};yt(WI,{pullTask:()=>IW});function IW(t,e,r){let n=["pull",...r];return t&&e&&n.splice(1,0,t,e),{commands:n,format:"utf-8",parser(i,s){return G0(i,s)},onError(i,s,a,o){let l=Bq(Mu(i.stdOut),Mu(i.stdErr));if(l)return o(new Du(l));o(s)}}}var FW=V({"src/lib/tasks/pull.ts"(){"use strict";Pl(),pI(),ue()}});function OW(t){let e={};return zI(t,([r])=>e[r]={name:r}),Object.values(e)}function MW(t){let e={};return zI(t,([r,n,i])=>{Object.hasOwn(e,r)||(e[r]={name:r,refs:{fetch:"",push:""}}),i&&n&&(e[r].refs[i.replace(/[^a-z]/g,"")]=n)}),Object.values(e)}function zI(t,e){E0(t,r=>e(r.split(/\s+/)))}var DW=V({"src/lib/responses/GetRemoteSummary.ts"(){"use strict";ue()}}),VI={};yt(VI,{addRemoteTask:()=>LW,getRemotesTask:()=>NW,listRemotesTask:()=>BW,remoteTask:()=>HW,removeRemoteTask:()=>UW});function LW(t,e,r){return pr(["remote","add",...r,t,e])}function NW(t){let e=["remote"];return t&&e.push("-v"),{commands:e,format:"utf-8",parser:t?MW:OW}}function BW(t){let e=[...t];return e[0]!=="ls-remote"&&e.unshift("ls-remote"),pr(e)}function HW(t){let e=[...t];return e[0]!=="remote"&&e.unshift("remote"),pr(e)}function UW(t){return pr(["remote","remove",t])}var GW=V({"src/lib/tasks/remote.ts"(){"use strict";DW(),mt()}}),YI={};yt(YI,{stashListTask:()=>jW});function jW(t={},e){let r=iI(t),n=["stash","list",...r.commands,...e],i=eI(r.splitter,r.fields,D0(n));return zh(n)||{commands:n,format:"utf-8",parser:i}}var qW=V({"src/lib/tasks/stash-list.ts"(){"use strict";Hu(),rI(),U0(),sI()}}),XI={};yt(XI,{addSubModuleTask:()=>WW,initSubModuleTask:()=>zW,subModuleTask:()=>Yh,updateSubModuleTask:()=>VW});function WW(t,e){return Yh(["add",t,e])}function zW(t){return Yh(["init",...t])}function Yh(t){let e=[...t];return e[0]!=="submodule"&&e.unshift("submodule"),pr(e)}function VW(t){return Yh(["update",...t])}var YW=V({"src/lib/tasks/sub-module.ts"(){"use strict";mt()}});function XW(t,e){let r=Number.isNaN(t),n=Number.isNaN(e);return r!==n?r?1:-1:r?ZI(t,e):0}function ZI(t,e){return t===e?0:t>e?1:-1}function ZW(t){return t.trim()}function $h(t){return typeof t=="string"&&parseInt(t.replace(/^\D+/g,""),10)||0}var VR,KI,KW=V({"src/lib/responses/TagList.ts"(){"use strict";VR=class{constructor(t,e){this.all=t,this.latest=e}},KI=function(t,e=!1){let r=t.split(` +`).map(ZW).filter(Boolean);e||r.sort(function(i,s){let a=i.split("."),o=s.split(".");if(a.length===1||o.length===1)return XW($h(a[0]),$h(o[0]));for(let l=0,c=Math.max(a.length,o.length);li.indexOf(".")>=0);return new VR(r,n)}}}),QI={};yt(QI,{addAnnotatedTagTask:()=>ez,addTagTask:()=>JW,tagListTask:()=>QW});function QW(t=[]){let e=t.some(r=>/^--sort=/.test(r));return{format:"utf-8",commands:["tag","-l",...t],parser(r){return KI(r,e)}}}function JW(t){return{format:"utf-8",commands:["tag",t],parser(){return{name:t}}}}function ez(t,e){return{format:"utf-8",commands:["tag","-a","-m",e,t],parser(){return{name:t}}}}var tz=V({"src/lib/tasks/tag.ts"(){"use strict";KW()}}),rz=yj({"src/git.js"(t,e){"use strict";var{GitExecutor:r}=(iq(),pt(q$)),{SimpleGitApi:n}=(iW(),pt(kI)),{Scheduler:i}=(sW(),pt(AI)),{adhocExecTask:s,configurationErrorTask:a}=(mt(),pt(p0)),{asArray:o,filterArray:l,filterPrimitives:c,filterString:u,filterStringOrStringArray:f,filterType:d,getTrailingOptions:h,trailingFunctionArgument:m,trailingOptionsArgument:g}=(ue(),pt(h$)),{applyPatchTask:v}=(oW(),pt(PI)),{branchTask:w,branchLocalTask:b,deleteBranchesTask:k,deleteBranchTask:x}=(wW(),pt(DI)),{checkIgnoreTask:E}=(xW(),pt(HI)),{checkIsRepoTask:A}=(v$(),pt(p$)),{cleanWithOptionsTask:y,isCleanOptionsArray:S}=(T$(),pt(A$)),{diffSummaryTask:_}=(U0(),pt(nI)),{fetchTask:C}=(CW(),pt(GI)),{moveTask:P}=($W(),pt(qI)),{pullTask:N}=(FW(),pt(WI)),{pushTagsTask:B}=(wI(),pt(vI)),{addRemoteTask:H,getRemotesTask:ce,listRemotesTask:Pe,remoteTask:ve,removeRemoteTask:ie}=(GW(),pt(VI)),{getResetMode:xe,resetTask:we}=(H$(),pt(L$)),{stashListTask:W}=(qW(),pt(YI)),{addSubModuleTask:X,initSubModuleTask:q,subModuleTask:De,updateSubModuleTask:ar}=(YW(),pt(XI)),{addAnnotatedTagTask:Ft,addTagTask:Ie,tagListTask:kt}=(tz(),pt(QI)),{straightThroughBufferTask:At,straightThroughStringTask:je}=(mt(),pt(p0));function Z(M,O){this._plugins=O,this._executor=new r(M.baseDir,new i(M.maxConcurrentProcesses),O),this._trimmed=M.trimmed}(Z.prototype=Object.create(n.prototype)).constructor=Z,Z.prototype.customBinary=function(M){return this._plugins.reconfigure("binary",M),this},Z.prototype.env=function(M,O){return arguments.length===1&&typeof M=="object"?this._executor.env=M:(this._executor.env=this._executor.env||{})[M]=O,this},Z.prototype.stashList=function(M){return this._runTask(W(g(arguments)||{},l(M)&&M||[]),m(arguments))},Z.prototype.mv=function(M,O){return this._runTask(P(M,O),m(arguments))},Z.prototype.checkoutLatestTag=function(M){var O=this;return this.pull(function(){O.tags(function(oe,Ce){O.checkout(Ce.latest,M)})})},Z.prototype.pull=function(M,O,oe,Ce){return this._runTask(N(d(M,u),d(O,u),h(arguments)),m(arguments))},Z.prototype.fetch=function(M,O){return this._runTask(C(d(M,u),d(O,u),h(arguments)),m(arguments))},Z.prototype.silent=function(M){return this._runTask(s(()=>console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this method will be removed.")))},Z.prototype.tags=function(M,O){return this._runTask(kt(h(arguments)),m(arguments))},Z.prototype.rebase=function(){return this._runTask(je(["rebase",...h(arguments)]),m(arguments))},Z.prototype.reset=function(M){return this._runTask(we(xe(M),h(arguments)),m(arguments))},Z.prototype.revert=function(M){let O=m(arguments);return typeof M!="string"?this._runTask(a("Commit must be a string"),O):this._runTask(je(["revert",...h(arguments,0,!0),M]),O)},Z.prototype.addTag=function(M){let O=typeof M=="string"?Ie(M):a("Git.addTag requires a tag name");return this._runTask(O,m(arguments))},Z.prototype.addAnnotatedTag=function(M,O){return this._runTask(Ft(M,O),m(arguments))},Z.prototype.deleteLocalBranch=function(M,O,oe){return this._runTask(x(M,typeof O=="boolean"?O:!1),m(arguments))},Z.prototype.deleteLocalBranches=function(M,O,oe){return this._runTask(k(M,typeof O=="boolean"?O:!1),m(arguments))},Z.prototype.branch=function(M,O){return this._runTask(w(h(arguments)),m(arguments))},Z.prototype.branchLocal=function(M){return this._runTask(b(),m(arguments))},Z.prototype.raw=function(M){let O=!Array.isArray(M),oe=[].slice.call(O?arguments:M,0);for(let Ot=0;Otconsole.warn("simple-git deprecation notice: clearQueue() is deprecated and will be removed, switch to using the abortPlugin instead.")))},Z.prototype.checkIgnore=function(M,O){return this._runTask(E(o(d(M,f,[]))),m(arguments))},Z.prototype.checkIsRepo=function(M,O){return this._runTask(A(d(M,u)),m(arguments))},e.exports=Z}});zs();var nz=class extends Pr{constructor(t,e){super(void 0,e),this.config=t}};zs();zs();var Tl=class extends Pr{constructor(t,e,r){super(t,r),this.task=t,this.plugin=e,Object.setPrototypeOf(this,new.target.prototype)}};Pl();JR();v$();T$();$$();F$();D$();H$();function iz(t){return t?[{type:"spawn.before",action(n,i){t.aborted&&i.kill(new Tl(void 0,"abort","Abort already signaled"))}},{type:"spawn.after",action(n,i){function s(){i.kill(new Tl(void 0,"abort","Abort signal received"))}t.addEventListener("abort",s),i.spawned.on("close",()=>t.removeEventListener("abort",s))}}]:void 0}function sz(t={}){return{type:"spawn.args",action(e,{env:r}){for(let n of bR(e,r))if(t[n.category]!==!0)throw new Tl(void 0,"unsafe",n.message);return e}}}ue();function az(t){let e=Ou(t,"-c");return{type:"spawn.args",action(r){return[...e,...r]}}}ue();var YR=(0,Al.deferred)().promise;function oz({onClose:t=!0,onExit:e=50}={}){function r(){let i=-1,s={close:(0,Al.deferred)(),closeTimeout:(0,Al.deferred)(),exit:(0,Al.deferred)(),exitTimeout:(0,Al.deferred)()},a=Promise.race([t===!1?YR:s.closeTimeout.promise,e===!1?YR:s.exitTimeout.promise]);return n(t,s.close,s.closeTimeout),n(e,s.exit,s.exitTimeout),{close(o){i=o,s.close.done()},exit(o){i=o,s.exit.done()},get exitCode(){return i},result:a}}function n(i,s,a){i!==!1&&(i===!0?s.promise:s.promise.then(()=>l0(i))).then(a.done)}return{type:"spawn.after",async action(i,{spawned:s,close:a}){var u,f;let o=r(),l=!0,c=()=>void(l=!1);(u=s.stdout)==null||u.on("data",c),(f=s.stderr)==null||f.on("data",c),s.on("error",c),s.on("close",d=>o.close(d)),s.on("exit",d=>o.exit(d));try{await o.result,l&&await l0(50),a(o.exitCode)}catch(d){a(o.exitCode,d)}}}}ue();var lz="Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings",XR="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option";function cz(t){return!t||!/^([a-z]:)?([a-z0-9/.\\_~-]+)$/i.test(t)}function ZR(t,e){if(t.length<1||t.length>2)throw new Tl(void 0,"binary",lz);if(t.some(cz))if(e)console.warn(XR);else throw new Tl(void 0,"binary",XR);let[n,i]=t;return{binary:n,prefix:i}}function uz(t,e=["git"],r=!1){let n=ZR(wi(e),r);t.on("binary",i=>{n=ZR(wi(i),r)}),t.append("spawn.binary",()=>n.binary),t.append("spawn.args",i=>n.prefix?[n.prefix,...i]:i)}zs();function fz(t){return!!(t.exitCode&&t.stdErr.length)}function dz(t){return Buffer.concat([...t.stdOut,...t.stdErr])}function hz(t=!1,e=fz,r=dz){return(n,i)=>!t&&n||!e(i)?n:r(i)}function KR(t){return{type:"task.error",action(e,r){let n=t(e.error,{stdErr:r.stdErr,stdOut:r.stdOut,exitCode:r.exitCode});return Buffer.isBuffer(n)?{error:new Pr(void 0,n.toString("utf-8"))}:{error:n}}}}ue();var pz=class{constructor(){this.plugins=new Set,this.events=new JI.EventEmitter}on(t,e){this.events.on(t,e)}reconfigure(t,e){this.events.emit(t,e)}append(t,e){let r=_n(this.plugins,{type:t,action:e});return()=>this.plugins.delete(r)}add(t){let e=[];return wi(t).forEach(r=>r&&this.plugins.add(_n(e,r))),()=>{e.forEach(r=>this.plugins.delete(r))}}exec(t,e,r){let n=e,i=Object.freeze(Object.create(r));for(let s of this.plugins)s.type===t&&(n=s.action(n,i));return n}};ue();function mz(t){let e="--progress",r=["checkout","clone","fetch","pull","push"];return[{type:"spawn.args",action(s,a){return r.includes(a.method)?s$(s,e):s}},{type:"spawn.after",action(s,a){var o;a.commands.includes(e)&&((o=a.spawned.stderr)==null||o.on("data",l=>{let c=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(l.toString("utf8"));c&&t({method:a.method,stage:gz(c[1]),progress:We(c[2]),processed:We(c[3]),total:We(c[4])})}))}}]}function gz(t){return String(t.toLowerCase().split(" ",1))||"unknown"}ue();function vz(t){let e=o$(t,["uid","gid"]);return{type:"spawn.options",action(r){return{...e,...r}}}}function wz({block:t,stdErr:e=!0,stdOut:r=!0}){if(t>0)return{type:"spawn.after",action(n,i){var c,u;let s;function a(){s&&clearTimeout(s),s=setTimeout(l,t)}function o(){var f,d;(f=i.spawned.stdout)==null||f.off("data",a),(d=i.spawned.stderr)==null||d.off("data",a),i.spawned.off("exit",o),i.spawned.off("close",o),s&&clearTimeout(s)}function l(){o(),i.kill(new Tl(void 0,"timeout","block timeout reached"))}r&&((c=i.spawned.stdout)==null||c.on("data",a)),e&&((u=i.spawned.stderr)==null||u.on("data",a)),i.spawned.on("exit",o),i.spawned.on("close",o),a()}}}function yz(){return{type:"spawn.args",action(t){let e=[],r;function n(i){(r=r||[]).push(...i)}for(let i=0;iwn(a)&&El(a)||a));break}e.push(s)}return r?[...e,"--",...r.map(String)]:e}}}ue();var bz=rz();function _z(t,e){var i;let r=new pz,n=f$(t&&(typeof t=="string"?{baseDir:t}:t)||{},e);if(!k0(n.baseDir))throw new nz(n,"Cannot use simple-git on a directory that does not exist");return Array.isArray(n.config)&&r.add(az(n.config)),r.add(sz(n.unsafe)),r.add(oz(n.completion)),n.abort&&r.add(iz(n.abort)),n.progress&&r.add(mz(n.progress)),n.timeout&&r.add(wz(n.timeout)),n.spawnOptions&&r.add(vz(n.spawnOptions)),r.add(yz()),r.add(KR(hz(!0))),n.errors&&r.add(KR(n.errors)),uz(r,n.binary,(i=n.unsafe)==null?void 0:i.allowUnsafeCustomBinary),new bz(n,r)}Pl();var eF=_z;var Se=class extends wl{constructor(r){super(r);this.useDefaultWindowsGitPath=!1}async setGitInstance(r=!1){var n;if(await this.isGitInstalled()){let i=this.app.vault.adapter,s=i.getBasePath(),a=s;this.plugin.settings.basePath&&(await i.exists((0,Ji.normalizePath)(this.plugin.settings.basePath))?a=Ue.join(s,this.plugin.settings.basePath):r||new Ji.Notice("ObsidianGit: Base path does not exist")),this.absoluteRepoPath=a,this.git=eF({baseDir:a,binary:this.plugin.localStorage.getGitPath()||(this.useDefaultWindowsGitPath?Wd:void 0),config:["core.quotepath=off"],unsafe:{allowUnsafeCustomBinary:!0,allowUnsafeEditor:!0,allowUnsafeAskPass:!0,allowUnsafeConfigEnvCount:!0,allowUnsafeConfigPaths:!0,allowUnsafeCredentialHelper:!0,allowUnsafeGitProxy:!0,allowUnsafeGpgProgram:!0,allowUnsafeHooksPath:!0,allowUnsafeMergeDriver:!0,allowUnsafeSshCommand:!0,allowUnsafePager:!0}});let o=this.plugin.localStorage.getPATHPaths(),l=this.plugin.localStorage.getEnvVars(),c=this.plugin.settings.gitDir,u={...process.env};if(o.length>0){let w=o.join(":")+":"+u.PATH;u.PATH=w}c&&(u.GIT_DIR=c,u.GIT_WORK_TREE=a);for(let w of l){let[b,k]=w.split("=");u[b]=k}let f="simple-git",d=",",m=((n=localStorage.debug)!=null?n:"").split(d);if(!m.includes(f)&&!m.includes(`-${f}`)&&(m.push(f),nF.default.enable(m.join(d))),await this.git.env(u).checkIsRepo()){let w=await this.git.revparse("--show-cdup"),b=(0,Uu.resolve)(a+Uu.sep+w);this.absoluteRepoPath=b,await this.git.cwd(b)}let g=Ue.join(s,this.app.vault.configDir,"plugins","obsidian-git"),v=Ue.join(g,Ta);u.SSH_ASKPASS==null&&(u.SSH_ASKPASS=v),u.SSH_ASKPASS_REQUIRE="force",u.OBSIDIAN_GIT_CREDENTIALS_INPUT=Ue.join(g,zd),u.SSH_ASKPASS==v&&this.askpass().catch(w=>this.plugin.displayError(w)),u.OBSIDIAN_GIT="1",this.git=this.git.env(u)}}getRelativeVaultPath(r){let i=this.app.vault.adapter.getBasePath(),s=Ue.join(this.absoluteRepoPath,r),a=Ue.relative(i,s);return Ji.Platform.isWin&&(a=a.replace(/\\/g,"/")),a}getRelativeRepoPath(r,n=!0){if(n){let s=this.plugin.app.vault.adapter.getBasePath(),a=this.absoluteRepoPath,o=Ue.join(s,r),l=Ue.relative(a,o);return Ji.Platform.isWin&&(l=l.replace(/\\/g,"/")),l}return r}get absPluginConfigPath(){let n=this.app.vault.adapter.getBasePath();return Ue.join(n,this.app.vault.configDir,"plugins","obsidian-git")}get relPluginConfigPath(){return Ue.join(this.app.vault.configDir,"plugins","obsidian-git")}async askpass(){let r=this.app.vault.adapter,n=this.app.vault.configDir+"/plugins/obsidian-git/";await this.addAskPassScriptToExclude(),await Jr.writeFile(Ue.join(this.absPluginConfigPath,Ta),QA),await Jr.chmod(Ue.join(this.absPluginConfigPath,Ta),493),this.watchAbortController=new AbortController;let{signal:i}=this.watchAbortController;try{let s=Jr.watch(this.absPluginConfigPath,{signal:i});for await(let a of s){if(a.filename!=zd)continue;let o=n+zd;if(await new Promise(d=>setTimeout(d,200)),!await r.exists(o))continue;let l=await r.read(o),c;l.length>60&&(c=new Ji.Notice(l,999999));let u=!0;l.contains("Username for")&&(u=!1);let f=await new Ze(this.plugin,{allowEmpty:!0,obscure:u,placeholder:l.length>60?"Enter a response to the message.":l}).openAndGetResult();c==null||c.hide(),await r.exists(o)&&await r.write(`${o}.response`,f!=null?f:"")}}catch(s){this.plugin.displayError(s),await Jr.rm(Ue.join(this.absPluginConfigPath,Ta),{force:!0}),await Jr.rm(Ue.join(this.absPluginConfigPath,`${Ta}.response`),{force:!0}),await new Promise(a=>setTimeout(a,5e3)),this.plugin.log("Retry watch for ask pass"),await this.askpass()}}async addAskPassScriptToExclude(){try{if(!await this.git.checkIsRepo())return;let r=await this.git.revparse(["--path-format=absolute","--git-path","info/exclude"]),n=Ue.join(this.app.vault.configDir,"plugins","obsidian-git",Ta),i=this.getRelativeRepoPath(n,!0);(await Jr.readFile(r,"utf-8")).split(` +`).some(l=>l.contains(i))||await Jr.appendFile(r,i+` +`)}catch(r){console.error("Error while adding askpass script to exclude file:",r)}}unload(){var r;(r=this.watchAbortController)==null||r.abort()}async status(r){let n=r==null?void 0:r.path;this.plugin.setPluginState({gitAction:1});let i=await this.git.status(n!=null?["--",n]:[]);this.plugin.setPluginState({gitAction:0});let s=i.files.map(a=>{let o=this.formatPath(a);return{path:o.path,from:o.from,index:a.index==="?"?"U":a.index,workingDir:a.working_dir==="?"?"U":a.working_dir,vaultPath:this.getRelativeVaultPath(o.path)}});return{all:s,changed:s.filter(a=>a.workingDir!==" "),staged:s.filter(a=>a.index!==" "&&a.index!="U"),conflicted:i.conflicted.map(a=>this.formatPath({path:a}).path)}}async submoduleAwareHeadRevisonInContainingDirectory(r){let n=this.getRelativeRepoPath(r),s=["-C",Ue.dirname(n),"rev-parse","HEAD"],a=this.git.raw(s);return a.catch(o=>console.warn("obsidian-git: rev-parse error:",o)),(await a).trim()}async getSubmodulePaths(){return new Promise(r=>{this.git.outputHandler((n,i,s,a)=>{if(!(a.contains("submodule")&&a.contains("foreach")))return;let o="",l=this.app.vault.adapter.getBasePath()+(this.plugin.settings.basePath?"/"+this.plugin.settings.basePath:"");i.on("data",c=>{o+=c.toString("utf8")}),i.on("end",()=>{let u=o.split(` +`).map(f=>{let d=f.match(/'([^']*)'/);if(d!=null)return l+"/"+d[1]+Uu.sep}).filter(f=>!!f);u.reverse(),r(u)})}),this.git.subModule(["foreach","--recursive",""]).then(()=>{this.git.outputHandler(()=>{})},n=>this.plugin.displayError(n))})}formatPath(r){function n(i){if(i!=null)return i.startsWith('"')&&i.endsWith('"')?i.substring(1,i.length-1):i}return r.from!=null?{from:n(r.from),path:n(r.path)}:{path:n(r.path)}}async blame(r,n,i){if(r=this.getRelativeRepoPath(r),!await this.isTracked(r))return"untracked";let s=await this.getSubmoduleOfFile(r),a=s?["-C",s.submodule]:[],o=s?s.relativeFilepath:r;a.push("blame","--porcelain"),i&&a.push("-w");let l=`-C${qd}`;switch(n){case"inactive":break;case"same-commit":a.push("-C",l);break;case"all-commits":a.push("-C","-C",l);break;default:js(n)}a.push("--",o);let c=await this.git.raw(a);return xz(c)}async isTracked(r){let n=await this.getSubmoduleOfFile(r),i=n?["-C",n.submodule]:[],s=n?n.relativeFilepath:r;return i.push("ls-files","--",s),this.git.raw(i).then(a=>a.trim()!=="")}async commitAll({message:r}){if(this.plugin.settings.updateSubmodules){this.plugin.setPluginState({gitAction:4});let i=await this.getSubmodulePaths();for(let s of i)await this.git.cwd({path:s,root:!1}).add("-A"),await this.git.cwd({path:s,root:!1}).commit(await this.formatCommitMessage(r))}this.plugin.setPluginState({gitAction:3}),await this.git.add("-A"),this.plugin.setPluginState({gitAction:4});let n=await this.git.commit(await this.formatCommitMessage(r));return this.app.workspace.trigger("obsidian-git:head-change"),n.summary.changes}async commit({message:r,amend:n}){this.plugin.setPluginState({gitAction:4});let i=(await this.git.commit(await this.formatCommitMessage(r),n?["--amend"]:[])).summary.changes;return this.app.workspace.trigger("obsidian-git:head-change"),this.plugin.setPluginState({gitAction:0}),i}async stage(r,n){this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,n),await this.git.add(["--",r]),this.plugin.setPluginState({gitAction:0})}async stageAll({dir:r}){this.plugin.setPluginState({gitAction:3}),await this.git.add(r!=null?r:"-A"),this.plugin.setPluginState({gitAction:0})}async unstageAll({dir:r}){this.plugin.setPluginState({gitAction:3}),await this.git.reset(r!=null?["--",r]:[]),this.plugin.setPluginState({gitAction:0})}async unstage(r,n){this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,n),await this.git.reset(["--",r]),this.plugin.setPluginState({gitAction:0})}async discard(r){this.plugin.setPluginState({gitAction:3}),await this.isTracked(r)&&await this.git.checkout(["--",r]),this.plugin.setPluginState({gitAction:0})}async applyPatch(r){let n=Ue.join(this.relPluginConfigPath,"patch");await this.app.vault.adapter.write(n,r),await this.git.applyPatch(n,{"--cached":null,"--unidiff-zero":null,"--whitespace":"nowarn"}),await this.app.vault.adapter.remove(n)}async getUntrackedPaths(r){let n=r==null?void 0:r.path;this.plugin.setPluginState({gitAction:1});let i=[];n!=null&&i.push("--",n);let s=await this.git.clean(Oa.RECURSIVE+Oa.DRY_RUN,i);return this.plugin.setPluginState({gitAction:0}),s.paths}async hashObject(r){r=this.getRelativeRepoPath(r);let n=await this.getSubmoduleOfFile(r),i=n?["-C",n.submodule]:[],s=n?n.relativeFilepath:r;return i.push("hash-object","--",s),this.git.raw(i)}async discardAll({dir:r}){return this.discard(r!=null?r:".")}async pull(){this.plugin.setPluginState({gitAction:2});try{this.plugin.settings.updateSubmodules&&await this.git.subModule(["update","--remote","--merge","--recursive"]);let r=await this.branchInfo(),n=await this.git.revparse([r.current]);if(!r.tracking&&this.plugin.settings.updateSubmodules){this.plugin.log("No tracking branch found. Ignoring pull of main repo and updating submodules only.");return}await this.git.fetch();let i=await this.git.revparse([r.tracking]);if(n!==i){if(this.plugin.settings.syncMethod==="merge"||this.plugin.settings.syncMethod==="rebase")try{let o=[r.tracking];switch(this.plugin.settings.mergeStrategy!=="none"&&o.push(`--strategy-option=${this.plugin.settings.mergeStrategy}`),this.plugin.settings.syncMethod){case"merge":await this.git.merge(o);break;case"rebase":await this.git.rebase(o)}}catch(o){this.plugin.displayError(`Pull failed (${this.plugin.settings.syncMethod}): ${"message"in o?o.message:o}`);return}else if(this.plugin.settings.syncMethod==="reset")try{await this.git.raw(["update-ref",`refs/heads/${r.current}`,i]),await this.unstageAll({})}catch(o){this.plugin.displayError(`Sync failed (${this.plugin.settings.syncMethod}): ${"message"in o?o.message:o}`)}this.app.workspace.trigger("obsidian-git:head-change");let s=await this.git.revparse([r.current]);return(await this.git.diff([`${n}..${s}`,"--name-only"])).split(/\r\n|\r|\n/).filter(o=>o.length>0).map(o=>({path:o,workingDir:"P",vaultPath:this.getRelativeVaultPath(o)}))}else return[]}catch(r){this.convertErrors(r)}}async push(){this.plugin.setPluginState({gitAction:5});try{if(this.plugin.settings.updateSubmodules){let a=await this.git.subModule(["foreach","--recursive",`tracking=$(git for-each-ref --format='%(upstream:short)' "$(git symbolic-ref -q HEAD)"); echo $tracking; if [ ! -z "$(git diff --shortstat $tracking)" ]; then git push; fi`]);console.log(a)}let r=await this.git.status(),n=r.tracking,i=r.current;if(!n&&this.plugin.settings.updateSubmodules){this.plugin.log("No tracking branch found. Ignoring push of main repo and updating submodules only.");return}let s=null;return n&&(s=(await this.git.diffSummary([i,n,"--"])).changed),await this.git.push(),s}catch(r){this.convertErrors(r)}}async getUnpushedCommits(){let r=await this.git.status(),n=r.tracking,i=r.current;if(n==null||i==null)return 0;let[s,a]=Qi(n);return(await this.getRemoteBranches(s)).includes(n)?(await this.git.diffSummary([i,n,"--"])).changed:(this.plugin.log(`Tracking branch ${n} does not exist on remote ${s}.`),0)}async canPush(){if(this.plugin.settings.updateSubmodules===!0)return!0;let r=await this.git.status(),n=r.tracking,i=r.current;return n?(await this.git.diffSummary([i,n,"--"])).changed!==0:!1}async checkRequirements(){return await this.isGitInstalled()?await this.git.checkIsRepo()?"valid":"missing-repo":"missing-git"}async branchInfo(){let r=await this.git.status(),n=await this.git.branch(["--no-color"]);return{current:r.current||void 0,tracking:r.tracking||void 0,branches:n.all}}async getRemoteUrl(r){try{return await this.git.remote(["get-url",r])||void 0}catch(n){if(String(n).contains(r))return;throw n}}async log(r,n=!0,i,s){let a;r&&(a=this.getRelativeRepoPath(r,n));let o={file:a,maxCount:i,"--diff-merges":"first-parent","--name-status":null};return s&&(o[s]=null),(await this.git.log(o)).all.map(c=>{var u,f,d,h;return{...c,author:{name:c.author_name,email:c.author_email},refs:c.refs.split(", ").filter(m=>m.length>0),diff:{...c.diff,files:(f=(u=c.diff)==null?void 0:u.files.map(m=>({...m,status:m.status,path:m.file,hash:c.hash,vaultPath:this.getRelativeVaultPath(m.file),fromPath:m.from,fromVaultPath:m.from!=null?this.getRelativeVaultPath(m.from):void 0,binary:m.binary})))!=null?f:[]},fileName:(h=(d=c.diff)==null?void 0:d.files.first())==null?void 0:h.file}})}async show(r,n,i=!0){let s=this.getRelativeRepoPath(n,i);return this.git.show([r+":"+s])}async getLocalBranchUpstream(r){try{let i=(await this.git.raw(["rev-parse","--abbrev-ref",`${r}@{upstream}`])).trim();return i.length>0?i:void 0}catch(n){return}}getAvailableLocalBranchName(r,n,i){let s=r;if(!i.includes(s))return s;let a=`${r}-${n}`,o=a,l=0;for(;i.includes(o);)l+=1,o=`${a}-${l}`;return o}async checkout(r,n){if(n){let i=`${n}/${r}`,s=await this.branchInfo();if(s.branches.includes(r)&&await this.getLocalBranchUpstream(r)===i)await this.git.checkout(r);else{let l=this.getAvailableLocalBranchName(r,n,s.branches);await this.git.checkout(["-b",l,i])}}else await this.git.checkout(r);if(this.plugin.settings.submoduleRecurseCheckout){let i=await this.getSubmodulePaths();for(let s of i){let a=await this.git.cwd({path:s,root:!1}).branch();Object.keys(a.branches).includes(r)&&await this.git.cwd({path:s,root:!1}).checkout(r)}}}async createBranch(r){await this.git.checkout(["-b",r])}async deleteBranch(r,n){await this.git.branch([n?"-D":"-d",r])}async branchIsMerged(r){return!(await this.git.branch(["--no-merged"])).all.contains(r)}async init(){await this.git.init(!1)}async clone(r,n,i){await this.git.clone(r,Ue.join(this.app.vault.adapter.getBasePath(),n),i?["--depth",`${i}`]:[]),await this.setGitInstance()}async setConfig(r,n){n==null?await this.git.raw(["config","--local","--unset",r]):await this.git.addConfig(r,n)}async getConfig(r,n="local"){var s;return(s=(await this.git.getConfig(r.toLowerCase(),n=="all"?void 0:n)).value)!=null?s:void 0}async fetch(r){await this.git.fetch(r!=null?[r]:[])}async setRemote(r,n){(await this.getRemotes()).includes(r)?await this.git.remote(["set-url",r,n]):await this.git.remote(["add",r,n])}async getRemoteBranches(r){let n=await this.git.branch(["-r","--list",`${r}*`]),i=[];for(let s in n.branches)i.push(n.branches[s].name);return i}async getRemotes(){let r=await this.git.remote([]);return r?r.trim().split(` +`):[]}async removeRemote(r){await this.git.removeRemote(r)}async updateUpstreamBranch(r){try{await this.git.branch(["--set-upstream-to",r])}catch(n){try{await this.git.branch(["--set-upstream",r])}catch(i){let[s,a]=Qi(r),o=await this.branchInfo();await this.git.push(["--set-upstream",s,`${o.current}:${a}`])}}}updateGitPath(r){return this.setGitInstance()}updateBasePath(r){return this.setGitInstance(!0)}async getDiffString(r,n=!1,i){return n?await this.git.diff(["--cached","--",r]):i?await this.git.show([`${i}`,"--",r]):await this.git.diff(["--",r])}async diff(r,n,i){return await this.git.diff([`${n}..${i}`,"--",r])}async rawCommand(r){let n=r.split(" ");return await this.git.raw(n[0],...n.slice(1))}async getSubmoduleOfFile(r){if(!await this.app.vault.adapter.exists(Ue.dirname(r)))return;let n=await this.git.raw(["-C",Ue.dirname(r),"rev-parse","--show-toplevel"],l=>l&&console.warn("get-submodule-of-file",l==null?void 0:l.message));if(n=n.trim(),(await this.git.raw(["-C",Ue.dirname(r),"rev-parse","--show-superproject-working-tree"],l=>l&&console.warn("get-submodule-of-file",l==null?void 0:l.message))).trim()==="")return;let a=this.app.vault.adapter.getFullPath(Ue.normalize(r)),o=Ue.relative(n,a);return{submodule:n,relativeFilepath:o}}async getLastCommitTime(){try{let r=await this.git.log({n:1});if(r!=null&&r.latest!=null)return new Date(r.latest.date)}catch(r){if(r instanceof Pr){if(r.message.contains("does not have any commits yet"))return}else throw r}}async isGitInstalled(){let r=this.plugin.localStorage.getGitPath(),n=await $u(r||"git",["--version"],{});if(n.error)if(Ji.Platform.isWin&&!r){this.plugin.log(`Git not found in PATH. Checking standard installation path(${Wd}) of Git for Windows.`);let i=await $u(Wd,["--version"]);if(i.error)return console.error(i.error),!1;this.useDefaultWindowsGitPath=!0}else return console.error(n.error),!1;else this.useDefaultWindowsGitPath=!1;return!0}convertErrors(r){if(r instanceof Pr){let n=String(r.message);if(n.contains("Could not resolve host")||n.contains("Unable to resolve host")||n.contains("Unable to open connection")||n.match(/ssh: connect to host .*? port .*?: Operation timed out/)!=null||n.match(/ssh: connect to host .*? port .*?: Network is unreachable/)!=null||n.match(/ssh: connect to host .*? port .*?: Undefined error: 0/)!=null)throw new ul(n)}throw r}async isFileTrackedByLFS(r){try{return(await this.git.raw(["check-attr","filter",r])).includes("filter: lfs")}catch(n){let i=n instanceof Error?n.message:String(n);return this.plugin.displayError(`Error checking LFS status: ${i}`),!1}}},iF={hash:"000000",isZeroCommit:!0,summary:""};function xz(t){let r=t.replace(`\r +`,` +`).split(` +`),n={commits:new Map,hashPerLine:[void 0],originalFileLineNrPerLine:[void 0],finalFileLineNrPerLine:[void 0],groupSizePerStartingLine:new Map},i=1;for(let s=0;s=4&&r.groupSizePerStartingLine.set(e,parseInt(t[3])),parseInt(t[2])!==e)throw Error(`git-blame output is out of order: ${e} vs ${t[2]}`);return n}function Ez(t,e,r){let n=t[0],i=t.slice(1).join(" "),s=e.hashPerLine[r],a=e.commits.get(s)||{hash:s,author:{},committer:{},previous:{}};switch(n){case"summary":a.summary=i;break;case"author":a.author.name=i;break;case"author-mail":a.author.email=rF(i);break;case"author-time":a.author.epochSeconds=parseInt(i);break;case"author-tz":a.author.tz=i;break;case"committer":a.committer.name=i;break;case"committer-mail":a.committer.email=rF(i);break;case"committer-time":a.committer.epochSeconds=parseInt(i);break;case"committer-tz":a.committer.tz=i;break;case"previous":a.previous.commitHash=i;break;case"filename":a.previous.filename=i;break}e.commits.set(s,a)}function kz(t){if(t.summary===void 0)throw Error(`Summary not provided for commit: ${t.hash}`);W0(t.author)&&(t.author=void 0),W0(t.committer)&&(t.committer=void 0),W0(t.previous)&&(t.previous=void 0),t.isZeroCommit=!!t.hash.match(/^0*$/)}function W0(t){return!t||Object.keys(t).length===0}function tF(t){return t.length>0&&t[0].trim()===t[0]}function rF(t){let e=t.startsWith("<")?t.substring(1):t;return e.endsWith(">")?e.substring(0,e.length-1):e}p();var PF=require("@codemirror/state");p();var z0=class{constructor(){this.eventsPerFilepath=new Map;this.startRemoveStalesSubscribersInterval()}ifFilepathDefinedTransformSubscribers(e,r){if(e)return this.ensureInitialized(e),r(this.eventsPerFilepath.get(e))}forEachSubscriber(e){this.eventsPerFilepath.forEach(r=>r.forEach(e))}ensureInitialized(e){this.eventsPerFilepath.get(e)||this.eventsPerFilepath.set(e,new Set)}startRemoveStalesSubscribersInterval(){this.removeStalesSubscribersTimer=window.setInterval(()=>this==null?void 0:this.forEachSubscriber(e=>e==null?void 0:e.removeIfStale()),6e4)}clear(){window.clearInterval(this.removeStalesSubscribersTimer),this.eventsPerFilepath.clear()}},es=new z0;p();var Zh=require("@codemirror/state"),sF=Ct(V0());function aF(t,e,r){if(!(t===void 0||e===void 0||r===void 0))return`head${t}-obj${e}-path${r}`}var oF=Zh.StateEffect.define();function lF(t,e,r){return r.update({effects:oF.of({key:t,la:e,lineOffsetsFromUnsavedChanges:new Map})})}var $l=Zh.StateField.define({create:t=>{},update:(t,e)=>{for(let r of e.effects)if(r.is(oF))return r.value;return Az(e,t)},compare:(t,e)=>(t==null?void 0:t.key)===(e==null?void 0:e.key)});function Kh(t){var s;let e=sF.sha256.create();if(!t)return e;let{la:r,key:n,lineOffsetsFromUnsavedChanges:i}=t;e.update(r==="untracked"?"t":"f"),e.update(n);for(let[a,o]of(s=i.entries())!=null?s:[])e.update([a,o]);return e}var xn={get:void 0,save:void 0};function cF(t,e){xn.get=t,xn.save=e}function Qh(t){var e,r;return(r=(e=Xh(t.coloringMaxAge))==null?void 0:e.asDays())!=null?r:Xh(et.lineAuthor.coloringMaxAge).asDays()}function Az(t,e){if(e)return t.changes.empty||t.changes.iterChanges((r,n,i,s)=>{var m;let a=t.startState.doc,{newDoc:o}=t,l=a.lineAt(r).number,c=a.lineAt(n).number,u=o.lineAt(i).number,f=o.lineAt(s).number,d=c-l+1,h=f-u+1;for(let g=u;g<=f;g++){let v=(m=e.lineOffsetsFromUnsavedChanges.get(g))!=null?m:0,w=f===g,b=h-d;w&&(v+=b),e.lineOffsetsFromUnsavedChanges.set(g,v)}}),e}p();function uF(){Il=void 0,Y0=[],Jh=0,tp.clear(),rp.clear(),Fl.clear()}var Il,ep=()=>Il;function fF(t,e){var i;let r=e.length;if(r<((i=Il==null?void 0:Il.length)!=null?i:0))return;Il={gutter:t,length:r,text:e};let n=xn.get();r!==n.gutterSpacingFallbackLength&&(n.gutterSpacingFallbackLength=r,xn.save(n))}var Y0=[],Cz=15,Jh=0;function dF(t){Y0[Jh]=t,Jh=(Jh+1)%Cz}function hF(){return XP(Y0)}var tp=new Map,rp=new Map,Fl=new Set;p();var AF=require("@codemirror/state"),CF=require("@codemirror/view");p();var Q0=require("@codemirror/view"),xF=Ct(V0()),Ol=require("obsidian");p();p();var np={x:-10,y:-10};function pF(){np.x===-10&&window.addEventListener("mousedown",t=>{np.x=t.clientX,np.y=t.clientY})}function mF(){for(let t of Fl)if(Tz(t,np))return t}function Tz(t,e){let{x:r,y:n,width:i,height:s}=t.getBoundingClientRect();return r<=e.x&&e.x<=r+i&&n<=e.y&&e.y<=n+s}var gF="data-commit";function vF(t,e,r){if(e.hasFocus())return;let n=mF();if(!n)return;let i=Rz(n);i&&(!i.isZeroCommit&&!i.isWaitingGutter&&Pz(i,t),X0("showCommitHash",t),X0("authorDisplay",t),X0("dateTimeFormatOptions",t))}function Pz(t,e){e.addItem(r=>r.setTitle("Copy commit hash").setIcon("copy").setSection("obs-git-line-author-copy").onClick(n=>navigator.clipboard.writeText(t.hash)))}function X0(t,e){var l,c;let r,n,i=Ln.plugin.settings.lineAuthor,s=i[t],a=typeof s=="boolean"?s:s!=="hide",o=et.lineAuthor[t];if(t==="showCommitHash")r="Show commit hash",n=s;else if(t==="authorDisplay"){let u=(l=i.lastShownAuthorDisplay)!=null?l:o;r="Show author "+(a?s:u),n=a?"hide":u}else if(t==="dateTimeFormatOptions"){let u=(c=i.lastShownDateTimeFormatOptions)!=null?c:o;r="Show "+(a?s:u),r+=r.contains("date")?"":" date",n=a?"hide":u}else js(t);e.addItem(u=>u.setTitle(r).setSection("obs-git-line-author-configure").setChecked(a).onClick(f=>{var d,h;return(h=(d=Ln.plugin)==null?void 0:d.settingsTab)==null?void 0:h.lineAuthorSettingHandler(t,n)}))}function wF(t,e,r){r.setAttr(gF,JSON.stringify({hash:t.hash,isZeroCommit:t.isZeroCommit,isWaitingGutter:e}))}function Rz(t){let e=t.getAttr(gF);return e?JSON.parse(e):void 0}p();function sp(t,e){return t==="oldest"?ip(0,!1,e).color:ip(void 0,!0,e).color}function ip(t,e,r){let n=Qh(r),i=Date.now()/1e3,s=t!=null?t:0,o=(e?0:i-s)/60/60/24,l=Math.pow(Math.clamp(o/n,0,1),1/2.3),c=$z(),u=r.colorNew,f=r.colorOld,d=c?.4:1,h=Z0(u.r,f.r,l)*d,m=Z0(u.g,f.g,l)*d,g=Z0(u.b,f.b,l)*d;return{color:`rgba(${h},${m},${g},${c?.75:.25})`,daysSinceCommit:o}}function Z0(t,e,r){return t+(e-t)*r}function $z(){var t;return((t=window.app)==null?void 0:t.getTheme())==="obsidian"}function yF(t){document.body.style.setProperty("--obs-git-gutter-text",t.textColorCss)}p();function bF(t,e,r){let n;for(let i=e;i<=r;i++){let s=t.hashPerLine[i],a=t.commits.get(s);(!n||a.isZeroCommit||Iz(a,n))&&(n=a)}return n}function Iz(t,e){var i,s,a,o;let r=(s=(i=t.author)==null?void 0:i.epochSeconds)!=null?s:0,n=(o=(a=e.author)==null?void 0:a.epochSeconds)!=null?o:0;return r>n}var _F="-",Fz="+",Oz=3,Mz="*",Dz=/\S/g,Lz="%",Ml=class t extends Q0.GutterMarker{constructor(r){super();this.text=r}eq(r){return r instanceof t&&this.text===r.text}toDOM(){return document.createTextNode(this.text)}destroy(r){}},K0=class extends Q0.GutterMarker{constructor(r,n,i,s,a,o){super();this.lineAuthoring=r;this.startLine=n;this.endLine=i;this.key=s;this.settings=a;this.options=o;this.point=!1;this.elementClass="obs-git-blame-gutter"}eq(r){return this.key===(r==null?void 0:r.key)&&this.startLine===(r==null?void 0:r.startLine)&&this.endLine===(r==null?void 0:r.endLine)&&(this==null?void 0:this.options)===(r==null?void 0:r.options)}toDOM(){var r;return this.precomputedDomProvider=(r=this.precomputedDomProvider)!=null?r:this.computeDom(),this.precomputedDomProvider()}destroy(r){r&&(document.body.contains(r)||Fl.delete(r))}computeDom(){let r=bF(this.lineAuthoring,this.startLine,this.endLine),n=r.isZeroCommit?"":this.renderNonZeroCommit(r);return!r.isZeroCommit&&this.options!=="waiting-for-result"?fF(this,n):n=this.adaptTextForFakeCommit(r,n,this.options),this.createHtmlNode(r,n,this.options==="waiting-for-result")}createHtmlNode(r,n,i){var c,u,f,d,h,m;let s=window.createDiv();s.setText(n);let{color:a,daysSinceCommit:o}=ip((c=r==null?void 0:r.author)==null?void 0:c.epochSeconds,r==null?void 0:r.isZeroCommit,this.settings);s.style.backgroundColor=a,s.setAttribute("data-author",(f=(u=r==null?void 0:r.author)==null?void 0:u.name)!=null?f:""),s.setAttribute("data-author-email",(h=(d=r==null?void 0:r.author)==null?void 0:d.email)!=null?h:""),(0,Ol.setTooltip)(s,(m=r==null?void 0:r.summary)!=null?m:""),wF(r,i,s);function l(){let g=s.cloneNode(!0);return Fl.add(g),i||dF(o),g}return l}renderNonZeroCommit(r){let n=this.settings.showCommitHash?this.renderHash(r):"",i=this.settings.authorDisplay==="hide"?"":`${this.renderAuthorName(r,this.settings.authorDisplay)}`,s=this.settings.dateTimeFormatOptions==="hide"?"":`${this.renderAuthoringDate(r,this.settings.dateTimeFormatOptions,this.settings.dateTimeFormatCustomString,this.settings.dateTimeTimezone)}`;return[n,i,s].filter(o=>o.length>=1).join(" ")}renderHash(r){return r.hash.substring(0,6)}renderAuthorName(r,n){var o,l,c,u;let i=(l=(o=r==null?void 0:r.author)==null?void 0:o.name)!=null?l:"",s=i.split(" ").filter(f=>f.length>=1),a;switch(n){case"initials":a=s.map(f=>f[0].toUpperCase()).join("");break;case"first name":a=(c=s.first())!=null?c:_F;break;case"last name":a=(u=s.last())!=null?u:_F;break;case"full":a=i;break;default:return js(n)}return ZP(r==null?void 0:r.author,r==null?void 0:r.committer)||(a=a+Mz),a}renderAuthoringDate(r,n,i,s){var c;let a="?";if(((c=r==null?void 0:r.author)==null?void 0:c.epochSeconds)===void 0)return a;let o;switch(n){case"date":o=jd;break;case"datetime":o=Rv;break;case"custom":o=i;break;case"natural language":o=u=>{let f=u.diff((0,Ol.moment)());return Ol.moment.duration(f).humanize(!0)};break;default:return js(n)}let l=Ol.moment.unix(r.author.epochSeconds);switch(s){case"viewer-local":break;case"author-local":l=l.utcOffset(r.author.tz),typeof o=="string"&&(o+=" Z");break;case"utc0000":l=l.utc(),typeof o=="string"&&(o+="[Z]");break;default:return js(s)}return typeof o=="string"?l.format(o):o(l)}adaptTextForFakeCommit(r,n,i){var l,c,u,f;let s=(c=(l=ep())==null?void 0:l.text)!=null?c:n,a=i!=="waiting-for-result"&&r.isZeroCommit?Fz:Lz;n=s.replace(Dz,a);let o=(f=(u=xn.get())==null?void 0:u.gutterSpacingFallbackLength)!=null?f:n.length;if(n=KP(n,o,a),i!=="waiting-for-result"&&r.isZeroCommit){let d=Math.min(o,Oz);n=QP(n,o-d)}return n}};function La(t,e,r,n,i,s){let a=xF.sha256.create();a.update(JSON.stringify(i)),a.update(`s${e}-e${r}-k${n}-o${s}`);let o=a.hex(),l=tp.get(o);if(l)return l;let c=new K0(t,e,r,n,i,s);return tp.set(o,c),c}p();var SF=require("obsidian");function J0(){var e,r;let t=(r=(e=xn.get())==null?void 0:e.gutterSpacingFallbackLength)!=null?r:et.lineAuthor.gutterSpacingFallbackLength;return new Ml(Array(t).fill("-").join(""))}function ey(t){let{lineAuthoring:e,ageForInitialRender:r}=Nz(t);return La(e,1,1,"initialGutter"+r,t,"waiting-for-result")}function Nz(t){var s;let e=(s=hF())!=null?s:Qh(t)*.25,r=(0,SF.moment)().add(-e,"days"),n={name:"",epochSeconds:YP(r),tz:"+0000"},i={hash:"waiting-for-result",author:n,committer:n,isZeroCommit:!1};return{lineAuthoring:{hashPerLine:[void 0,"waiting-for-result"],commits:new Map([["waiting-for-result",i]])},ageForInitialRender:e}}p();function EF(t,e){return La({hashPerLine:[void 0,"000000"],commits:new Map([["000000",iF]])},1,1,t,e)}var ty=new Ml(""),TF=(0,CF.gutter)({class:"line-author-gutter-container",markers(t){let e=t.state.field($l,!1);return Bz(t,e)},lineMarkerChange(t){let e=Kh(t.state.field($l));return Kh(t.startState.field($l))!==e},renderEmptyElements:!0,initialSpacer:t=>(kF(t),J0()),updateSpacer:(t,e)=>{var r,n;return kF(e.view),(n=(r=ep())==null?void 0:r.gutter)!=null?n:J0()}});function Bz(t,e){let r=Kh(e),n=t.state.doc,i=new Map;for(let u=1;u<=n.lines;u++){let f=n.line(u).from,d=t.lineBlockAt(f).to;i.set(u,[f,d]),r.update([f,d,0])}let s=xn.get();r.update("s"+Object.values(xn).join(","));let a=r.hex(),o=rp.get(a);if(o)return o;let{result:l,allowCache:c}=Hz(n,i,s,e);return c&&rp.set(a,l),l}function Hz(t,e,r,n){let i=!0,s=t.lines,a=[];function o(f,d,h){return a.push(h.range(f,d))}let l=Uz(s,n),c=t.length===0,u=t.iterLines(s,s+1).next().value==="";for(let f=1;f<=s;f++){let[d,h]=e.get(f),m=t.lineAt(h).number;if(c){o(d,h,ty);continue}if(f===s&&u){o(d,h,ty);continue}if(n===void 0){o(d,h,ey(r)),i=!1;continue}let{key:g,la:v}=n;if(v==="untracked"){o(d,h,EF(v,r));continue}let w=v.hashPerLine.length-1,b=l[f],k=l[m];if(k&&k>w&&o(d,h,ty),b!==void 0&&Zw(1,b,w)&&k!==void 0&&Zw(1,k,w)){o(d,h,La(v,b,k,g,r));continue}if(w<1){o(d,h,ey(r)),i=!1;continue}let x=Math.clamp(b!=null?b:f,1,w),E=Math.clamp(k!=null?k:m,1,w);o(d,h,La(v,x,E,g+"computing",r,"waiting-for-result"))}return{result:AF.RangeSet.of(a,!0),allowCache:i}}function Uz(t,e){if(!(e!=null&&e.lineOffsetsFromUnsavedChanges))return Array.from(new Array(t+1),i=>i);let r=[void 0],n=0;for(let i=1;i<=t;i++){let s=e.lineOffsetsFromUnsavedChanges.get(i);n+=s!=null?s:0,r[i]=s===void 0?i-n:void 0}return r}function kF(t){t.dom.querySelectorAll(".cm-gutters").forEach(r=>{r!=null&&r.style&&(r.style.marginLeft||(r.style.marginLeft="unset"))})}var ap=class{constructor(e){this.plugin=e;this.lineAuthorings=new Map}async trackChanged(e){return this.trackChangedHelper(e).catch(r=>(console.warn("Git: Error in trackChanged."+r),Promise.reject(r)))}async trackChangedHelper(e){if(e){if(e.path===void 0){console.warn("Git: Attempted to track change of undefined filepath. Unforeseen situation.");return}return this.computeLineAuthorInfo(e.path)}}destroy(){this.lineAuthorings.clear(),uF()}async computeLineAuthorInfo(e){let r=this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager,n=await r.submoduleAwareHeadRevisonInContainingDirectory(e),i=await r.hashObject(e),s=aF(n,i,e);if(s!==void 0){if(!this.lineAuthorings.has(s)){let a=await r.blame(e,this.plugin.settings.lineAuthor.followMovement,this.plugin.settings.lineAuthor.ignoreWhitespace);this.lineAuthorings.set(s,a)}this.notifyComputationResultToSubscribers(e,s)}}notifyComputationResultToSubscribers(e,r){es.ifFilepathDefinedTransformSubscribers(e,n=>n.forEach(i=>i.notifyLineAuthoring(r,this.lineAuthorings.get(r))))}},RF=PF.Prec.high([$l,TF]);var Gz="https://momentjs.com/docs/#/parsing/string-format/",jz="https://publish.obsidian.md/git-doc/Line+Authoring",op=class extends U.PluginSettingTab{constructor(r,n){super(r,n);this.plugin=n;this.lineAuthorColorSettings=new Map;this.icon="git-pull-request"}get settings(){return this.plugin.settings}display(){let{containerEl:r}=this,n=this.plugin,i;n.settings.differentIntervalCommitAndPush?i="commit":i="commit-and-sync";let s=n.gitReady;r.empty(),s||(r.createEl("p",{text:"Git is not ready. When all settings are correct you can configure commit-sync, etc."}),r.createEl("br"));let a;if(s){new U.Setting(r).setName("Automatic").setHeading(),new U.Setting(r).setName("Split timers for automatic commit and sync").setDesc("Enable to use one interval for commit and another for sync.").addToggle(f=>f.setValue(n.settings.differentIntervalCommitAndPush).onChange(async d=>{n.settings.differentIntervalCommitAndPush=d,await n.saveSettings(),n.automaticsManager.reload("commit","push"),this.refreshDisplayWithDelay()})),new U.Setting(r).setName(`Auto ${i} interval (minutes)`).setDesc(`${n.settings.differentIntervalCommitAndPush?"Commit":"Commit and sync"} changes every X minutes. Set to 0 (default) to disable. (See below setting for further configuration!)`).addText(f=>{f.inputEl.type="number",this.setNonDefaultValue({text:f,settingsProperty:"autoSaveInterval"}),f.setPlaceholder(String(et.autoSaveInterval)),f.onChange(async d=>{d!==""?n.settings.autoSaveInterval=Number(d):n.settings.autoSaveInterval=et.autoSaveInterval,await n.saveSettings(),n.automaticsManager.reload("commit")})}),a=new U.Setting(r).setName(`Auto ${i} after stopping file edits`).setDesc(`Requires the ${i} interval not to be 0. + If turned on, do auto ${i} every ${JP(n.settings.autoSaveInterval)} after stopping file edits. + This also prevents auto ${i} while editing a file. If turned off, it's independent from the last file edit.`).addToggle(f=>f.setValue(n.settings.autoBackupAfterFileChange).onChange(async d=>{n.settings.autoBackupAfterFileChange=d,this.refreshDisplayWithDelay(),await n.saveSettings(),n.automaticsManager.reload("commit")})),this.mayDisableSetting(a,n.settings.setLastSaveToLastCommit),a=new U.Setting(r).setName(`Auto ${i} after latest commit`).setDesc(`If turned on, sets last auto ${i} timestamp to the latest commit timestamp. This reduces the frequency of auto ${i} when doing manual commits.`).addToggle(f=>f.setValue(n.settings.setLastSaveToLastCommit).onChange(async d=>{n.settings.setLastSaveToLastCommit=d,await n.saveSettings(),n.automaticsManager.reload("commit"),this.refreshDisplayWithDelay()})),this.mayDisableSetting(a,n.settings.autoBackupAfterFileChange),a=new U.Setting(r).setName("Auto push interval (minutes)").setDesc("Push commits every X minutes. Set to 0 (default) to disable.").addText(f=>{f.inputEl.type="number",this.setNonDefaultValue({text:f,settingsProperty:"autoPushInterval"}),f.setPlaceholder(String(et.autoPushInterval)),f.onChange(async d=>{d!==""?n.settings.autoPushInterval=Number(d):n.settings.autoPushInterval=et.autoPushInterval,await n.saveSettings(),n.automaticsManager.reload("push")})}),this.mayDisableSetting(a,!n.settings.differentIntervalCommitAndPush),new U.Setting(r).setName("Auto pull interval (minutes)").setDesc("Pull changes every X minutes. Set to 0 (default) to disable.").addText(f=>{f.inputEl.type="number",this.setNonDefaultValue({text:f,settingsProperty:"autoPullInterval"}),f.setPlaceholder(String(et.autoPullInterval)),f.onChange(async d=>{d!==""?n.settings.autoPullInterval=Number(d):n.settings.autoPullInterval=et.autoPullInterval,await n.saveSettings(),n.automaticsManager.reload("pull")})}),new U.Setting(r).setName(`Auto ${i} only staged files`).setDesc(`If turned on, only staged files are committed on ${i}. If turned off, all changed files are committed.`).addToggle(f=>f.setValue(n.settings.autoCommitOnlyStaged).onChange(async d=>{n.settings.autoCommitOnlyStaged=d,await n.saveSettings()})),new U.Setting(r).setName(`Specify custom commit message on auto ${i}`).setDesc("You will get a pop up to specify your message.").addToggle(f=>f.setValue(n.settings.customMessageOnAutoBackup).onChange(async d=>{n.settings.customMessageOnAutoBackup=d,await n.saveSettings(),this.refreshDisplayWithDelay()})),a=new U.Setting(r).setName(`Commit message on auto ${i}`).setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below), {{numFiles}} (number of changed files in the commit) and {{files}} (changed files in commit message).").addTextArea(f=>{f.setPlaceholder(et.autoCommitMessage).onChange(async d=>{d===""?n.settings.autoCommitMessage=et.autoCommitMessage:n.settings.autoCommitMessage=d,await n.saveSettings()}),this.setNonDefaultValue({text:f,settingsProperty:"autoCommitMessage"})}),this.mayDisableSetting(a,n.settings.customMessageOnAutoBackup),new U.Setting(r).setName("Commit message").setHeading();let c=new U.Setting(r).setName("Commit message on manual commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below), {{numFiles}} (number of changed files in the commit) and {{files}} (changed files in commit message). Leave empty to require manual input on each commit.");c.addTextArea(f=>{c.addButton(d=>{d.setIcon("reset").setTooltip(`Set to default: "${et.commitMessage}"`).onClick(()=>{f.setValue(et.commitMessage),f.onChanged()})}),f.setValue(n.settings.commitMessage),f.onChange(async d=>{n.settings.commitMessage=d,await n.saveSettings()})}),U.Platform.isDesktopApp&&new U.Setting(r).setName("Commit message script").setDesc("A script that is run using 'sh -c' to generate the commit message. May be used to generate commit messages using AI tools. Available placeholders: {{hostname}}, {{date}}.").addText(f=>{f.onChange(async d=>{d===""?n.settings.commitMessageScript=et.commitMessageScript:n.settings.commitMessageScript=d,await n.saveSettings()}),this.setNonDefaultValue({text:f,settingsProperty:"commitMessageScript"})});let u=new U.Setting(r).setName("{{date}} placeholder format").addMomentFormat(f=>f.setDefaultFormat(n.settings.commitDateFormat).setValue(n.settings.commitDateFormat).onChange(async d=>{n.settings.commitDateFormat=d,await n.saveSettings()}));u.descEl.innerHTML=` + Specify custom date format. E.g. "${$v}. See Moment.js for more formats.`,new U.Setting(r).setName("{{hostname}} placeholder replacement").setDesc("Specify custom hostname for every device. Defaults to the OS hostname if not set on desktop.").addText(f=>{var d;return f.setValue((d=n.localStorage.getHostname())!=null?d:"").onChange(h=>{n.localStorage.setHostname(h)})}),new U.Setting(r).setName("Preview commit message").addButton(f=>f.setButtonText("Preview").onClick(async()=>{let d=await n.gitManager.formatCommitMessage(n.settings.commitMessage);new U.Notice(`${d}`)})),new U.Setting(r).setName("List filenames affected by commit in the commit body").addToggle(f=>f.setValue(n.settings.listChangedFilesInMessageBody).onChange(async d=>{n.settings.listChangedFilesInMessageBody=d,await n.saveSettings()})),new U.Setting(r).setName("Pull").setHeading(),n.gitManager instanceof Se&&new U.Setting(r).setName("Merge strategy").setDesc("Decide how to integrate commits from your remote branch into your local branch.").addDropdown(f=>{let d={merge:"Merge",rebase:"Rebase",reset:"Other sync service (Only updates the HEAD without touching the working directory)"};f.addOptions(d),f.setValue(n.settings.syncMethod),f.onChange(async h=>{n.settings.syncMethod=h,await n.saveSettings()})}),new U.Setting(r).setName("Merge strategy on conflicts").setDesc("Decide how to solve conflicts when pulling remote changes. This can be used to favor your local changes or the remote changes automatically.").addDropdown(f=>{let d={none:"None (git default)",ours:"Our changes",theirs:"Their changes"};f.addOptions(d),f.setValue(n.settings.mergeStrategy),f.onChange(async h=>{n.settings.mergeStrategy=h,await n.saveSettings()})}),new U.Setting(r).setName("Pull on startup").setDesc("Automatically pull commits when Obsidian starts.").addToggle(f=>f.setValue(n.settings.autoPullOnBoot).onChange(async d=>{n.settings.autoPullOnBoot=d,await n.saveSettings()})),new U.Setting(r).setName("Commit-and-sync").setDesc("Commit-and-sync with default settings means staging everything -> committing -> pulling -> pushing. Ideally this is a single action that you do regularly to keep your local and remote repository in sync.").setHeading(),a=new U.Setting(r).setName("Push on commit-and-sync").setDesc(`Most of the time you want to push after committing. Turning this off turns a commit-and-sync action into commit ${n.settings.pullBeforePush?"and pull ":""}only. It will still be called commit-and-sync.`).addToggle(f=>f.setValue(!n.settings.disablePush).onChange(async d=>{n.settings.disablePush=!d,this.refreshDisplayWithDelay(),await n.saveSettings()})),new U.Setting(r).setName("Pull on commit-and-sync").setDesc(`On commit-and-sync, pull commits as well. Turning this off turns a commit-and-sync action into commit ${n.settings.disablePush?"":"and push "}only.`).addToggle(f=>f.setValue(n.settings.pullBeforePush).onChange(async d=>{n.settings.pullBeforePush=d,this.refreshDisplayWithDelay(),await n.saveSettings()})),n.gitManager instanceof Se&&(new U.Setting(r).setName("Hunk management").setDesc("Hunks are sections of grouped line changes right in your editor.").setHeading(),new U.Setting(r).setName("Signs").setDesc("This allows you to see your changes right in your editor via colored markers and stage/reset/preview individual hunks.").addToggle(f=>f.setValue(n.settings.hunks.showSigns).onChange(async d=>{n.settings.hunks.showSigns=d,await n.saveSettings(),n.editorIntegration.refreshSignsSettings()})),new U.Setting(r).setName("Hunk commands").setDesc("Adds commands to stage/reset individual Git diff hunks and navigate between them via 'Go to next/prev hunk' commands.").addToggle(f=>f.setValue(n.settings.hunks.hunkCommands).onChange(async d=>{n.settings.hunks.hunkCommands=d,await n.saveSettings(),n.editorIntegration.refreshSignsSettings()})),new U.Setting(r).setName("Status bar with summary of line changes").addDropdown(f=>f.addOptions({disabled:"Disabled",colored:"Colored",monochrome:"Monochrome"}).setValue(n.settings.hunks.statusBar).onChange(async d=>{n.settings.hunks.statusBar=d,await n.saveSettings(),n.editorIntegration.refreshSignsSettings()})),new U.Setting(r).setName("Line author information").setHeading(),this.addLineAuthorInfoSettings())}new U.Setting(r).setName("History view").setHeading(),new U.Setting(r).setName("Show Author").setDesc("Show the author of the commit in the history view.").addDropdown(c=>{let u={hide:"Hide",full:"Full",initials:"Initials"};c.addOptions(u),c.setValue(n.settings.authorInHistoryView),c.onChange(async f=>{n.settings.authorInHistoryView=f,await n.saveSettings(),await n.refresh()})}),new U.Setting(r).setName("Show Date").setDesc("Show the date of the commit in the history view. The {{date}} placeholder format is used to display the date.").addToggle(c=>c.setValue(n.settings.dateInHistoryView).onChange(async u=>{n.settings.dateInHistoryView=u,await n.saveSettings(),await n.refresh()})),new U.Setting(r).setName("Source control view").setHeading(),new U.Setting(r).setName("Automatically refresh source control view on file changes").setDesc("On slower machines this may cause lags. If so, just disable this option.").addToggle(c=>c.setValue(n.settings.refreshSourceControl).onChange(async u=>{n.settings.refreshSourceControl=u,await n.saveSettings()})),new U.Setting(r).setName("Source control view refresh interval").setDesc("Milliseconds to wait after file change before refreshing the Source Control View.").addText(c=>{c.inputEl.type="number",this.setNonDefaultValue({text:c,settingsProperty:"refreshSourceControlTimer"}),c.setPlaceholder(String(et.refreshSourceControlTimer)),c.onChange(async f=>{f!==""&&Number.isInteger(Number(f))?n.settings.refreshSourceControlTimer=Math.max(Number(f),500):n.settings.refreshSourceControlTimer=et.refreshSourceControlTimer,await n.saveSettings(),n.setRefreshDebouncer()})}),new U.Setting(r).setName("Miscellaneous").setHeading(),n.gitManager instanceof Se&&new U.Setting(r).setName("Diff view style").setDesc('Set the style for the diff view. Note that the actual diff in "Split" mode is not generated by Git, but the editor itself instead so it may differ from the diff generated by Git. One advantage of this is that you can edit the text in that view.').addDropdown(c=>{let u={split:"Split",git_unified:"Unified"};c.addOptions(u),c.setValue(n.settings.diffStyle),c.onChange(async f=>{n.settings.diffStyle=f,await n.saveSettings()})}),new U.Setting(r).setName("Disable informative notifications").setDesc("Disable informative notifications for git operations to minimize distraction (refer to status bar for updates).").addToggle(c=>c.setValue(n.settings.disablePopups).onChange(async u=>{n.settings.disablePopups=u,this.refreshDisplayWithDelay(),await n.saveSettings()})),new U.Setting(r).setName("Disable error notifications").setDesc("Disable error notifications of any kind to minimize distraction (refer to status bar for updates).").addToggle(c=>c.setValue(!n.settings.showErrorNotices).onChange(async u=>{n.settings.showErrorNotices=!u,await n.saveSettings()})),n.settings.disablePopups||new U.Setting(r).setName("Hide notifications for no changes").setDesc("Don't show notifications when there are no changes to commit or push.").addToggle(c=>c.setValue(n.settings.disablePopupsForNoChanges).onChange(async u=>{n.settings.disablePopupsForNoChanges=u,await n.saveSettings()})),new U.Setting(r).setName("Show status bar").setDesc("Obsidian must be restarted for the changes to take affect.").addToggle(c=>c.setValue(n.settings.showStatusBar).onChange(async u=>{n.settings.showStatusBar=u,await n.saveSettings()})),new U.Setting(r).setName("File menu integration").setDesc('Add "Stage", "Unstage" and "Add to .gitignore" actions to the file menu.').addToggle(c=>c.setValue(n.settings.showFileMenu).onChange(async u=>{n.settings.showFileMenu=u,await n.saveSettings()})),new U.Setting(r).setName("Show branch status bar").setDesc("Obsidian must be restarted for the changes to take affect.").addToggle(c=>c.setValue(n.settings.showBranchStatusBar).onChange(async u=>{n.settings.showBranchStatusBar=u,await n.saveSettings()})),new U.Setting(r).setName("Show the count of modified files in the status bar").addToggle(c=>c.setValue(n.settings.changedFilesInStatusBar).onChange(async u=>{n.settings.changedFilesInStatusBar=u,await n.saveSettings()})),n.gitManager instanceof Hn?new U.Setting(r).setName("Authentication/commit author").setHeading():new U.Setting(r).setName("Commit author").setHeading(),n.gitManager instanceof Hn&&new U.Setting(r).setName("Username on your git server. E.g. your username on GitHub").addText(c=>{var u;c.setValue((u=n.localStorage.getUsername())!=null?u:""),c.onChange(f=>{n.localStorage.setUsername(f)})}),n.gitManager instanceof Hn&&new U.Setting(r).setName("Password/Personal access token").setDesc("Type in your password. You won't be able to see it again.").addText(c=>{c.inputEl.autocapitalize="off",c.inputEl.autocomplete="off",c.inputEl.spellcheck=!1,c.onChange(u=>{n.localStorage.setPassword(u)})}),n.gitReady&&new U.Setting(r).setName("Author name for commit").addText(async c=>{var u;c.setValue((u=await n.gitManager.getConfig("user.name"))!=null?u:""),c.onChange(async f=>{await n.gitManager.setConfig("user.name",f==""?void 0:f)})}),n.gitReady&&new U.Setting(r).setName("Author email for commit").addText(async c=>{var u;c.setValue((u=await n.gitManager.getConfig("user.email"))!=null?u:""),c.onChange(async f=>{await n.gitManager.setConfig("user.email",f==""?void 0:f)})}),new U.Setting(r).setName("Advanced").setDesc("These settings usually don't need to be changed, but may be required for special setups.").setHeading(),n.gitManager instanceof Se&&(new U.Setting(r).setName("Update submodules").setDesc('"Commit-and-sync" and "pull" takes care of submodules. Missing features: Conflicted files, count of pulled/pushed/committed files. Tracking branch needs to be set for each submodule.').addToggle(c=>c.setValue(n.settings.updateSubmodules).onChange(async u=>{n.settings.updateSubmodules=u,await n.saveSettings()})),n.settings.updateSubmodules&&new U.Setting(r).setName("Submodule recurse checkout/switch").setDesc("Whenever a checkout happens on the root repository, recurse the checkout on the submodules (if the branches exist).").addToggle(c=>c.setValue(n.settings.submoduleRecurseCheckout).onChange(async u=>{n.settings.submoduleRecurseCheckout=u,await n.saveSettings()}))),n.gitManager instanceof Se&&new U.Setting(r).setName("Custom Git binary path").setDesc("Specify the path to the Git binary/executable. Git should already be in your PATH. Should only be necessary for a custom Git installation.").addText(c=>{var u;c.setValue((u=n.localStorage.getGitPath())!=null?u:""),c.setPlaceholder("git"),c.onChange(f=>{n.localStorage.setGitPath(f),n.gitManager.updateGitPath(f||"git").catch(d=>n.displayError(d))})}),n.gitManager instanceof Se&&new U.Setting(r).setName("Additional environment variables").setDesc("Use each line for a new environment variable in the format KEY=VALUE .").addTextArea(c=>{c.setPlaceholder("GIT_DIR=/path/to/git/dir"),c.setValue(n.localStorage.getEnvVars().join(` +`)),c.onChange(u=>{n.localStorage.setEnvVars(u.split(` +`))})}),n.gitManager instanceof Se&&new U.Setting(r).setName("Additional PATH environment variable paths").setDesc("Use each line for one path").addTextArea(c=>{c.setValue(n.localStorage.getPATHPaths().join(` +`)),c.onChange(u=>{n.localStorage.setPATHPaths(u.split(` +`))})}),n.gitManager instanceof Se&&new U.Setting(r).setName("Reload with new environment variables").setDesc("Removing previously added environment variables will not take effect until Obsidian is restarted.").addButton(c=>{c.setButtonText("Reload"),c.setCta(),c.onClick(async()=>{await n.gitManager.setGitInstance()})}),new U.Setting(r).setName("Custom base path (Git repository path)").setDesc(` + Sets the relative path to the vault from which the Git binary should be executed. + Mostly used to set the path to the Git repository, which is only required if the Git repository is below the vault root directory. Use "\\" instead of "/" on Windows. + `).addText(c=>{c.setValue(n.settings.basePath),c.setPlaceholder("directory/directory-with-git-repo"),c.onChange(async u=>{n.settings.basePath=u,await n.saveSettings(),n.gitManager.updateBasePath(u||"").catch(f=>n.displayError(f))})}),new U.Setting(r).setName("Custom Git directory path (Instead of '.git')").setDesc('Corresponds to the GIT_DIR environment variable. Requires restart of Obsidian to take effect. Use "\\" instead of "/" on Windows.').addText(c=>{c.setValue(n.settings.gitDir),c.setPlaceholder(".git"),c.onChange(async u=>{n.settings.gitDir=u,await n.saveSettings()})}),new U.Setting(r).setName("Disable on this device").setDesc("Disables the plugin on this device. This setting is not synced.").addToggle(c=>c.setValue(n.localStorage.getPluginDisabled()).onChange(u=>{n.localStorage.setPluginDisabled(u),u?n.unloadPlugin():n.init({fromReload:!0}).catch(f=>n.displayError(f)),new U.Notice("Obsidian must be restarted for the changes to take affect.")})),new U.Setting(r).setName("Support").setHeading(),new U.Setting(r).setName("Donate").setDesc("If you like this Plugin, consider donating to support continued development.").addButton(c=>{c.buttonEl.outerHTML="Buy Me a Coffee at ko-fi.com"});let o=r.createDiv();o.setAttr("align","center"),o.setAttr("style","margin: var(--size-4-2)");let l=o.createEl("button");if(l.setText("Copy Debug Information"),l.onclick=async()=>{await window.navigator.clipboard.writeText(JSON.stringify({settings:this.plugin.settings,pluginVersion:this.plugin.manifest.version},null,4)),new U.Notice("Debug information copied to clipboard. May contain sensitive information!")},U.Platform.isDesktopApp){let c=r.createDiv();c.setAttr("align","center"),c.setText(`Debugging and logging: +You can always see the logs of this and every other plugin by opening the console with`);let u=r.createDiv();u.setAttr("align","center"),u.addClass("obsidian-git-shortcuts"),U.Platform.isMacOS===!0?u.createEl("kbd",{text:"CMD (\u2318) + OPTION (\u2325) + I"}):u.createEl("kbd",{text:"CTRL + SHIFT + I"})}}mayDisableSetting(r,n){n&&(r.setDisabled(n),r.setClass("obsidian-git-disabled"))}configureLineAuthorShowStatus(r){this.settings.lineAuthor.show=r,this.plugin.saveSettings(),r?this.plugin.editorIntegration.activateLineAuthoring():this.plugin.editorIntegration.deactiveLineAuthoring()}async lineAuthorSettingHandler(r,n){this.settings.lineAuthor[r]=n,await this.plugin.saveSettings(),this.plugin.editorIntegration.lineAuthoringFeature.refreshLineAuthorViews()}beforeSaveSettings(){let r=this.settings.lineAuthor;r.authorDisplay!=="hide"&&(r.lastShownAuthorDisplay=r.authorDisplay),r.dateTimeFormatOptions!=="hide"&&(r.lastShownDateTimeFormatOptions=r.dateTimeFormatOptions)}addLineAuthorInfoSettings(){let r=new U.Setting(this.containerEl).setName("Show commit authoring information next to each line");if(this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform()||r.setDesc("Only available on desktop currently.").setDisabled(!0),r.descEl.innerHTML=` + Feature guide and quick examples
+ The commit hash, author name and authoring date can all be individually toggled.
Hide everything, to only show the age-colored sidebar.`,r.addToggle(n=>n.setValue(this.settings.lineAuthor.show).onChange(i=>{this.configureLineAuthorShowStatus(i),this.refreshDisplayWithDelay()})),this.settings.lineAuthor.show){let n=new U.Setting(this.containerEl).setName("Follow movement and copies across files and commits").setDesc("").addDropdown(s=>{s.addOptions({inactive:"Do not follow (default)","same-commit":"Follow within same commit","all-commits":"Follow within all commits (maybe slow)"}),s.setValue(this.settings.lineAuthor.followMovement),s.onChange(a=>this.lineAuthorSettingHandler("followMovement",a))});if(n.descEl.innerHTML=` + By default (deactivated), each line only shows the newest commit where it was changed. +
+ With same commit, cut-copy-paste-ing of text is followed within the same commit and the original commit of authoring will be shown. +
+ With all commits, cut-copy-paste-ing text inbetween multiple commits will be detected. +
+ It uses git-blame and + for matches (at least ${qd} characters) within the same (or all) commit(s), the originating commit's information is shown.`,new U.Setting(this.containerEl).setName("Show commit hash").addToggle(s=>{s.setValue(this.settings.lineAuthor.showCommitHash),s.onChange(a=>this.lineAuthorSettingHandler("showCommitHash",a))}),new U.Setting(this.containerEl).setName("Author name display").setDesc("If and how the author is displayed").addDropdown(s=>{let a={hide:"Hide",initials:"Initials (default)","first name":"First name","last name":"Last name",full:"Full name"};s.addOptions(a),s.setValue(this.settings.lineAuthor.authorDisplay),s.onChange(async o=>this.lineAuthorSettingHandler("authorDisplay",o))}),new U.Setting(this.containerEl).setName("Authoring date display").setDesc("If and how the date and time of authoring the line is displayed").addDropdown(s=>{let a={hide:"Hide",date:"Date (default)",datetime:"Date and time","natural language":"Natural language",custom:"Custom"};s.addOptions(a),s.setValue(this.settings.lineAuthor.dateTimeFormatOptions),s.onChange(async o=>{await this.lineAuthorSettingHandler("dateTimeFormatOptions",o),this.refreshDisplayWithDelay()})}),this.settings.lineAuthor.dateTimeFormatOptions==="custom"){let s=new U.Setting(this.containerEl);s.setName("Custom authoring date format").addText(a=>{a.setValue(this.settings.lineAuthor.dateTimeFormatCustomString),a.setPlaceholder("YYYY-MM-DD HH:mm"),a.onChange(async o=>{await this.lineAuthorSettingHandler("dateTimeFormatCustomString",o),s.descEl.innerHTML=this.previewCustomDateTimeDescriptionHtml(o)})}),s.descEl.innerHTML=this.previewCustomDateTimeDescriptionHtml(this.settings.lineAuthor.dateTimeFormatCustomString)}new U.Setting(this.containerEl).setName("Authoring date display timezone").addDropdown(s=>{let a={"viewer-local":"My local (default)","author-local":"Author's local",utc0000:"UTC+0000/Z"};s.addOptions(a),s.setValue(this.settings.lineAuthor.dateTimeTimezone),s.onChange(async o=>this.lineAuthorSettingHandler("dateTimeTimezone",o))}).descEl.innerHTML=` + The time-zone in which the authoring date should be shown. + Either your local time-zone (default), + the author's time-zone during commit creation or + UTC\xB100:00. + `;let i=new U.Setting(this.containerEl).setName("Oldest age in coloring");i.descEl.innerHTML=this.previewOldestAgeDescriptionHtml(this.settings.lineAuthor.coloringMaxAge)[0],i.addText(s=>{s.setPlaceholder("1y"),s.setValue(this.settings.lineAuthor.coloringMaxAge),s.onChange(async a=>{let[o,l]=this.previewOldestAgeDescriptionHtml(a);i.descEl.innerHTML=o,l&&(await this.lineAuthorSettingHandler("coloringMaxAge",a),this.refreshColorSettingsName("oldest"))})}),this.createColorSetting("newest"),this.createColorSetting("oldest"),new U.Setting(this.containerEl).setName("Text color").addText(s=>{s.setValue(this.settings.lineAuthor.textColorCss),s.onChange(async a=>{await this.lineAuthorSettingHandler("textColorCss",a)})}).descEl.innerHTML=` + The CSS color of the gutter text.
+ + It is highly recommended to use + + CSS variables + defined by themes + (e.g.
var(--text-muted)
or +
var(--text-on-accent)
, + because they automatically adapt to theme changes.
+ + See: + List of available CSS variables in Obsidian + + `,new U.Setting(this.containerEl).setName("Ignore whitespace and newlines in changes").addToggle(s=>{s.setValue(this.settings.lineAuthor.ignoreWhitespace),s.onChange(a=>this.lineAuthorSettingHandler("ignoreWhitespace",a))}).descEl.innerHTML=` + Whitespace and newlines are interpreted as + part of the document and in changes + by default (hence not ignored). + This makes the last line being shown as 'changed' + when a new subsequent line is added, + even if the previously last line's text is the same. +
+ If you don't care about purely-whitespace changes + (e.g. list nesting / quote indentation changes), + then activating this will provide more meaningful change detection. + `}}createColorSetting(r){let n=new U.Setting(this.containerEl).setName("").addText(i=>{let s=ry(r,this.settings.lineAuthor),a=ry(r,et.lineAuthor);i.setPlaceholder(Xw(a)),i.setValue(Xw(s)),i.onChange(async o=>{let l=VP(o);if(l!==void 0){let c=r==="newest"?"colorNew":"colorOld";await this.lineAuthorSettingHandler(c,l)}this.refreshColorSettingsDesc(r,l)})});this.lineAuthorColorSettings.set(r,n),this.refreshColorSettingsName(r),this.refreshColorSettingsDesc(r,ry(r,this.settings.lineAuthor))}refreshColorSettingsName(r){let n=this.lineAuthorColorSettings.get(r);if(n){let i=r==="oldest"?`oldest (${this.settings.lineAuthor.coloringMaxAge} or older)`:"newest";n.nameEl.innerText=`Color for ${i} commits`}}refreshColorSettingsDesc(r,n){let i=this.lineAuthorColorSettings.get(r);i&&(i.descEl.innerHTML=this.colorSettingPreviewDescHtml(r,this.settings.lineAuthor,n!==void 0))}colorSettingPreviewDescHtml(r,n,i){let s=i?sp(r,n):"rgba(127,127,127,0.3)",a=U.moment.unix(U.moment.now()/1e3).format("YYYY-MM-DD"),o=i?`abcdef Author Name ${a}`:"invalid color";return`Supports 'rgb(r,g,b)', 'hsl(h,s,l)', hex (#) and + named colors (e.g. 'black', 'purple'). Color preview: ${`
${o}
`}`}previewCustomDateTimeDescriptionHtml(r){let n=(0,U.moment)().format(r);return`
Format string to display the authoring date.
Currently: ${n}`}previewOldestAgeDescriptionHtml(r){let n=Xh(r);return[`The oldest age in the line author coloring. Everything older will have the same color. +
Smallest valid age is "1d". Currently: ${n!==void 0?`${n.asDays()} days`:"invalid!"}`,n]}setNonDefaultValue({settingsProperty:r,text:n}){let i=this.plugin.settings[r];et[r]!==i&&(typeof i=="string"||typeof i=="number"||typeof i=="boolean"?n.setValue(String(i)):n.setValue(JSON.stringify(i)))}refreshDisplayWithDelay(r=80){setTimeout(()=>this.display(),r)}};function ry(t,e){return t==="oldest"?e.colorOld:e.colorNew}function Xh(t){let e=U.moment.duration("P"+t.toUpperCase());return e.isValid()&&e.asDays()&&e.asDays()>=1?e:void 0}p();var en=require("obsidian");var lp=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;this.messages=[];this.base="obsidian-git-statusbar-";this.statusBarEl.setAttribute("data-tooltip-position","top"),r.registerEvent(r.app.workspace.on("obsidian-git:refreshed",()=>{this.refreshCommitTimestamp().catch(console.error)}))}displayMessage(e,r){this.messages.push({message:`Git: ${e.slice(0,100)}`,timeout:r}),this.display()}display(){this.messages.length>0&&!this.currentMessage?(this.currentMessage=this.messages.shift(),this.statusBarEl.addClass(this.base+"message"),this.statusBarEl.ariaLabel="",this.statusBarEl.setText(this.currentMessage.message),this.lastMessageTimestamp=Date.now()):this.currentMessage?Date.now()-this.lastMessageTimestamp>=this.currentMessage.timeout&&(this.currentMessage=null,this.lastMessageTimestamp=null):this.displayState()}displayState(){switch((this.statusBarEl.getText().length>3||!this.statusBarEl.hasChildNodes())&&(this.statusBarEl.empty(),this.conflictEl=this.statusBarEl.createDiv(),this.conflictEl.setAttribute("data-tooltip-position","top"),this.conflictEl.style.float="left",this.pausedEl=this.statusBarEl.createDiv(),this.pausedEl.setAttribute("data-tooltip-position","top"),this.pausedEl.style.float="left",this.iconEl=this.statusBarEl.createDiv(),this.iconEl.style.float="left",this.textEl=this.statusBarEl.createDiv(),this.textEl.style.float="right",this.textEl.style.marginLeft="5px"),this.plugin.localStorage.getConflict()?((0,en.setIcon)(this.conflictEl,"alert-circle"),this.conflictEl.ariaLabel="You have merge conflicts. Resolve them and commit afterwards.",this.conflictEl.style.marginRight="5px",this.conflictEl.addClass(this.base+"conflict")):(this.conflictEl.empty(),this.conflictEl.style.marginRight=""),this.plugin.localStorage.getPausedAutomatics()?((0,en.setIcon)(this.pausedEl,"pause-circle"),this.pausedEl.ariaLabel="Automatic routines are currently paused.",this.pausedEl.style.marginRight="5px",this.pausedEl.addClass(this.base+"paused")):(this.pausedEl.empty(),this.pausedEl.style.marginRight=""),this.plugin.state.gitAction){case 0:this.displayFromNow();break;case 1:this.statusBarEl.ariaLabel="Checking repository status...",(0,en.setIcon)(this.iconEl,"refresh-cw"),this.statusBarEl.addClass(this.base+"status");break;case 3:this.statusBarEl.ariaLabel="Adding files...",(0,en.setIcon)(this.iconEl,"archive"),this.statusBarEl.addClass(this.base+"add");break;case 4:this.statusBarEl.ariaLabel="Committing changes...",(0,en.setIcon)(this.iconEl,"git-commit"),this.statusBarEl.addClass(this.base+"commit");break;case 5:this.statusBarEl.ariaLabel="Pushing changes...",(0,en.setIcon)(this.iconEl,"upload"),this.statusBarEl.addClass(this.base+"push");break;case 2:this.statusBarEl.ariaLabel="Pulling changes...",(0,en.setIcon)(this.iconEl,"download"),this.statusBarEl.addClass(this.base+"pull");break;default:this.statusBarEl.ariaLabel="Failed on initialization!",(0,en.setIcon)(this.iconEl,"alert-triangle"),this.statusBarEl.addClass(this.base+"failed-init");break}}displayFromNow(){var n;let e=this.lastCommitTimestamp,r=this.plugin.state.offlineMode;if(e){let i=(0,en.moment)(e).fromNow();this.statusBarEl.ariaLabel=`${r?"Offline: ":""}Last Commit: ${i}`,(n=this.unPushedCommits)!=null&&n&&(this.statusBarEl.ariaLabel+=` +(${this.unPushedCommits} unpushed commits)`)}else this.statusBarEl.ariaLabel=r?"Git is offline":"Git is ready";r?(0,en.setIcon)(this.iconEl,"globe"):(0,en.setIcon)(this.iconEl,"check"),this.plugin.settings.changedFilesInStatusBar&&this.plugin.cachedStatus&&this.textEl.setText(this.plugin.cachedStatus.changed.length.toString()),this.statusBarEl.addClass(this.base+"idle")}async refreshCommitTimestamp(){this.lastCommitTimestamp=await this.plugin.gitManager.getLastCommitTime(),this.unPushedCommits=await this.plugin.gitManager.getUnpushedCommits()}remove(){this.statusBarEl.remove()}};p();var up=require("obsidian"),cp=class extends up.SuggestModal{constructor(r){super(r.app);this.plugin=r;this.resolve=null;this.setPlaceholder("Type your message and select optional the version with the added date.")}openAndGetResult(){return new Promise(r=>{this.resolve=r,this.open()})}onClose(){new Promise(r=>setTimeout(r,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(r){let n=(0,up.moment)().format(this.plugin.settings.commitDateFormat);return r==""&&(r="..."),[r,`${n}: ${r}`,`${r}: ${n}`]}renderSuggestion(r,n){n.innerText=r}onChooseSuggestion(r,n){this.resolve&&this.resolve(r)}};p();var $F=require("obsidian"),Gu=class{constructor(e){this.plugin=e}saveLastAuto(e,r){r==="backup"?this.plugin.localStorage.setLastAutoBackup(e.toString()):r==="pull"?this.plugin.localStorage.setLastAutoPull(e.toString()):r==="push"&&this.plugin.localStorage.setLastAutoPush(e.toString())}loadLastAuto(){var e,r,n;return{backup:new Date((e=this.plugin.localStorage.getLastAutoBackup())!=null?e:""),pull:new Date((r=this.plugin.localStorage.getLastAutoPull())!=null?r:""),push:new Date((n=this.plugin.localStorage.getLastAutoPush())!=null?n:"")}}async init(){await this.setUpAutoCommitAndSync();let e=this.loadLastAuto();if(this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0){let r=this.diff(this.plugin.settings.autoPushInterval,e.push);this.startAutoPush(r)}if(this.plugin.settings.autoPullInterval>0){let r=this.diff(this.plugin.settings.autoPullInterval,e.pull);this.startAutoPull(r)}}unload(){this.clearAutoPull(),this.clearAutoPush(),this.clearAutoCommitAndSync()}reload(...e){this.plugin.localStorage.getPausedAutomatics()||(e.contains("commit")&&(this.clearAutoCommitAndSync(),this.plugin.settings.autoSaveInterval>0&&this.startAutoCommitAndSync(this.plugin.settings.autoSaveInterval)),e.contains("push")&&(this.clearAutoPush(),this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0&&this.startAutoPush(this.plugin.settings.autoPushInterval)),e.contains("pull")&&(this.clearAutoPull(),this.plugin.settings.autoPullInterval>0&&this.startAutoPull(this.plugin.settings.autoPullInterval)))}async setUpAutoCommitAndSync(){if(this.plugin.settings.setLastSaveToLastCommit){this.clearAutoCommitAndSync();let e=await this.plugin.gitManager.getLastCommitTime();e&&this.saveLastAuto(e,"backup")}if(!this.timeoutIDCommitAndSync&&!this.plugin.autoCommitDebouncer){let e=this.loadLastAuto();if(this.plugin.settings.autoSaveInterval>0){let r=this.diff(this.plugin.settings.autoSaveInterval,e.backup);this.startAutoCommitAndSync(r)}}}startAutoCommitAndSync(e){let r=(e!=null?e:this.plugin.settings.autoSaveInterval)*6e4;this.plugin.settings.autoBackupAfterFileChange?e===0?this.doAutoCommitAndSync():this.plugin.autoCommitDebouncer=(0,$F.debounce)(()=>this.doAutoCommitAndSync(),r,!0):(r>2147483647&&(r=2147483647),this.timeoutIDCommitAndSync=window.setTimeout(()=>this.doAutoCommitAndSync(),r))}doAutoCommitAndSync(){this.plugin.promiseQueue.addTask(async()=>{if(this.plugin.settings.setLastSaveToLastCommit){let r=await this.plugin.gitManager.getLastCommitTime();if(r){this.saveLastAuto(r,"backup");let n=this.diff(this.plugin.settings.autoSaveInterval,r);if(n>0)return this.startAutoCommitAndSync(n),!1}}let e=this.plugin.settings.autoCommitOnlyStaged;return this.plugin.settings.differentIntervalCommitAndPush?await this.plugin.commit({fromAuto:!0,onlyStaged:e}):await this.plugin.commitAndSync({fromAutoBackup:!0,onlyStaged:e}),!0},e=>{e!==!1&&(this.saveLastAuto(new Date,"backup"),this.startAutoCommitAndSync())})}startAutoPull(e){let r=(e!=null?e:this.plugin.settings.autoPullInterval)*6e4;r>2147483647&&(r=2147483647),this.timeoutIDPull=window.setTimeout(()=>this.doAutoPull(),r)}doAutoPull(){this.plugin.promiseQueue.addTask(()=>this.plugin.pullChangesFromRemote(),()=>{this.saveLastAuto(new Date,"pull"),this.startAutoPull()})}startAutoPush(e){let r=(e!=null?e:this.plugin.settings.autoPushInterval)*6e4;r>2147483647&&(r=2147483647),this.timeoutIDPush=window.setTimeout(()=>this.doAutoPush(),r)}doAutoPush(){this.plugin.promiseQueue.addTask(()=>this.plugin.push(),()=>{this.saveLastAuto(new Date,"push"),this.startAutoPush()})}clearAutoCommitAndSync(){var r;let e=!1;return this.timeoutIDCommitAndSync&&(window.clearTimeout(this.timeoutIDCommitAndSync),this.timeoutIDCommitAndSync=void 0,e=!0),this.plugin.autoCommitDebouncer&&((r=this.plugin.autoCommitDebouncer)==null||r.cancel(),this.plugin.autoCommitDebouncer=void 0,e=!0),e}clearAutoPull(){return this.timeoutIDPull?(window.clearTimeout(this.timeoutIDPull),this.timeoutIDPull=void 0,!0):!1}clearAutoPush(){return this.timeoutIDPush?(window.clearTimeout(this.timeoutIDPush),this.timeoutIDPush=void 0,!0):!1}diff(e,r){let i=e-Math.round((new Date().getTime()-r.getTime())/1e3/60);return Math.max(0,i)}};p();var jn=require("obsidian");p();var ju=require("obsidian");async function IF(t,e,r){let n=await OF(e,r);if(n.result==="failure"){new ju.Notice(n.reason);return}let{isGitHub:i,branch:s,repo:a,user:o,filePath:l}=n;if(i){let c=t.getCursor("from").line+1,u=t.getCursor("to").line+1;c===u?window.open(`https://github.com/${o}/${a}/blob/${s}/${l}?plain=1#L${c}`):window.open(`https://github.com/${o}/${a}/blob/${s}/${l}?plain=1#L${c}-L${u}`)}else new ju.Notice("It seems like you are not using GitHub")}async function FF(t,e){let r=await OF(t,e);if(r.result==="failure"){new ju.Notice(r.reason);return}let{isGitHub:n,branch:i,repo:s,user:a,filePath:o}=r;n?window.open(`https://github.com/${a}/${s}/commits/${i}/${o}`):new ju.Notice("It seems like you are not using GitHub")}async function OF(t,e){let r=await e.branchInfo(),n=r.tracking,i=r.current,s,a=e.getRelativeRepoPath(t.path);if(e instanceof Se){let l=await e.getSubmoduleOfFile(e.getRelativeRepoPath(t.path));if(l){a=l.relativeFilepath;let c=await e.git.cwd({path:l.submodule,root:!1}).status();if(n=c.tracking||void 0,i=c.current||void 0,n){let u=n.substring(0,n.indexOf("/")),f=await e.git.cwd({path:l.submodule,root:!1}).getConfig(`remote.${u}.url`,"local");if(f.value!=null)s=f.value;else return{result:"failure",reason:"Failed to get remote url of submodule"}}}}if(n==null)return{result:"failure",reason:"Remote branch is not configured"};if(i==null)return{result:"failure",reason:"Failed to get current branch name"};if(s==null){let l=n.substring(0,n.indexOf("/"));if(s=await e.getConfig(`remote.${l}.url`),s==null)return{result:"failure",reason:"Failed to get remote url"}}let o=s.match(/(?:^https:\/\/github\.com\/(.+)\/(.+?)(?:\.git)?$)|(?:^[a-zA-Z]+@github\.com:(.+)\/(.+?)(?:\.git)?$)/);if(o==null)return{result:"failure",reason:"Could not parse remote url"};{let[l,c,u,f,d]=o;return{result:"success",isGitHub:!!l,repo:u||d,user:c||f,branch:i,filePath:a}}}p();var MF=require("obsidian"),fp=class extends MF.FuzzySuggestModal{constructor(e,r){super(e.app),this.plugin=e,this.changedFiles=r,this.setPlaceholder("Not supported files will be opened by default app!")}getItems(){return this.changedFiles}getItemText(e){if(e.index=="U"&&e.workingDir=="U")return`Untracked | ${e.vaultPath}`;let r="",n="";return e.workingDir!=" "&&(r=`Working Dir: ${e.workingDir} `),e.index!=" "&&(n=`Index: ${e.index}`),`${r}${n} | ${e.vaultPath}`}onChooseItem(e,r){this.plugin.app.metadataCache.getFirstLinkpathDest(e.vaultPath,"")==null?this.app.openWithDefaultApp(e.vaultPath):this.plugin.app.workspace.openLinkText(e.vaultPath,"/")}};p();var DF=require("obsidian"),dp=class extends DF.Modal{constructor(r,n){super(r);this.content=n;this.resolve=null}openAndGetReslt(){return new Promise(r=>{this.resolve=r,this.open()})}onOpen(){let{contentEl:r,titleEl:n}=this;n.setText("Edit .gitignore");let i=r.createDiv(),s=i.createEl("textarea",{text:this.content,cls:["obsidian-git-textarea"],attr:{rows:10,cols:30,wrap:"off"}});i.createEl("button",{cls:["mod-cta","obsidian-git-center-button"],text:"Save"}).addEventListener("click",()=>{this.resolve(s.value),this.close()})}onClose(){let{contentEl:r}=this;r.empty(),this.resolve&&this.resolve(void 0)}};p();var Ju=require("@codemirror/state"),Cp=require("@codemirror/view");p();var Nl=require("@codemirror/state");p();var Nt=class t{static createHunk(e,r,n,i){return{removed:{start:e,count:r,lines:[]},added:{start:n,count:i,lines:[]},head:`@@ -${e}${r>0?`,${r}`:""} +${n}${i>0?`,${i}`:""} @@`,vend:n+Math.max(i-1,0),type:i===0?"delete":r===0?"add":"change"}}static createPartialHunk(e,r,n){let i=r,s=n-r+1,a=0;for(let o of e){let l=o.added.count-o.removed.count,c=0;if(o.added.start>=r&&o.vend<=n)c=l;else{let u=Math.max(0,n+1-(o.added.start+o.removed.count)),f=Math.max(0,r-(o.added.start+o.removed.count));o.added.start>=r&&o.added.start<=n?c=u:o.vend>=r&&o.vend<=n?(c=l-f,i=i-f):o.added.start<=r&&o.vend>=n?(c=u-f,i=i-f):a++,r>o.vend&&(i=i-l)}s=s-c}if(a!==e.length)return s===0&&(i=i-1),this.createHunk(i,s,r,n-r+1)}patchLines(e,r=!1){let n=[];for(let i of e.removed.lines)n.push("-"+i);for(let i of e.added.lines)n.push("+"+i);return r?n.map(i=>i.replace(/\r$/,"")):n}static parseDiffLine(e){let i=e.split("@@")[1].trim().split(" "),s=i[0].substring(1).split(","),a=i[1].substring(1).split(","),o=this.createHunk(parseInt(s[0]),parseInt(s[1]||"1"),parseInt(a[0]),parseInt(a[1]||"1"));return o.head=e,o}static changeEnd(e){return e.added.count===0?e.added.start:e.removed.count===0?e.added.start+e.added.count-1:e.added.start+Math.min(e.added.count,e.removed.count)-1}static calcSigns(e,r,n,i=1,s=1/0,a){if(a&&r.type!=="add")return console.error(`Invalid hunk with untracked=${a} hunk="${r.head}"`),[];i=Math.max(1,i);let{start:o,added:l,removed:c}={start:r.added.start,added:r.added.count,removed:r.removed.count},u=this.changeEnd(r),f=r.type==="delete"&&(o===0||e&&this.changeEnd(e)===o)&&(!n||n.added.start!==o+1);f&&i===1&&(i=0);let d=[];for(let h=Math.max(o,i);h<=Math.min(u,s);h++){let m=r.type==="change"&&(c>l&&h===u||e&&e.added.start===0);d.push({type:f?"topdelete":m?"changedelete":a?"untracked":r.type,count:h===o?r.type==="add"?l:c:void 0,lnum:h+(f?1:0)})}if(r.type==="change"&&l>c&&r.vend>=i&&u<=s)for(let h=Math.max(u,i);h<=Math.min(r.vend,s);h++)d.push({type:"add",count:h===r.vend?l-c:void 0,lnum:h});return d}static createPatch(e,r,n,i=!1){let s=[`diff --git a/${e} b/${e}`,`index 000000..000000 ${n}`,`--- a/${e}`,`+++ b/${e}`],a=0;r=structuredClone(r);for(let o of r){let l=o.removed.start,c=o.removed.count,u=o.added.count;o.type==="add"&&(l=l+1);let f=o.removed.lines,d=o.added.lines;i&&([c,u]=[u,c],[f,d]=[d,f]),s.push(`@@ -${l},${c} +${l+a},${u} @@`);for(let h of f)s.push("-"+h);(i?o.added:o.removed).no_nl_at_eof&&s.push("\\ No newline at end of file");for(let h of d)s.push("+"+h);(i?o.removed:o.added).no_nl_at_eof&&s.push("\\ No newline at end of file"),o.removed.start=l+a,a=a+(u-c)}return s}getSummary(e){let r={added:0,changed:0,removed:0};for(let n of e)if(n.type==="add")r.added+=n.added.count;else if(n.type==="delete")r.removed+=n.removed.count;else if(n.type==="change"){let i=n.added.count,s=n.removed.count,a=Math.min(i,s);r.changed+=a,r.added+=i-a,r.removed+=s-a}return r}static findHunk(e,r){if(!r)return[void 0,void 0];for(let n=0;n=e)return[i,n]}return[void 0,void 0]}static findNearestHunk(e,r,n,i){if(r.length!==0){if(n==="first")return 0;if(n==="last")return r.length-1;if(n==="next"){if(r[0].added.start>e)return 0;for(let s=r.length-1;s>=0;s--)if(r[s].added.start<=e){if(s+1e)return s+1;if(i)return 0}}else if(n==="prev"){if(Math.max(r[r.length-1].vend)0&&Math.max(r[s-1].vend,1)l.added.start?i++:o.added.starta.map(v=>g.replace(/&/,v))).reduce((g,v)=>g.concat(v)),m,l);else if(m&&typeof m=="object"){if(!f)throw new RangeError("The value of a property ("+h+") should be a primitive value.");s(i(h),m,u,d)}else m!=null&&u.push(h.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+m+";")}(u.length||d)&&l.push((n&&!f&&!c?a.map(n):a).join(", ")+" {"+u.join(" ")+"}")}for(let a in e)s(i(a),e[a],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=NF[LF]||1;return NF[LF]=e+1,ny+e.toString(36)}static mount(e,r,n){let i=e[iy],s=n&&n.nonce;i?s&&i.setNonce(s):i=new sy(e,s),i.mount(Array.isArray(r)?r:[r],e)}},BF=new Map,sy=class{constructor(e,r){let n=e.ownerDocument||e,i=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=BF.get(n);if(s)return e[iy]=s;this.sheet=new i.CSSStyleSheet,BF.set(n,this)}else this.styleTag=n.createElement("style"),r&&this.styleTag.setAttribute("nonce",r);this.modules=[],e[iy]=this}mount(e,r){let n=this.sheet,i=0,s=0;for(let a=0;a-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,o),n)for(let c=0;cc){let f=t.slice(e,r).indexOf(n.slice(i,s));if(f>-1)return[new bt(e,e+f,i,i),new bt(e+f+c,r,s,s)]}else if(c>l){let f=n.slice(i,s).indexOf(t.slice(e,r));if(f>-1)return[new bt(e,e,i,i+f),new bt(r,r,i+f+l,s)]}if(l==1||c==1)return[new bt(e,r,i,s)];let u=sO(t,e,r,n,i,s);if(u){let[f,d,h]=u;return Ba(t,e,f,n,i,d).concat(Ba(t,f+h,r,n,d+h,s))}return Wz(t,e,r,n,i,s)}var qu=1e9,Wu=0,dy=!1;function Wz(t,e,r,n,i,s){let a=r-e,o=s-i;if(qu<1e9&&Math.min(a,o)>qu*16||Wu>0&&Date.now()>Wu)return Math.min(a,o)>qu*64?[new bt(e,r,i,s)]:HF(t,e,r,n,i,s);let l=Math.ceil((a+o)/2);ay.reset(l),oy.reset(l);let c=(h,m)=>t.charCodeAt(e+h)==n.charCodeAt(i+m),u=(h,m)=>t.charCodeAt(r-h-1)==n.charCodeAt(s-m-1),f=(a-o)%2!=0?oy:null,d=f?null:ay;for(let h=0;hqu||Wu>0&&!(h&63)&&Date.now()>Wu)return HF(t,e,r,n,i,s);let m=ay.advance(h,a,o,l,f,!1,c)||oy.advance(h,a,o,l,d,!0,u);if(m)return zz(t,e,r,e+m[0],n,i,s,i+m[1])}return[new bt(e,r,i,s)]}var wp=class{constructor(){this.vec=[]}reset(e){this.len=e<<1;for(let r=0;rr)this.end+=2;else if(f>n)this.start+=2;else if(s){let d=i+(r-n)-l;if(d>=0&&d=r-u)return[h,i+h-d]}else{let h=r-s.vec[d];if(u>=h)return[u,f]}}}return null}},ay=new wp,oy=new wp;function zz(t,e,r,n,i,s,a,o){let l=!1;return!Ll(t,n)&&++n==r&&(l=!0),!Ll(i,o)&&++o==a&&(l=!0),l?[new bt(e,r,s,a)]:Ba(t,e,n,i,s,o).concat(Ba(t,n,r,i,o,a))}function iO(t,e){let r=1,n=Math.min(t,e);for(;rr||u>s||t.slice(o,c)!=n.slice(l,u)){if(a==1)return o-e-(Ll(t,o)?0:1);a=a>>1}else{if(c==r||u==s)return c-e;o=c,l=u}}}function py(t,e,r,n,i,s){if(e==r||i==s||t.charCodeAt(r-1)!=n.charCodeAt(s-1))return 0;let a=iO(r-e,s-i);for(let o=r,l=s;;){let c=o-a,u=l-a;if(c>1}else{if(c==e||u==i)return r-c;o=c,l=u}}}function ly(t,e,r,n,i,s,a,o){let l=n.slice(i,s),c=null;for(;;){if(c||a=r)break;let d=t.slice(u,f),h=-1;for(;(h=l.indexOf(d,h+1))!=-1;){let m=hy(t,f,r,n,i+h+d.length,s),g=py(t,e,u,n,i,i+h),v=d.length+m+g;(!c||c[2]>1}}function sO(t,e,r,n,i,s){let a=r-e,o=s-i;if(ai.fromA-e&&n.toB>i.fromB-e&&(t[r-1]=new bt(n.fromA,i.toA,n.fromB,i.toB),t.splice(r--,1))}}function Vz(t,e,r){for(;;){aO(r,1);let n=!1;for(let i=0;i3||o>3){let l=i==t.length-1?e.length:t[i+1].fromA,c=s.fromA-n,u=l-s.toA,f=GF(e,s.fromA,c),d=UF(e,s.toA,u),h=s.fromA-f,m=d-s.toA;if((!a||!o)&&h&&m){let g=Math.max(a,o),[v,w,b]=a?[e,s.fromA,s.toA]:[r,s.fromB,s.toB];g>h&&e.slice(f,s.fromA)==v.slice(b-h,b)?(s=t[i]=new bt(f,f+a,s.fromB-h,s.toB-h),f=s.fromA,d=UF(e,s.toA,l-s.toA)):g>m&&e.slice(s.toA,d)==v.slice(w,w+m)&&(s=t[i]=new bt(d-a,d,s.fromB+m,s.toB+m),d=s.toA,f=GF(e,s.fromA,s.fromA-n)),h=s.fromA-f,m=d-s.toA}if(h||m)s=t[i]=new bt(s.fromA-h,s.toA+m,s.fromB-h,s.toB+m);else if(a){if(!o){let g=qF(e,s.fromA,s.toA),v,w=g<0?-1:jF(e,s.toA,s.fromA);g>-1&&(v=g-s.fromA)<=u&&e.slice(s.fromA,g)==e.slice(s.toA,s.toA+v)?s=t[i]=s.offset(v):w>-1&&(v=s.toA-w)<=c&&e.slice(s.fromA-v,s.fromA)==e.slice(w,s.toA)&&(s=t[i]=s.offset(-v))}}else{let g=qF(r,s.fromB,s.toB),v,w=g<0?-1:jF(r,s.toB,s.fromB);g>-1&&(v=g-s.fromB)<=u&&r.slice(s.fromB,g)==r.slice(s.toB,s.toB+v)?s=t[i]=s.offset(v):w>-1&&(v=s.toB-w)<=c&&r.slice(s.fromB-v,s.fromB)==r.slice(w,s.toB)&&(s=t[i]=s.offset(-v))}}n=s.toA}return aO(t,3),t}var Na;try{Na=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch(t){}function oO(t){return t>48&&t<58||t>64&&t<91||t>96&&t<123}function lO(t,e){if(e==t.length)return 0;let r=t.charCodeAt(e);return r<192?oO(r)?1:0:Na?!fO(r)||e==t.length-1?Na.test(String.fromCharCode(r))?1:0:Na.test(t.slice(e,e+2))?2:0:0}function cO(t,e){if(!e)return 0;let r=t.charCodeAt(e-1);return r<192?oO(r)?1:0:Na?!dO(r)||e==1?Na.test(String.fromCharCode(r))?1:0:Na.test(t.slice(e-2,e))?2:0:0}var uO=8;function UF(t,e,r){if(e==t.length||!cO(t,e))return e;for(let n=e,i=e+r,s=0;si)return n;n+=a}return e}function GF(t,e,r){if(!e||!lO(t,e))return e;for(let n=e,i=e-r,s=0;st>=55296&&t<=56319,dO=t=>t>=56320&&t<=57343;function Ll(t,e){return!e||e==t.length||!fO(t.charCodeAt(e-1))||!dO(t.charCodeAt(e))}function Xz(t,e,r){var n;let i=r==null?void 0:r.override;return i?i(t,e):(qu=((n=r==null?void 0:r.scanLimit)!==null&&n!==void 0?n:1e9)>>1,Wu=r!=null&&r.timeout?Date.now()+r.timeout:0,dy=!1,Vz(t,e,Ba(t,0,t.length,e,0,e.length)))}function hO(){return!dy}function pO(t,e,r){return Yz(Xz(t,e,r),t,e)}var Un=$e.Facet.define({combine:t=>t[0]}),cy=$e.StateEffect.define(),Zz=$e.Facet.define(),Ha=$e.StateField.define({create(t){return null},update(t,e){for(let r of e.effects)r.is(cy)&&(t=r.value);for(let r of e.state.facet(Zz))t=r(t,e);return t}});function my(t){let e=t.field(Ha,!1);if(!e)return null;let r=t.facet(Un);return{chunks:e,side:r?r.side:null}}var ts=class t{constructor(e,r,n,i,s,a=!0){this.changes=e,this.fromA=r,this.toA=n,this.fromB=i,this.toB=s,this.precise=a}offset(e,r){return e||r?new t(this.changes,this.fromA+e,this.toA+e,this.fromB+r,this.toB+r,this.precise):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(e,r,n){let i=pO(e.toString(),r.toString(),n);return mO(i,e,r,0,0,hO())}static updateA(e,r,n,i,s){return XF(YF(e,i,!0,n.length),e,r,n,s)}static updateB(e,r,n,i,s){return XF(YF(e,i,!1,r.length),e,r,n,s)}};function WF(t,e,r,n){let i=r.lineAt(t),s=n.lineAt(e);return i.to==t&&s.to==e&&tf+1&&v>d+1)break;h.push(m.offset(-c+n,-u+i)),[f,d]=zF(m.toA+n,m.toB+i,e,r),o++}a.push(new ts(h,c,Math.max(c,f),u,Math.max(u,d),s))}return a}var pp=1e3;function VF(t,e,r,n){let i=0,s=t.length;for(;;){if(i==s){let u=0,f=0;i&&({toA:u,toB:f}=t[i-1]);let d=e-(r?u:f);return[u+d,f+d]}let a=i+s>>1,o=t[a],[l,c]=r?[o.fromA,o.toA]:[o.fromB,o.toB];if(l>e)s=a;else if(c<=e)i=a+1;else return n?[o.fromA,o.fromB]:[o.toA,o.toB]}}function YF(t,e,r,n){let i=[];return e.iterChangedRanges((s,a,o,l)=>{let c=0,u=r?e.length:n,f=0,d=r?n:e.length;s>pp&&([c,f]=VF(t,s-pp,r,!0)),a=c?i[i.length-1]={fromA:m.fromA,fromB:m.fromB,toA:u,toB:d,diffA:m.diffA+g,diffB:m.diffB+v}:i.push({fromA:c,toA:u,fromB:f,toB:d,diffA:g,diffB:v})}),i}function XF(t,e,r,n,i){if(!t.length)return e;let s=[];for(let a=0,o=0,l=0,c=0;;a++){let u=a==t.length?null:t[a],f=u?u.fromA+o:r.length,d=u?u.fromB+l:n.length;for(;cf||v.endB+l>d)break;s.push(v.offset(o,l)),c++}if(!u)break;let h=u.toA+o+u.diffA,m=u.toB+l+u.diffB,g=pO(r.sliceString(f,h),n.sliceString(d,m),i);for(let v of mO(g,r,n,f,d,hO()))s.push(v);for(o+=u.diffA,l+=u.diffB;ch&&v.fromB+l>m)break;c++}}return s}var Kz={scanLimit:500},gO=Oe.ViewPlugin.fromClass(class{constructor(t){({deco:this.deco,gutter:this.gutter}=QF(t))}update(t){(t.docChanged||t.viewportChanged||Qz(t.startState,t.state)||Jz(t.startState,t.state))&&({deco:this.deco,gutter:this.gutter}=QF(t.view))}},{decorations:t=>t.deco}),mp=$e.Prec.low((0,Oe.gutter)({class:"cm-changeGutter",markers:t=>{var e;return((e=t.plugin(gO))===null||e===void 0?void 0:e.gutter)||$e.RangeSet.empty}}));function Qz(t,e){return t.field(Ha,!1)!=e.field(Ha,!1)}function Jz(t,e){return t.facet(Un)!=e.facet(Un)}var ZF=Oe.Decoration.line({class:"cm-changedLine"}),eV=Oe.Decoration.mark({class:"cm-changedText"}),tV=Oe.Decoration.mark({tagName:"ins",class:"cm-insertedLine"}),rV=Oe.Decoration.mark({tagName:"del",class:"cm-deletedLine"}),KF=new class extends Oe.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function nV(t,e,r,n,i,s){let a=r?t.fromA:t.fromB,o=r?t.toA:t.toB,l=0;if(a!=o){i.add(a,a,ZF),i.add(a,o,r?rV:tV),s&&s.add(a,a,KF);for(let c=e.iterRange(a,o-1),u=a;!c.next().done;){if(c.lineBreak){u++,i.add(u,u,ZF),s&&s.add(u,u,KF);continue}let f=u+c.value.length;if(n)for(;l=u)break;(a?f.toA:f.toB)>c&&(!s||!s(t.state,f,o,l))&&nV(f,t.state.doc,a,n,o,l)}return{deco:o.finish(),gutter:l&&l.finish()}}var Dl=class extends Oe.WidgetType{constructor(e){super(),this.height=e}eq(e){return this.height==e.height}toDOM(){let e=document.createElement("div");return e.className="cm-mergeSpacer",e.style.height=this.height+"px",e}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},yp=$e.StateEffect.define({map:(t,e)=>t.map(e)}),zu=$e.StateField.define({create:()=>Oe.Decoration.none,update:(t,e)=>{for(let r of e.effects)if(r.is(yp))return r.value;return t.map(e.changes)},provide:t=>Oe.EditorView.decorations.from(t)}),gp=.01;function JF(t,e){if(t.size!=e.size)return!1;let r=t.iter(),n=e.iter();for(;r.value;){if(r.from!=n.from||Math.abs(r.value.spec.widget.height-n.value.spec.widget.height)>1)return!1;r.next(),n.next()}return!0}function iV(t,e,r){let n=new $e.RangeSetBuilder,i=new $e.RangeSetBuilder,s=t.state.field(zu).iter(),a=e.state.field(zu).iter(),o=0,l=0,c=0,u=0,f=t.viewport,d=e.viewport;for(let v=0;;v++){let w=vgp&&(u+=A,i.add(l,l,Oe.Decoration.widget({widget:new Dl(A),block:!0,side:-1})))}if(b>o+1e3&&of.from&&ld.from){let x=Math.min(f.from-o,d.from-l);o+=x,l+=x,v--}else if(w)o=w.toA,l=w.toB;else break;for(;s.value&&s.fromgp&&i.add(e.state.doc.length,e.state.doc.length,Oe.Decoration.widget({widget:new Dl(h),block:!0,side:1}));let m=n.finish(),g=i.finish();JF(m,t.state.field(zu))||t.dispatch({effects:yp.of(m)}),JF(g,e.state.field(zu))||e.dispatch({effects:yp.of(g)})}var uy=$e.StateEffect.define({map:(t,e)=>e.mapPos(t)});var fy=class extends Oe.WidgetType{constructor(e){super(),this.lines=e}eq(e){return this.lines==e.lines}toDOM(e){let r=document.createElement("div");return r.className="cm-collapsedLines",r.textContent=e.state.phrase("$ unchanged lines",this.lines),r.addEventListener("click",n=>{let i=e.posAtDOM(n.target);e.dispatch({effects:uy.of(i)});let{side:s,sibling:a}=e.state.facet(Un);a&&a().dispatch({effects:uy.of(sV(i,e.state.field(Ha),s=="a"))})}),r}ignoreEvent(e){return e instanceof MouseEvent}get estimatedHeight(){return 27}get type(){return"collapsed-unchanged-code"}};function sV(t,e,r){let n=0,i=0;for(let s=0;;s++){let a=s=t)return i+(t-n);[n,i]=r?[a.toA,a.toB]:[a.toB,a.toA]}}var aV=$e.StateField.define({create(t){return Oe.Decoration.none},update(t,e){t=t.map(e.changes);for(let r of e.effects)r.is(uy)&&(t=t.update({filter:n=>n!=r.value}));return t},provide:t=>Oe.EditorView.decorations.from(t)});function eO({margin:t=3,minSize:e=4}){return aV.init(r=>oV(r,t,e))}function oV(t,e,r){let n=new $e.RangeSetBuilder,i=t.facet(Un).side=="a",s=t.field(Ha),a=1;for(let o=0;;o++){let l=o=r&&n.add(t.doc.line(c).from,t.doc.line(u).to,Oe.Decoration.replace({widget:new fy(f),block:!0})),!l)break;a=t.doc.lineAt(Math.min(t.doc.length,i?l.toA:l.toB)).number}return n.finish()}var lV=Oe.EditorView.styleModule.of(new hp({".cm-mergeView":{overflowY:"auto"},".cm-mergeViewEditors":{display:"flex",alignItems:"stretch"},".cm-mergeViewEditor":{flexGrow:1,flexBasis:0,overflow:"hidden"},".cm-merge-revert":{width:"1.6em",flexGrow:0,flexShrink:0,position:"relative"},".cm-merge-revert button":{position:"absolute",display:"block",width:"100%",boxSizing:"border-box",textAlign:"center",background:"none",border:"none",font:"inherit",cursor:"pointer"}})),cV=Oe.EditorView.baseTheme({".cm-mergeView & .cm-scroller, .cm-mergeView &":{height:"auto !important",overflowY:"visible !important"},"&.cm-merge-a .cm-changedLine, .cm-deletedChunk":{backgroundColor:"rgba(160, 128, 100, .08)"},"&.cm-merge-b .cm-changedLine, .cm-inlineChangedLine":{backgroundColor:"rgba(100, 160, 128, .08)"},"&light.cm-merge-a .cm-changedText, &light .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ee443366, #ee443366) bottom/100% 2px no-repeat"},"&dark.cm-merge-a .cm-changedText, &dark .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ffaa9966, #ffaa9966) bottom/100% 2px no-repeat"},"&light.cm-merge-b .cm-changedText":{background:"linear-gradient(#22bb22aa, #22bb22aa) bottom/100% 2px no-repeat"},"&dark.cm-merge-b .cm-changedText":{background:"linear-gradient(#88ff88aa, #88ff88aa) bottom/100% 2px no-repeat"},"&.cm-merge-b .cm-deletedText":{background:"#ff000033"},".cm-insertedLine, .cm-deletedLine, .cm-deletedLine del":{textDecoration:"none"},".cm-deletedChunk":{paddingLeft:"6px","& .cm-chunkButtons":{position:"absolute",insetInlineEnd:"5px"},"& button":{border:"none",cursor:"pointer",color:"white",margin:"0 2px",borderRadius:"3px","&[name=accept]":{background:"#2a2"},"&[name=reject]":{background:"#d43"}}},".cm-collapsedLines":{padding:"5px 5px 5px 10px",cursor:"pointer","&:before":{content:'"\u299A"',marginInlineEnd:"7px"},"&:after":{content:'"\u299A"',marginInlineStart:"7px"}},"&light .cm-collapsedLines":{color:"#444",background:"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)"},"&dark .cm-collapsedLines":{color:"#ddd",background:"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)"},".cm-changeGutter":{width:"3px",paddingLeft:"1px"},"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter":{background:"#e43"},"&dark.cm-merge-a .cm-changedLineGutter, &dark .cm-deletedLineGutter":{background:"#fa9"},"&light.cm-merge-b .cm-changedLineGutter":{background:"#2b2"},"&dark.cm-merge-b .cm-changedLineGutter":{background:"#8f8"},".cm-inlineChangedLineGutter":{background:"#75d"}}),tO=new $e.Compartment,vp=new $e.Compartment,bp=class{constructor(e){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=e.diffConfig||Kz;let r=[$e.Prec.low(gO),cV,lV,zu,Oe.EditorView.updateListener.of(f=>{this.measuring<0&&(f.heightChanged||f.viewportChanged)&&!f.transactions.some(d=>d.effects.some(h=>h.is(yp)))&&this.measure()})],n=[Un.of({side:"a",sibling:()=>this.b,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&n.push(mp);let i=$e.EditorState.create({doc:e.a.doc,selection:e.a.selection,extensions:[e.a.extensions||[],Oe.EditorView.editorAttributes.of({class:"cm-merge-a"}),vp.of(n),r]}),s=[Un.of({side:"b",sibling:()=>this.a,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&s.push(mp);let a=$e.EditorState.create({doc:e.b.doc,selection:e.b.selection,extensions:[e.b.extensions||[],Oe.EditorView.editorAttributes.of({class:"cm-merge-b"}),vp.of(s),r]});this.chunks=ts.build(i.doc,a.doc,this.diffConf);let o=[Ha.init(()=>this.chunks),tO.of(e.collapseUnchanged?eO(e.collapseUnchanged):[])];i=i.update({effects:$e.StateEffect.appendConfig.of(o)}).state,a=a.update({effects:$e.StateEffect.appendConfig.of(o)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let l=e.orientation||"a-b",c=document.createElement("div");c.className="cm-mergeViewEditor";let u=document.createElement("div");u.className="cm-mergeViewEditor",this.editorDOM.appendChild(l=="a-b"?c:u),this.editorDOM.appendChild(l=="a-b"?u:c),this.a=new Oe.EditorView({state:i,parent:c,root:e.root,dispatchTransactions:f=>this.dispatch(f,this.a)}),this.b=new Oe.EditorView({state:a,parent:u,root:e.root,dispatchTransactions:f=>this.dispatch(f,this.b)}),this.setupRevertControls(!!e.revertControls,e.revertControls=="b-to-a",e.renderRevertControl),e.parent&&e.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(e,r){if(e.some(n=>n.docChanged)){let n=e[e.length-1],i=e.reduce((a,o)=>a.compose(o.changes),$e.ChangeSet.empty(e[0].startState.doc.length));this.chunks=r==this.a?ts.updateA(this.chunks,n.newDoc,this.b.state.doc,i,this.diffConf):ts.updateB(this.chunks,this.a.state.doc,n.newDoc,i,this.diffConf),r.update([...e,n.state.update({effects:cy.of(this.chunks)})]);let s=r==this.a?this.b:this.a;s.update([s.state.update({effects:cy.of(this.chunks)})]),this.scheduleMeasure()}else r.update(e)}reconfigure(e){if("diffConfig"in e&&(this.diffConf=e.diffConfig),"orientation"in e){let s=e.orientation!="b-a";if(s!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let a=this.a.dom.parentNode,o=this.b.dom.parentNode;a.remove(),o.remove(),this.editorDOM.insertBefore(s?a:o,this.editorDOM.firstChild),this.editorDOM.appendChild(s?o:a),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in e||"renderRevertControl"in e){let s=!!this.revertDOM,a=this.revertToA,o=this.renderRevert;"revertControls"in e&&(s=!!e.revertControls,a=e.revertControls=="b-to-a"),"renderRevertControl"in e&&(o=e.renderRevertControl),this.setupRevertControls(s,a,o)}let r="highlightChanges"in e,n="gutter"in e,i="collapseUnchanged"in e;if(r||n||i){let s=[],a=[];if(r||n){let o=this.a.state.facet(Un),l=n?e.gutter!==!1:o.markGutter,c=r?e.highlightChanges!==!1:o.highlightChanges;s.push(vp.reconfigure([Un.of({side:"a",sibling:()=>this.b,highlightChanges:c,markGutter:l}),l?mp:[]])),a.push(vp.reconfigure([Un.of({side:"b",sibling:()=>this.a,highlightChanges:c,markGutter:l}),l?mp:[]]))}if(i){let o=tO.reconfigure(e.collapseUnchanged?eO(e.collapseUnchanged):[]);s.push(o),a.push(o)}this.a.dispatch({effects:s}),this.b.dispatch({effects:a})}this.scheduleMeasure()}setupRevertControls(e,r,n){this.revertToA=r,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=n,!e&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):e&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",i=>this.revertClicked(i)),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(this.measuring<0){let e=this.dom.ownerDocument.defaultView||window;this.measuring=e.requestAnimationFrame(()=>{this.measuring=-1,this.measure()})}}measure(){iV(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let e=this.revertDOM,r=e.firstChild,n=this.a.viewport,i=this.b.viewport;for(let s=0;sn.to||a.fromB>i.to)break;if(a.fromA-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}};function rO(t){let e=t.nextSibling;return t.remove(),e}var gy=require("@codemirror/state");function vy(t,e,r){let n=[],i=t.split(` +`),s=e.split(` +`);for(let a of r){let{oldStart:o,oldLines:l,newStart:c,newLines:u}=a,f=Nt.createHunk(o,l,c,u);if(a.oldLines>0){for(let d=o;di.length&&i.last()!=""&&(f.removed.no_nl_at_eof=!0)}if(a.newLines>0){for(let d=c;ds.length&&s.last()!=""&&(f.added.no_nl_at_eof=!0)}n.push(f)}return n}function wy(t,e,r){let n=e.lineAt(t.fromA).number,i=t.fromA==t.toA?0:_p(e,t.endA)-n+1,s=r.lineAt(t.fromB).number,a=t.fromB==t.toB?0:_p(r,t.endB)-s+1,o={oldStart:n,oldLines:i,newStart:s,newLines:a};return o.oldLines==0&&(o.oldStart-=1),o.newLines==0&&(o.newStart-=1),o}var vO={scanLimit:1e3,timeout:200};function uV(t,e,r,n){let i=gy.Text.of(t.split(` +`)),s=gy.Text.of(e.split(` +`)),a=r&&n?ts.updateB(r,i,s,n,vO):ts.build(i,s,vO),o=[];for(let l=0;lh.vend&&(f=f-(h.added.count-h.removed.count)),o>h.vend&&(d=d-(h.added.count-h.removed.count));c.added.lines=u.compareText.split(` +`).slice(f-1,d),u.compareTextHead?c.removed.lines=u.compareTextHead.split(` +`).slice(c.removed.start-1,c.removed.start-1+c.removed.count):c.removed.lines=[]}else c.added.lines=e.doc.toString().split(` +`).slice(a-1,o),o===e.doc.lines&&!e.doc.toString().endsWith(` +`)&&(c.added.no_nl_at_eof=!0),c.removed.lines=u.compareText.split(` +`).slice(c.removed.start-1,c.removed.start-1+c.removed.count),c.removed.start+c.removed.count-1===u.compareText.split(` +`).length&&!u.compareText.endsWith(` +`)&&(c.removed.no_nl_at_eof=!0);return c}},$r=Nl.StateField.define({create:t=>{},update:(t,e)=>{let r=t?{...t}:{maxDiffTimeMs:0,hunks:[],stagedHunks:[],chunks:void 0,isDirty:!1},n=!1;for(let i of e.effects)i.is(Hl)&&(r.compareText=i.value.compareText,r.compareTextHead=i.value.compareTextHead,n=(t==null?void 0:t.compareText)!==i.value.compareText,n&&(r.chunks=void 0)),i.is(Vu)&&yO(r,i.value,e.state);if(r.compareText!==void 0){if(n||e.docChanged){r.isDirty=!0;let i=fV(e,r.compareText,r.chunks,r.maxDiffTimeMs);i&&yO(r,i,e.state)}}else r.compareText=void 0,r.compareTextHead=void 0,r.chunks=void 0,r.hunks=[],r.stagedHunks=[],r.isDirty=!1;return r}});function yO(t,e,r){var i,s;t.hunks=e.hunks,t.chunks=e.chunks,t.isDirty=!1,t.maxDiffTimeMs=Math.max(.95*t.maxDiffTimeMs,e.diffDuration);let n=r.field(Bl.editorInfoField).file;(s=(i=Ln.plugin)==null?void 0:i.editorIntegration.signsFeature.changeStatusBar)==null||s.display(t.hunks,n)}var yy=Nl.StateField.define({create:()=>({debouncer:(0,Bl.debounce)(t=>{let{state:e,compareText:r,previousChunks:n,changeDesc:i}=t,s=bO(e,r,n,i);e.field(Bl.editorEditorField).dispatch({effects:Vu.of(s)})},1e3,!0),maxDiffTimeMs:0}),update:(t,e)=>{var r;for(let n of e.effects)if(n.is(Vu))return t.changeDesc=void 0,t;return!t.changeDesc&&e.changes?t.changeDesc=e.changes:t.changeDesc=(r=t.changeDesc)==null?void 0:r.composeDesc(e.changes),t}});function bO(t,e,r,n){let i=t.doc.toString(),s=performance.now(),{hunks:a,chunks:o}=wO(e,i,r,n),l=performance.now()-s;return{hunks:a,chunks:o,diffDuration:l}}function fV(t,e,r,n){let i=t.state,s=Math.abs(t.changes.length-t.changes.newLength),a=i.field(yy);if(s>1e3||n>16)a.debouncer({state:i,compareText:e,previousChunks:r,changeDesc:a.changeDesc});else return a.changeDesc=void 0,bO(i,e,r,t.changes)}var Hl=Nl.StateEffect.define(),Vu=Nl.StateEffect.define();function _O(t,e){return e.update({effects:Hl.of(t)})}p();p();p();var rt;(function(t){t.INSERT="insert",t.DELETE="delete",t.CONTEXT="context"})(rt||(rt={}));var xO={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},SO={LINES:"lines",WORDS:"words",NONE:"none"},EO={WORD:"word",CHAR:"char"},Ua;(function(t){t.AUTO="auto",t.DARK="dark",t.LIGHT="light"})(Ua||(Ua={}));p();var dV=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],hV=RegExp("["+dV.join("\\")+"]","g");function kO(t){return t.replace(hV,"\\$&")}function by(t){return t&&t.replace(/\\/g,"/")}function AO(t){let e,r,n,i=0;for(e=0,n=t.length;e1?r[r.length-1]:e}function TO(t,e){return e.reduce((r,n)=>r||t.startsWith(n),!1)}var PO=["a/","b/","i/","w/","c/","o/"];function Vs(t,e,r){let n=r!==void 0?[...PO,r]:PO,i=e?new RegExp(`^${kO(e)} "?(.+?)"?$`):new RegExp('^"?(.+?)"?$'),[,s=""]=i.exec(t)||[],a=n.find(l=>s.indexOf(l)===0);return(a?s.slice(a.length):s).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function pV(t,e){return Vs(t,"---",e)}function mV(t,e){return Vs(t,"+++",e)}function RO(t,e={}){let r=[],n=null,i=null,s=null,a=null,o=null,l=null,c=null,u="--- ",f="+++ ",d="@@",h=/^old mode (\d{6})/,m=/^new mode (\d{6})/,g=/^deleted file mode (\d{6})/,v=/^new file mode (\d{6})/,w=/^copy from "?(.+)"?/,b=/^copy to "?(.+)"?/,k=/^rename from "?(.+)"?/,x=/^rename to "?(.+)"?/,E=/^similarity index (\d+)%/,A=/^dissimilarity index (\d+)%/,y=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,S=/^Binary files (.*) and (.*) differ/,_=/^GIT binary patch/,C=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,P=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,N=/^new file mode (\d{6})/,B=/^deleted file mode (\d{6}),(\d{6})/,H=t.replace(/\\ No newline at end of file/g,"").replace(/\r\n?/g,` +`).split(` +`);function ce(){i!==null&&n!==null&&(n.blocks.push(i),i=null)}function Pe(){n!==null&&(!n.oldName&&l!==null&&(n.oldName=l),!n.newName&&c!==null&&(n.newName=c),n.newName&&(r.push(n),n=null)),l=null,c=null}function ve(){ce(),Pe(),n={blocks:[],deletedLines:0,addedLines:0}}function ie(W){ce();let X;n!==null&&((X=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(W))?(n.isCombined=!1,s=parseInt(X[1],10),o=parseInt(X[2],10)):(X=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(W))?(n.isCombined=!0,s=parseInt(X[1],10),a=parseInt(X[2],10),o=parseInt(X[3],10)):(W.startsWith(d)&&console.error("Failed to parse lines, starting in 0!"),s=0,o=0,n.isCombined=!1)),i={lines:[],oldStartLine:s,oldStartLine2:a,newStartLine:o,header:W}}function xe(W){if(n===null||i===null||s===null||o===null)return;let X={content:W},q=n.isCombined?["+ "," +","++"]:["+"],De=n.isCombined?["- "," -","--"]:["-"];TO(W,q)?(n.addedLines++,X.type=rt.INSERT,X.oldNumber=void 0,X.newNumber=o++):TO(W,De)?(n.deletedLines++,X.type=rt.DELETE,X.oldNumber=s++,X.newNumber=void 0):(X.type=rt.CONTEXT,X.oldNumber=s++,X.newNumber=o++),i.lines.push(X)}function we(W,X){let q=X;for(;q{if(!W||W.startsWith("*"))return;let q,De=H[X-1],ar=H[X+1],Ft=H[X+2];if(W.startsWith("diff --git")||W.startsWith("diff --combined")){if(ve(),(q=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(W))&&(l=Vs(q[1],void 0,e.dstPrefix),c=Vs(q[2],void 0,e.srcPrefix)),n===null)throw new Error("Where is my file !!!");n.isGitDiff=!0;return}if(W.startsWith("Binary files")&&!(n!=null&&n.isGitDiff)){if(ve(),(q=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(W))&&(l=Vs(q[1],void 0,e.dstPrefix),c=Vs(q[2],void 0,e.srcPrefix)),n===null)throw new Error("Where is my file !!!");n.isBinary=!0;return}if((!n||!n.isGitDiff&&n&&W.startsWith(u)&&ar.startsWith(f)&&Ft.startsWith(d))&&ve(),n!=null&&n.isTooBig)return;if(n&&(typeof e.diffMaxChanges=="number"&&n.addedLines+n.deletedLines>e.diffMaxChanges||typeof e.diffMaxLineLength=="number"&&W.length>e.diffMaxLineLength)){n.isTooBig=!0,n.addedLines=0,n.deletedLines=0,n.blocks=[],i=null;let kt=typeof e.diffTooBigMessage=="function"?e.diffTooBigMessage(r.length):"Diff too big to be displayed";ie(kt);return}if(W.startsWith(u)&&ar.startsWith(f)||W.startsWith(f)&&De.startsWith(u)){if(n&&!n.oldName&&W.startsWith("--- ")&&(q=pV(W,e.srcPrefix))){n.oldName=q,n.language=CO(n.oldName,n.language);return}if(n&&!n.newName&&W.startsWith("+++ ")&&(q=mV(W,e.dstPrefix))){n.newName=q,n.language=CO(n.newName,n.language);return}}if(n&&(W.startsWith(d)||n.isGitDiff&&n.oldName&&n.newName&&!i)){ie(W);return}if(i&&(W.startsWith("+")||W.startsWith("-")||W.startsWith(" "))){xe(W);return}let Ie=!we(W,X);if(n===null)throw new Error("Where is my file !!!");(q=h.exec(W))?n.oldMode=q[1]:(q=m.exec(W))?n.newMode=q[1]:(q=g.exec(W))?(n.deletedFileMode=q[1],n.isDeleted=!0):(q=v.exec(W))?(n.newFileMode=q[1],n.isNew=!0):(q=w.exec(W))?(Ie&&(n.oldName=q[1]),n.isCopy=!0):(q=b.exec(W))?(Ie&&(n.newName=q[1]),n.isCopy=!0):(q=k.exec(W))?(Ie&&(n.oldName=q[1]),n.isRename=!0):(q=x.exec(W))?(Ie&&(n.newName=q[1]),n.isRename=!0):(q=S.exec(W))?(n.isBinary=!0,n.oldName=Vs(q[1],void 0,e.srcPrefix),n.newName=Vs(q[2],void 0,e.dstPrefix),ie("Binary file")):_.test(W)?(n.isBinary=!0,ie(W)):(q=E.exec(W))?n.unchangedPercentage=parseInt(q[1],10):(q=A.exec(W))?n.changedPercentage=parseInt(q[1],10):(q=y.exec(W))?(n.checksumBefore=q[1],n.checksumAfter=q[2],q[3]&&(n.mode=q[3])):(q=C.exec(W))?(n.checksumBefore=[q[2],q[3]],n.checksumAfter=q[1]):(q=P.exec(W))?(n.oldMode=[q[2],q[3]],n.newMode=q[1]):(q=N.exec(W))?(n.newFileMode=q[1],n.isNew=!0):(q=B.exec(W))&&(n.deletedFileMode=q[1],n.isDeleted=!0)}),ce(),Pe(),r}p();p();p();function vV(t,e){if(t.length===0)return e.length;if(e.length===0)return t.length;let r=[],n;for(n=0;n<=e.length;n++)r[n]=[n];let i;for(i=0;i<=t.length;i++)r[0][i]=i;for(n=1;n<=e.length;n++)for(i=1;i<=t.length;i++)e.charAt(n-1)===t.charAt(i-1)?r[n][i]=r[n-1][i-1]:r[n][i]=Math.min(r[n-1][i-1]+1,Math.min(r[n][i-1]+1,r[n-1][i]+1));return r[e.length][t.length]}function Ul(t){return(e,r)=>{let n=t(e).trim(),i=t(r).trim();return vV(n,i)/(n.length+i.length)}}function Gl(t){function e(n,i,s=new Map){let a=1/0,o;for(let l=0;l0||o.indexB>0)&&(k=v.concat(k)),(n.length>d||i.length>h)&&(k=k.concat(b)),k}return r}var qt={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},Ga={matching:SO.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:EO.WORD,colorScheme:Ua.LIGHT},yi="/",$O=Ul(t=>t.value),wV=Gl($O);function xy(t){return t.indexOf("dev/null")!==-1}function yV(t){return t.replace(/(]*>((.|\n)*?)<\/ins>)/g,"")}function bV(t){return t.replace(/(]*>((.|\n)*?)<\/del>)/g,"")}function jl(t){switch(t){case rt.CONTEXT:return qt.CONTEXT;case rt.INSERT:return qt.INSERTS;case rt.DELETE:return qt.DELETES}}function ql(t){switch(t){case Ua.DARK:return"d2h-dark-color-scheme";case Ua.AUTO:return"d2h-auto-color-scheme";case Ua.LIGHT:default:return"d2h-light-color-scheme"}}function _V(t){return t?2:1}function Ys(t){return t.slice(0).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function Sn(t,e,r=!0){let n=_V(e);return{prefix:t.substring(0,n),content:r?Ys(t.substring(n)):t.substring(n)}}function ja(t){let e=by(t.oldName),r=by(t.newName);if(e!==r&&!xy(e)&&!xy(r)){let n=[],i=[],s=e.split(yi),a=r.split(yi),o=s.length,l=a.length,c=0,u=o-1,f=l-1;for(;cc&&f>c&&s[u]===a[f];)i.unshift(a[f]),u-=1,f-=1;let d=n.join(yi),h=i.join(yi),m=s.slice(c,u+1).join(yi),g=a.slice(c,f+1).join(yi);return d.length&&h.length?d+yi+"{"+m+" \u2192 "+g+"}"+yi+h:d.length?d+yi+"{"+m+" \u2192 "+g+"}":h.length?"{"+m+" \u2192 "+g+"}"+yi+h:e+" \u2192 "+r}else return xy(r)?e:r}function Wl(t){return`d2h-${AO(ja(t)).toString().slice(-6)}`}function zl(t){let e="file-changed";return t.isRename||t.isCopy?e="file-renamed":t.isNew?e="file-added":t.isDeleted?e="file-deleted":t.newName!==t.oldName&&(e="file-renamed"),e}function Sp(t,e,r,n={}){let{matching:i,maxLineLengthHighlight:s,matchWordsThreshold:a,diffStyle:o}=Object.assign(Object.assign({},Ga),n),l=Sn(t,r,!1),c=Sn(e,r,!1);if(l.content.length>s||c.content.length>s)return{oldLine:{prefix:l.prefix,content:Ys(l.content)},newLine:{prefix:c.prefix,content:Ys(c.content)}};let u=o==="char"?Fv(l.content,c.content):Bv(l.content,c.content),f=[];if(o==="word"&&i==="words"){let h=u.filter(v=>v.removed),m=u.filter(v=>v.added);wV(m,h).forEach(v=>{v[0].length===1&&v[1].length===1&&$O(v[0][0],v[1][0]){let g=m.added?"ins":m.removed?"del":null,v=f.indexOf(m)>-1?' class="d2h-change"':"",w=Ys(m.value);return g!==null?`${h}<${g}${v}>${w}`:`${h}${w}`},"");return{oldLine:{prefix:l.prefix,content:yV(d)},newLine:{prefix:c.prefix,content:bV(d)}}}var IO="file-summary",xV="icon",SV={colorScheme:Ga.colorScheme},Ep=class{constructor(e,r={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},SV),r)}render(e){let r=e.map(n=>this.hoganUtils.render(IO,"line",{fileHtmlId:Wl(n),oldName:n.oldName,newName:n.newName,fileName:ja(n),deletedLines:"-"+n.deletedLines,addedLines:"+"+n.addedLines},{fileIcon:this.hoganUtils.template(xV,zl(n))})).join(` +`);return this.hoganUtils.render(IO,"wrapper",{colorScheme:ql(this.config.colorScheme),filesNumber:e.length,files:r})}};p();var Ey=Object.assign(Object.assign({},Ga),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),Yu="generic",FO="line-by-line",EV="icon",kV="tag",Xu=class{constructor(e,r={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},Ey),r)}render(e){let r=e.map(n=>{let i;return n.blocks.length?i=this.generateFileHtml(n):i=this.generateEmptyDiff(),this.makeFileDiffHtml(n,i)}).join(` +`);return this.hoganUtils.render(Yu,"wrapper",{colorScheme:ql(this.config.colorScheme),content:r})}makeFileDiffHtml(e,r){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&e.blocks.length===0)return"";let n=this.hoganUtils.template(FO,"file-diff"),i=this.hoganUtils.template(Yu,"file-path"),s=this.hoganUtils.template(EV,"file"),a=this.hoganUtils.template(kV,zl(e));return n.render({file:e,fileHtmlId:Wl(e),diffs:r,filePath:i.render({fileDiffName:ja(e)},{fileIcon:s,fileTag:a})})}generateEmptyDiff(){return this.hoganUtils.render(Yu,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:qt})}generateFileHtml(e){let r=Gl(Ul(n=>Sn(n.content,e.isCombined).content));return e.blocks.map(n=>{let i=this.hoganUtils.render(Yu,"block-header",{CSSLineClass:qt,blockHeader:e.isTooBig?n.header:Ys(n.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return this.applyLineGroupping(n).forEach(([s,a,o])=>{if(a.length&&o.length&&!s.length)this.applyRematchMatching(a,o,r).map(([l,c])=>{let{left:u,right:f}=this.processChangedLines(e,e.isCombined,l,c);i+=u,i+=f});else if(s.length)s.forEach(l=>{let{prefix:c,content:u}=Sn(l.content,e.isCombined);i+=this.generateSingleLineHtml(e,{type:qt.CONTEXT,prefix:c,content:u,oldNumber:l.oldNumber,newNumber:l.newNumber})});else if(a.length||o.length){let{left:l,right:c}=this.processChangedLines(e,e.isCombined,a,o);i+=l,i+=c}else console.error("Unknown state reached while processing groups of lines",s,a,o)}),i}).join(` +`)}applyLineGroupping(e){let r=[],n=[],i=[];for(let s=0;s0)&&(r.push([[],n,i]),n=[],i=[]),a.type===rt.CONTEXT?r.push([[a],[],[]]):a.type===rt.INSERT&&n.length===0?r.push([[],[],[a]]):a.type===rt.INSERT&&n.length>0?i.push(a):a.type===rt.DELETE&&n.push(a)}return(n.length||i.length)&&(r.push([[],n,i]),n=[],i=[]),r}applyRematchMatching(e,r,n){let i=e.length*r.length,s=xp(e.concat(r).map(o=>o.content.length));return i{let i;return n.blocks.length?i=this.generateFileHtml(n):i=this.generateEmptyDiff(),this.makeFileDiffHtml(n,i)}).join(` +`);return this.hoganUtils.render(Zu,"wrapper",{colorScheme:ql(this.config.colorScheme),content:r})}makeFileDiffHtml(e,r){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&e.blocks.length===0)return"";let n=this.hoganUtils.template(AV,"file-diff"),i=this.hoganUtils.template(Zu,"file-path"),s=this.hoganUtils.template(CV,"file"),a=this.hoganUtils.template(TV,zl(e));return n.render({file:e,fileHtmlId:Wl(e),diffs:r,filePath:i.render({fileDiffName:ja(e)},{fileIcon:s,fileTag:a})})}generateEmptyDiff(){return{right:"",left:this.hoganUtils.render(Zu,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:qt})}}generateFileHtml(e){let r=Gl(Ul(n=>Sn(n.content,e.isCombined).content));return e.blocks.map(n=>{let i={left:this.makeHeaderHtml(n.header,e),right:this.makeHeaderHtml("")};return this.applyLineGroupping(n).forEach(([s,a,o])=>{if(a.length&&o.length&&!s.length)this.applyRematchMatching(a,o,r).map(([l,c])=>{let{left:u,right:f}=this.processChangedLines(e.isCombined,l,c);i.left+=u,i.right+=f});else if(s.length)s.forEach(l=>{let{prefix:c,content:u}=Sn(l.content,e.isCombined),{left:f,right:d}=this.generateLineHtml({type:qt.CONTEXT,prefix:c,content:u,number:l.oldNumber},{type:qt.CONTEXT,prefix:c,content:u,number:l.newNumber});i.left+=f,i.right+=d});else if(a.length||o.length){let{left:l,right:c}=this.processChangedLines(e.isCombined,a,o);i.left+=l,i.right+=c}else console.error("Unknown state reached while processing groups of lines",s,a,o)}),i}).reduce((n,i)=>({left:n.left+i.left,right:n.right+i.right}),{left:"",right:""})}applyLineGroupping(e){let r=[],n=[],i=[];for(let s=0;s0)&&(r.push([[],n,i]),n=[],i=[]),a.type===rt.CONTEXT?r.push([[a],[],[]]):a.type===rt.INSERT&&n.length===0?r.push([[],[],[a]]):a.type===rt.INSERT&&n.length>0?i.push(a):a.type===rt.DELETE&&n.push(a)}return(n.length||i.length)&&(r.push([[],n,i]),n=[],i=[]),r}applyRematchMatching(e,r,n){let i=e.length*r.length,s=xp(e.concat(r).map(o=>o.content.length));return i'),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(n.rp("'),n.b(n.v(n.f("fileName",t,e,0))),n.b(""),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(' '),n.b(n.v(n.f("addedLines",t,e,0))),n.b(""),n.b(` +`+r),n.b(' '),n.b(n.v(n.f("deletedLines",t,e,0))),n.b(""),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(""),n.fl()},partials:{"'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(' Files changed ('),n.b(n.v(n.f("filesNumber",t,e,0))),n.b(")"),n.b(` +`+r),n.b(' hide'),n.b(` +`+r),n.b(' show'),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b('
    '),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("files",t,e,0))),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b(""),n.fl()},partials:{},subs:{}});gt["generic-block-header"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b(""),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b('
'),n.s(n.f("blockHeader",t,e,1),t,e,0,156,173,"{{ }}")&&(n.rs(t,e,function(i,s,a){a.b(a.t(a.f("blockHeader",i,s,0)))}),t.pop()),n.s(n.f("blockHeader",t,e,1),t,e,1,0,0,"")||n.b(" "),n.b("
"),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(""),n.fl()},partials:{},subs:{}});gt["generic-empty-diff"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b(""),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(" File without changes"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(""),n.fl()},partials:{},subs:{}});gt["generic-file-path"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b(''),n.b(` +`+r),n.b(n.rp("'),n.b(n.v(n.f("fileDiffName",t,e,0))),n.b(""),n.b(` +`+r),n.b(n.rp(""),n.b(` +`+r),n.b('"),n.fl()},partials:{""),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("lineNumber",t,e,0))),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.s(n.f("prefix",t,e,1),t,e,0,162,238,"{{ }}")&&(n.rs(t,e,function(i,s,a){a.b(' '),a.b(a.t(a.f("prefix",i,s,0))),a.b(""),a.b(` +`+r)}),t.pop()),n.s(n.f("prefix",t,e,1),t,e,1,0,0,"")||(n.b('  '),n.b(` +`+r)),n.s(n.f("content",t,e,1),t,e,0,371,445,"{{ }}")&&(n.rs(t,e,function(i,s,a){a.b(' '),a.b(a.t(a.f("content",i,s,0))),a.b(""),a.b(` +`+r)}),t.pop()),n.s(n.f("content",t,e,1),t,e,1,0,0,"")||(n.b('
'),n.b(` +`+r)),n.b("
"),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(""),n.fl()},partials:{},subs:{}});gt["generic-wrapper"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("content",t,e,0))),n.b(` +`+r),n.b("
"),n.fl()},partials:{},subs:{}});gt["icon-file-added"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});gt["icon-file-changed"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});gt["icon-file-deleted"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});gt["icon-file-renamed"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});gt["icon-file"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});gt["line-by-line-file-diff"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("filePath",t,e,0))),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("diffs",t,e,0))),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.fl()},partials:{},subs:{}});gt["line-by-line-numbers"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(n.v(n.f("oldNumber",t,e,0))),n.b("
"),n.b(` +`+r),n.b('
'),n.b(n.v(n.f("newNumber",t,e,0))),n.b("
"),n.fl()},partials:{},subs:{}});gt["side-by-side-file-diff"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("filePath",t,e,0))),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(" "),n.b(n.t(n.d("diffs.left",t,e,0))),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(" "),n.b(n.t(n.d("diffs.right",t,e,0))),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.fl()},partials:{},subs:{}});gt["tag-file-added"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('ADDED'),n.fl()},partials:{},subs:{}});gt["tag-file-changed"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('CHANGED'),n.fl()},partials:{},subs:{}});gt["tag-file-deleted"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('DELETED'),n.fl()},partials:{},subs:{}});gt["tag-file-renamed"]=new _t.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('RENAMED'),n.fl()},partials:{},subs:{}});var Qu=class{constructor({compiledTemplates:e={},rawTemplates:r={}}){let n=Object.entries(r).reduce((i,[s,a])=>{let o=Py.compile(a,{asString:!1});return Object.assign(Object.assign({},i),{[s]:o})},{});this.preCompiledTemplates=Object.assign(Object.assign(Object.assign({},gt),e),n)}static compile(e){return Py.compile(e,{asString:!1})}render(e,r,n,i,s){let a=this.templateKey(e,r);try{return this.preCompiledTemplates[a].render(n,i,s)}catch(o){throw new Error(`Could not find template to render '${a}'`)}}template(e,r){return this.preCompiledTemplates[this.templateKey(e,r)]}templateKey(e,r){return`${e}-${r}`}};var RV=Object.assign(Object.assign(Object.assign({},Ey),ky),{outputFormat:xO.LINE_BY_LINE,drawFileList:!0});function Ap(t,e={}){let r=Object.assign(Object.assign({},RV),e),n=typeof t=="string"?RO(t,r):t,i=new Qu(r),{colorScheme:s}=r,a={colorScheme:s},o=r.drawFileList?new Ep(i,a).render(n):"",l=r.outputFormat==="side-by-side"?new Ku(i,r).render(n):new Xu(i,r).render(n);return o+l}var UO=Ct(BO());var qa=require("obsidian"),Ry=Ju.StateEffect.define();function Xs(t,e){let r=t.state,n=r.field(Tp),i=r.field($r),s=r.doc.lineAt(e!=null?e:r.selection.main.head).number,a=Nt.findHunk(s,i==null?void 0:i.hunks)[0];if(!a)return;let o=r.doc.line(Math.max(1,a.added.start)).from,l=n.has(o);return r.field(qa.editorEditorField).dispatch({effects:Ry.of({pos:o,add:!l})})}var Tp=Ju.StateField.define({create:()=>new Set,update(t,e){let r=new Set;for(let n of e.effects)n.is(Ry)&&(n.value.add?t.add(n.value.pos):t.delete(n.value.pos));for(let n of t)r.add(e.changes.mapPos(n));return r}}),GO=Ju.StateField.define({create:t=>HO(t),update(t,e){return e.docChanged||e.effects.some(r=>r.is(Hl)||r.is(Ry))?HO(e.state):t},provide:t=>Cp.showTooltip.computeN([t],e=>e.field(t))}),jO=Cp.EditorView.baseTheme({".cm-tooltip.git-diff-tooltip":{"z-index":"var(--layer-popover)",backgroundColor:"var(--background-primary-alt)",border:"var(--border-width) solid var(--background-primary-alt)",borderRadius:"var(--radius-s)"},".cm-tooltip.git-diff-tooltip .tooltip-toolbar":{display:"flex",padding:"var(--size-2-1)"}});function HO(t){let e=t.field($r);return e?[...t.field(Tp)].map(n=>{let i=t.doc.lineAt(n),s=Nt.findHunk(i.number,e.hunks)[0];if(s)return{pos:n,above:!1,arrow:!1,strictSide:!0,clip:!1,create:()=>$V(s,t,n)}}).filter(n=>n!==void 0):[]}function $V(t,e,r){var g,v;let n=Nt.createPatch("file",[t],"10064",!1).join(` +`)+` +`,i=Ap(n,{colorScheme:UO.ColorSchemeType.AUTO,diffStyle:"word",drawFileList:!1}),s=new DOMParser().parseFromString(i,"text/html").querySelector(".d2h-file-diff"),a=document.createElement("div"),o=document.createElement("div");o.addClass("tooltip-toolbar");let l=(w,b)=>{let k=document.createElement("div");return(0,qa.setIcon)(k,w),k.setAttr("aria-label",b),k.addClass("clickable-icon"),k},c=l("x","Close hunk"),u=l("plus","Stage hunk"),f=l("undo","Reset hunk");o.appendChild(c),o.appendChild(u),o.appendChild(f),a.appendChild(o),a.appendChild(s),a.addClass("git-diff-tooltip","git-diff");let d=e.field(qa.editorEditorField);c.onclick=()=>{Xs(d,r)},u.onclick=()=>{let w=Ln.plugin;w&&(w.promiseQueue.addTask(()=>w.hunkActions.stageHunk(r)),Xs(d,r))},f.onclick=()=>{let w=Ln.plugin;w&&(w.hunkActions.resetHunk(r),Xs(d,r))};let h=(v=(g=Ln.plugin)==null?void 0:g.app.workspace.getActiveViewOfType(qa.MarkdownView))==null?void 0:v.scope,m=h==null?void 0:h.register(null,"Escape",(w,b)=>{Xs(d,r)});return{dom:a,destroy:()=>{m&&(h==null||h.unregister(m))},update:w=>{r=w.changes.mapPos(r)}}}function qO(t){let e=t.app;t.addCommand({id:"edit-gitignore",name:"Edit .gitignore",callback:async()=>{let r=t.gitManager.getRelativeVaultPath(".gitignore");await e.vault.adapter.exists(r)||await e.vault.adapter.write(r,"");let n=await e.vault.adapter.read(r),s=await new dp(e,n).openAndGetReslt();s!==void 0&&(await e.vault.adapter.write(r,s),await t.refresh())}}),t.addCommand({id:"open-git-view",name:"Open source control view",callback:async()=>{var i;let r=e.workspace.getLeavesOfType(jt.type),n;r.length===0?(n=(i=e.workspace.getRightLeaf(!1))!=null?i:e.workspace.getLeaf(),await n.setViewState({type:jt.type})):n=r.first(),await e.workspace.revealLeaf(n),e.workspace.trigger("obsidian-git:refresh")}}),t.addCommand({id:"open-history-view",name:"Open history view",callback:async()=>{var i;let r=e.workspace.getLeavesOfType(gn.type),n;r.length===0?(n=(i=e.workspace.getRightLeaf(!1))!=null?i:e.workspace.getLeaf(),await n.setViewState({type:gn.type})):n=r.first(),await e.workspace.revealLeaf(n),e.workspace.trigger("obsidian-git:refresh")}}),t.addCommand({id:"open-diff-view",name:"Open diff view",checkCallback:r=>{let n=e.workspace.getActiveFile();if(r)return n!==null;{let i=t.gitManager.getRelativeRepoPath(n.path,!0);t.tools.openDiff({aFile:i,aRef:""})}}}),t.addCommand({id:"view-file-on-github",name:"Open file on GitHub",editorCallback:(r,{file:n})=>{if(n)return IF(r,n,t.gitManager)}}),t.addCommand({id:"view-history-on-github",name:"Open file history on GitHub",editorCallback:(r,{file:n})=>{if(n)return FF(n,t.gitManager)}}),t.addCommand({id:"pull",name:"Pull",callback:()=>t.promiseQueue.addTask(()=>t.pullChangesFromRemote())}),t.addCommand({id:"fetch",name:"Fetch",callback:()=>t.promiseQueue.addTask(()=>t.fetch())}),t.addCommand({id:"switch-to-remote-branch",name:"Switch to remote branch",callback:()=>t.promiseQueue.addTask(()=>t.switchRemoteBranch())}),t.addCommand({id:"add-to-gitignore",name:"Add file to .gitignore",checkCallback:r=>{let n=e.workspace.getActiveFile();if(r)return n!==null;t.addFileToGitignore(n.path,n instanceof jn.TFolder).catch(i=>t.displayError(i))}}),t.addCommand({id:"push",name:"Commit-and-sync",callback:()=>t.promiseQueue.addTask(()=>t.commitAndSync({fromAutoBackup:!1}))}),t.addCommand({id:"backup-and-close",name:"Commit-and-sync and then close Obsidian",callback:()=>t.promiseQueue.addTask(async()=>{await t.commitAndSync({fromAutoBackup:!1}),window.close()})}),t.addCommand({id:"commit-push-specified-message",name:"Commit-and-sync with specific message",callback:()=>t.promiseQueue.addTask(()=>t.commitAndSync({fromAutoBackup:!1,requestCustomMessage:!0}))}),t.addCommand({id:"commit",name:"Commit all changes",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1}))}),t.addCommand({id:"commit-specified-message",name:"Commit all changes with specific message",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0}))}),t.addCommand({id:"commit-smart",name:"Commit",callback:()=>t.promiseQueue.addTask(async()=>{let n=(await t.updateCachedStatus()).staged.length>0;return t.commit({fromAuto:!1,requestCustomMessage:!1,onlyStaged:n})})}),t.addCommand({id:"commit-staged",name:"Commit staged",checkCallback:function(r){if(r)return!1;t.promiseQueue.addTask(async()=>t.commit({fromAuto:!1,requestCustomMessage:!1}))}}),jn.Platform.isDesktopApp&&t.addCommand({id:"commit-amend-staged-specified-message",name:"Amend staged",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:!0,amend:!0}))}),t.addCommand({id:"commit-smart-specified-message",name:"Commit with specific message",callback:()=>t.promiseQueue.addTask(async()=>{let n=(await t.updateCachedStatus()).staged.length>0;return t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:n})})}),t.addCommand({id:"commit-staged-specified-message",name:"Commit staged with specific message",checkCallback:function(r){return r?!1:t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:!0}))}}),t.addCommand({id:"push2",name:"Push",callback:()=>t.promiseQueue.addTask(()=>t.push())}),t.addCommand({id:"stage-current-file",name:"Stage current file",checkCallback:r=>{let n=e.workspace.getActiveFile();if(r)return n!==null;t.promiseQueue.addTask(()=>t.stageFile(n))}}),t.addCommand({id:"unstage-current-file",name:"Unstage current file",checkCallback:r=>{let n=e.workspace.getActiveFile();if(r)return n!==null;t.promiseQueue.addTask(()=>t.unstageFile(n))}}),t.addCommand({id:"edit-remotes",name:"Edit remotes",callback:()=>t.editRemotes().catch(r=>t.displayError(r))}),t.addCommand({id:"remove-remote",name:"Remove remote",callback:()=>t.removeRemote().catch(r=>t.displayError(r))}),t.addCommand({id:"set-upstream-branch",name:"Set upstream branch",callback:()=>t.setUpstreamBranch().catch(r=>t.displayError(r))}),t.addCommand({id:"delete-repo",name:"CAUTION: Delete repository",callback:async()=>{await e.vault.adapter.exists(`${t.settings.basePath}/.git`)?await new Ze(t,{options:["NO","YES"],placeholder:"Do you really want to delete the repository (.git directory)? plugin action cannot be undone.",onlySelection:!0}).openAndGetResult()==="YES"&&(await e.vault.adapter.rmdir(`${t.settings.basePath}/.git`,!0),new jn.Notice("Successfully deleted repository. Reloading plugin..."),t.unloadPlugin(),await t.init({fromReload:!0})):new jn.Notice("No repository found")}}),t.addCommand({id:"init-repo",name:"Initialize a new repo",callback:()=>t.createNewRepo().catch(r=>t.displayError(r))}),t.addCommand({id:"clone-repo",name:"Clone an existing remote repo",callback:()=>t.cloneNewRepo().catch(r=>t.displayError(r))}),t.addCommand({id:"list-changed-files",name:"List changed files",callback:async()=>{if(await t.isAllInitialized())try{let r=await t.updateCachedStatus();if(r.changed.length+r.staged.length>500){t.displayError("Too many changes to display");return}new fp(t,r.all).open()}catch(r){t.displayError(r)}}}),t.addCommand({id:"switch-branch",name:"Switch branch",callback:()=>{t.switchBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"create-branch",name:"Create new branch",callback:()=>{t.createBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"delete-branch",name:"Delete branch",callback:()=>{t.deleteBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"discard-all",name:"CAUTION: Discard all changes",callback:async()=>{let r=await t.discardAll();switch(r){case"discard":new jn.Notice("Discarded all changes in tracked files.");break;case"delete":new jn.Notice("Discarded all files.");break;case!1:break;default:Eh(r)}}}),t.addCommand({id:"pause-automatic-routines",name:"Pause/Resume automatic routines",callback:()=>{let r=!t.localStorage.getPausedAutomatics();t.localStorage.setPausedAutomatics(r),r?(t.automaticsManager.unload(),new jn.Notice("Paused automatic routines.")):(t.automaticsManager.reload("commit","push","pull"),new jn.Notice("Resumed automatic routines."))}}),t.addCommand({id:"raw-command",name:"Raw command",checkCallback:r=>{let n=t.gitManager;if(r)return n instanceof Se;t.tools.runRawCommand().catch(i=>t.displayError(i))}}),t.addCommand({id:"toggle-line-author-info",name:"Toggle line author information",callback:()=>{var r;return(r=t.settingsTab)==null?void 0:r.configureLineAuthorShowStatus(!t.settings.lineAuthor.show)}}),t.addCommand({id:"reset-hunk",name:"Reset hunk",editorCheckCallback(r,n,i){if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;t.hunkActions.resetHunk()}}),t.addCommand({id:"stage-hunk",name:"Stage hunk",editorCheckCallback:(r,n,i)=>{if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;t.promiseQueue.addTask(()=>t.hunkActions.stageHunk())}}),t.addCommand({id:"preview-hunk",name:"Preview hunk",editorCheckCallback:(r,n,i)=>{if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;let s=t.hunkActions.editor.editor;Xs(s)}}),t.addCommand({id:"next-hunk",name:"Go to next hunk",editorCheckCallback:(r,n,i)=>{if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;t.hunkActions.goToHunk("next")}}),t.addCommand({id:"prev-hunk",name:"Go to previous hunk",editorCheckCallback:(r,n,i)=>{if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;t.hunkActions.goToHunk("prev")}})}p();var Pp=class{constructor(e){this.plugin=e;this.prefix=this.plugin.manifest.id+":",this.app=e.app}migrate(){let e=["password","hostname","conflict","lastAutoPull","lastAutoBackup","lastAutoPush","gitPath","pluginDisabled"];for(let r of e){let n=localStorage.getItem(this.prefix+r);this.app.loadLocalStorage(this.prefix+r)==null&&n!=null&&n!=null&&(this.app.saveLocalStorage(this.prefix+r,n),localStorage.removeItem(this.prefix+r))}}getPassword(){return this.app.loadLocalStorage(this.prefix+"password")}setPassword(e){return this.app.saveLocalStorage(this.prefix+"password",e)}getUsername(){return this.app.loadLocalStorage(this.prefix+"username")}setUsername(e){return this.app.saveLocalStorage(this.prefix+"username",e)}getHostname(){return this.app.loadLocalStorage(this.prefix+"hostname")}setHostname(e){return this.app.saveLocalStorage(this.prefix+"hostname",e)}getConflict(){return this.app.loadLocalStorage(this.prefix+"conflict")=="true"}setConflict(e){return this.app.saveLocalStorage(this.prefix+"conflict",`${e}`)}getLastAutoPull(){return this.app.loadLocalStorage(this.prefix+"lastAutoPull")}setLastAutoPull(e){return this.app.saveLocalStorage(this.prefix+"lastAutoPull",e)}getLastAutoBackup(){return this.app.loadLocalStorage(this.prefix+"lastAutoBackup")}setLastAutoBackup(e){return this.app.saveLocalStorage(this.prefix+"lastAutoBackup",e)}getLastAutoPush(){return this.app.loadLocalStorage(this.prefix+"lastAutoPush")}setLastAutoPush(e){return this.app.saveLocalStorage(this.prefix+"lastAutoPush",e)}getGitPath(){return this.app.loadLocalStorage(this.prefix+"gitPath")}setGitPath(e){return this.app.saveLocalStorage(this.prefix+"gitPath",e)}getPATHPaths(){var e,r;return(r=(e=this.app.loadLocalStorage(this.prefix+"PATHPaths"))==null?void 0:e.split(":"))!=null?r:[]}setPATHPaths(e){return this.app.saveLocalStorage(this.prefix+"PATHPaths",e.join(":"))}getEnvVars(){var e;return JSON.parse((e=this.app.loadLocalStorage(this.prefix+"envVars"))!=null?e:"[]")}setEnvVars(e){return this.app.saveLocalStorage(this.prefix+"envVars",JSON.stringify(e))}getPluginDisabled(){return this.app.loadLocalStorage(this.prefix+"pluginDisabled")=="true"}setPluginDisabled(e){return this.app.saveLocalStorage(this.prefix+"pluginDisabled",`${e}`)}getPausedAutomatics(){return this.app.loadLocalStorage(this.prefix+"pausedAutomatics")=="true"}setPausedAutomatics(e){return this.app.saveLocalStorage(this.prefix+"pausedAutomatics",`${e}`)}};p();var Vl=require("obsidian");var ef=class{constructor(e){this.plugin=e}async hasTooBigFiles(e){let r=await this.plugin.gitManager.branchInfo(),n=r.tracking?Qi(r.tracking)[0]:null;if(!n)return!1;let i=await this.plugin.gitManager.getRemoteUrl(n);if(i!=null&&i.includes("github.com")){let s=[],a=this.plugin.gitManager;for(let o of e){let l=this.plugin.app.vault.getAbstractFileByPath(o.vaultPath),c=!1;if(l instanceof Vl.TFile)l.stat.size>=1e8&&(c=!0);else{let u=await this.plugin.app.vault.adapter.stat(o.vaultPath);u&&u.size>=1e8&&(c=!0)}if(c){let u=!1;a instanceof Se&&(u=await a.isFileTrackedByLFS(o.path)),u||s.push(o)}}if(s.length>0)return this.plugin.displayError(`Aborted commit, because the following files are too big: +- ${s.map(o=>o.vaultPath).join(` +- `)} +Please remove them or add to .gitignore.`),!0}return!1}async writeAndOpenFile(e){e!==void 0&&await this.plugin.app.vault.adapter.write(ol,e);let r=!1;this.plugin.app.workspace.iterateAllLeaves(n=>{n.getDisplayText()!=""&&ol.startsWith(n.getDisplayText())&&(r=!0)}),r||await this.plugin.app.workspace.openLinkText(ol,"/",!0)}openDiff({aFile:e,bFile:r,aRef:n,bRef:i,event:s}){var l,c;let a=this.plugin.settings.diffStyle;Vl.Platform.isMobileApp&&(a="git_unified");let o={aFile:e,bFile:r!=null?r:e,aRef:n,bRef:i};a=="split"?(l=Bn(this.plugin.app,s))==null||l.setViewState({type:Ns.type,active:!0,state:o}):a=="git_unified"&&((c=Bn(this.plugin.app,s))==null||c.setViewState({type:Bs.type,active:!0,state:o}))}async runRawCommand(){let e=this.plugin.gitManager;if(!(e instanceof Se))return;let n=await new Ze(this.plugin,{placeholder:"push origin master",allowEmpty:!1}).openAndGetResult();n!==void 0&&this.plugin.promiseQueue.addTask(async()=>{let i=new Vl.Notice(`Running '${n}'...`,999999);try{let s=await e.rawCommand(n);s?(i.setMessage(s),window.setTimeout(()=>i.hide(),5e3)):i.hide()}catch(s){throw i.hide(),s}})}};p();var Rp=require("obsidian");var Wa=class extends Rp.ItemView{constructor(r,n){super(r);this.plugin=n;this.gettingDiff=!1;this.parser=new DOMParser,this.navigation=!0,this.contentEl.addClass("git-diff"),this.gitRefreshRef=this.app.workspace.on("obsidian-git:status-changed",()=>{this.refresh().catch(console.error)})}getViewType(){return Bs.type}getDisplayText(){var r;if(((r=this.state)==null?void 0:r.bFile)!=null){let n=this.state.bFile.split("/").last();return n!=null&&n.endsWith(".md")&&(n=n.slice(0,-3)),`Diff: ${n}`}return Bs.name}getIcon(){return Bs.icon}async setState(r,n){this.state=r,Rp.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await this.refresh()}getState(){return this.state}onClose(){return this.app.workspace.offref(this.gitRefreshRef),this.app.workspace.offref(this.gitViewRefreshRef),super.onClose()}async onOpen(){return await this.refresh(),super.onOpen()}async refresh(){var r;if((r=this.state)!=null&&r.bFile&&!this.gettingDiff&&this.plugin.gitManager){this.gettingDiff=!0;try{let n=await this.plugin.gitManager.getDiffString(this.state.bFile,this.state.aRef=="HEAD",this.state.bRef);this.contentEl.empty();let i=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);if(!n){if(this.plugin.gitManager instanceof Se&&await this.plugin.gitManager.isTracked(this.state.bFile))n=[`--- ${this.state.aFile}`,`+++ ${this.state.bFile}`,""].join(` +`);else if(await this.app.vault.adapter.exists(i)){let s=await this.app.vault.adapter.read(i);n=[...`--- /dev/null ++++ ${this.state.bFile} +@@ -0,0 +1,${s.split(` +`).length} @@`.split(` +`),...s.split(` +`).map(o=>`+${o}`)].join(` +`)}}if(n){let s=this.parser.parseFromString(Ap(n),"text/html").querySelector(".d2h-file-diff");this.contentEl.append(s)}else{let s=this.contentEl.createDiv({cls:"obsidian-git-center"});s.createSpan({text:"\u26A0\uFE0F",attr:{style:"font-size: 2em"}}),s.createEl("br"),s.createSpan({text:"File not found: "+this.state.bFile})}}finally{this.gettingDiff=!1}}}};p();var rs=require("obsidian");var Xl=require("@codemirror/commands");var $p=require("@codemirror/search"),Yl=require("@codemirror/state"),kn=require("@codemirror/view");var za=class extends rs.ItemView{constructor(r,n){super(r);this.plugin=n;this.refreshing=!1;this.ignoreNextModification=!1;this.navigation=!0,this.registerEvent(this.app.workspace.on("obsidian-git:status-changed",()=>{this.mergeView?this.updateRefEditors().catch(console.error):this.createMergeView().catch(console.error)})),this.intervalRef=window.setInterval(()=>{this.mergeView&&this.updateRefEditors().catch(console.error)},30*1e3),this.registerEvent(this.app.vault.on("modify",i=>{this.state.bRef==null&&i.path===this.state.bFile&&(this.ignoreNextModification?this.ignoreNextModification=!1:this.updateModifiableEditor().catch(console.error))})),this.registerEvent(this.app.vault.on("delete",i=>{this.state.bRef==null&&i.path===this.state.bFile&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("create",i=>{this.state.bRef==null&&i.path===this.state.bFile&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("rename",(i,s)=>{this.state.bRef==null&&(i.path===this.state.bFile||s===this.state.bFile)&&this.createMergeView().catch(console.error)})),this.fileSaveDebouncer=(0,rs.debounce)(i=>{let s=this.state.bFile;s&&(this.ignoreNextModification=!0,this.plugin.app.vault.adapter.write(this.plugin.gitManager.getRelativeVaultPath(s),i).catch(a=>this.plugin.displayError(a)))},1e3,!1)}getViewType(){return Ns.type}getDisplayText(){var r;if(((r=this.state)==null?void 0:r.bFile)!=null){let n=this.state.bFile.split("/").last();n!=null&&n.endsWith(".md")&&(n=n.slice(0,-3));let i;return this.state.bRef==null?i=" (Working Tree)":this.state.bRef==""?i=" (Index)":i="("+this.state.bRef.substring(0,7)+")",`Diff: ${n} ${i}`}return Ns.name}getIcon(){return Ns.icon}async setState(r,n){this.state=r,rs.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await super.setState(r,n),await this.createMergeView()}getState(){return this.state}onClose(){return window.clearInterval(this.intervalRef),super.onClose()}async onOpen(){return await this.createMergeView(),super.onOpen()}async gitShow(r,n){try{return await this.plugin.gitManager.show(r,n,!1)}catch(i){if(i instanceof Pr&&(i.message.includes("does not exist")||i.message.includes("unknown revision or path")||i.message.includes("exists on disk, but not in")||i.message.includes("fatal: bad object")))return i.message.includes("fatal: bad object")&&this.plugin.displayError(i.message),"";throw i}}async bShouldBeEditable(){if(this.state.bRef!=null)return!1;let r=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);return await this.app.vault.adapter.exists(r)}async updateModifiableEditor(){if(!this.mergeView||this.refreshing)return;let r=this.mergeView.b;this.refreshing=!0;let n=await this.app.vault.adapter.read(this.state.bFile);if(n!=r.state.doc.toString()){let i=r.state.update({changes:{from:0,to:r.state.doc.length,insert:n},annotations:[Yl.Transaction.remote.of(!0)]});r.dispatch(i)}this.refreshing=!1}async updateRefEditors(){if(!this.mergeView||this.refreshing)return;let r=this.mergeView.a,n=this.mergeView.b;this.refreshing=!0;let i=await this.gitShow(this.state.aRef,this.state.aFile),s;if(this.state.bRef!=null&&(s=await this.gitShow(this.state.bRef,this.state.bFile)),i!=r.state.doc.toString()){let a=r.state.update({changes:{from:0,to:r.state.doc.length,insert:i}});r.dispatch(a)}if(s!=null&&s!=n.state.doc.toString()){let a=n.state.update({changes:{from:0,to:n.state.doc.length,insert:s}});n.dispatch(a)}this.refreshing=!1}renderButtons(){let r=document.createElement("div"),n=r.createDiv();if(n.addClass("clickable-icon"),n.setAttr("aria-label",this.state.bRef==null?"Stage hunk":"Unstage hunk"),(0,rs.setIcon)(n,this.state.bRef==null?"plus":"minus"),n.onmousedown=async i=>{var h;let s=this.mergeView.b,a=this.mergeView.a,o=my(s.state),l=(h=r.parentElement)==null?void 0:h.indexOf(r),c=o.chunks[l],u=wy(c,a.state.doc,s.state.doc),f=vy(this.mergeView.a.state.doc.toString(),this.mergeView.b.state.doc.toString(),[u])[0],d=Nt.createPatch(this.state.bFile,[f],"100644",this.state.bRef!=null).join(` +`)+` +`;await this.plugin.gitManager.applyPatch(d),this.plugin.app.workspace.trigger("obsidian-git:refresh")},this.state.bRef==null){let i=r.createDiv();i.addClass("clickable-icon"),i.setAttr("aria-label","Reset hunk"),(0,rs.setIcon)(i,"undo"),i.onmousedown=s=>{var f;let a=this.mergeView.a,o=this.mergeView.b,l=my(o.state),c=(f=r.parentElement)==null?void 0:f.indexOf(r),u=l.chunks[c];if(u){let d=u.fromA,h=u.toA,m=u.fromB,g=u.toB,v=a.state.sliceDoc(d,Math.max(d,h-1));d!=h&&g<=o.state.doc.length&&(v+=a.state.lineBreak),o.dispatch({changes:{from:m,to:Math.min(o.state.doc.length,g),insert:v},userEvent:"revert"})}}}return r.onmousedown=i=>{i.preventDefault(),i.stopPropagation()},r}async createMergeView(){var r,n,i;if((r=this.state)!=null&&r.aFile&&((n=this.state)!=null&&n.bFile)&&!this.refreshing&&this.plugin.gitManager){this.refreshing=!0,(i=this.mergeView)==null||i.destroy();let s=this.containerEl.children[1];s.empty(),this.contentEl.addClass("git-split-diff-view","git-diff"),this.bIsEditable=await this.bShouldBeEditable();let a=await this.gitShow(this.state.aRef,this.state.aFile),o;if(this.state.bRef!=null)o=await this.gitShow(this.state.bRef,this.state.bFile);else{let g=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);await this.app.vault.adapter.exists(g)?o=await this.app.vault.adapter.read(g):o=""}let l=[(0,kn.lineNumbers)(),(0,$p.highlightSelectionMatches)(),(0,kn.drawSelection)(),kn.keymap.of([...Xl.standardKeymap,Xl.indentWithTab]),(0,Xl.history)(),(0,$p.search)(),kn.EditorView.lineWrapping],c=this,u=kn.ViewPlugin.define(g=>({update(v){if(v.docChanged&&!v.transactions.some(w=>w.annotation(Yl.Transaction.remote))){let w=g.state.doc.toString();c.fileSaveDebouncer(w)}}})),f={doc:a,extensions:[...l,kn.EditorView.editable.of(!1),Yl.EditorState.readOnly.of(!0)]},d=[...l];this.bIsEditable?d.push(u):d.push(kn.EditorView.editable.of(!1),Yl.EditorState.readOnly.of(!0));let h={doc:o,extensions:d};s.addClasses(["cm-s-obsidian","mod-cm6","markdown-source-view","cm-content"]);let m=this.plugin.gitManager instanceof Se&&(this.state.bRef===void 0||this.state.bRef==="");this.mergeView=new bp({b:h,a:f,collapseUnchanged:{minSize:6,margin:4},renderRevertControl:m?()=>this.renderButtons():void 0,revertControls:m?"a-to-b":void 0,diffConfig:{scanLimit:this.bIsEditable?1e3:1e4},parent:s}),this.refreshing=!1}}};p();var _D=require("obsidian");p();p();p();var WO="5";var zO,VO,YO;typeof window!="undefined"&&((YO=(VO=(zO=window.__svelte)!=null?zO:window.__svelte={}).v)!=null?YO:VO.v=new Set).add(WO);p();p();p();var tf="[",bi="[!",Va="]",ns={};var Ke=Symbol(),An=Symbol("filename"),XO=Symbol("hmr"),ZO="http://www.w3.org/1999/xhtml";p();p();p();p();var Ip=!0;p();var L=!1;p();var is=Array.isArray,KO=Array.prototype.indexOf,qn=Array.prototype.includes,Zl=Array.from,$y=Object.keys,Jt=Object.defineProperty,Ir=Object.getOwnPropertyDescriptor,Iy=Object.getOwnPropertyDescriptors,Fy=Object.prototype,QO=Array.prototype,Kl=Object.getPrototypeOf,Oy=Object.isExtensible;function My(t){return typeof t=="function"}var Fr=()=>{};function Fp(t){for(var e=0;e{t=n,e=i});return{promise:r,resolve:t,reject:e}}p();p();var Wt=Symbol("$state"),rf=Symbol("legacy props"),JO=Symbol(""),Mp=Symbol("proxy path"),_i=new class extends Error{constructor(){super(...arguments);qe(this,"name","StaleReactionError");qe(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Ql=3,Or=8;p();p();function Dp(t){if(L){let e=new Error(`lifecycle_outside_component +\`${t}(...)\` can only be used during component initialisation +https://svelte.dev/e/lifecycle_outside_component`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function eM(){if(L){let t=new Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/async_derived_orphan")}function Dy(){if(L){let t=new Error("bind_invalid_checkbox_value\nUsing `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\nhttps://svelte.dev/e/bind_invalid_checkbox_value");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/bind_invalid_checkbox_value")}function tM(){if(L){let t=new Error(`derived_references_self +A derived value cannot reference itself recursively +https://svelte.dev/e/derived_references_self`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/derived_references_self")}function Ly(t,e,r){if(L){let n=new Error(`each_key_duplicate +${r?`Keyed each block has duplicate key \`${r}\` at indexes ${t} and ${e}`:`Keyed each block has duplicate key at indexes ${t} and ${e}`} +https://svelte.dev/e/each_key_duplicate`);throw n.name="Svelte error",n}else throw new Error("https://svelte.dev/e/each_key_duplicate")}function rM(t){if(L){let e=new Error(`effect_in_teardown +\`${t}\` cannot be used inside an effect cleanup function +https://svelte.dev/e/effect_in_teardown`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/effect_in_teardown")}function nM(){if(L){let t=new Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function iM(t){if(L){let e=new Error(`effect_orphan +\`${t}\` can only be used inside an effect (e.g. during component initialisation) +https://svelte.dev/e/effect_orphan`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/effect_orphan")}function sM(){if(L){let t=new Error(`effect_update_depth_exceeded +Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state +https://svelte.dev/e/effect_update_depth_exceeded`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function aM(){if(L){let t=new Error(`hydration_failed +Failed to hydrate the application +https://svelte.dev/e/hydration_failed`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/hydration_failed")}function oM(t){if(L){let e=new Error(`props_invalid_value +Cannot do \`bind:${t}={undefined}\` when \`${t}\` has a fallback value +https://svelte.dev/e/props_invalid_value`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/props_invalid_value")}function lM(t){if(L){let e=new Error(`rune_outside_svelte +The \`${t}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files +https://svelte.dev/e/rune_outside_svelte`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/rune_outside_svelte")}function cM(){if(L){let t=new Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function uM(){if(L){let t=new Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_prototype_fixed")}function fM(){if(L){let t=new Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function dM(){if(L){let t=new Error("svelte_boundary_reset_onerror\nA `` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}p();p();p();var Zs="font-weight: bold",Ks="font-weight: normal";function hM(t,e){L?console.warn(`%c[svelte] await_waterfall +%cAn async derived, \`${t}\` (${e}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app +https://svelte.dev/e/await_waterfall`,Zs,Ks):console.warn("https://svelte.dev/e/await_waterfall")}function pM(t,e,r){L?console.warn(`%c[svelte] hydration_attribute_changed +%cThe \`${t}\` attribute on \`${e}\` changed its value between server and client renders. The client value, \`${r}\`, will be ignored in favour of the server value +https://svelte.dev/e/hydration_attribute_changed`,Zs,Ks):console.warn("https://svelte.dev/e/hydration_attribute_changed")}function Ya(t){L?console.warn(`%c[svelte] hydration_mismatch +%c${t?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${t}`:"Hydration failed because the initial UI does not match what was rendered on the server"} +https://svelte.dev/e/hydration_mismatch`,Zs,Ks):console.warn("https://svelte.dev/e/hydration_mismatch")}function mM(){L?console.warn(`%c[svelte] lifecycle_double_unmount +%cTried to unmount a component that was not mounted +https://svelte.dev/e/lifecycle_double_unmount`,Zs,Ks):console.warn("https://svelte.dev/e/lifecycle_double_unmount")}function Lp(t){L?console.warn(`%c[svelte] state_proxy_equality_mismatch +%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${t}\` will produce unexpected results +https://svelte.dev/e/state_proxy_equality_mismatch`,Zs,Ks):console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function gM(){L?console.warn(`%c[svelte] state_proxy_unmount +%cTried to unmount a state proxy, rather than a component +https://svelte.dev/e/state_proxy_unmount`,Zs,Ks):console.warn("https://svelte.dev/e/state_proxy_unmount")}function vM(){L?console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",Zs,Ks):console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function wM(t){L?console.warn(`%c[svelte] transition_slide_display +%cThe \`slide\` transition does not work correctly for elements with \`display: ${t}\` +https://svelte.dev/e/transition_slide_display`,Zs,Ks):console.warn("https://svelte.dev/e/transition_slide_display")}var re=!1;function Bt(t){re=t}var ge;function Ge(t){if(t===null)throw Ya(),ns;return ge=t}function er(){return Ge(Yt(ge))}function G(t){if(re){if(Yt(ge)!==null)throw Ya(),ns;ge=t}}function Xa(t=1){if(re){for(var e=t,r=ge;e--;)r=Yt(r);ge=r}}function ss(t=!0){for(var e=0,r=ge;;){if(r.nodeType===Or){var n=r.data;if(n===Va){if(e===0)return r;e-=1}else(n===tf||n===bi)&&(e+=1)}var i=Yt(r);t&&r.remove(),r=i}}function Np(t){if(!t||t.nodeType!==Or)throw Ya(),ns;return t.data}p();p();p();p();function Bp(t){return t===this.v}function Ny(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function Hp(t){return!Ny(t,this.v)}p();var tr=!1,as=!1,Wn=!1;p();p();p();var nf=null;function Mr(t,e){return t.label=e,Up(t.v,e),t}function Up(t,e){var r;return(r=t==null?void 0:t[Mp])==null||r.call(t,e),t}p();function xi(t){let e=new Error,r=FV();return r.length===0?null:(r.unshift(` +`),Jt(e,"stack",{value:r.join(` +`)}),Jt(e,"name",{value:t}),e)}function FV(){let t=Error.stackTraceLimit;Error.stackTraceLimit=1/0;let e=new Error().stack;if(Error.stackTraceLimit=t,!e)return[];let r=e.split(` +`),n=[];for(let i=0;i{e===Za&&bM()})}Za.push(t)}function _M(){for(;Za.length>0;)bM()}p();var Uy=new WeakMap;function jp(t){var e=ne;if(e===null)return le.f|=8388608,t;if(L&&t instanceof Error&&!Uy.has(t)&&Uy.set(t,OV(t,e)),e.f&32768)Ai(t,e);else{if(!(e.f&128))throw L&&!e.parent&&t instanceof Error&&xM(t),t;e.b.error(t)}}function Ai(t,e){for(;e!==null;){if(e.f&128)try{e.b.error(t);return}catch(r){t=r}e=e.parent}throw L&&t instanceof Error&&xM(t),t}function OV(t,e){var a,o,l;let r=Ir(t,"message");if(!(r&&!r.configurable)){for(var n=sf?" ":" ",i=` +${n}in ${((a=e.fn)==null?void 0:a.name)||""}`,s=e.ctx;s!==null;)i+=` +${n}in ${(o=s.function)==null?void 0:o[An].split("/").pop()}`,s=s.p;return{message:t.message+` +${i} +`,stack:(l=t.stack)==null?void 0:l.split(` +`).filter(c=>!c.includes("svelte/src/internal")).join(` +`)}}}function xM(t){let e=Uy.get(t);e&&(Jt(t,"message",{value:e.message}),Jt(t,"stack",{value:e.stack}))}p();p();var MV=-7169;function Le(t,e){t.f=t.f&MV|e}function tc(t){t.f&512||t.deps===null?Le(t,1024):Le(t,4096)}function SM(t){if(t!==null)for(let e of t)!(e.f&2)||!(e.f&32768)||(e.f^=32768,SM(e.deps))}function qp(t,e,r){t.f&2048?e.add(t):t.f&4096&&r.add(t),SM(t.deps),Le(t,1024)}var rc=new Set,ye=null,lf=null,Rt=null,Lr=[],zp=null,Gy=!1,Ka=!1,nc,ic,Qa,sc,cf,uf,Ja,ls,ac,Ci,jy,qy,kM,zy=class zy{constructor(){me(this,Ci);qe(this,"committed",!1);qe(this,"current",new Map);qe(this,"previous",new Map);me(this,nc,new Set);me(this,ic,new Set);me(this,Qa,0);me(this,sc,0);me(this,cf,null);me(this,uf,new Set);me(this,Ja,new Set);me(this,ls,new Map);qe(this,"is_fork",!1);me(this,ac,!1)}is_deferred(){return this.is_fork||$(this,sc)>0}skip_effect(e){$(this,ls).has(e)||$(this,ls).set(e,{d:[],m:[]})}unskip_effect(e){var r=$(this,ls).get(e);if(r){$(this,ls).delete(e);for(var n of r.d)Le(n,2048),gr(n);for(n of r.m)Le(n,4096),gr(n)}}process(e){var i;Lr=[],this.apply();var r=[],n=[];for(let s of e)wt(this,Ci,jy).call(this,s,r,n);if(this.is_deferred()){wt(this,Ci,qy).call(this,n),wt(this,Ci,qy).call(this,r);for(let[s,a]of $(this,ls))TM(s,a)}else{for(let s of $(this,nc))s();$(this,nc).clear(),$(this,Qa)===0&&wt(this,Ci,kM).call(this),lf=this,ye=null,EM(n),EM(r),lf=null,(i=$(this,cf))==null||i.resolve()}Rt=null}capture(e,r){r!==Ke&&!this.previous.has(e)&&this.previous.set(e,r),e.f&8388608||(this.current.set(e,e.v),Rt==null||Rt.set(e,e.v))}activate(){ye=this,this.apply()}deactivate(){ye===this&&(ye=null,Rt=null)}flush(){if(this.activate(),Lr.length>0){if(Wy(),ye!==null&&ye!==this)return}else $(this,Qa)===0&&this.process([]);this.deactivate()}discard(){for(let e of $(this,ic))e(this);$(this,ic).clear()}increment(e){de(this,Qa,$(this,Qa)+1),e&&de(this,sc,$(this,sc)+1)}decrement(e){de(this,Qa,$(this,Qa)-1),e&&de(this,sc,$(this,sc)-1),!$(this,ac)&&(de(this,ac,!0),vt(()=>{de(this,ac,!1),this.is_deferred()?Lr.length>0&&this.flush():this.revive()}))}revive(){for(let e of $(this,uf))$(this,Ja).delete(e),Le(e,2048),gr(e);for(let e of $(this,Ja))Le(e,4096),gr(e);this.flush()}oncommit(e){$(this,nc).add(e)}ondiscard(e){$(this,ic).add(e)}settled(){var e;return((e=$(this,cf))!=null?e:de(this,cf,Op())).promise}static ensure(){if(ye===null){let e=ye=new zy;rc.add(ye),Ka||vt(()=>{ye===e&&e.flush()})}return ye}apply(){if(!(!tr||!this.is_fork&&rc.size===1)){Rt=new Map(this.current);for(let e of rc)if(e!==this)for(let[r,n]of e.previous)Rt.has(r)||Rt.set(r,n)}}};nc=new WeakMap,ic=new WeakMap,Qa=new WeakMap,sc=new WeakMap,cf=new WeakMap,uf=new WeakMap,Ja=new WeakMap,ls=new WeakMap,ac=new WeakMap,Ci=new WeakSet,jy=function(e,r,n){var d;e.f^=1024;for(var i=e.first,s=null;i!==null;){var a=i.f,o=(a&96)!==0,l=o&&(a&1024)!==0,c=l||(a&8192)!==0||$(this,ls).has(i);if(tr&&s===null&&a&128&&((d=i.b)!=null&&d.is_pending)&&(s=i),!c&&i.fn!==null){o?i.f^=1024:s!==null&&a&16777228?s.b.defer_effect(i):a&4?r.push(i):tr&&a&16777224?n.push(i):ta(i)&&(a&16&&$(this,Ja).add(i),ea(i));var u=i.first;if(u!==null){i=u;continue}}var f=i.parent;for(i=i.next;i===null&&f!==null;)f===s&&(s=null),i=f.next,f=f.parent}},qy=function(e){for(var r=0;r1){this.previous.clear();var e=Rt,r=!0;for(let s of rc){if(s===this){r=!1;continue}let a=[];for(let[l,c]of this.current){if(s.current.has(l))if(r&&c!==s.current.get(l))s.current.set(l,c);else continue;a.push(l)}if(a.length===0)continue;let o=[...s.current.keys()].filter(l=>!this.current.has(l));if(o.length>0){var n=Lr;Lr=[];let l=new Set,c=new Map;for(let u of a)AM(u,o,l,c);if(Lr.length>0){ye=s,s.apply();for(let u of Lr)wt(i=s,Ci,jy).call(i,u,[],[]);s.deactivate()}Lr=n}}ye=null,Rt=e}this.committed=!0,rc.delete(this)};var Br=zy;function eo(t){var e=Ka;Ka=!0;try{var r;for(t&&(ye!==null&&Wy(),r=t());;){if(_M(),Lr.length===0&&(ye==null||ye.flush(),Lr.length===0))return zp=null,r;Wy()}}finally{Ka=e}}function Wy(){var s;Gy=!0;var t=L?new Set:null;try{for(var e=0;Lr.length>0;){var r=Br.ensure();if(e++>1e3){if(L){var n=new Map;for(let a of r.current.keys())for(let[o,l]of(s=a.updated)!=null?s:[]){var i=n.get(o);i||(i={error:l.error,count:0},n.set(o,i)),i.count+=l.count}for(let a of n.values())a.error&&console.error(a.error)}LV()}if(r.process(Lr),Ti.clear(),L)for(let a of r.current.keys())t.add(a)}}finally{if(Lr=[],Gy=!1,zp=null,L)for(let a of t)a.updated=null}}function LV(){try{sM()}catch(t){L&&Jt(t,"stack",{value:""}),Ai(t,zp)}}var Dr=null;function EM(t){var e=t.length;if(e!==0){for(var r=0;r0)){Ti.clear();for(let i of Dr){if(i.f&24576)continue;let s=[i],a=i.parent;for(;a!==null;)Dr.has(a)&&(Dr.delete(a),s.push(a)),a=a.parent;for(let o=s.length-1;o>=0;o--){let l=s[o];l.f&24576||ea(l)}}Dr.clear()}}Dr=null}}function AM(t,e,r,n){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(let i of t.reactions){let s=i.f;s&2?AM(i,e,r,n):s&4194320&&!(s&2048)&&CM(i,e,n)&&(Le(i,2048),gr(i))}}function CM(t,e,r){let n=r.get(t);if(n!==void 0)return n;if(t.deps!==null)for(let i of t.deps){if(qn.call(e,i))return!0;if(i.f&2&&CM(i,e,r))return r.set(i,!0),!0}return r.set(t,!1),!1}function gr(t){for(var e=zp=t;e.parent!==null;){e=e.parent;var r=e.f;if(Gy&&e===ne&&r&16&&!(r&262144))return;if(r&96){if(!(r&1024))return;e.f^=1024}}Lr.push(e)}function TM(t,e){if(!(t.f&32&&t.f&1024)){t.f&2048?e.d.push(t):t.f&4096&&e.m.push(t),Le(t,1024);for(var r=t.first;r!==null;)TM(r,e),r=r.next}}p();p();p();function RM(t){let e=0,r=nr(0),n;return L&&Mr(r,"createSubscriber version"),()=>{Js()&&(R(r),Xt(()=>(e===0&&(n=ze(()=>t(()=>to(r)))),e+=1,()=>{vt(()=>{e-=1,e===0&&(n==null||n(),n=void 0,to(r))})})))}}var BV=589952;function Ky(t,e,r){new Yy(t,e,r)}var tn,ff,Pi,ro,Ri,Cn,Ur,$i,cs,ra,no,us,uc,io,fc,dc,Ii,Kp,xt,$M,IM,Xy,Xp,Zp,Zy,Yy=class{constructor(e,r,n){me(this,xt);qe(this,"parent");qe(this,"is_pending",!1);me(this,tn);me(this,ff,re?ge:null);me(this,Pi);me(this,ro);me(this,Ri);me(this,Cn,null);me(this,Ur,null);me(this,$i,null);me(this,cs,null);me(this,ra,null);me(this,no,0);me(this,us,0);me(this,uc,!1);me(this,io,!1);me(this,fc,new Set);me(this,dc,new Set);me(this,Ii,null);me(this,Kp,RM(()=>(de(this,Ii,nr($(this,no))),L&&Mr($(this,Ii),"$effect.pending()"),()=>{de(this,Ii,null)})));de(this,tn,e),de(this,Pi,r),de(this,ro,n),this.parent=ne.b,this.is_pending=!!$(this,Pi).pending,de(this,Ri,rn(()=>{if(ne.b=this,re){let s=$(this,ff);er(),s.nodeType===Or&&s.data===bi?wt(this,xt,IM).call(this):(wt(this,xt,$M).call(this),$(this,us)===0&&(this.is_pending=!1))}else{var i=wt(this,xt,Xy).call(this);try{de(this,Cn,Ht(()=>n(i)))}catch(s){this.error(s)}$(this,us)>0?wt(this,xt,Zp).call(this):this.is_pending=!1}return()=>{var s;(s=$(this,ra))==null||s.remove()}},BV)),re&&de(this,tn,ge)}defer_effect(e){qp(e,$(this,fc),$(this,dc))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!$(this,Pi).pending}update_pending_count(e){wt(this,xt,Zy).call(this,e),de(this,no,$(this,no)+e),!(!$(this,Ii)||$(this,uc))&&(de(this,uc,!0),vt(()=>{de(this,uc,!1),$(this,Ii)&&Zn($(this,Ii),$(this,no))}))}get_effect_pending(){return $(this,Kp).call(this),R($(this,Ii))}error(e){var r=$(this,Pi).onerror;let n=$(this,Pi).failed;if($(this,io)||!r&&!n)throw e;$(this,Cn)&&(ut($(this,Cn)),de(this,Cn,null)),$(this,Ur)&&(ut($(this,Ur)),de(this,Ur,null)),$(this,$i)&&(ut($(this,$i)),de(this,$i,null)),re&&(Ge($(this,ff)),Xa(),Ge(ss()));var i=!1,s=!1;let a=()=>{if(i){vM();return}i=!0,s&&dM(),Br.ensure(),de(this,no,0),$(this,$i)!==null&&Fi($(this,$i),()=>{de(this,$i,null)}),this.is_pending=this.has_pending_snippet(),de(this,Cn,wt(this,xt,Xp).call(this,()=>(de(this,io,!1),Ht(()=>$(this,ro).call(this,$(this,tn)))))),$(this,us)>0?wt(this,xt,Zp).call(this):this.is_pending=!1};vt(()=>{try{s=!0,r==null||r(e,a),s=!1}catch(o){Ai(o,$(this,Ri)&&$(this,Ri).parent)}n&&de(this,$i,wt(this,xt,Xp).call(this,()=>{Br.ensure(),de(this,io,!0);try{return Ht(()=>{n($(this,tn),()=>e,()=>a)})}catch(o){return Ai(o,$(this,Ri).parent),null}finally{de(this,io,!1)}}))})}};tn=new WeakMap,ff=new WeakMap,Pi=new WeakMap,ro=new WeakMap,Ri=new WeakMap,Cn=new WeakMap,Ur=new WeakMap,$i=new WeakMap,cs=new WeakMap,ra=new WeakMap,no=new WeakMap,us=new WeakMap,uc=new WeakMap,io=new WeakMap,fc=new WeakMap,dc=new WeakMap,Ii=new WeakMap,Kp=new WeakMap,xt=new WeakSet,$M=function(){try{de(this,Cn,Ht(()=>$(this,ro).call(this,$(this,tn))))}catch(e){this.error(e)}},IM=function(){let e=$(this,Pi).pending;e&&(de(this,Ur,Ht(()=>e($(this,tn)))),vt(()=>{var r=wt(this,xt,Xy).call(this);de(this,Cn,wt(this,xt,Xp).call(this,()=>(Br.ensure(),Ht(()=>$(this,ro).call(this,r))))),$(this,us)>0?wt(this,xt,Zp).call(this):(Fi($(this,Ur),()=>{de(this,Ur,null)}),this.is_pending=!1)}))},Xy=function(){var e=$(this,tn);return this.is_pending&&(de(this,ra,It()),$(this,tn).before($(this,ra)),e=$(this,ra)),e},Xp=function(e){var r=ne,n=le,i=ke;Ut($(this,Ri)),$t($(this,Ri)),os($(this,Ri).ctx);try{return e()}catch(s){return jp(s),null}finally{Ut(r),$t(n),os(i)}},Zp=function(){let e=$(this,Pi).pending;$(this,Cn)!==null&&(de(this,cs,document.createDocumentFragment()),$(this,cs).append($(this,ra)),Qp($(this,Cn),$(this,cs))),$(this,Ur)===null&&de(this,Ur,Ht(()=>e($(this,tn))))},Zy=function(e){var r;if(!this.has_pending_snippet()){this.parent&&wt(r=this.parent,xt,Zy).call(r,e);return}if(de(this,us,$(this,us)+e),$(this,us)===0){this.is_pending=!1;for(let n of $(this,fc))Le(n,2048),gr(n);for(let n of $(this,dc))Le(n,4096),gr(n);$(this,fc).clear(),$(this,dc).clear(),$(this,Ur)&&Fi($(this,Ur),()=>{de(this,Ur,null)}),$(this,cs)&&($(this,tn).before($(this,cs)),de(this,cs,null))}};p();function Jp(t,e,r,n){let i=Ei()?so:ao;var s=t.filter(d=>!d.settled);if(r.length===0&&s.length===0){n(e.map(i));return}var a=ye,o=ne,l=FM(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(d=>d.promise)):null;function u(d){l();try{n(d)}catch(h){o.f&16384||Ai(h,o)}a==null||a.deactivate(),df()}if(r.length===0){c.then(()=>u(e.map(i)));return}function f(){l(),Promise.all(r.map(d=>Jy(d))).then(d=>u([...e.map(i),...d])).catch(d=>Ai(d,o))}c?c.then(f):f()}function FM(){var t=ne,e=le,r=ke,n=ye;if(L)var i=Si;return function(a=!0){Ut(t),$t(e),os(r),a&&(n==null||n.activate()),L&&(Qy(null),Jl(i))}}function df(){Ut(null),$t(null),os(null),L&&(Qy(null),Jl(null))}var hf=null;function Qy(t){hf=t}var pf=new Set;function so(t){var e=2050,r=le!==null&&le.f&2?le:null;ne!==null&&(ne.f|=524288);let n={ctx:ke,deps:null,effects:null,equals:Bp,f:e,fn:t,reactions:null,rv:0,v:Ke,wv:0,parent:r!=null?r:ne,ac:null};return L&&Wn&&(n.created=xi("created at")),n}function Jy(t,e,r){let n=ne;n===null&&eM();var i=n.b,s=void 0,a=nr(Ke);L&&(a.label=e);var o=!le,l=new Map;return OM(()=>{var h;L&&(hf=ne);var c=Op();s=c.promise;try{Promise.resolve(t()).then(c.resolve,c.reject).then(()=>{u===ye&&u.committed&&u.deactivate(),df()})}catch(m){c.reject(m),df()}L&&(hf=null);var u=ye;if(o){var f=i.is_rendered();i.update_pending_count(1),u.increment(f),(h=l.get(u))==null||h.reject(_i),l.delete(u),l.set(u,c)}let d=(m,g=void 0)=>{if(hf=null,u.activate(),g)g!==_i&&(a.f|=8388608,Zn(a,g));else{a.f&8388608&&(a.f^=8388608),Zn(a,m);for(let[v,w]of l){if(l.delete(v),v===u)break;w.reject(_i)}L&&r!==void 0&&(pf.add(a),setTimeout(()=>{pf.has(a)&&(hM(a.label,r),pf.delete(a))}))}o&&(i.update_pending_count(-1),u.decrement(f))};c.promise.then(d,m=>d(null,m||"unknown"))}),ir(()=>{for(let c of l.values())c.reject(_i)}),L&&(a.f|=4194304),new Promise(c=>{function u(f){function d(){f===s?c(a):u(s)}f.then(d,d)}u(s)})}function St(t){let e=so(t);return tr||rm(e),e}function ao(t){let e=so(t);return e.equals=Hp,e}function em(t){var e=t.effects;if(e!==null){t.effects=null;for(var r=0;r5){let l=xi("updated at");if(l!==null){let c=t.updated.get(l.stack);c||(c={error:l,count:0},t.updated.set(l.stack,c)),c.count++}}}ne!==null&&(t.set_during_effect=!0)}if(t.f&2){let o=t;t.f&2048&&mf(o),tc(o)}t.wv=cc(),DM(t,2048),Ei()&&ne!==null&&ne.f&1024&&!(ne.f&96)&&(sn===null?LM([t]):sn.push(t)),!n.is_fork&&oo.size>0&&!rb&&Yp()}return e}function Yp(){rb=!1;for(let t of oo)t.f&1024&&Le(t,4096),ta(t)&&ea(t);oo.clear()}function to(t){se(t,t.v+1)}function DM(t,e){var u;var r=t.reactions;if(r!==null)for(var n=Ei(),i=r.length,s=0;s{if(na===a)return f();var d=le,h=na;$t(null),nb(a);var m=f();return $t(d),nb(h),m};n&&(r.set("length",Me(t.length,s)),L&&(t=WV(t)));var l="";let c=!1;function u(f){if(!c){c=!0,l=f,Mr(i,`${l} version`);for(let[d,h]of r)Mr(h,co(l,d));c=!1}}return new Proxy(t,{defineProperty(f,d,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&cM();var m=r.get(d);return m===void 0?m=o(()=>{var g=Me(h.value,s);return r.set(d,g),L&&typeof d=="string"&&Mr(g,co(l,d)),g}):se(m,h.value,!0),!0},deleteProperty(f,d){var h=r.get(d);if(h===void 0){if(d in f){let m=o(()=>Me(Ke,s));r.set(d,m),to(i),L&&Mr(m,co(l,d))}}else se(h,Ke),to(i);return!0},get(f,d,h){var w;if(d===Wt)return t;if(L&&d===Mp)return u;var m=r.get(d),g=d in f;if(m===void 0&&(!g||(w=Ir(f,d))!=null&&w.writable)&&(m=o(()=>{var b=Ye(g?f[d]:Ke),k=Me(b,s);return L&&Mr(k,co(l,d)),k}),r.set(d,m)),m!==void 0){var v=R(m);return v===Ke?void 0:v}return Reflect.get(f,d,h)},getOwnPropertyDescriptor(f,d){var h=Reflect.getOwnPropertyDescriptor(f,d);if(h&&"value"in h){var m=r.get(d);m&&(h.value=R(m))}else if(h===void 0){var g=r.get(d),v=g==null?void 0:g.v;if(g!==void 0&&v!==Ke)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return h},has(f,d){var v;if(d===Wt)return!0;var h=r.get(d),m=h!==void 0&&h.v!==Ke||Reflect.has(f,d);if(h!==void 0||ne!==null&&(!m||(v=Ir(f,d))!=null&&v.writable)){h===void 0&&(h=o(()=>{var w=m?Ye(f[d]):Ke,b=Me(w,s);return L&&Mr(b,co(l,d)),b}),r.set(d,h));var g=R(h);if(g===Ke)return!1}return m},set(f,d,h,m){var y;var g=r.get(d),v=d in f;if(n&&d==="length")for(var w=h;wMe(Ke,s)),r.set(w+"",b),L&&Mr(b,co(l,w)))}if(g===void 0)(!v||(y=Ir(f,d))!=null&&y.writable)&&(g=o(()=>Me(void 0,s)),L&&Mr(g,co(l,d)),se(g,Ye(h)),r.set(d,g));else{v=g.v!==Ke;var k=o(()=>Ye(h));se(g,k)}var x=Reflect.getOwnPropertyDescriptor(f,d);if(x!=null&&x.set&&x.set.call(m,h),!v){if(n&&typeof d=="string"){var E=r.get("length"),A=Number(d);Number.isInteger(A)&&A>=E.v&&se(E,A+1)}to(i)}return!0},ownKeys(f){R(i);var d=Reflect.ownKeys(f).filter(g=>{var v=r.get(g);return v===void 0||v.v!==Ke});for(var[h,m]of r)m.v!==Ke&&!(h in f)&&d.push(h);return d},setPrototypeOf(){uM()}})}function co(t,e){var r;return typeof e=="symbol"?`${t}[Symbol(${(r=e.description)!=null?r:""})]`:jV.test(e)?`${t}.${e}`:/^\d+$/.test(e)?`${t}[${e}]`:`${t}['${e}']`}function nm(t){try{if(t!==null&&typeof t=="object"&&Wt in t)return t[Wt]}catch(e){}return t}var qV=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);function WV(t){return new Proxy(t,{get(e,r,n){var i=Reflect.get(e,r,n);return qV.has(r)?function(...s){MM();var a=i.apply(this,s);return Yp(),a}:i}})}function NM(){let t=Array.prototype,e=Array.__svelte_cleanup;e&&e();let{indexOf:r,lastIndexOf:n,includes:i}=t;t.indexOf=function(s,a){let o=r.call(this,s,a);if(o===-1){for(let l=a!=null?a:0;l{t.indexOf=r,t.lastIndexOf=n,t.includes=i}}var ib,BM,sf,HM,UM;function im(){if(ib===void 0){ib=window,BM=document,sf=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,r=Text.prototype;HM=Ir(e,"firstChild").get,UM=Ir(e,"nextSibling").get,Oy(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),Oy(r)&&(r.__t=void 0),L&&(t.__svelte_meta=null,NM())}}function It(t=""){return document.createTextNode(t)}function Zt(t){return HM.call(t)}function Yt(t){return UM.call(t)}function j(t,e){if(!re)return Zt(t);var r=Zt(ge);if(r===null)r=ge.appendChild(It());else if(e&&r.nodeType!==Ql){var n=It();return r==null||r.before(n),Ge(n),n}return e&&am(r),Ge(r),r}function qr(t,e=!1){var i,s;if(!re){var r=Zt(t);return r instanceof Comment&&r.data===""?Yt(r):r}if(e){if(((i=ge)==null?void 0:i.nodeType)!==Ql){var n=It();return(s=ge)==null||s.before(n),Ge(n),n}am(ge)}return ge}function ee(t,e=1,r=!1){let n=re?ge:t;for(var i;e--;)i=n,n=Yt(n);if(!re)return n;if(r){if((n==null?void 0:n.nodeType)!==Ql){var s=It();return n===null?i==null||i.after(s):n.before(s),Ge(s),s}am(n)}return Ge(n),n}function hc(t){t.textContent=""}function sm(){if(!tr||Dr!==null)return!1;var t=ne.f;return(t&32768)!==0}function am(t){if(t.nodeValue.length<65536)return;let e=t.nextSibling;for(;e!==null&&e.nodeType===Ql;)e.remove(),t.nodeValue+=e.nodeValue,e=t.nextSibling}p();p();function sb(t){re&&Zt(t)!==null&&hc(t)}var GM=!1;function ab(){GM||(GM=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(let r of t.target.elements)(e=r.__on_r)==null||e.call(r)})},{capture:!0}))}function Kn(t){var e=le,r=ne;$t(null),Ut(null);try{return t()}finally{$t(e),Ut(r)}}function ob(t,e,r,n=r){t.addEventListener(e,()=>Kn(r));let i=t.__on_r;i?t.__on_r=()=>{i(),n(!0)}:t.__on_r=()=>n(!0),ab()}function jM(t){ne===null&&(le===null&&iM(t),nM()),Tn&&rM(t)}function VV(t,e){var r=e.last;r===null?e.last=e.first=t:(r.next=t,t.prev=r,e.last=t)}function Oi(t,e,r){var o;var n=ne;if(L)for(;n!==null&&n.f&131072;)n=n.parent;n!==null&&n.f&8192&&(t|=8192);var i={ctx:ke,deps:null,nodes:null,f:t|2048|512,first:null,fn:e,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};if(L&&(i.component_function=zn),r)try{ea(i),i.f|=32768}catch(l){throw ut(i),l}else e!==null&&gr(i);var s=i;if(r&&s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&!(s.f&524288)&&(s=s.first,t&16&&t&65536&&s!==null&&(s.f|=65536)),s!==null&&(s.parent=n,n!==null&&VV(s,n),le!==null&&le.f&2&&!(t&64))){var a=le;((o=a.effects)!=null?o:a.effects=[]).push(s)}return i}function Js(){return le!==null&&!jr}function ir(t){let e=Oi(8,null,!1);return Le(e,1024),e.teardown=t,e}function sr(t){var i;jM("$effect"),L&&Jt(t,"name",{value:"$effect"});var e=ne.f,r=!le&&(e&32)!==0&&(e&32768)===0;if(r){var n=ke;((i=n.e)!=null?i:n.e=[]).push(t)}else return Hy(t)}function Hy(t){return Oi(1048580,t,!1)}function cb(t){Br.ensure();let e=Oi(524352,t,!0);return()=>{ut(e)}}function qM(t){Br.ensure();let e=Oi(524352,t,!0);return(r={})=>new Promise(n=>{r.outro?Fi(e,()=>{ut(e),n(void 0)}):(ut(e),n(void 0))})}function Wr(t){return Oi(4,t,!1)}function OM(t){return Oi(4718592,t,!0)}function Xt(t,e=0){return Oi(8|e,t,!0)}function Ne(t,e=[],r=[],n=[]){Jp(n,e,r,i=>{Oi(8,()=>t(...i.map(R)),!0)})}function rn(t,e=0){var r=Oi(16|e,t,!0);return L&&(r.dev_stack=Si),r}function Ht(t){return Oi(524320,t,!0)}function ub(t){var e=t.teardown;if(e!==null){let r=Tn,n=le;lb(!0),$t(null);try{e.call(null)}finally{lb(r),$t(n)}}}function fb(t,e=!1){var r=t.first;for(t.first=t.last=null;r!==null;){let i=r.ac;i!==null&&Kn(()=>{i.abort(_i)});var n=r.next;r.f&64?r.parent=null:ut(r,e),r=n}}function WM(t){for(var e=t.first;e!==null;){var r=e.next;e.f&32||ut(e),e=r}}function ut(t,e=!0){var r=!1;(e||t.f&262144)&&t.nodes!==null&&t.nodes.end!==null&&(zM(t.nodes.start,t.nodes.end),r=!0),fb(t,e&&!r),vf(t,0),Le(t,16384);var n=t.nodes&&t.nodes.t;if(n!==null)for(let s of n)s.stop();ub(t);var i=t.parent;i!==null&&i.first!==null&&Vy(t),L&&(t.component_function=null),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=null}function zM(t,e){for(;t!==null;){var r=t===e?null:Yt(t);t.remove(),t=r}}function Vy(t){var e=t.parent,r=t.prev,n=t.next;r!==null&&(r.next=n),n!==null&&(n.prev=r),e!==null&&(e.first===t&&(e.first=n),e.last===t&&(e.last=r))}function Fi(t,e,r=!0){var n=[];VM(t,n,!0);var i=()=>{r&&ut(t),e&&e()},s=n.length;if(s>0){var a=()=>--s||i();for(var o of n)o.out(a)}else i()}function VM(t,e,r){if(!(t.f&8192)){t.f^=8192;var n=t.nodes&&t.nodes.t;if(n!==null)for(let o of n)(o.is_global||r)&&e.push(o);for(var i=t.first;i!==null;){var s=i.next,a=(i.f&65536)!==0||(i.f&32)!==0&&(t.f&16)!==0;VM(i,e,a?r:!1),i=s}}}function gf(t){YM(t,!0)}function YM(t,e){if(t.f&8192){t.f^=8192,t.f&1024||(Le(t,2048),gr(t));for(var r=t.first;r!==null;){var n=r.next,i=(r.f&65536)!==0||(r.f&32)!==0;YM(r,i?e:!1),r=n}var s=t.nodes&&t.nodes.t;if(s!==null)for(let a of s)(a.is_global||e)&&a.in()}}function Qp(t,e){if(t.nodes)for(var r=t.nodes.start,n=t.nodes.end;r!==null;){var i=r===n?null:Yt(r);e.append(r),r=i}}p();var XM=null;var om=!1,Tn=!1;function lb(t){Tn=t}var le=null,jr=!1;function $t(t){le=t}var ne=null;function Ut(t){ne=t}var nn=null;function rm(t){le!==null&&(!tr||le.f&2)&&(nn===null?nn=[t]:nn.push(t))}var zr=null,an=0,sn=null;function LM(t){sn=t}var ZM=1,uo=0,na=uo;function nb(t){na=t}function cc(){return++ZM}function ta(t){var e=t.f;if(e&2048)return!0;if(e&2&&(t.f&=-32769),e&4096){for(var r=t.deps,n=r.length,i=0;it.wv)return!0}e&512&&Rt===null&&Le(t,1024)}return!1}function KM(t,e,r=!0){var n=t.reactions;if(n!==null&&!(!tr&&nn!==null&&qn.call(nn,t)))for(var i=0;i{t.ac.abort(_i)}),t.ac=null);try{t.f|=2097152;var u=t.fn,f=u(),d=t.deps,h=(g=ye)==null?void 0:g.is_fork;if(zr!==null){var m;if(h||vf(t,an),d!==null&&an>0)for(d.length=an+zr.length,m=0;m{requestAnimationFrame(()=>t()),setTimeout(()=>t())});await Promise.resolve(),eo()}function R(t){var h,m,g;var e=t.f,r=(e&2)!==0;if((h=XM)==null||h.add(t),le!==null&&!jr){var n=ne!==null&&(ne.f&16384)!==0;if(!n&&(nn===null||!qn.call(nn,t))){var i=le.deps;if(le.f&2097152)t.rvr==null?void 0:r.call(this,s))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?vt(()=>{e.addEventListener(t,i,n)}):e.addEventListener(t,i,n),i}function on(t,e,r,n,i){var s={capture:n,passive:i},a=tD(t,e,r,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&ir(()=>{e.removeEventListener(t,a,s)})}function Et(t){for(var e=0;e{throw w});throw d}}finally{t.__root=e,delete t.currentTarget,$t(u),Ut(f)}}}p();p();function um(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("",""),e.content}function Mi(t,e){var r=ne;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function fe(t,e){var r=(e&1)!==0,n=(e&2)!==0,i,s=!t.startsWith("");return()=>{if(re)return Mi(ge,null),ge;i===void 0&&(i=um(s?t:""+t),r||(i=Zt(i)));var a=n||sf?document.importNode(i,!0):i.cloneNode(!0);if(r){var o=Zt(a),l=a.lastChild;Mi(o,l)}else Mi(a,a);return a}}function ds(){if(re)return Mi(ge,null),ge;var t=document.createDocumentFragment(),e=document.createComment(""),r=It();return t.append(e,r),Mi(e,r),t}function ae(t,e){if(re){var r=ne;(!(r.f&32768)||r.nodes.end===null)&&(r.nodes.end=ge),er();return}t!==null&&t.before(e)}p();var JV=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","webkitdirectory","defer","disablepictureinpicture","disableremoteplayback"];var Tce=[...JV,"formNoValidate","isMap","noModule","playsInline","readOnly","value","volume","defaultValue","defaultChecked","srcObject","noValidate","allowFullscreen","disablePictureInPicture","disableRemotePlayback"];var e9=["touchstart","touchmove"];function nD(t){return e9.includes(t)}var t9=["$state","$state.raw","$derived","$derived.by"],Pce=[...t9,"$state.eager","$state.snapshot","$props","$props.id","$bindable","$effect","$effect.pre","$effect.tracking","$effect.root","$effect.pending","$inspect","$inspect().with","$inspect.trace","$host"];var fm=!0;function He(t,e){var n;var r=e==null?"":typeof e=="object"?e+"":e;r!==((n=t.__t)!=null?n:t.__t=t.nodeValue)&&(t.__t=r,t.nodeValue=r+"")}function ia(t,e){return iD(t,e)}function mb(t,e){var a;im(),e.intro=(a=e.intro)!=null?a:!1;let r=e.target,n=re,i=ge;try{for(var s=Zt(r);s&&(s.nodeType!==Or||s.data!==tf);)s=Yt(s);if(!s)throw ns;Bt(!0),Ge(s);let o=iD(t,{...e,anchor:s});return Bt(!1),o}catch(o){if(o instanceof Error&&o.message.split(` +`).some(l=>l.startsWith("https://svelte.dev/e/")))throw o;return o!==ns&&console.warn("Failed to hydrate: ",o),e.recover===!1&&aM(),im(),hc(r),Bt(!1),ia(t,e)}finally{Bt(n),Ge(i)}}var mc=new Map;function iD(t,{target:e,anchor:r,props:n={},events:i,context:s,intro:a=!0}){im();var o=new Set,l=f=>{for(var d=0;d{var f=r!=null?r:e.appendChild(It());return Ky(f,{pending:()=>{}},d=>{at({});var h=ke;if(s&&(h.c=s),i&&(n.$$events=i),re&&Mi(d,null),fm=a,c=t(d,n)||{},fm=!0,re&&(ne.nodes.end=ge,ge===null||ge.nodeType!==Or||ge.data!==Va))throw Ya(),ns;ot()}),()=>{var m;for(var d of o){e.removeEventListener(d,pc);var h=mc.get(d);--h===0?(document.removeEventListener(d,pc),mc.delete(d)):mc.set(d,h)}cm.delete(l),f!==r&&((m=f.parentNode)==null||m.removeChild(f))}});return pb.set(c,u),c}var pb=new WeakMap;function hs(t,e){let r=pb.get(t);return r?(pb.delete(t),r(e)):(L&&(Wt in t?gM():mM()),Promise.resolve())}p();p();p();var Qn,Di,ln,fo,wf,yf,dm,ps=class{constructor(e,r=!0){qe(this,"anchor");me(this,Qn,new Map);me(this,Di,new Map);me(this,ln,new Map);me(this,fo,new Set);me(this,wf,!0);me(this,yf,()=>{var e=ye;if($(this,Qn).has(e)){var r=$(this,Qn).get(e),n=$(this,Di).get(r);if(n)gf(n),$(this,fo).delete(r);else{var i=$(this,ln).get(r);i&&($(this,Di).set(r,i.effect),$(this,ln).delete(r),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),n=i.effect)}for(let[s,a]of $(this,Qn)){if($(this,Qn).delete(s),s===e)break;let o=$(this,ln).get(a);o&&(ut(o.effect),$(this,ln).delete(a))}for(let[s,a]of $(this,Di)){if(s===r||$(this,fo).has(s))continue;let o=()=>{if(Array.from($(this,Qn).values()).includes(s)){var c=document.createDocumentFragment();Qp(a,c),c.append(It()),$(this,ln).set(s,{effect:a,fragment:c})}else ut(a);$(this,fo).delete(s),$(this,Di).delete(s)};$(this,wf)||!n?($(this,fo).add(s),Fi(a,o,!1)):o()}}});me(this,dm,e=>{$(this,Qn).delete(e);let r=Array.from($(this,Qn).values());for(let[n,i]of $(this,ln))r.includes(n)||(ut(i.effect),$(this,ln).delete(n))});this.anchor=e,de(this,wf,r)}ensure(e,r){var n=ye,i=sm();if(r&&!$(this,Di).has(e)&&!$(this,ln).has(e))if(i){var s=document.createDocumentFragment(),a=It();s.append(a),$(this,ln).set(e,{effect:Ht(()=>r(a)),fragment:s})}else $(this,Di).set(e,Ht(()=>r(this.anchor)));if($(this,Qn).set(n,e),i){for(let[o,l]of $(this,Di))o===e?n.unskip_effect(l):n.skip_effect(l);for(let[o,l]of $(this,ln))o===e?n.unskip_effect(l.effect):n.skip_effect(l.effect);n.oncommit($(this,yf)),n.ondiscard($(this,dm))}else re&&(this.anchor=ge),$(this,yf).call(this)}};Qn=new WeakMap,Di=new WeakMap,ln=new WeakMap,fo=new WeakMap,wf=new WeakMap,yf=new WeakMap,dm=new WeakMap;if(L){let t=function(e){if(!(e in globalThis)){let r;Object.defineProperty(globalThis,e,{configurable:!0,get:()=>{if(r!==void 0)return r;lM(e)},set:n=>{r=n}})}};t("$state"),t("$effect"),t("$derived"),t("$inspect"),t("$props"),t("$bindable")}function ho(t){ke===null&&Dp("onMount"),as&&ke.l!==null?i9(ke).m.push(t):sr(()=>{let e=ze(t);if(typeof e=="function")return e})}function i9(t){var r;var e=t.l;return(r=e.u)!=null?r:e.u={a:[],b:[],m:[]}}p();p();var oD=new Map;function lD(t,e){var r=oD.get(t);r||(r=new Set,oD.set(t,r)),r.add(e)}p();p();p();p();p();p();p();p();p();function Ae(t,e,r=!1){re&&er();var n=new ps(t),i=r?65536:0;function s(a,o){if(re){let c=Np(t)===bi;if(a===c){var l=ss();Ge(l),n.anchor=l,Bt(!1),n.ensure(a,o),Bt(!0);return}}n.ensure(a,o)}rn(()=>{var a=!1;e((o,l=!0)=>{a=!0,s(l,o)}),a||s(!1,null)},i)}p();var Cde=Symbol("NaN");p();p();function cn(t,e){return e}function f9(t,e,r){var f;for(var n=[],i=e.length,s,a=e.length,o=0;o{if(s){if(s.pending.delete(d),s.done.add(d),s.pending.size===0){var h=t.outrogroups;gb(Zl(s.done)),h.delete(s),h.size===0&&(t.outrogroups=null)}}else a-=1},!1)}if(a===0){var l=n.length===0&&r!==null;if(l){var c=r,u=c.parentNode;hc(u),u.append(c),t.items.clear()}gb(e,!l)}else s={pending:new Set(e),done:new Set},((f=t.outrogroups)!=null?f:t.outrogroups=new Set).add(s)}function gb(t,e=!0){for(var r=0;r{var w=r();return is(w)?w:w==null?[]:Zl(w)}),d,h=!0;function m(){v.fallback=u,d9(v,d,a,e,n),u!==null&&(d.length===0?u.f&33554432?(u.f^=33554432,_f(u,null,a)):gf(u):Fi(u,()=>{u=null}))}var g=rn(()=>{d=R(f);var w=d.length;let b=!1;if(re){var k=Np(a)===bi;k!==(w===0)&&(a=ss(),Ge(a),Bt(!1),b=!0)}for(var x=new Set,E=ye,A=sm(),y=0;ys(a)):(u=Ht(()=>s(gc!=null?gc:gc=It())),u.f|=33554432)),w>x.size&&(L?p9(d,n):Ly("","","")),re&&w>0&&Ge(ss()),!h)if(A){for(let[P,N]of o)x.has(P)||E.skip_effect(N.e);E.oncommit(m),E.ondiscard(()=>{})}else m();b&&Bt(!0),R(f)}),v={effect:g,flags:e,items:o,outrogroups:null,fallback:u};h=!1,re&&(a=ge)}function bf(t){for(;t!==null&&!(t.f&32);)t=t.next;return t}function d9(t,e,r,n,i){var C,P,N,B,H,ce,Pe,ve,ie;var s=(n&8)!==0,a=e.length,o=t.items,l=bf(t.effect.first),c,u=null,f,d=[],h=[],m,g,v,w;if(s)for(w=0;w0){var _=n&4&&a===0?r:null;if(s){for(w=0;w{var xe,we;if(f!==void 0)for(v of f)(we=(xe=v.nodes)==null?void 0:xe.a)==null||we.apply()})}function h9(t,e,r,n,i,s,a,o){var l=a&1?a&16?nr(r):lo(r,!1,!1):null,c=a&2?nr(i):null;return L&&l&&(l.trace=()=>{var u;o()[(u=c==null?void 0:c.v)!=null?u:i]}),{v:l,i:c,e:Ht(()=>(s(e,l!=null?l:r,c!=null?c:i,o),()=>{t.delete(n)}))}}function _f(t,e,r){if(t.nodes)for(var n=t.nodes.start,i=t.nodes.end,s=e&&!(e.f&33554432)?e.nodes.start:r;n!==null;){var a=Yt(n);if(s.before(n),n===i)return;n=a}}function sa(t,e,r){e===null?t.effect.first=r:e.next=r,r===null?t.effect.last=e:r.prev=e}function p9(t,e){let r=new Map,n=t.length;for(let i=0;iperformance.now():()=>Date.now(),Jn={tick:t=>(Ip?requestAnimationFrame:Fr)(t),now:()=>m9(),tasks:new Set};function uD(){let t=Jn.now();Jn.tasks.forEach(e=>{e.c(t)||(Jn.tasks.delete(e),e.f())}),Jn.tasks.size!==0&&Jn.tick(uD)}function fD(t){let e;return Jn.tasks.size===0&&Jn.tick(uD),{promise:new Promise(r=>{Jn.tasks.add(e={c:t,f:r})}),abort(){Jn.tasks.delete(e)}}}function hm(t,e){Kn(()=>{t.dispatchEvent(new CustomEvent(e))})}function y9(t){if(t==="float")return"cssFloat";if(t==="offset")return"cssOffset";if(t.startsWith("--"))return t;let e=t.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("")}function dD(t){let e={},r=t.split(";");for(let n of r){let[i,s]=n.split(":");if(!i||s===void 0)break;let a=y9(i.trim());e[a]=s.trim()}return e}var b9=t=>t;function ei(t,e,r,n){var k,x;var i=(t&1)!==0,s=(t&2)!==0,a=i&&s,o=(t&4)!==0,l=a?"both":i?"in":"out",c,u=e.inert,f=e.style.overflow,d,h;function m(){return Kn(()=>{var E;return c!=null?c:c=r()(e,(E=n==null?void 0:n())!=null?E:{},{direction:l})})}var g={is_global:o,in(){var E;if(e.inert=u,!i){h==null||h.abort(),(E=h==null?void 0:h.reset)==null||E.call(h);return}s||d==null||d.abort(),d=vb(e,m(),h,1,()=>{hm(e,"introend"),d==null||d.abort(),d=c=void 0,e.style.overflow=f})},out(E){if(!s){E==null||E(),c=void 0;return}e.inert=!0,h=vb(e,m(),d,0,()=>{hm(e,"outroend"),E==null||E()})},stop:()=>{d==null||d.abort(),h==null||h.abort()}},v=ne;if(((x=(k=v.nodes).t)!=null?x:k.t=[]).push(g),i&&fm){var w=o;if(!w){for(var b=v.parent;b&&b.f&65536;)for(;(b=b.parent)&&!(b.f&16););w=!b||(b.f&32768)!==0}w&&Wr(()=>{ze(()=>g.in())})}}function vb(t,e,r,n,i){var s=n===1;if(My(e)){var a,o=!1;return vt(()=>{if(!o){var v=e({direction:s?"in":"out"});a=vb(t,v,r,n,i)}}),{abort:()=>{o=!0,a==null||a.abort()},deactivate:()=>a.deactivate(),reset:()=>a.reset(),t:()=>a.t()}}if(r==null||r.deactivate(),!(e!=null&&e.duration)&&!(e!=null&&e.delay))return hm(t,s?"introstart":"outrostart"),i(),{abort:Fr,deactivate:Fr,reset:Fr,t:()=>n};let{delay:l=0,css:c,tick:u,easing:f=b9}=e;var d=[];if(s&&r===void 0&&(u&&u(0,1),c)){var h=dD(c(0,1));d.push(h,h)}var m=()=>1-n,g=t.animate(d,{duration:l,fill:"forwards"});return g.onfinish=()=>{var _;g.cancel(),hm(t,s?"introstart":"outrostart");var v=(_=r==null?void 0:r.t())!=null?_:1-n;r==null||r.abort();var w=n-v,b=e.duration*Math.abs(w),k=[];if(b>0){var x=!1;if(c)for(var E=Math.ceil(b/16.666666666666668),A=0;A<=E;A+=1){var y=v+w*f(A/E),S=dD(c(y,1-y));k.push(S),x||(x=S.overflow==="hidden")}x&&(t.style.overflow="hidden"),m=()=>{var C=g.currentTime;return v+w*f(C/b)},u&&fD(()=>{if(g.playState!=="running")return!1;var C=m();return u(C,1-C),!0})}g=t.animate(k,{duration:b,fill:"forwards"}),g.onfinish=()=>{m=()=>n,u==null||u(n,1-n),i()}},{abort:()=>{g&&(g.cancel(),g.effect=null,g.onfinish=Fr)},deactivate:()=>{i=Fr},reset:()=>{n===0&&(u==null||u(1,0))},t:()=>m()}}p();p();function ti(t,e){Wr(()=>{var i;var r=t.getRootNode(),n=r.host?r:(i=r.head)!=null?i:r.ownerDocument.head;if(!n.querySelector("#"+e.hash)){let s=document.createElement("style");s.id=e.hash,s.textContent=e.code,n.appendChild(s),L&&lD(e.hash,s)}})}p();p();p();p();p();p();var pD=[...` +\r\f\xA0\v\uFEFF`];function mD(t,e,r){var n=t==null?"":""+t;if(e&&(n=n?n+" "+e:e),r){for(var i in r)if(r[i])n=n?n+" "+i:i;else if(n.length)for(var s=i.length,a=0;(a=n.indexOf(i,a))>=0;){var o=a+s;(a===0||pD.includes(n[a-1]))&&(o===n.length||pD.includes(n[o]))?n=(a===0?"":n.substring(0,a))+n.substring(o+1):a=o}}return n===""?null:n}p();function ft(t,e,r,n,i,s){var a=t.__className;if(re||a!==r||a===void 0){var o=mD(r,n,s);(!re||o!==t.getAttribute("class"))&&(o==null?t.removeAttribute("class"):e?t.className=o:t.setAttribute("class",o)),t.__className=r}else if(s&&i!==s)for(var l in s){var c=!!s[l];(i==null||c!==!!i[l])&&t.classList.toggle(l,c)}return s}p();p();var T9=Symbol("class"),P9=Symbol("style"),R9=Symbol("is custom element"),$9=Symbol("is html");function _e(t,e,r,n){var i=I9(t);if(re&&(i[e]=t.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&t.nodeName==="LINK")){n||O9(t,e,r!=null?r:"");return}i[e]!==(i[e]=r)&&(e==="loading"&&(t[JO]=r),r==null?t.removeAttribute(e):typeof r!="string"&&F9(t).includes(e)?t[e]=r:t.setAttribute(e,r))}function I9(t){var e;return(e=t.__attributes)!=null?e:t.__attributes={[R9]:t.nodeName.includes("-"),[$9]:t.namespaceURI===ZO}}var gD=new Map;function F9(t){var e=t.getAttribute("is")||t.nodeName,r=gD.get(e);if(r)return r;gD.set(e,r=[]);for(var n,i=t,s=Element.prototype;s!==i;){n=Iy(i);for(var a in n)n[a].set&&r.push(a);i=Kl(i)}return r}function O9(t,e,r){var n;L&&(e==="srcset"&&M9(t,r)||wb((n=t.getAttribute(e))!=null?n:"",r)||pM(e,t.outerHTML.replace(t.innerHTML,t.innerHTML&&"..."),String(r)))}function wb(t,e){return t===e?!0:new URL(t,document.baseURI).href===new URL(e,document.baseURI).href}function vD(t){return t.split(",").map(e=>e.trim().split(" ").filter(Boolean))}function M9(t,e){var r=vD(t.srcset),n=vD(e);return n.length===r.length&&n.every(([i,s],a)=>s===r[a][1]&&(wb(r[a][0],i)||wb(i,r[a][0])))}p();p();p();function _b(t,e,r=e){var n=new WeakSet;ob(t,"input",async i=>{L&&t.type==="checkbox"&&Dy();var s=i?t.defaultValue:t.value;if(s=yb(t)?bb(s):s,r(s),ye!==null&&n.add(ye),await lm(),s!==(s=e())){var a=t.selectionStart,o=t.selectionEnd,l=t.value.length;if(t.value=s!=null?s:"",o!==null){var c=t.value.length;a===o&&o===l&&c>l?(t.selectionStart=c,t.selectionEnd=c):(t.selectionStart=a,t.selectionEnd=Math.min(o,c))}}}),(re&&t.defaultValue!==t.value||ze(e)==null&&t.value)&&(r(yb(t)?bb(t.value):t.value),ye!==null&&n.add(ye)),Xt(()=>{var a;L&&t.type==="checkbox"&&Dy();var i=e();if(t===document.activeElement){var s=(a=lf)!=null?a:ye;if(n.has(s))return}yb(t)&&i===bb(t.value)||t.type==="date"&&!i&&!t.value||i!==t.value&&(t.value=i!=null?i:"")})}function yb(t){var e=t.type;return e==="number"||e==="range"}function bb(t){return t===""?null:+t}p();p();p();p();p();function yD(t,e){return t===e||(t==null?void 0:t[Wt])===e}function it(t={},e,r,n){return Wr(()=>{var i,s;return Xt(()=>{i=s,s=(n==null?void 0:n())||[],ze(()=>{t!==r(...s)&&(e(t,...s),i&&yD(r(...i),t)&&e(null,...i))})}),()=>{vt(()=>{s&&yD(r(...s),t)&&e(null,...s)})}}),t}p();p();p();p();p();p();p();p();p();var mm=!1,Vge=Symbol();function Sb(t){var e=mm;try{return mm=!1,[t(),mm]}finally{mm=e}}function Pn(t,e,r,n){var k,x;var i=!as||(r&2)!==0,s=(r&8)!==0,a=(r&16)!==0,o=n,l=!0,c=()=>(l&&(l=!1,o=a?ze(n):n),o),u;if(s){var f=Wt in t||rf in t;u=(x=(k=Ir(t,e))==null?void 0:k.set)!=null?x:f&&e in t?E=>t[e]=E:void 0}var d,h=!1;s?[d,h]=Sb(()=>t[e]):d=t[e],d===void 0&&n!==void 0&&(d=c(),u&&(i&&oM(e),u(d)));var m;if(i?m=()=>{var E=t[e];return E===void 0?c():(l=!0,E)}:m=()=>{var E=t[e];return E!==void 0&&(o=void 0),E===void 0?o:E},i&&!(r&4))return m;if(u){var g=t.$$legacy;return function(E,A){return arguments.length>0?((!i||!A||g||h)&&u(A?m():E),E):m()}}var v=!1,w=(r&1?so:ao)(()=>(v=!1,m()));L&&(w.label=e),s&&R(w);var b=ne;return function(E,A){if(arguments.length>0){let y=A?R(w):i&&s?Ye(E):E;return se(w,y),v=!0,o!==void 0&&(o=y),E}return Tn&&v||b.f&16384?w.v:R(w)}}p();p();p();function bD(t){return new Eb(t)}var gs,Rn,Eb=class{constructor(e){me(this,gs);me(this,Rn);var s,a;var r=new Map,n=(o,l)=>{var c=lo(l,!1,!1);return r.set(o,c),c};let i=new Proxy({...e.props||{},$$events:{}},{get(o,l){var c;return R((c=r.get(l))!=null?c:n(l,Reflect.get(o,l)))},has(o,l){var c;return l===rf?!0:(R((c=r.get(l))!=null?c:n(l,Reflect.get(o,l))),Reflect.has(o,l))},set(o,l,c){var u;return se((u=r.get(l))!=null?u:n(l,c),c),Reflect.set(o,l,c)}});de(this,Rn,(e.hydrate?mb:ia)(e.component,{target:e.target,anchor:e.anchor,props:i,context:e.context,intro:(s=e.intro)!=null?s:!1,recover:e.recover})),!tr&&(!((a=e==null?void 0:e.props)!=null&&a.$$host)||e.sync===!1)&&eo(),de(this,gs,i.$$events);for(let o of Object.keys($(this,Rn)))o==="$set"||o==="$destroy"||o==="$on"||Jt(this,o,{get(){return $(this,Rn)[o]},set(l){$(this,Rn)[o]=l},enumerable:!0});$(this,Rn).$set=o=>{Object.assign(i,o)},$(this,Rn).$destroy=()=>{hs($(this,Rn))}}$set(e){$(this,Rn).$set(e)}$on(e,r){$(this,gs)[e]=$(this,gs)[e]||[];let n=(...i)=>r.call(this,...i);return $(this,gs)[e].push(n),()=>{$(this,gs)[e]=$(this,gs)[e].filter(i=>i!==n)}}$destroy(){$(this,Rn).$destroy()}};gs=new WeakMap,Rn=new WeakMap;var X9;typeof HTMLElement=="function"&&(X9=class extends HTMLElement{constructor(e,r,n){super();qe(this,"$$ctor");qe(this,"$$s");qe(this,"$$c");qe(this,"$$cn",!1);qe(this,"$$d",{});qe(this,"$$r",!1);qe(this,"$$p_d",{});qe(this,"$$l",{});qe(this,"$$l_u",new Map);qe(this,"$$me");qe(this,"$$shadowRoot",null);this.$$ctor=e,this.$$s=r,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,r,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(r),this.$$c){let i=this.$$c.$on(e,r);this.$$l_u.set(r,i)}super.addEventListener(e,r,n)}removeEventListener(e,r,n){if(super.removeEventListener(e,r,n),this.$$c){let i=this.$$l_u.get(r);i&&(i(),this.$$l_u.delete(r))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return s=>{let a=document.createElement("slot");i!=="default"&&(a.name=i),ae(s,a)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let r={},n=Z9(this);for(let i of this.$$s)i in n&&(i==="default"&&!this.$$d.children?(this.$$d.children=e(i),r.default=!0):r[i]=e(i));for(let i of this.attributes){let s=this.$$g_p(i.name);s in this.$$d||(this.$$d[s]=kb(s,i.value,this.$$p_d,"toProp"))}for(let i in this.$$p_d)!(i in this.$$d)&&this[i]!==void 0&&(this.$$d[i]=this[i],delete this[i]);this.$$c=bD({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=cb(()=>{Xt(()=>{var i;this.$$r=!0;for(let s of $y(this.$$c)){if(!((i=this.$$p_d[s])!=null&&i.reflect))continue;this.$$d[s]=this.$$c[s];let a=kb(s,this.$$d[s],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[s].attribute||s):this.setAttribute(this.$$p_d[s].attribute||s,a)}this.$$r=!1})});for(let i in this.$$l)for(let s of this.$$l[i]){let a=this.$$c.$on(i,s);this.$$l_u.set(s,a)}this.$$l={}}}attributeChangedCallback(e,r,n){var i;this.$$r||(e=this.$$g_p(e),this.$$d[e]=kb(e,n,this.$$p_d,"toProp"),(i=this.$$c)==null||i.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return $y(this.$$p_d).find(r=>this.$$p_d[r].attribute===e||!this.$$p_d[r].attribute&&r.toLowerCase()===e)||e}});function kb(t,e,r,n){var s;let i=(s=r[t])==null?void 0:s.type;if(e=i==="Boolean"&&typeof e!="boolean"?e!=null:e,!n||!r[t])return e;if(n==="toAttribute")switch(i){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e==null?null:e;default:return e}else switch(i){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}function Z9(t){let e={};return t.childNodes.forEach(r=>{e[r.slot||"default"]=!0}),e}p();p();function po(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return new(r||(r=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(f){a(f)}}function l(u){try{c(n.throw(u))}catch(f){a(f)}}function c(u){u.done?s(u.value):i(u.value).then(o,l)}c((n=n.apply(t,e||[])).next())})}var Pb=require("obsidian");p();var Cb=require("obsidian");p();function K9(t){let e=t-1;return e*e*e+1}var Ab=!1;function Ni(t,{delay:e=0,duration:r=400,easing:n=K9,axis:i="y"}={}){let s=getComputedStyle(t);L&&!Ab&&/(contents|inline|table)/.test(s.display)&&(Ab=!0,Promise.resolve().then(()=>Ab=!1),wM(s.display));let a=+s.opacity,o=i==="y"?"height":"width",l=parseFloat(s[o]),c=i==="y"?["top","bottom"]:["left","right"],u=c.map(w=>`${w[0].toUpperCase()}${w.slice(1)}`),f=parseFloat(s[`padding${u[0]}`]),d=parseFloat(s[`padding${u[1]}`]),h=parseFloat(s[`margin${u[0]}`]),m=parseFloat(s[`margin${u[1]}`]),g=parseFloat(s[`border${u[0]}Width`]),v=parseFloat(s[`border${u[1]}Width`]);return{delay:e,duration:r,easing:n,css:w=>`overflow: hidden;opacity: ${Math.min(w*20,1)*a};${o}: ${w*l}px;padding-${c[0]}: ${w*f}px;padding-${c[1]}: ${w*d}px;margin-${c[0]}: ${w*h}px;margin-${c[1]}: ${w*m}px;border-${c[0]}-width: ${w*g}px;border-${c[1]}-width: ${w*v}px;min-${o}: 0`}}p();var gm=require("obsidian");var Q9=fe('
'),J9=fe('
'),e7={hash:"svelte-1c0jiav",code:"main.svelte-1c0jiav .nav-file-title:where(.svelte-1c0jiav) {align-items:center;}"};function xf(t,e){at(e,!0),ti(t,e7);let r=Ye([]),n=St(()=>e.view.leaf.getRoot().side=="left"?"right":"left");sr(()=>{for(let w of r)w&&(0,gm.setIcon)(w,w.getAttr("data-icon"))});function i(w){w.stopPropagation(),ml(e.diff.path)?s(w):a(w)}function s(w){var b;w.stopPropagation();let k=e.view.app.vault.getAbstractFileByPath(e.diff.vaultPath);k instanceof gm.TFile&&((b=Bn(e.view.app,w))===null||b===void 0||b.openFile(k).catch(x=>e.view.plugin.displayError(x)))}function a(w){var b;e.view.plugin.tools.openDiff({event:w,aFile:(b=e.diff.fromPath)!==null&&b!==void 0?b:e.diff.path,aRef:`${e.diff.hash}^`,bFile:e.diff.path,bRef:e.diff.hash})}var o=J9();o.__click=i;var l=j(o),c=j(l),u=j(c,!0);G(c);var f=ee(c,2),d=j(f),h=j(d);{var m=w=>{var b=Q9();b.__click=s,it(b,k=>r[0]=k,()=>r==null?void 0:r[0]),on("auxclick",b,s),ae(w,b)};Ae(h,w=>{gl(e.diff.vaultPath,e.view.app)&&w(m)})}G(d);var g=ee(d,2),v=j(g,!0);G(g),G(f),G(l),G(o),Ne(w=>{_e(l,"data-path",e.diff.vaultPath),_e(l,"data-tooltip-position",R(n)),_e(l,"aria-label",e.diff.vaultPath),He(u,w),_e(g,"data-type",e.diff.status),He(v,e.diff.status)},[()=>vi(e.diff.vaultPath)]),on("auxclick",o,w=>{w.stopPropagation(),w.button==2?gi(e.view.app,w,e.diff.vaultPath,e.view.leaf,"git-history"):i(w)}),ae(t,o),ot()}Et(["click"]);p();var t7=fe("
"),r7=fe(''),n7=fe('
'),i7=fe("
"),s7={hash:"svelte-d9h7mp",code:"main.svelte-d9h7mp .nav-folder-title-content:where(.svelte-d9h7mp) {display:flex;align-items:center;}"};function Sf(t,e){at(e,!0),ti(t,s7);let r=Pn(e,"topLevel",3,!1),n=Pn(e,"closed",15),i=St(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function s(l,c){l.stopPropagation(),n(n()[c.path]=!n()[c.path],!0)}var a=i7();let o;un(a,21,()=>e.hierarchy.children,cn,(l,c)=>{var u=ds(),f=qr(u);{var d=m=>{var g=t7(),v=j(g);xf(v,{get diff(){return R(c).data},get view(){return e.view}}),G(g),ae(m,g)},h=m=>{var g=n7();let v;var w=j(g);w.__click=S=>s(S,R(c));var b=ee(j(w),2);let k;var x=ee(b,2),E=j(x,!0);G(x),G(w);var A=ee(w,2);{var y=S=>{var _=r7(),C=j(_);Sf(C,{get hierarchy(){return R(c)},get plugin(){return e.plugin},get view(){return e.view},get closed(){return n()},set closed(P){n(P)}}),G(_),ei(3,_,()=>Ni,()=>({duration:150})),ae(S,_)};Ae(A,S=>{n()[R(c).path]||S(y)})}G(g),Ne(()=>{v=ft(g,1,"tree-item nav-folder",null,v,{"is-collapsed":n()[R(c).path]}),_e(w,"data-tooltip-position",R(i)),_e(w,"aria-label",R(c).vaultPath),k=ft(b,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,k,{"is-collapsed":n()[R(c).path]}),He(E,R(c).title)}),ae(m,g)};Ae(f,m=>{R(c).data?m(d):m(h,!1)})}ae(l,u)}),G(a),Ne(()=>o=ft(a,1,"svelte-d9h7mp",null,o,{topLevel:r()})),ae(t,a),ot()}Et(["click"]);var a7=fe('
'),o7=fe('
'),l7=fe('
'),c7=fe(''),u7=fe('
'),f7={hash:"svelte-1edsiy5",code:""};function Tb(t,e){at(e,!0),ti(t,f7);let r=St(()=>({title:"",path:"",vaultPath:"",children:e.plugin.gitManager.getTreeStructure(e.log.diff.files)})),n=St(()=>e.view.leaf.getRoot().side=="left"?"right":"left"),i=Me(!0),s=Me(Ye({}));function a(S){let _=S.author.name;if(e.plugin.settings.authorInHistoryView=="full")return _;if(e.plugin.settings.authorInHistoryView=="initials")return _.split(" ").filter(P=>P.length>0).map(P=>P[0].toUpperCase()).join("")}var o=u7(),l=j(o);let c;var u=j(l);u.__click=()=>se(i,!R(i));var f=j(u);let d;var h=ee(f,2),m=j(h);{var g=S=>{var _=a7(),C=j(_,!0);G(_),Ne(P=>He(C,P),[()=>e.log.refs.join(", ")]),ae(S,_)};Ae(m,S=>{e.log.refs.length>0&&S(g)})}var v=ee(m,2);{var w=S=>{var _=o7(),C=j(_,!0);G(_),Ne(P=>He(C,P),[()=>a(e.log)]),ae(S,_)};Ae(v,S=>{var _;e.plugin.settings.authorInHistoryView!="hide"&&((_=e.log.author)!=null&&_.name)&&S(w)})}var b=ee(v,2);{var k=S=>{var _=l7(),C=j(_,!0);G(_),Ne(P=>He(C,P),[()=>(0,Cb.moment)(e.log.date).format(e.plugin.settings.commitDateFormat)]),ae(S,_)};Ae(b,S=>{e.plugin.settings.dateInHistoryView&&S(k)})}var x=ee(b,2),E=j(x,!0);G(x),G(h),G(u);var A=ee(u,2);{var y=S=>{var _=c7(),C=j(_);{var P=B=>{Sf(B,{get hierarchy(){return R(r)},get plugin(){return e.plugin},get view(){return e.view},topLevel:!0,get closed(){return R(s)},set closed(H){se(s,H,!0)}})},N=B=>{var H=ds(),ce=qr(H);un(ce,17,()=>e.log.diff.files,cn,(Pe,ve)=>{xf(Pe,{get view(){return e.view},get diff(){return R(ve)}})}),ae(B,H)};Ae(C,B=>{e.showTree?B(P):B(N,!1)})}G(_),ei(3,_,()=>Ni,()=>({duration:150})),ae(S,_)};Ae(A,S=>{R(i)||S(y)})}G(l),G(o),Ne(S=>{c=ft(l,1,"tree-item nav-folder",null,c,{"is-collapsed":R(i)}),_e(u,"aria-label",S),_e(u,"data-tooltip-position",R(n)),d=ft(f,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,d,{"is-collapsed":R(i)}),He(E,e.log.message)},[()=>{var S;return`${e.log.refs.length>0?e.log.refs.join(", ")+` +`:""}${(S=e.log.author)==null?void 0:S.name} +${(0,Cb.moment)(e.log.date).format(e.plugin.settings.commitDateFormat)} +${e.log.message}`}]),ae(t,o),ot()}Et(["click"]);var d7=fe(''),h7=fe('
'),p7={hash:"svelte-12n6twc",code:""};function Rb(t,e){at(e,!0),ti(t,p7);let r=Pn(e,"plugin",15),n=Me(!1),i=Ye([]),s=Me(void 0),a=Me(Ye(r().settings.treeStructure)),o;sr(()=>{o&&o.empty()}),ho(()=>{e.view.registerEvent(e.view.app.workspace.on("obsidian-git:head-change",()=>void c().catch(console.error)))}),sr(()=>{i.forEach(x=>(0,Pb.setIcon)(x,x.getAttr("data-icon")))}),ho(()=>{let x=new IntersectionObserver(A=>{A[0].isIntersecting&&!R(n)&&u().catch(console.error)}),E=document.querySelector("#sentinel");return E&&x.observe(E),()=>{x.disconnect()}}),c().catch(console.error);function l(){c().catch(console.error)}function c(){return po(this,void 0,void 0,function*(){var x;if(!r().gitReady){se(s,void 0);return}se(n,!0);let E=r().gitManager instanceof Se,A;((x=R(s)===null||R(s)===void 0?void 0:R(s).length)!==null&&x!==void 0?x:0)==0?A=E?50:10:A=R(s).length,se(s,yield r().gitManager.log(void 0,!1,A),!0),se(n,!1)})}function u(){return po(this,void 0,void 0,function*(){var x;if(!r().gitReady||R(s)===void 0)return;se(n,!0);let A=r().gitManager instanceof Se?50:10,y=yield r().gitManager.log(void 0,!1,A,(x=R(s).last())===null||x===void 0?void 0:x.hash);R(s).push(...y.slice(1)),se(n,!1)})}var f=h7(),d=j(f),h=j(d),m=j(h);m.__click=()=>{se(a,!R(a)),(0,Pb.setIcon)(i[0],R(a)?"list":"folder"),r(r().settings.treeStructure=R(a),!0),r().saveSettings()},it(m,x=>i[0]=x,()=>i==null?void 0:i[0]);var g=ee(m,2);let v;g.__click=l,it(g,x=>i[1]=x,()=>i==null?void 0:i[1]),G(h),G(d);var w=ee(d,2),b=j(w);{var k=x=>{var E=d7();un(E,21,()=>R(s),cn,(A,y)=>{Tb(A,{get view(){return e.view},get showTree(){return R(a)},get log(){return R(y)},get plugin(){return r()}})}),G(E),ae(x,E)};Ae(b,x=>{R(s)&&x(k)})}Xa(4),G(w),G(f),Ne(()=>{_e(m,"data-icon",R(a)?"list":"folder"),v=ft(g,1,"clickable-icon nav-action-button",null,v,{loading:R(n)})}),ae(t,f),ot()}Et(["click"]);var Ef=class extends _D.ItemView{constructor(e,r){super(e),this.plugin=r,this.hoverPopover=null}getViewType(){return gn.type}getDisplayText(){return gn.name}getIcon(){return gn.icon}onClose(){return this._view&&hs(this._view),super.onClose()}reload(){this._view&&hs(this._view),this._view=ia(Rb,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}onOpen(){return this.reload(),super.onOpen()}};p();var xD=require("obsidian"),vm=class extends xD.FuzzySuggestModal{constructor(r,n){super(r.app);this.branches=n;this.setPlaceholder("Select branch to checkout")}getItems(){return this.branches}getItemText(r){return r}onChooseItem(r,n){this.resolve(r)}openAndGetReslt(){return new Promise(r=>{this.resolve=r,this.open()})}onClose(){new Promise(r=>setTimeout(r,10)).then(()=>{this.resolve&&this.resolve(void 0)})}};p();var kD=require("obsidian");p();var vo=require("obsidian");p();var kf=require("obsidian");p();var SD=require("obsidian");var vc=class extends SD.Modal{constructor({app:r,path:n,filesToDeleteCount:i,filesToDiscardCount:s}){super(r);this.resolve=null;this.path=n,this.deleteCount=i,this.discardCount=s}openAndGetResult(){return this.open(),new Promise(r=>{this.resolve=r})}onOpen(){let r=this.deleteCount+this.discardCount,{contentEl:n,titleEl:i}=this,s="";this.path!=""&&(r>1?s=`files in "${this.path}"`:s=`"${this.path}"`),i.setText(`${this.discardCount==0?"Delete":"Discard"} ${s}`),this.deleteCount>0&&n.createEl("p").setText(`Are you sure you want to DELETE the ${Pu(this.deleteCount,"untracked file")}? They are deleted according to your Obsidian trash settting.`),this.discardCount>0&&n.createEl("p").setText(`Are you sure you want to discard ALL changes in ${Pu(this.discardCount,"tracked file")}?`);let a=n.createDiv({cls:"modal-button-container"});if(this.deleteCount>0){let l=a.createEl("button",{cls:"mod-warning",text:`${this.discardCount>0?"Discard":"Delete"} all ${Pu(r,"file")}`});l.addEventListener("click",()=>{this.resolve&&this.resolve("delete"),this.close()}),l.addEventListener("keypress",()=>{this.resolve&&this.resolve("delete"),this.close()})}if(this.discardCount>0){let l=a.createEl("button",{cls:"mod-warning",text:`Discard all ${Pu(this.discardCount,"tracked file")}`});l.addEventListener("click",()=>{this.resolve&&this.resolve("discard"),this.close()}),l.addEventListener("keypress",()=>{this.resolve&&this.resolve("discard"),this.close()})}let o=a.createEl("button",{text:"Cancel"});o.addEventListener("click",()=>(this.resolve&&this.resolve(!1),this.close())),o.addEventListener("keypress",()=>(this.resolve&&this.resolve(!1),this.close()))}onClose(){let{contentEl:r}=this;r.empty()}};var m7=fe('
'),g7=fe('
');function Af(t,e){at(e,!0);let r=Ye([]),n=St(()=>e.view.leaf.getRoot().side=="left"?"right":"left");sr(()=>{for(let A of r)A&&(0,kf.setIcon)(A,A.getAttr("data-icon"))});function i(A){A.stopPropagation(),ml(e.change.path)?a(A):l(A)}function s(A){e.view.app.vault.getAbstractFileByPath(e.change.vaultPath)&&vl(e.view.app,A,e.view,e.change.vaultPath)}function a(A){var y;A.stopPropagation();let S=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);S instanceof kf.TFile&&((y=Bn(e.view.app,A))===null||y===void 0||y.openFile(S).catch(_=>e.view.plugin.displayError(_)))}function o(A){A.stopPropagation(),e.manager.stage(e.change.path,!1).catch(y=>e.view.plugin.displayError(y)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function l(A){A.stopPropagation(),e.view.plugin.tools.openDiff({aFile:e.change.path,aRef:"",event:A})}function c(A){A.stopPropagation();let y=e.change.workingDir=="U";new vc({app:e.view.app,filesToDeleteCount:y?1:0,filesToDiscardCount:y?0:1,path:e.change.vaultPath}).openAndGetResult().then(S=>po(this,void 0,void 0,function*(){if(S=="delete"){let _=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);_ instanceof kf.TFile?yield e.view.app.fileManager.trashFile(_):yield e.view.app.vault.adapter.remove(e.change.vaultPath)}else S=="discard"&&(yield e.manager.discard(e.change.path).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")}));e.view.app.workspace.trigger("obsidian-git:refresh")}),S=>e.view.plugin.displayError(S))}var u=g7();u.__mouseover=s,u.__click=i;var f=j(u),d=j(f),h=j(d,!0);G(d);var m=ee(d,2),g=j(m),v=j(g);{var w=A=>{var y=m7();y.__click=a,it(y,S=>r[0]=S,()=>r==null?void 0:r[0]),on("auxclick",y,a),ae(A,y)};Ae(v,A=>{gl(e.change.vaultPath,e.view.app)&&A(w)})}var b=ee(v,2);b.__click=c,it(b,A=>r[1]=A,()=>r==null?void 0:r[1]);var k=ee(b,2);k.__click=o,it(k,A=>r[2]=A,()=>r==null?void 0:r[2]),G(g);var x=ee(g,2),E=j(x,!0);G(x),G(m),G(f),G(u),Ne(A=>{_e(f,"data-path",e.change.vaultPath),_e(f,"data-tooltip-position",R(n)),_e(f,"aria-label",e.change.vaultPath),He(h,A),_e(x,"data-type",e.change.workingDir),He(E,e.change.workingDir)},[()=>vi(e.change.vaultPath)]),on("auxclick",u,A=>{A.stopPropagation(),A.button==2?gi(e.view.app,A,e.change.vaultPath,e.view.leaf,"git-source-control"):i(A)}),ae(t,u),ot()}Et(["mouseover","click"]);p();var ED=require("obsidian");var v7=fe('
');function Cf(t,e){at(e,!0);let r=St(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function n(d){e.view.app.vault.getAbstractFileByPath(e.change.vaultPath)&&vl(e.view.app,d,e.view,e.change.vaultPath)}function i(d){var h;d.stopPropagation();let m=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);m instanceof ED.TFile&&((h=Bn(e.view.app,d))===null||h===void 0||h.openFile(m).catch(g=>e.view.plugin.displayError(g)))}var s=v7();s.__mouseover=n,s.__click=i;var a=j(s),o=j(a),l=j(o,!0);G(o);var c=ee(o,2),u=j(c),f=j(u,!0);G(u),G(c),G(a),G(s),Ne(d=>{_e(a,"data-path",e.change.vaultPath),_e(a,"data-tooltip-position",R(r)),_e(a,"aria-label",e.change.vaultPath),He(l,d),_e(u,"data-type",e.change.workingDir),He(f,e.change.workingDir)},[()=>vi(e.change.vaultPath)]),on("auxclick",s,d=>{d.stopPropagation(),d.button==2?gi(e.view.app,d,e.change.vaultPath,e.view.leaf,"git-source-control"):i(d)}),ae(t,s),ot()}Et(["mouseover","click"]);p();var wm=require("obsidian");var w7=fe('
'),y7=fe('
');function Tf(t,e){at(e,!0);let r=Ye([]),n=St(()=>e.view.leaf.getRoot().side=="left"?"right":"left");sr(()=>{for(let x of r)x&&(0,wm.setIcon)(x,x.getAttr("data-icon"))});function i(x){x.stopPropagation(),ml(e.change.path)?a(x):o(x)}function s(x){e.view.app.vault.getFileByPath(e.change.vaultPath)&&vl(e.view.app,x,e.view,e.change.vaultPath)}function a(x){var E;x.stopPropagation();let A=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);A instanceof wm.TFile&&((E=Bn(e.view.app,x))===null||E===void 0||E.openFile(A).catch(y=>e.view.plugin.displayError(y)))}function o(x){var E;x.stopPropagation(),e.view.plugin.tools.openDiff({aFile:(E=e.change.from)!==null&&E!==void 0?E:e.change.path,bFile:e.change.path,aRef:"HEAD",bRef:"",event:x})}function l(x){x.stopPropagation(),e.manager.unstage(e.change.path,!1).catch(E=>e.view.plugin.displayError(E)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}var c=y7();c.__mouseover=s,c.__click=i;var u=j(c),f=j(u),d=j(f,!0);G(f);var h=ee(f,2),m=j(h),g=j(m);{var v=x=>{var E=w7();E.__click=a,it(E,A=>r[0]=A,()=>r==null?void 0:r[0]),ae(x,E)};Ae(g,x=>{gl(e.change.vaultPath,e.view.app)&&x(v)})}var w=ee(g,2);w.__click=l,it(w,x=>r[1]=x,()=>r==null?void 0:r[1]),G(m);var b=ee(m,2),k=j(b,!0);G(b),G(h),G(u),G(c),Ne(x=>{_e(u,"data-path",e.change.vaultPath),_e(u,"data-tooltip-position",R(n)),_e(u,"aria-label",e.change.vaultPath),He(d,x),_e(b,"data-type",e.change.index),He(k,e.change.index)},[()=>vi(e.change.vaultPath)]),on("auxclick",c,x=>{x.stopPropagation(),x.button==2?gi(e.view.app,x,e.change.vaultPath,e.view.leaf,"git-source-control"):i(x)}),ae(t,c),ot()}Et(["mouseover","click"]);p();p();var b7=fe(''),_7=fe("
");function mo(t,e){at(e,!0);var r=_7(),n=j(r);{var i=s=>{var a=b7(),o=j(a),l=j(o),c=j(l,!0);G(l),G(o),G(a),Ne(()=>{_e(o,"aria-label","And "+(e.files.length-500)+" more files"),He(c,"And "+(e.files.length-500)+" more files")}),ae(s,a)};Ae(n,s=>{e.files.length>500&&s(i)})}G(r),ae(t,r),ot()}var S7=fe("
"),E7=fe('
'),k7=fe('
',1),A7=fe(''),C7=fe('
'),T7=fe("
");function go(t,e){at(e,!0);let r=Pn(e,"topLevel",3,!1),n=Pn(e,"closed",15);ho(()=>{var h,m;for(let g of e.hierarchy.children)((m=(h=g.children)===null||h===void 0?void 0:h.length)!==null&&m!==void 0?m:0)>100&&n(n()[g.title]=!0,!0)});let i=St(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function s(h,m){h.stopPropagation(),e.plugin.gitManager.stageAll({dir:m}).catch(g=>e.plugin.displayError(g)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function a(h,m){h.stopPropagation(),e.plugin.gitManager.unstageAll({dir:m}).catch(g=>e.plugin.displayError(g)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function o(h,m){h.stopPropagation(),e.plugin.discardAll(m.vaultPath)}function l(h,m){h.stopPropagation(),n(n()[m.path]=!n()[m.path],!0)}var c=T7();let u;var f=j(c);un(f,17,()=>Ru(e.hierarchy.children,500),cn,(h,m)=>{var g=ds(),v=qr(g);{var w=k=>{var x=S7(),E=j(x);{var A=S=>{Tf(S,{get change(){return R(m).data},get manager(){return e.plugin.gitManager},get view(){return e.view}})},y=S=>{var _=ds(),C=qr(_);{var P=B=>{Af(B,{get change(){return R(m).data},get manager(){return e.plugin.gitManager},get view(){return e.view}})},N=B=>{var H=ds(),ce=qr(H);{var Pe=ve=>{Cf(ve,{get change(){return R(m).data},get view(){return e.view}})};Ae(ce,ve=>{e.fileType==2&&ve(Pe)},!0)}ae(B,H)};Ae(C,B=>{e.fileType==1?B(P):B(N,!1)},!0)}ae(S,_)};Ae(E,S=>{e.fileType==0?S(A):S(y,!1)})}G(x),ae(k,x)},b=k=>{var x=C7();let E;var A=j(x);A.__click=ie=>l(ie,R(m));var y=ee(j(A),2);let S;var _=ee(y,2),C=j(_,!0);G(_);var P=ee(_,2),N=j(P),B=j(N);{var H=ie=>{var xe=E7();xe.__click=we=>a(we,R(m).path),ae(ie,xe)},ce=ie=>{var xe=k7(),we=qr(xe);we.__click=X=>o(X,R(m));var W=ee(we,2);W.__click=X=>s(X,R(m).path),ae(ie,xe)};Ae(B,ie=>{e.fileType==0?ie(H):ie(ce,!1)})}Xa(2),G(N),G(P),G(A);var Pe=ee(A,2);{var ve=ie=>{var xe=A7(),we=j(xe);go(we,{get hierarchy(){return R(m)},get plugin(){return e.plugin},get view(){return e.view},get fileType(){return e.fileType},get closed(){return n()},set closed(W){n(W)}}),G(xe),ei(3,xe,()=>Ni,()=>({duration:150})),ae(ie,xe)};Ae(Pe,ie=>{n()[R(m).path]||ie(ve)})}G(x),Ne(()=>{E=ft(x,1,"tree-item nav-folder",null,E,{"is-collapsed":n()[R(m).path]}),_e(A,"data-tooltip-position",R(i)),_e(A,"aria-label",R(m).vaultPath),S=ft(y,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,S,{"is-collapsed":n()[R(m).path]}),He(C,R(m).title)}),on("auxclick",x,ie=>gi(e.view.app,ie,R(m).vaultPath,e.view.leaf,"git-source-control")),ae(k,x)};Ae(v,k=>{R(m).data?k(w):k(b,!1)})}ae(h,g)});var d=ee(f,2);mo(d,{get files(){return e.hierarchy.children}}),G(c),Ne(()=>u=ft(c,1,"",null,u,{topLevel:r()})),ae(t,c),ot()}Et(["click"]);var P7=fe('
'),R7=fe(" ",1),$7=fe(''),I7=fe(" ",1),F7=fe(''),O7=fe(" ",1),M7=fe(''),D7=fe('
'),L7=fe(''),N7=fe('
'),B7={hash:"svelte-5wq9p",code:`.commit-msg-input.svelte-5wq9p {width:100%;overflow:hidden;resize:none;padding:7px 5px;background-color:var(--background-modifier-form-field);}.git-commit-msg.svelte-5wq9p {position:relative;padding:0;width:calc(100% - var(--size-4-8));margin:4px auto;}main.svelte-5wq9p .git-tools:where(.svelte-5wq9p) .files-count:where(.svelte-5wq9p) {padding-left:var(--size-2-1);width:11px;display:flex;align-items:center;justify-content:center;}.nav-folder-title.svelte-5wq9p {align-items:center;}.git-commit-msg-clear-button.svelte-5wq9p {position:absolute;background:transparent;border-radius:50%;color:var(--search-clear-button-color);cursor:var(--cursor);top:-4px;right:2px;bottom:0px;line-height:0;height:var(--input-height);width:28px;margin:auto;padding:0 0;text-align:center;display:flex;justify-content:center;align-items:center;transition:color 0.15s ease-in-out;}.git-commit-msg-clear-button.svelte-5wq9p:after {content:"";height:var(--search-clear-button-size);width:var(--search-clear-button-size);display:block;background-color:currentColor;mask-image:url("data:image/svg+xml,");mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,");-webkit-mask-repeat:no-repeat;}`};function $b(t,e){at(e,!0),ti(t,B7);let r=Pn(e,"plugin",7),n=Pn(e,"view",7),i=Me(!1),s=Me(void 0),a=Me(Ye([])),o=St(()=>r().settings.commitMessage),l=Ye([]),c=Me(void 0),u=Me(void 0),f=Me(void 0),d=Me(!0),h=Me(!0),m=Me(!0),g=Me(0),v=Me(Ye({})),w=Me(Ye({})),b=Me(Ye({})),k=St(()=>r().settings.treeStructure);ho(()=>{n().registerEvent(n().app.workspace.on("obsidian-git:loading-status",()=>se(i,!0))),n().registerEvent(n().app.workspace.on("obsidian-git:status-changed",()=>void A().catch(console.error))),n().plugin.cachedStatus==null?n().plugin.refresh().catch(console.error):A().catch(console.error),n().scope=new vo.Scope(r().app.scope),n().scope.register(["Ctrl"],"Enter",O=>E())}),sr(()=>{l.forEach(O=>(0,vo.setIcon)(O,O.getAttr("data-icon")))}),sr(()=>{l.forEach(O=>{var oe,Ce;!O||O.id!="push"||(vo.Platform.isMobile?(O.removeClass("button-border"),R(g)>0&&O.addClass("button-border")):((oe=O.firstElementChild)===null||oe===void 0||oe.removeAttribute("color"),R(g)>0&&((Ce=O.firstElementChild)===null||Ce===void 0||Ce.setAttr("color","var(--text-accent)"))))})});function x(){if(se(i,!0),R(s)){let O=R(s).staged.length>0;r().promiseQueue.addTask(()=>r().commit({fromAuto:!1,commitMessage:R(o),onlyStaged:O}).then(()=>se(o,r().settings.commitMessage)).finally(y))}}function E(){if(se(i,!0),R(s)){let O=R(s).staged.length>0;r().promiseQueue.addTask(()=>r().commitAndSync({fromAutoBackup:!1,commitMessage:R(o),onlyStaged:O}).then(()=>{se(o,r().settings.commitMessage)}).finally(y))}}function A(){return po(this,void 0,void 0,function*(){if(!r().gitReady){se(s,void 0);return}if(se(g,yield r().gitManager.getUnpushedCommits(),!0),se(s,r().cachedStatus,!0),se(i,!1),r().lastPulledFiles&&r().lastPulledFiles!=R(a)&&(se(a,r().lastPulledFiles,!0),se(f,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(a))},!0)),R(s)){let O=(oe,Ce)=>oe.vaultPath.split("/").last().localeCompare(vi(Ce.vaultPath));R(s).changed.sort(O),R(s).staged.sort(O),se(c,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(s).changed)},!0),se(u,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(s).staged)},!0)}else se(c,void 0),se(u,void 0)})}function y(){n().app.workspace.trigger("obsidian-git:refresh")}function S(O){O.stopPropagation(),se(i,!0),r().promiseQueue.addTask(()=>r().gitManager.stageAll({status:R(s)}).finally(y))}function _(O){O.stopPropagation(),se(i,!0),r().promiseQueue.addTask(()=>r().gitManager.unstageAll({status:R(s)}).finally(y))}function C(){se(i,!0),r().promiseQueue.addTask(()=>r().push().finally(y))}function P(){se(i,!0),r().promiseQueue.addTask(()=>r().pullChangesFromRemote().finally(y))}function N(O){O.stopPropagation(),r().discardAll()}let B=St(()=>(R(o).match(/\n/g)||[]).length+1||1);var H=N7(),ce=j(H),Pe=j(ce),ve=j(Pe);ve.__click=E,it(ve,O=>l[0]=O,()=>l==null?void 0:l[0]);var ie=ee(ve,2);ie.__click=x,it(ie,O=>l[1]=O,()=>l==null?void 0:l[1]);var xe=ee(ie,2);xe.__click=S,it(xe,O=>l[2]=O,()=>l==null?void 0:l[2]);var we=ee(xe,2);we.__click=_,it(we,O=>l[3]=O,()=>l==null?void 0:l[3]);var W=ee(we,2);W.__click=C,it(W,O=>l[4]=O,()=>l==null?void 0:l[4]);var X=ee(W,2);X.__click=P,it(X,O=>l[5]=O,()=>l==null?void 0:l[5]);var q=ee(X,2);q.__click=()=>{se(k,!R(k)),(0,vo.setIcon)(l[6],R(k)?"list":"folder"),r().settings.treeStructure=R(k),r().saveSettings()},it(q,O=>l[6]=O,()=>l==null?void 0:l[6]);var De=ee(q,2);let ar;De.__click=y,it(De,O=>l[7]=O,()=>l==null?void 0:l[7]),G(Pe),G(ce);var Ft=ee(ce,2),Ie=j(Ft);sb(Ie);var kt=ee(Ie,2);{var At=O=>{var oe=P7();oe.__click=()=>se(o,""),_e(oe,"aria-label","Clear"),ae(O,oe)};Ae(kt,O=>{R(o)&&O(At)})}G(Ft);var je=ee(Ft,2),Z=j(je);{var M=O=>{var oe=L7(),Ce=j(oe);let Ot;var wr=j(Ce);wr.__click=()=>se(h,!R(h));var bo=j(wr);let Db;var Lb=ee(bo,4),$m=j(Lb),Nb=j($m);Nb.__click=_,it(Nb,or=>l[8]=or,()=>l==null?void 0:l[8]),G($m);var Bb=ee($m,2),OD=j(Bb,!0);G(Bb),G(Lb),G(wr);var MD=ee(wr,2);{var DD=or=>{var yr=$7(),_o=j(yr);{var vs=lr=>{go(lr,{get hierarchy(){return R(u)},get plugin(){return r()},get view(){return n()},get fileType(){return 0},topLevel:!0,get closed(){return R(v)},set closed($n){se(v,$n,!0)}})},xo=lr=>{var $n=R7(),aa=qr($n);un(aa,17,()=>Ru(R(s).staged,500),cn,(ws,yc)=>{Tf(ws,{get change(){return R(yc)},get view(){return n()},get manager(){return r().gitManager}})});var oa=ee(aa,2);mo(oa,{get files(){return R(s).staged}}),ae(lr,$n)};Ae(_o,lr=>{R(k)?lr(vs):lr(xo,!1)})}G(yr),ei(3,yr,()=>Ni,()=>({duration:150})),ae(or,yr)};Ae(MD,or=>{R(h)&&or(DD)})}G(Ce);var Rf=ee(Ce,2);let Hb;var $f=j(Rf);$f.__click=()=>se(d,!R(d));var Ub=j($f);let Gb;var jb=ee(Ub,4),Im=j(jb),qb=j(Im);qb.__click=N;var Wb=ee(qb,2);Wb.__click=S,it(Wb,or=>l[9]=or,()=>l==null?void 0:l[9]),G(Im);var zb=ee(Im,2),LD=j(zb,!0);G(zb),G(jb),G($f);var ND=ee($f,2);{var BD=or=>{var yr=F7(),_o=j(yr);{var vs=lr=>{go(lr,{get hierarchy(){return R(c)},get plugin(){return r()},get view(){return n()},get fileType(){return 1},topLevel:!0,get closed(){return R(w)},set closed($n){se(w,$n,!0)}})},xo=lr=>{var $n=I7(),aa=qr($n);un(aa,17,()=>Ru(R(s).changed,500),cn,(ws,yc)=>{Af(ws,{get change(){return R(yc)},get view(){return n()},get manager(){return r().gitManager}})});var oa=ee(aa,2);mo(oa,{get files(){return R(s).changed}}),ae(lr,$n)};Ae(_o,lr=>{R(k)?lr(vs):lr(xo,!1)})}G(yr),ei(3,yr,()=>Ni,()=>({duration:150})),ae(or,yr)};Ae(ND,or=>{R(d)&&or(BD)})}G(Rf);var HD=ee(Rf,2);{var UD=or=>{var yr=D7();let _o;var vs=j(yr);vs.__click=()=>se(m,!R(m));var xo=ee(j(vs),4),lr=j(xo,!0);G(xo),G(vs);var $n=ee(vs,2);{var aa=oa=>{var ws=M7(),yc=j(ws);{var GD=So=>{go(So,{get hierarchy(){return R(f)},get plugin(){return r()},get view(){return n()},get fileType(){return 2},topLevel:!0,get closed(){return R(b)},set closed(If){se(b,If,!0)}})},jD=So=>{var If=O7(),Vb=qr(If);un(Vb,17,()=>R(a),cn,(WD,zD)=>{Cf(WD,{get change(){return R(zD)},get view(){return n()}})});var qD=ee(Vb,2);mo(qD,{get files(){return R(a)}}),ae(So,If)};Ae(yc,So=>{R(k)?So(GD):So(jD,!1)})}G(ws),ei(3,ws,()=>Ni,()=>({duration:150})),ae(oa,ws)};Ae($n,oa=>{R(m)&&oa(aa)})}G(yr),Ne(()=>{_o=ft(yr,1,"pulled nav-folder",null,_o,{"is-collapsed":!R(m)}),He(lr,R(a).length)}),ae(or,yr)};Ae(HD,or=>{R(a).length>0&&R(f)&&or(UD)})}G(oe),Ne(()=>{Ot=ft(Ce,1,"staged tree-item nav-folder",null,Ot,{"is-collapsed":!R(h)}),Db=ft(bo,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,Db,{"is-collapsed":!R(h)}),He(OD,R(s).staged.length),Hb=ft(Rf,1,"changes tree-item nav-folder",null,Hb,{"is-collapsed":!R(d)}),Gb=ft(Ub,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,Gb,{"is-collapsed":!R(d)}),He(LD,R(s).changed.length)}),ae(O,oe)};Ae(Z,O=>{R(s)&&R(u)&&R(c)&&O(M)})}G(je),G(H),Ne(()=>{_e(H,"data-type",jt.type),_e(q,"data-icon",R(k)?"list":"folder"),ar=ft(De,1,"clickable-icon nav-action-button",null,ar,{loading:R(i)}),_e(Ie,"rows",R(B))}),_b(Ie,()=>R(o),O=>se(o,O)),ae(t,H),ot()}Et(["click"]);var Pf=class extends kD.ItemView{constructor(e,r){super(e),this.plugin=r,this.hoverPopover=null}getViewType(){return jt.type}getDisplayText(){return jt.name}getIcon(){return jt.icon}onClose(){return this._view&&hs(this._view),super.onClose()}reload(){this._view&&hs(this._view),this._view=ia($b,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}onOpen(){return this.reload(),super.onOpen()}};p();var ym=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;this.statusBarEl.addClass("mod-clickable"),this.statusBarEl.onClickEvent(n=>{this.plugin.switchBranch().catch(i=>r.displayError(i))})}async display(){if(this.plugin.gitReady){let e=await this.plugin.gitManager.branchInfo();e.current!=null?this.statusBarEl.setText(e.current):this.statusBarEl.empty()}else this.statusBarEl.empty()}remove(){this.statusBarEl.remove()}};p();var AD=require("obsidian");var bm=class{constructor(e){this.plugin=e}get editor(){var n;let e=(n=this.plugin.app.workspace.activeEditor)==null?void 0:n.editor,r=e==null?void 0:e.cm;if(!(!e||!Gn.hasHunksData(r.state)))return{editor:r,obEditor:e}}get gitManager(){return this.plugin.gitManager}resetHunk(e){if(!this.editor)return;let{editor:r,obEditor:n}=this.editor,i=Gn.getHunk(r.state,!1,e);if(i){let s,a;i.type==="delete"?(s=i.added.start+1,a=i.added.start+1):(s=i.added.start-0,a=i.added.start-1+i.added.count);let o=r.state.doc.line(s).from,l=i.type==="delete"?r.state.doc.line(a).from:r.state.doc.line(a).to+1,c=i.removed.lines.join(` +`);i.removed.lines.length>0&&!i.removed.no_nl_at_eof&&(c+=` +`),n.replaceRange(c,n.offsetToPos(o),n.offsetToPos(l)),n.setSelection(n.offsetToPos(o))}}async stageHunk(e){if(!await this.plugin.isAllInitialized()||!this.editor)return;let{editor:r}=this.editor,n=Gn.getHunk(r.state,!1,e),i=!1;if(n||(n=Gn.getHunk(r.state,!0,e),i=!0),!n)return;let s=r.state.field(AD.editorInfoField).file.path,a=Nt.createPatch(s,[n],"100644",i).join(` +`)+` +`;await this.gitManager.applyPatch(a),this.plugin.app.workspace.trigger("obsidian-git:refresh")}goToHunk(e){if(!this.editor)return;let{editor:r,obEditor:n}=this.editor,i=Gn.getHunks(r.state,!1),s=n.getCursor().line+1,a=Nt.findNearestHunk(s,i,e,!0);if(a==null)return;let o=i[a];if(o){let l=o.added.start-1;n.setCursor(l,0),n.scrollIntoView({from:{line:l,ch:0},to:{line:l+1,ch:0}},!0)}}};p();p();var wo=require("obsidian");var _m=class{constructor(e){this.plg=e;this.codeMirrorExtensions=[];this.handleWorkspaceLeaf=e=>{if(!this.lineAuthorInfoProvider){console.warn("Git: undefined lineAuthorInfoProvider. Unexpected situation.");return}let r=e==null?void 0:e.view;!(r instanceof wo.MarkdownView)||r.file==null||(r==null?void 0:r.allowNoFile)===!0||this.lineAuthorInfoProvider.trackChanged(r.file).catch(console.error)}}onLoadPlugin(){this.plg.registerEditorExtension(this.codeMirrorExtensions),cF(()=>this.plg.settings.lineAuthor,e=>{this.plg.settings.lineAuthor=e,this.plg.saveSettings()})}conditionallyActivateBySettings(){this.plg.settings.lineAuthor.show&&this.activateFeature()}activateFeature(){try{if(!this.isAvailableOnCurrentPlatform().available)return;yF(this.plg.settings.lineAuthor),this.lineAuthorInfoProvider=new ap(this.plg),this.createEventHandlers(),this.activateCodeMirrorExtensions(),console.log(this.plg.manifest.name+": Enabled line authoring.")}catch(e){console.warn("Git: Error while loading line authoring feature.",e),this.deactivateFeature()}}deactivateFeature(){var e;this.destroyEventHandlers(),this.deactivateCodeMirrorExtensions(),(e=this.lineAuthorInfoProvider)==null||e.destroy(),this.lineAuthorInfoProvider=void 0,console.log(this.plg.manifest.name+": Disabled line authoring.")}isAvailableOnCurrentPlatform(){return{available:this.plg.useSimpleGit&&wo.Platform.isDesktopApp,gitManager:this.plg.gitManager instanceof Se?this.plg.gitManager:void 0}}refreshLineAuthorViews(){this.plg.settings.lineAuthor.show&&(this.deactivateFeature(),this.activateFeature())}activateCodeMirrorExtensions(){this.codeMirrorExtensions.push(RF),this.plg.app.workspace.updateOptions(),this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}deactivateCodeMirrorExtensions(){for(let e of this.codeMirrorExtensions)this.codeMirrorExtensions.remove(e);this.plg.app.workspace.updateOptions()}createEventHandlers(){this.gutterContextMenuEvent=this.createGutterContextMenuHandler(),this.fileOpenEvent=this.createFileOpenEvent(),this.workspaceLeafChangeEvent=this.createWorkspaceLeafChangeEvent(),this.fileModificationEvent=this.createVaultFileModificationHandler(),this.headChangeEvent=this.createHeadChangeEvent(),this.refreshOnCssChangeEvent=this.createCssRefreshHandler(),this.fileRenameEvent=this.createFileRenameEvent(),pF(),this.plg.registerEvent(this.gutterContextMenuEvent),this.plg.registerEvent(this.refreshOnCssChangeEvent),this.plg.registerEvent(this.fileOpenEvent),this.plg.registerEvent(this.workspaceLeafChangeEvent),this.plg.registerEvent(this.fileModificationEvent),this.plg.registerEvent(this.headChangeEvent),this.plg.registerEvent(this.fileRenameEvent)}destroyEventHandlers(){this.plg.app.workspace.offref(this.gutterContextMenuEvent),this.plg.app.workspace.offref(this.refreshOnCssChangeEvent),this.plg.app.workspace.offref(this.fileOpenEvent),this.plg.app.workspace.offref(this.workspaceLeafChangeEvent),this.plg.app.workspace.offref(this.refreshOnCssChangeEvent),this.plg.app.vault.offref(this.fileModificationEvent),this.plg.app.workspace.offref(this.headChangeEvent),this.plg.app.vault.offref(this.fileRenameEvent)}createFileOpenEvent(){return this.plg.app.workspace.on("file-open",e=>{var r;return void((r=this.lineAuthorInfoProvider)==null?void 0:r.trackChanged(e).catch(console.error))})}createWorkspaceLeafChangeEvent(){return this.plg.app.workspace.on("active-leaf-change",this.handleWorkspaceLeaf)}createFileRenameEvent(){return this.plg.app.vault.on("rename",(e,r)=>{var n;return e instanceof wo.TFile&&((n=this.lineAuthorInfoProvider)==null?void 0:n.trackChanged(e))})}createVaultFileModificationHandler(){return this.plg.app.vault.on("modify",e=>{var r;return e instanceof wo.TFile&&((r=this.lineAuthorInfoProvider)==null?void 0:r.trackChanged(e))})}createHeadChangeEvent(){return this.plg.app.workspace.on("obsidian-git:head-change",()=>{this.refreshLineAuthorViews()})}createCssRefreshHandler(){return this.plg.app.workspace.on("css-change",()=>this.refreshLineAuthorViews())}createGutterContextMenuHandler(){return this.plg.app.workspace.on("editor-menu",vF)}};p();var wc=require("obsidian");p();p();var yo=require("@codemirror/state"),Sm=require("@codemirror/view");var xm=class extends Sm.GutterMarker{constructor(r,n){super();this.type=r;this.staged=n}toDOM(r){let n=document.createElement("div");return n.className=`git-gutter-marker git-${this.type} ${this.staged?"staged":"unstaged"}`,this.type=="changedelete"&&n.setText("~"),n}},Ib=yo.StateField.define({create:()=>yo.RangeSet.empty,update:(t,e)=>{let r=e.state.field($r,!1);if(!r)return yo.RangeSet.empty;let n=e.effects.some(s=>s.is(Vu)),i=e.effects.some(s=>s.is(Hl));if(n||i||(e.docChanged||t.size==0)&&r.isDirty==!1){let s=new Set,a=CD(e,r.hunks,!1,s),o=CD(e,r.stagedHunks,!0,s);return t=yo.RangeSet.of([...a,...o],!0),t}else e.docChanged&&(t=t.map(e.changes));return t}});function CD(t,e,r,n){let i=[];for(let a=0;a0?e[a-1]:void 0,l=a{var e;return(e=t.state.field(Ib,!1))!=null?e:yo.RangeSet.empty},initialSpacer:t=>new xm("delete",!1),domEventHandlers:{click:(t,e,r)=>{var i;return((i=Gn.getHunkAtPos(t.state,e.from,!1))!=null?i:Gn.getHunkAtPos(t.state,e.from,!0))&&(Xs(t,e.from),r.preventDefault()),!1}}});var Em=class{constructor(e){this.plugin=e}async trackChanged(e){return this.trackChangedHelper(e).catch(r=>(console.warn("Git: Error in trackChanged."+r),Promise.reject(r)))}async trackChangedHelper(e){if(e){if(e.path===void 0){console.warn("Git: Attempted to track change of undefined filepath. Unforeseen situation.");return}return this.computeSigns(e.path)}}destroy(){}async computeSigns(e){let n=await this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager.show("",e).catch(()=>{});this.notifySignComputationResultToSubscribers(e,{compareText:n,compareTextHead:void 0})}notifySignComputationResultToSubscribers(e,r){es.ifFilepathDefinedTransformSubscribers(e,n=>n.forEach(i=>i.notifyGitCompare(r)))}},PD=[GO,jO,TD,Ib,Tp],RD=[$r,yy];p();var Fb=require("obsidian"),km=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;e.addClass("git-changes-status-bar"),r.settings.hunks.statusBar==="colored"&&e.addClass("git-changes-status-bar-colored"),e.setAttr("aria-label","Git diff of the current editor"),this.statusBarEl.setAttribute("data-tooltip-position","top"),r.app.workspace.on("active-leaf-change",n=>{(!n||n.getRoot()==r.app.workspace.rootSplit&&!(n.view instanceof Fb.MarkdownView))&&this.statusBarEl.empty()})}display(e,r){var o;let n=this.plugin.app.workspace.getActiveViewOfType(Fb.MarkdownView);if(!n||((o=n.file)==null?void 0:o.path)!==(r==null?void 0:r.path))return;let i=0,s=0,a=0;for(let l of e)i+=Math.max(0,l.added.count-l.removed.count),s+=Math.min(l.added.count,l.removed.count),a+=Math.max(0,l.removed.count-l.added.count);this.statusBarEl.empty(),i>0&&this.statusBarEl.createSpan({text:`+${i} `,cls:"git-add"}),s>0&&this.statusBarEl.createSpan({text:`~${s} `,cls:"git-change"}),a>0&&this.statusBarEl.createSpan({text:`-${a}`,cls:"git-delete"})}remove(){this.statusBarEl.remove()}};var Am=class{constructor(e){this.plg=e;this.codeMirrorExtensions=[];this.handleWorkspaceLeaf=e=>{if(!this.signsProvider){console.warn("Git: undefined signsProvider. Unexpected situation.");return}let r=e==null?void 0:e.view;!(r instanceof wc.MarkdownView)||r.file==null||(r==null?void 0:r.allowNoFile)===!0||this.signsProvider.trackChanged(r.file).catch(console.error)}}onLoadPlugin(){this.plg.registerEditorExtension(this.codeMirrorExtensions)}conditionallyActivateBySettings(){(this.plg.settings.hunks.showSigns||this.plg.settings.hunks.statusBar!="disabled"||this.plg.settings.hunks.hunkCommands)&&this.activateFeature()}activateFeature(){try{if(!this.isAvailableOnCurrentPlatform().available)return;if(this.signsProvider=new Em(this.plg),this.createEventHandlers(),this.activateCodeMirrorExtensions(),this.plg.settings.hunks.statusBar!="disabled"){let e=this.plg.addStatusBarItem();this.changeStatusBar=new km(e,this.plg)}}catch(e){console.warn("Git: Error while loading signs feature.",e),this.deactivateFeature()}}deactivateFeature(){var e,r;this.destroyEventHandlers(),this.deactivateCodeMirrorExtensions(),(e=this.signsProvider)==null||e.destroy(),this.signsProvider=void 0,(r=this.changeStatusBar)==null||r.remove(),this.changeStatusBar=void 0}isAvailableOnCurrentPlatform(){return{available:this.plg.useSimpleGit&&wc.Platform.isDesktopApp,gitManager:this.plg.gitManager instanceof Se?this.plg.gitManager:void 0}}refresh(){this.plg.settings.hunks.showSigns&&this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}activateCodeMirrorExtensions(){this.codeMirrorExtensions.push(RD),this.plg.settings.hunks.showSigns&&this.codeMirrorExtensions.push(...PD),this.plg.app.workspace.updateOptions(),this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}deactivateCodeMirrorExtensions(){for(let e of this.codeMirrorExtensions)this.codeMirrorExtensions.remove(e);this.plg.app.workspace.updateOptions()}createEventHandlers(){this.workspaceLeafChangeEvent=this.createWorkspaceLeafChangeEvent(),this.fileRenameEvent=this.createFileRenameEvent(),this.pluginRefreshedEvent=this.createPluginRefreshedEvent(),this.intervalRefreshEvent=this.createIntervalRefreshEvent(),this.plg.registerEvent(this.workspaceLeafChangeEvent),this.plg.registerEvent(this.fileRenameEvent),this.plg.registerEvent(this.pluginRefreshedEvent),this.plg.registerInterval(this.intervalRefreshEvent)}destroyEventHandlers(){this.plg.app.workspace.offref(this.workspaceLeafChangeEvent),this.plg.app.vault.offref(this.fileRenameEvent),this.plg.app.workspace.offref(this.pluginRefreshedEvent),this.plg.app.workspace.offref(this.gutterContextMenuEvent),window.clearInterval(this.intervalRefreshEvent)}createWorkspaceLeafChangeEvent(){return this.plg.app.workspace.on("active-leaf-change",this.handleWorkspaceLeaf)}createFileRenameEvent(){return this.plg.app.vault.on("rename",(e,r)=>{var n;return es.ifFilepathDefinedTransformSubscribers(r,i=>i.forEach(s=>{s.changeToNewFilepath(e.path)})),e instanceof wc.TFile&&((n=this.signsProvider)==null?void 0:n.trackChanged(e))})}createPluginRefreshedEvent(){return this.plg.app.workspace.on("obsidian-git:refresh",()=>{this.refresh()})}createIntervalRefreshEvent(){return window.setInterval(()=>{var e,r;(e=this.plg.app.workspace.activeEditor)!=null&&e.file&&((r=this.signsProvider)==null||r.trackChanged(this.plg.app.workspace.activeEditor.file).catch(console.error))},10*1e3)}};p();var $D=require("@codemirror/state"),Cm=require("obsidian");var Ob=class{constructor(e){this.state=e;this.subscribeMe()}notifyLineAuthoring(e,r){if(this.view===void 0){console.warn(`Git: View is not defined for editor cache key. Unforeseen situation. id: ${e}`);return}let n=this.view.state,i=lF(e,r,n);this.view.dispatch(i)}notifyGitCompare(e){if(this.view===void 0){console.warn("Git: View is not defined for editor cache key. Unforeseen situation. id: ");return}if(this.removeIfStale())return;let r=this.view.state,n=r.field($r);if(!n||n.compareText!=e.compareText||n.compareTextHead!=e.compareTextHead){let i=_O(e,r);this.view.dispatch(i)}}updateToNewState(e){return this.state=e,!this.lastSeenPath&&this.filepath&&this.subscribeMe(),this}removeIfStale(){var e;return((e=this.view)==null?void 0:e.state.field(Mb,!1))!=this||this.view.destroyed?(this.unsubscribeMe(this.lastSeenPath),!0):!1}changeToNewFilepath(e){this.unsubscribeMe(this.lastSeenPath),this.subscribeMe(e)}subscribeMe(e){e!=null||(e=this.filepath),e!==void 0&&(es.ifFilepathDefinedTransformSubscribers(e,r=>r.add(this)),this.lastSeenPath=e)}unsubscribeMe(e){es.ifFilepathDefinedTransformSubscribers(e,r=>r.delete(this))}get filepath(){var e,r;return(r=(e=this.state.field(Cm.editorInfoField))==null?void 0:e.file)==null?void 0:r.path}get view(){return this.state.field(Cm.editorEditorField)}},Mb=$D.StateField.define({create:t=>new Ob(t),update:(t,e)=>t.updateToNewState(e.state),compare:(t,e)=>t===e});var Tm=class{constructor(e){this.plg=e;this.lineAuthoringFeature=new _m(this.plg);this.signsFeature=new Am(this.plg)}onUnloadPlugin(){this.lineAuthoringFeature.deactivateFeature(),this.signsFeature.deactivateFeature()}onLoadPlugin(){this.plg.registerEditorExtension(Mb),this.lineAuthoringFeature.onLoadPlugin(),this.signsFeature.onLoadPlugin()}onReady(){this.lineAuthoringFeature.conditionallyActivateBySettings(),this.signsFeature.conditionallyActivateBySettings()}activateLineAuthoring(){this.lineAuthoringFeature.activateFeature()}deactiveLineAuthoring(){this.lineAuthoringFeature.deactivateFeature()}refreshSignsSettings(){let e=this.plg.settings.hunks;e.showSigns||e.statusBar!="disabled"||e.hunkCommands?(this.signsFeature.deactivateFeature(),this.signsFeature.activateFeature()):this.signsFeature.deactivateFeature()}};var Pm=class extends be.Plugin{constructor(){super(...arguments);this.automaticsManager=new Gu(this);this.tools=new ef(this);this.localStorage=new Pp(this);this.state={gitAction:0,offlineMode:!1};this.gitReady=!1;this.promiseQueue=new Gd(this);this.intervalsToClear=[];this.editorIntegration=new Tm(this);this.hunkActions=new bm(this)}setPluginState(r){var n;this.state=Object.assign(this.state,r),(n=this.statusBar)==null||n.display()}async updateCachedStatus(){var r,n;return this.app.workspace.trigger("obsidian-git:loading-status"),this.cachedStatus=await this.gitManager.status(),this.cachedStatus.conflicted.length>0?(this.localStorage.setConflict(!0),await((r=this.branchBar)==null?void 0:r.display())):(this.localStorage.setConflict(!1),await((n=this.branchBar)==null?void 0:n.display())),this.app.workspace.trigger("obsidian-git:status-changed",this.cachedStatus),this.cachedStatus}async refresh(){if(!this.gitReady)return;let r=this.app.workspace.getLeavesOfType(jt.type),n=this.app.workspace.getLeavesOfType(gn.type);(this.settings.changedFilesInStatusBar||r.some(i=>{var s;return!((s=i.isDeferred)!=null&&s)})||n.some(i=>{var s;return!((s=i.isDeferred)!=null&&s)}))&&await this.updateCachedStatus().catch(i=>this.displayError(i)),this.app.workspace.trigger("obsidian-git:refreshed")}refreshUpdatedHead(){}async onload(){console.log("loading "+this.manifest.name+" plugin: v"+this.manifest.version),Ln.plugin=this,this.localStorage.migrate(),await this.loadSettings(),await this.migrateSettings(),this.settingsTab=new op(this.app,this),this.addSettingTab(this.settingsTab),this.localStorage.getPluginDisabled()||(this.registerStuff(),this.app.workspace.onLayoutReady(()=>this.init({fromReload:!1}).catch(r=>this.displayError(r))))}onExternalSettingsChange(){this.reloadSettings().catch(r=>this.displayError(r))}async reloadSettings(){let r=JSON.stringify(this.settings);await this.loadSettings();let n=JSON.stringify(this.settings);r!==n&&(this.log("Reloading settings"),this.unloadPlugin(),await this.init({fromReload:!0}),this.app.workspace.getLeavesOfType(jt.type).forEach(i=>{var s;if(!((s=i.isDeferred)!=null&&s))return i.view.reload()}),this.app.workspace.getLeavesOfType(gn.type).forEach(i=>{var s;if(!((s=i.isDeferred)!=null&&s))return i.view.reload()}))}registerStuff(){this.registerEvent(this.app.workspace.on("obsidian-git:refresh",()=>{this.refresh().catch(r=>this.displayError(r))})),this.registerEvent(this.app.workspace.on("obsidian-git:head-change",()=>{this.refreshUpdatedHead()})),this.registerEvent(this.app.workspace.on("file-menu",(r,n,i)=>{this.handleFileMenu(r,n,i,"file-manu")})),this.registerEvent(this.app.workspace.on("obsidian-git:menu",(r,n,i)=>{this.handleFileMenu(r,n,i,"obsidian-git:menu")})),this.registerEvent(this.app.workspace.on("active-leaf-change",r=>{this.onActiveLeafChange(r)})),this.registerEvent(this.app.vault.on("modify",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("delete",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("create",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("rename",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerView(jt.type,r=>new Pf(r,this)),this.registerView(gn.type,r=>new Ef(r,this)),this.registerView(Bs.type,r=>new Wa(r,this)),this.registerView(Ns.type,r=>new za(r,this)),this.addRibbonIcon("git-pull-request","Open Git source control",async()=>{var i;let r=this.app.workspace.getLeavesOfType(jt.type),n;r.length===0?(n=(i=this.app.workspace.getRightLeaf(!1))!=null?i:this.app.workspace.getLeaf(),await n.setViewState({type:jt.type})):n=r.first(),await this.app.workspace.revealLeaf(n)}),this.registerHoverLinkSource(jt.type,{display:"Git View",defaultMod:!0}),this.editorIntegration.onLoadPlugin(),this.setRefreshDebouncer(),qO(this)}setRefreshDebouncer(){var r;(r=this.debRefresh)==null||r.cancel(),this.debRefresh=(0,be.debounce)(()=>{this.settings.refreshSourceControl&&this.refresh().catch(console.error)},this.settings.refreshSourceControlTimer,!0)}async addFileToGitignore(r,n){let i=this.gitManager.getRelativeRepoPath(r,!0),s=eR({isFolder:n,gitRelativePath:i});await this.app.vault.adapter.append(this.gitManager.getRelativeVaultPath(".gitignore"),` +`+s),this.app.workspace.trigger("obsidian-git:refresh")}handleFileMenu(r,n,i,s){if(!this.gitReady||!this.settings.showFileMenu||!n)return;let a;if(typeof n=="string"?a=n:a=n.path,i=="file-explorer-context-menu"&&(r.addItem(o=>{o.setTitle("Git: Stage").setIcon("plus-circle").setSection("action").onClick(l=>{this.promiseQueue.addTask(async()=>{n instanceof be.TFile?await this.stageFile(n):(await this.gitManager.stageAll({dir:this.gitManager.getRelativeRepoPath(a,!0)}),this.app.workspace.trigger("obsidian-git:refresh"))})})}),r.addItem(o=>{o.setTitle("Git: Unstage").setIcon("minus-circle").setSection("action").onClick(l=>{this.promiseQueue.addTask(async()=>{n instanceof be.TFile?await this.unstageFile(n):(await this.gitManager.unstageAll({dir:this.gitManager.getRelativeRepoPath(a,!0)}),this.app.workspace.trigger("obsidian-git:refresh"))})})}),r.addItem(o=>{o.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(l=>{this.addFileToGitignore(a,n instanceof be.TFolder).catch(c=>this.displayError(c))})})),i=="git-source-control"){r.addItem(l=>{l.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(c=>{this.addFileToGitignore(a,n instanceof be.TFolder).catch(u=>this.displayError(u))})});let o=this.app.vault.adapter;s==="obsidian-git:menu"&&o instanceof be.FileSystemAdapter&&(r.addItem(l=>{l.setTitle("Open in default app").setIcon("arrow-up-right").setSection("action").onClick(c=>{this.app.openWithDefaultApp(a)})}),r.addItem(l=>{l.setTitle("Show in system explorer").setIcon("arrow-up-right").setSection("action").onClick(c=>{window.electron.shell.showItemInFolder(FD.join(o.getBasePath(),a))})}))}}async migrateSettings(){this.settings.mergeOnPull!=null&&(this.settings.syncMethod=this.settings.mergeOnPull?"merge":"rebase",this.settings.mergeOnPull=void 0,await this.saveSettings()),this.settings.autoCommitMessage===void 0&&(this.settings.autoCommitMessage=this.settings.commitMessage,await this.saveSettings()),this.settings.gitPath!=null&&(this.localStorage.setGitPath(this.settings.gitPath),this.settings.gitPath=void 0,await this.saveSettings()),this.settings.username!=null&&(this.localStorage.setPassword(this.settings.username),this.settings.username=void 0,await this.saveSettings())}unloadPlugin(){var r,n;this.gitReady=!1,this.editorIntegration.onUnloadPlugin(),this.automaticsManager.unload(),(r=this.branchBar)==null||r.remove(),(n=this.statusBar)==null||n.remove(),this.statusBar=void 0,this.branchBar=void 0,this.gitManager.unload(),this.promiseQueue.clear();for(let i of this.intervalsToClear)window.clearInterval(i);this.intervalsToClear=[],this.debRefresh.cancel()}onunload(){this.unloadPlugin(),console.log("unloading "+this.manifest.name+" plugin")}async loadSettings(){let r=await this.loadData();r==null&&(r={showedMobileNotice:!0}),this.settings=sC(et,r)}async saveSettings(){var r;(r=this.settingsTab)==null||r.beforeSaveSettings(),await this.saveData(this.settings)}get useSimpleGit(){return be.Platform.isDesktopApp}async init({fromReload:r=!1}){var n;if(this.settings.showStatusBar&&!this.statusBar){let i=this.addStatusBarItem();this.statusBar=new lp(i,this),this.intervalsToClear.push(window.setInterval(()=>{var s;return(s=this.statusBar)==null?void 0:s.display()},1e3))}try{this.useSimpleGit?(this.gitManager=new Se(this),await this.gitManager.setGitInstance()):this.gitManager=new Hn(this);let i=await this.gitManager.checkRequirements(),s=this.localStorage.getPausedAutomatics();switch(i){case"missing-git":this.displayError(`Cannot run git command. Trying to run: '${this.localStorage.getGitPath()||"git"}' .`);break;case"missing-repo":new be.Notice("Can't find a valid git repository. Please create one via the given command or clone an existing repo.",1e4);break;case"valid":if(this.gitReady=!0,this.setPluginState({gitAction:0}),be.Platform.isDesktop&&this.settings.showBranchStatusBar&&!this.branchBar){let a=this.addStatusBarItem();this.branchBar=new ym(a,this),this.intervalsToClear.push(window.setInterval(()=>{var o;return void((o=this.branchBar)==null?void 0:o.display().catch(console.error))},6e4))}await((n=this.branchBar)==null?void 0:n.display()),this.editorIntegration.onReady(),this.app.workspace.trigger("obsidian-git:refresh"),this.app.workspace.trigger("obsidian-git:head-change"),!r&&this.settings.autoPullOnBoot&&!s&&this.promiseQueue.addTask(()=>this.pullChangesFromRemote()),s||await this.automaticsManager.init(),s&&new be.Notice("Automatic routines are currently paused.");break;default:this.log("Something weird happened. The 'checkRequirements' result is "+i)}}catch(i){this.displayError(i),console.error(i)}}async createNewRepo(){try{await this.gitManager.init(),new be.Notice("Initialized new repo"),await this.init({fromReload:!0})}catch(r){this.displayError(r)}}async cloneNewRepo(){let n=await new Ze(this,{placeholder:"Enter remote URL"}).openAndGetResult();if(n){let i="Vault Root",s=await new Ze(this,{options:this.gitManager instanceof Hn?[i]:[],placeholder:"Enter directory for clone. It needs to be empty or not existent.",allowEmpty:this.gitManager instanceof Hn}).openAndGetResult();if(s==null)return;if(s===i&&(s="."),s=(0,be.normalizePath)(s),s==="/"&&(s="."),s==="."){let f=await new Ze(this,{options:["NO","YES"],placeholder:`Does your remote repo contain a ${this.app.vault.configDir} directory at the root?`,onlySelection:!0}).openAndGetResult();if(f===void 0){new be.Notice("Aborted clone");return}else if(f==="YES"){let d="DELETE ALL YOUR LOCAL CONFIG AND PLUGINS";if(await new Ze(this,{options:["Abort clone",d],placeholder:`To avoid conflicts, the local ${this.app.vault.configDir} directory needs to be deleted.`,onlySelection:!0}).openAndGetResult()===d)await this.app.vault.adapter.rmdir(this.app.vault.configDir,!0);else{new be.Notice("Aborted clone");return}}}let a=await new Ze(this,{placeholder:"Specify depth of clone. Leave empty for full clone.",allowEmpty:!0}).openAndGetResult(),o;if(a===void 0){new be.Notice("Aborted clone");return}if(a!==""&&(o=parseInt(a),isNaN(o))){new be.Notice("Invalid depth. Aborting clone.");return}new be.Notice(`Cloning new repo into "${s}"`);let l=this.settings.basePath,c=s&&s!==".";c&&(this.settings.basePath=s);try{await this.gitManager.clone(Kw(n),s,o),new be.Notice("Cloned new repo."),new be.Notice("Please restart Obsidian"),c&&await this.saveSettings()}catch(u){this.displayError(u),this.settings.basePath=l,await this.saveSettings()}}}async isAllInitialized(){return this.gitReady||await this.init({fromReload:!0}),this.gitReady}async pullChangesFromRemote(){if(!await this.isAllInitialized())return;let r=await this.pull();if(r!==!1){if(r||this.displayMessage("Pull: Everything is up-to-date"),this.gitManager instanceof Se){let n=await this.updateCachedStatus();n.conflicted.length>0&&(this.displayError(`You have conflicts in ${n.conflicted.length} ${n.conflicted.length==1?"file":"files"}`),await this.handleConflict(n.conflicted))}this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0})}}async commitAndSync({fromAutoBackup:r,requestCustomMessage:n=!1,commitMessage:i,onlyStaged:s=!1}){!await this.isAllInitialized()||(this.settings.syncMethod=="reset"&&this.settings.pullBeforePush&&await this.pull(),!await this.commit({fromAuto:r,requestCustomMessage:n,commitMessage:i,onlyStaged:s}))||(this.settings.syncMethod!="reset"&&this.settings.pullBeforePush&&await this.pull(),this.settings.disablePush||(await this.remotesAreSet()&&await this.gitManager.canPush()?await this.push():this.displayMessage("No commits to push")),this.setPluginState({gitAction:0}))}async commit({fromAuto:r,requestCustomMessage:n=!1,onlyStaged:i=!1,commitMessage:s,amend:a=!1}){if(!await this.isAllInitialized())return!1;try{let o=this.localStorage.getConflict(),l,c=[],u=[];if(this.gitManager instanceof Se){if(await this.mayDeleteConflictFile(),l=await this.updateCachedStatus(),l.conflicted.length==0&&(o=!1),r&&l.conflicted.length>0)return this.displayError(`Did not commit, because you have conflicts in ${l.conflicted.length} ${l.conflicted.length==1?"file":"files"}. Please resolve them and commit per command.`),await this.handleConflict(l.conflicted),!1;c=l.staged,u=l.changed}else{if(r&&o)return this.displayError("Did not commit, because you have conflicts. Please resolve them and commit per command."),!1;{o&&await this.mayDeleteConflictFile();let f=this.gitManager;i?c=await f.getStagedFiles():u=(await f.getUnstagedFiles()).map(({path:h,type:m})=>({vaultPath:this.gitManager.getRelativeVaultPath(h),path:h,type:m}))}}if(await this.tools.hasTooBigFiles(i?c:[...c,...u]))return this.setPluginState({gitAction:0}),!1;if(u.length+c.length!==0||o){let f=s!=null?s:s=r?this.settings.autoCommitMessage:this.settings.commitMessage;if(r&&this.settings.customMessageOnAutoBackup||n){!this.settings.disablePopups&&r&&new be.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort");let m=await new cp(this).openAndGetResult();if(m!=null&&m!=""&&m!="...")f=m;else return this.setPluginState({gitAction:0}),!1}else if(this.gitManager instanceof Se&&this.settings.commitMessageScript){let m=this.settings.commitMessageScript,g=this.localStorage.getHostname()||"",v=m.replace("{{hostname}}",g);v=v.replace("{{date}}",(0,be.moment)().format(this.settings.commitDateFormat));let w="sh";if(be.Platform.isWin){w=process.env.PROGRAMFILES+"\\Git\\bin\\sh.exe";let k=!1;try{await Rm.access(w,Rm.constants.X_OK),k=!0}catch(x){k=!1}if(!k)return this.displayError(`Cannot find sh.exe at ${w}. Please make sure Git is properly installed.`),!1}let b=await $u(w,["-c",v],{cwd:this.gitManager.absoluteRepoPath});b.code!=0?this.displayError(b.stderr):b.stdout.trim().length==0?this.displayMessage("Stdout from commit message script is empty. Using default message."):f=b.stdout}if(!f||f.trim()==="")return new be.Notice("Commit aborted: No commit message provided"),this.setPluginState({gitAction:0}),!1;let d;i?d=await this.gitManager.commit({message:f,amend:a}):d=await this.gitManager.commitAll({message:f,status:l,unstagedFiles:u,amend:a}),this.gitManager instanceof Se&&await this.updateCachedStatus();let h=!1;d===void 0&&(h=!0,d=u.length+c.length||0),this.displayMessage(`Committed${h?" approx.":""} ${d} ${d==1?"file":"files"}`)}else this.displayMessage("No changes to commit");return this.app.workspace.trigger("obsidian-git:refresh"),!0}catch(o){return this.displayError(o),!1}}async push(){if(!await this.isAllInitialized()||!await this.remotesAreSet())return!1;let r=this.localStorage.getConflict();try{this.gitManager instanceof Se&&await this.mayDeleteConflictFile();let n;if(this.gitManager instanceof Se&&(n=await this.updateCachedStatus()).conflicted.length>0)return this.displayError(`Cannot push. You have conflicts in ${n.conflicted.length} ${n.conflicted.length==1?"file":"files"}`),await this.handleConflict(n.conflicted),!1;if(this.gitManager instanceof Hn&&r)return this.displayError("Cannot push. You have conflicts"),!1;this.log("Pushing....");let i=await this.gitManager.push();return i!==void 0&&(i===null?this.displayMessage("Pushed to remote"):i>0?this.displayMessage(`Pushed ${i} ${i==1?"file":"files"} to remote`):this.displayMessage("No commits to push")),this.setPluginState({offlineMode:!1}),this.app.workspace.trigger("obsidian-git:refresh"),!0}catch(n){return n instanceof ul?this.handleNoNetworkError(n):this.displayError(n),!1}}async pull(){if(!await this.remotesAreSet())return!1;try{this.log("Pulling....");let r=await this.gitManager.pull()||[];return this.setPluginState({offlineMode:!1}),r.length>0&&(this.displayMessage(`Pulled ${r.length} ${r.length==1?"file":"files"} from remote`),this.lastPulledFiles=r),r.length}catch(r){return this.displayError(r),!1}}async fetch(){if(await this.remotesAreSet())try{await this.gitManager.fetch(),this.displayMessage("Fetched from remote"),this.setPluginState({offlineMode:!1}),this.app.workspace.trigger("obsidian-git:refresh")}catch(r){this.displayError(r)}}async mayDeleteConflictFile(){let r=this.app.vault.getAbstractFileByPath(ol);r&&(this.app.workspace.iterateAllLeaves(n=>{var i;n.view instanceof be.MarkdownView&&((i=n.view.file)==null?void 0:i.path)==r.path&&n.detach()}),await this.app.vault.delete(r))}async stageFile(r){return await this.isAllInitialized()?(await this.gitManager.stage(r.path,!0),this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0}),!0):!1}async unstageFile(r){return await this.isAllInitialized()?(await this.gitManager.unstage(r.path,!0),this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0}),!0):!1}async switchBranch(){var i;if(!await this.isAllInitialized())return;let r=await this.gitManager.branchInfo(),n=await new vm(this,r.branches).openAndGetReslt();if(n!=null)return await this.gitManager.checkout(n),this.displayMessage(`Switched to ${n}`),this.app.workspace.trigger("obsidian-git:refresh"),await((i=this.branchBar)==null?void 0:i.display()),n}async switchRemoteBranch(){var s;if(!await this.isAllInitialized())return;let r=await this.selectRemoteBranch()||"",[n,i]=Qi(r);if(i!=null&&n!=null)return await this.gitManager.checkout(i,n),this.displayMessage(`Switched to ${r}`),await((s=this.branchBar)==null?void 0:s.display()),r}async createBranch(){var n;if(!await this.isAllInitialized())return;let r=await new Ze(this,{placeholder:"Create new branch"}).openAndGetResult();if(r!=null)return await this.gitManager.createBranch(r),this.displayMessage(`Created new branch ${r}`),await((n=this.branchBar)==null?void 0:n.display()),r}async deleteBranch(){var i;if(!await this.isAllInitialized())return;let r=await this.gitManager.branchInfo();r.current&&r.branches.remove(r.current);let n=await new Ze(this,{options:r.branches,placeholder:"Delete branch",onlySelection:!0}).openAndGetResult();if(n!=null){let s=!1;if(!await this.gitManager.branchIsMerged(n)){let o=await new Ze(this,{options:["YES","NO"],placeholder:"This branch isn't merged into HEAD. Force delete?",onlySelection:!0}).openAndGetResult();if(o!=="YES")return;s=o==="YES"}return await this.gitManager.deleteBranch(n,s),this.displayMessage(`Deleted branch ${n}`),await((i=this.branchBar)==null?void 0:i.display()),n}}async remotesAreSet(){return this.settings.updateSubmodules||this.gitManager instanceof Se&&await this.gitManager.getConfig("push.autoSetupRemote","all")=="true"||(await this.gitManager.branchInfo()).tracking?!0:(new be.Notice("No upstream branch is set. Please select one."),await this.setUpstreamBranch())}async setUpstreamBranch(){let r=await this.selectRemoteBranch();return r==null?(this.displayError("Aborted. No upstream-branch is set!",1e4),this.setPluginState({gitAction:0}),!1):(await this.gitManager.updateUpstreamBranch(r),this.displayMessage(`Set upstream branch to ${r}`),this.setPluginState({gitAction:0}),!0)}async discardAll(r){if(!await this.isAllInitialized())return!1;let n=await this.gitManager.status({path:r}),i=0,s=0;for(let o of n.changed)o.workingDir=="U"?i++:s++;if(i+s==0)return!1;let a=await new vc({app:this.app,filesToDeleteCount:i,filesToDiscardCount:s,path:r!=null?r:""}).openAndGetResult();switch(a){case!1:return a;case"discard":await this.gitManager.discardAll({dir:r,status:this.cachedStatus});break;case"delete":{await this.gitManager.discardAll({dir:r,status:this.cachedStatus});let o=await this.gitManager.getUntrackedPaths({path:r,status:this.cachedStatus});for(let l of o){let c=this.gitManager.getRelativeVaultPath(l),u=this.app.vault.getAbstractFileByPath(c);u?await this.app.fileManager.trashFile(u):l.endsWith("/")?await this.app.vault.adapter.rmdir(c,!0):await this.app.vault.adapter.remove(c)}break}default:Eh(a)}return this.app.workspace.trigger("obsidian-git:refresh"),a}async handleConflict(r){this.localStorage.setConflict(!0);let n;r!==void 0&&(n=["# Conflicts","Please resolve them and commit them using the commands `Git: Commit all changes` followed by `Git: Push`","(This file will automatically be deleted before commit)","[[#Additional Instructions]] available below file list","",...r.map(i=>{let s=this.app.vault.getAbstractFileByPath(i);return s instanceof be.TFile?`- [[${this.app.metadataCache.fileToLinktext(s,"/")}]]`:`- Not a file: ${i}`}),` +# Additional Instructions +I strongly recommend to use "Source mode" for viewing the conflicted files. For simple conflicts, in each file listed above replace every occurrence of the following text blocks with the desired text. + +\`\`\`diff +<<<<<<< HEAD + File changes in local repository +======= + File changes in remote repository +>>>>>>> origin/main +\`\`\``]),await this.tools.writeAndOpenFile(n==null?void 0:n.join(` +`))}async editRemotes(){if(!await this.isAllInitialized())return;let r=await this.gitManager.getRemotes(),i=await new Ze(this,{options:r,placeholder:"Select or create a new remote by typing its name and selecting it"}).openAndGetResult();if(i){let s=await this.gitManager.getRemoteUrl(i),o=await new Ze(this,{initialValue:s,placeholder:"Enter remote URL"}).openAndGetResult();if(o)return await this.gitManager.setRemote(i,Kw(o)),i}}async selectRemoteBranch(){let r=await this.gitManager.getRemotes(),n;r.length===0&&(n=await this.editRemotes(),n==null&&(r=await this.gitManager.getRemotes()));let i=new Ze(this,{options:r,placeholder:"Select or create a new remote by typing its name and selecting it"}),s=n!=null?n:await i.openAndGetResult();if(s){this.displayMessage("Fetching remote branches"),await this.gitManager.fetch(s);let a=await this.gitManager.getRemoteBranches(s),l=await new Ze(this,{options:a,placeholder:"Select or create a new remote branch by typing its name and selecting it"}).openAndGetResult();return l==null?void 0:l.startsWith(s+"/")?l:`${s}/${l}`}}async removeRemote(){if(!await this.isAllInitialized())return;let r=await this.gitManager.getRemotes(),i=await new Ze(this,{options:r,placeholder:"Select a remote"}).openAndGetResult();i&&await this.gitManager.removeRemote(i)}onActiveLeafChange(r){var a,o;let n=r==null?void 0:r.view;if(!(n!=null&&n.getState().file)&&!(n instanceof Wa||n instanceof za))return;let i=this.app.workspace.getLeavesOfType(jt.type).first(),s=this.app.workspace.getLeavesOfType(gn.type).first();if((a=i==null?void 0:i.view.containerEl.querySelector("div.tree-item-self.is-active"))==null||a.removeClass("is-active"),(o=s==null?void 0:s.view.containerEl.querySelector("div.tree-item-self.is-active"))==null||o.removeClass("is-active"),(r==null?void 0:r.view)instanceof Wa||(r==null?void 0:r.view)instanceof za){let c=r.view.state.bFile.replace(/["\\]/g,"\\$&");this.lastDiffViewState=r.view.getState();let u;i&&r.view.state.aRef=="HEAD"?u=i.view.containerEl.querySelector(`div.staged div.tree-item-self[data-path="${c}"]`):i&&r.view.state.aRef==""?u=i.view.containerEl.querySelector(`div.changes div.tree-item-self[data-path="${c}"]`):s&&(u=s.view.containerEl.querySelector(`div.tree-item-self[data-path='${c}']`)),u==null||u.addClass("is-active")}else this.lastDiffViewState=void 0}handleNoNetworkError(r){this.state.offlineMode?this.log("Encountered network error, but already in offline mode"):this.displayError("Git: Going into offline mode. Future network errors will no longer be displayed.",2e3),this.setPluginState({gitAction:0,offlineMode:!0})}displayMessage(r,n=4*1e3){var i;(i=this.statusBar)==null||i.displayMessage(r.toLowerCase(),n),this.settings.disablePopups||(!this.settings.disablePopupsForNoChanges||!r.startsWith("No changes"))&&new be.Notice(r,5*1e3),this.log(r)}displayError(r,n=10*1e3){var s;if(r instanceof ID.Errors.UserCanceledError){new be.Notice("Aborted");return}let i;r instanceof Error?i=r:i=new Error(String(r)),this.setPluginState({gitAction:0}),this.settings.showErrorNotices&&new be.Notice(i.message,n),console.error(`${this.manifest.id}:`,i.stack),(s=this.statusBar)==null||s.displayMessage(i.message.toLowerCase(),n)}log(...r){console.log(`${this.manifest.id}:`,...r)}}; +/*! Bundled license information: + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +safe-buffer/index.js: + (*! safe-buffer. MIT License. Feross Aboukhadijeh *) + +crc-32/crc32.js: + (*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com *) + +isomorphic-git/index.cjs: + (*! + * This code for `path.join` is directly copied from @zenfs/core/path for bundle size improvements. + * SPDX-License-Identifier: LGPL-3.0-or-later + * Copyright (c) James Prevett and other ZenFS contributors. + *) + +js-sha256/src/sha256.js: + (** + * [js-sha256]{@link https://github.com/emn178/js-sha256} + * + * @version 0.9.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2014-2017 + * @license MIT + *) +*/ + +/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/manifest.json b/.obsidian/plugins/obsidian-git/manifest.json new file mode 100644 index 00000000..ac443e02 --- /dev/null +++ b/.obsidian/plugins/obsidian-git/manifest.json @@ -0,0 +1,10 @@ +{ + "author": "Vinzent", + "authorUrl": "https://github.com/Vinzent03", + "id": "obsidian-git", + "name": "Git", + "description": "Integrate Git version control with automatic backup and other advanced features.", + "isDesktopOnly": false, + "fundingUrl": "https://ko-fi.com/vinzent", + "version": "2.38.2" +} diff --git a/.obsidian/plugins/obsidian-git/styles.css b/.obsidian/plugins/obsidian-git/styles.css new file mode 100644 index 00000000..305b2f46 --- /dev/null +++ b/.obsidian/plugins/obsidian-git/styles.css @@ -0,0 +1,710 @@ +@keyframes loading { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +.git-signs-gutter { + .cm-gutterElement { + /* Needed to align the sign properly for different line heigts. Such as + * when having a heading or list item. + */ + padding-top: 0 !important; + } +} + +.workspace-leaf-content[data-type="git-view"] .button-border { + border: 2px solid var(--interactive-accent); + border-radius: var(--radius-s); +} + +.workspace-leaf-content[data-type="git-view"] .view-content { + padding-left: 0; + padding-top: 0; + padding-right: 0; +} + +.workspace-leaf-content[data-type="git-history-view"] .view-content { + padding-left: 0; + padding-top: 0; + padding-right: 0; +} + +.loading { + overflow: hidden; +} + +.loading > svg { + animation: 2s linear infinite loading; + transform-origin: 50% 50%; + display: inline-block; +} + +.obsidian-git-center { + margin: auto; + text-align: center; + width: 50%; +} + +.obsidian-git-textarea { + display: block; + margin-left: auto; + margin-right: auto; +} + +.obsidian-git-disabled { + opacity: 0.5; +} + +.obsidian-git-center-button { + display: block; + margin: 20px auto; +} + +.tooltip.mod-left { + overflow-wrap: break-word; +} + +.tooltip.mod-right { + overflow-wrap: break-word; +} + +/* Limits the scrollbar to the view body */ +.git-view { + display: flex; + flex-direction: column; + position: relative; + height: 100%; +} + +/* Re-enable wrapping of nav buttns to prevent overflow on smaller screens #*/ +.workspace-drawer .git-view .nav-buttons-container { + flex-wrap: wrap; +} + +.git-tools { + display: flex; + margin-left: auto; +} +.git-tools .type { + padding-left: var(--size-2-1); + display: flex; + align-items: center; + justify-content: center; + width: 11px; +} + +.git-tools .type[data-type="M"] { + color: orange; +} +.git-tools .type[data-type="D"] { + color: red; +} +.git-tools .buttons { + display: flex; +} +.git-tools .buttons > * { + padding: 0 0; + height: auto; +} + +.workspace-leaf-content[data-type="git-view"] .tree-item-self, +.workspace-leaf-content[data-type="git-history-view"] .tree-item-self { + align-items: center; +} + +.workspace-leaf-content[data-type="git-view"] + .tree-item-self:hover + .clickable-icon, +.workspace-leaf-content[data-type="git-history-view"] + .tree-item-self:hover + .clickable-icon { + color: var(--icon-color-hover); +} + +/* Highlight an item as active if it's diff is currently opened */ +.is-active .git-tools .buttons > * { + color: var(--nav-item-color-active); +} + +.git-author { + color: var(--text-accent); +} + +.git-date { + color: var(--text-accent); +} + +.git-ref { + color: var(--text-accent); +} + +/* ====== diff2html ====== +The following styles are adapted from the obsidian-version-history plugin by +@kometenstaub https://github.com/kometenstaub/obsidian-version-history-diff/blob/main/src/styles.scss +which itself is adapted from the diff2html library with the following original license: + + https://github.com/rtfpessoa/diff2html/blob/master/LICENSE.md + + Copyright 2014-2016 Rodrigo Fernandes https://rtfpessoa.github.io/ + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + documentation files (the "Software"), to deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +.theme-dark, +.theme-light { + --git-delete-bg: #ff475040; + --git-delete-hl: #96050a75; + --git-insert-bg: #68d36840; + --git-insert-hl: #23c02350; + --git-change-bg: #ffd55840; + --git-selected: #3572b0; + + --git-delete: #c33; + --git-insert: #399839; + --git-change: #d0b44c; + --git-move: #3572b0; +} + +.git-diff { + .d2h-d-none { + display: none; + } + .d2h-wrapper { + text-align: left; + border-radius: 0.25em; + overflow: auto; + } + .d2h-file-header.d2h-file-header { + background-color: var(--background-secondary); + border-bottom: 1px solid var(--background-modifier-border); + font-family: + Source Sans Pro, + Helvetica Neue, + Helvetica, + Arial, + sans-serif; + height: 35px; + padding: 5px 10px; + } + .d2h-file-header, + .d2h-file-stats { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + } + .d2h-file-header { + display: none; + } + .d2h-file-stats { + font-size: 14px; + margin-left: auto; + } + .d2h-lines-added { + border: 1px solid var(--color-green); + border-radius: 5px 0 0 5px; + color: var(--color-green); + padding: 2px; + text-align: right; + vertical-align: middle; + } + .d2h-lines-deleted { + border: 1px solid var(--color-red); + border-radius: 0 5px 5px 0; + color: var(--color-red); + margin-left: 1px; + padding: 2px; + text-align: left; + vertical-align: middle; + } + .d2h-file-name-wrapper { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 15px; + width: 100%; + } + .d2h-file-name { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: var(--text-normal); + font-size: var(--h5-size); + } + .d2h-file-wrapper { + border: 1px solid var(--background-secondary-alt); + border-radius: 3px; + margin-bottom: 1em; + max-height: 100%; + } + .d2h-file-collapse { + -webkit-box-pack: end; + -ms-flex-pack: end; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + border: 1px solid var(--background-secondary-alt); + border-radius: 3px; + cursor: pointer; + display: none; + font-size: 12px; + justify-content: flex-end; + padding: 4px 8px; + } + .d2h-file-collapse.d2h-selected { + background-color: var(--git-selected); + } + .d2h-file-collapse-input { + margin: 0 4px 0 0; + } + .d2h-diff-table { + border-collapse: collapse; + font-family: var(--font-monospace); + font-size: var(--code-size); + width: 100%; + } + .d2h-files-diff { + width: 100%; + } + .d2h-file-diff { + /* + overflow-y: scroll; + */ + border-radius: 5px; + font-size: var(--font-text-size); + line-height: var(--line-height-normal); + } + .d2h-file-side-diff { + display: inline-block; + margin-bottom: -8px; + margin-right: -4px; + overflow-x: scroll; + overflow-y: hidden; + width: 50%; + } + .d2h-code-line { + padding-left: 6em; + padding-right: 1.5em; + } + .d2h-code-line, + .d2h-code-side-line { + display: inline-block; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + white-space: nowrap; + width: 100%; + } + .d2h-code-side-line { + /* needed to be changed */ + padding-left: 0.5em; + padding-right: 0.5em; + } + .d2h-code-line-ctn { + word-wrap: normal; + background: none; + display: inline-block; + padding: 0; + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + vertical-align: middle; + width: 100%; + /* only works for line-by-line */ + white-space: pre-wrap; + } + .d2h-code-line del, + .d2h-code-side-line del { + background-color: var(--git-delete-hl); + color: var(--text-normal); + } + .d2h-code-line del, + .d2h-code-line ins, + .d2h-code-side-line del, + .d2h-code-side-line ins { + border-radius: 0.2em; + display: inline-block; + margin-top: -1px; + text-decoration: none; + vertical-align: middle; + } + .d2h-code-line ins, + .d2h-code-side-line ins { + background-color: var(--git-insert-hl); + text-align: left; + } + .d2h-code-line-prefix { + word-wrap: normal; + background: none; + display: inline; + padding: 0; + white-space: pre; + } + .line-num1 { + float: left; + } + .line-num1, + .line-num2 { + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + /* + padding: 0 0.5em; + */ + text-overflow: ellipsis; + width: 2.5em; + padding-left: 0; + } + .line-num2 { + float: right; + } + .d2h-code-linenumber { + background-color: var(--background-primary); + border: solid var(--background-modifier-border); + border-width: 0 1px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: var(--text-faint); + cursor: pointer; + display: inline-block; + position: absolute; + text-align: right; + width: 5.5em; + } + .d2h-code-linenumber:after { + content: "\200b"; + } + .d2h-code-side-linenumber { + background-color: var(--background-primary); + border: solid var(--background-modifier-border); + border-width: 0 1px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: var(--text-faint); + cursor: pointer; + overflow: hidden; + padding: 0 0.5em; + text-align: right; + text-overflow: ellipsis; + width: 4em; + /* needed to be changed */ + display: table-cell; + position: relative; + } + .d2h-code-side-linenumber:after { + content: "\200b"; + } + .d2h-code-side-emptyplaceholder, + .d2h-emptyplaceholder { + background-color: var(--background-primary); + border-color: var(--background-modifier-border); + } + .d2h-code-line-prefix, + .d2h-code-linenumber, + .d2h-code-side-linenumber, + .d2h-emptyplaceholder { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .d2h-code-linenumber, + .d2h-code-side-linenumber { + direction: rtl; + } + .d2h-del { + background-color: var(--git-delete-bg); + border-color: var(--git-delete-hl); + } + .d2h-ins { + background-color: var(--git-insert-bg); + border-color: var(--git-insert-hl); + } + .d2h-info { + background-color: var(--background-primary); + border-color: var(--background-modifier-border); + color: var(--text-faint); + } + .d2h-del, + .d2h-ins, + .d2h-file-diff .d2h-change { + color: var(--text-normal); + } + .d2h-file-diff .d2h-del.d2h-change { + background-color: var(--git-change-bg); + } + .d2h-file-diff .d2h-ins.d2h-change { + background-color: var(--git-insert-bg); + } + .d2h-file-list-wrapper { + a { + text-decoration: none; + cursor: default; + -webkit-user-drag: none; + } + + svg { + display: none; + } + } + .d2h-file-list-header { + text-align: left; + } + .d2h-file-list-title { + display: none; + } + .d2h-file-list-line { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + text-align: left; + } + .d2h-file-list { + } + .d2h-file-list > li { + border-bottom: 1px solid var(--background-modifier-border); + margin: 0; + padding: 5px 10px; + } + .d2h-file-list > li:last-child { + border-bottom: none; + } + .d2h-file-switch { + cursor: pointer; + display: none; + font-size: 10px; + } + .d2h-icon { + fill: currentColor; + margin-right: 10px; + vertical-align: middle; + } + .d2h-deleted { + color: var(--git-delete); + } + .d2h-added { + color: var(--git-insert); + } + .d2h-changed { + color: var(--git-change); + } + .d2h-moved { + color: var(--git-move); + } + .d2h-tag { + background-color: var(--background-secondary); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 10px; + margin-left: 5px; + padding: 0 2px; + } + .d2h-deleted-tag { + border: 1px solid var(--git-delete); + } + .d2h-added-tag { + border: 1px solid var(--git-insert); + } + .d2h-changed-tag { + border: 1px solid var(--git-change); + } + .d2h-moved-tag { + border: 1px solid var(--git-move); + } + + /* needed for line-by-line*/ + + .d2h-diff-tbody { + position: relative; + } +} + +/* ====================== Line Authoring Information ====================== */ + +.cm-gutterElement.obs-git-blame-gutter { + /* Add background color to spacing inbetween and around the gutter for better aesthetics */ + border-width: 0px 2px 0.2px 2px; + border-style: solid; + border-color: var(--background-secondary); + background-color: var(--background-secondary); +} + +.cm-gutterElement.obs-git-blame-gutter > div, +.line-author-settings-preview { + /* delegate text color to settings */ + color: var(--obs-git-gutter-text); + font-family: monospace; + height: 100%; /* ensure, that age-based background color occupies entire parent */ + text-align: right; + padding: 0px 6px 0px 6px; + white-space: pre; /* Keep spaces and do not collapse them. */ +} + +@media (max-width: 800px) { + /* hide git blame gutter not to superpose text */ + .cm-gutterElement.obs-git-blame-gutter { + display: none; + } +} + +.git-unified-diff-view, +.git-split-diff-view .cm-deletedLine .cm-changedText { + background-color: #ee443330; +} + +.git-unified-diff-view, +.git-split-diff-view .cm-insertedLine .cm-changedText { + background-color: #22bb2230; +} + +.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after { + -webkit-mask-image: url('data:image/svg+xml,'); +} + +.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after { + -webkit-mask-image: url('data:image/svg+xml,'); +} + +/* Override styling of Codemirror merge view "collapsed lines" indicator */ +.git-split-diff-view .ͼ2 .cm-collapsedLines { + background: var(--interactive-normal); + border-radius: var(--radius-m); + color: var(--text-accent); + font-size: var(--font-small); + padding: var(--size-4-1) var(--size-4-1); +} +.git-split-diff-view .ͼ2 .cm-collapsedLines:hover { + background: var(--interactive-hover); + color: var(--text-accent-hover); +} + +.git-signs-gutter { + .cm-gutterElement { + display: grid; + } +} + +.git-gutter-marker:hover { + border-radius: 2px; +} + +.git-gutter-marker.git-add { + background-color: var(--color-green); + justify-self: center; + height: inherit; + width: 0.2rem; +} + +.git-gutter-marker.git-change { + background-color: var(--color-yellow); + justify-self: center; + height: inherit; + width: 0.2rem; +} + +.git-gutter-marker.git-changedelete { + color: var(--color-yellow); + font-weight: var(--font-bold); + font-size: 1rem; + justify-self: center; + height: inherit; +} + +.git-gutter-marker.git-delete { + background-color: var(--color-red); + height: 0.2rem; + width: 0.8rem; + align-self: end; +} + +.git-gutter-marker.git-topdelete { + background-color: var(--color-red); + height: 0.2rem; + width: 0.8rem; + align-self: start; +} + +div:hover > .git-gutter-marker.git-change { + width: 0.6rem; +} + +div:hover > .git-gutter-marker.git-add { + width: 0.6rem; +} + +div:hover > .git-gutter-marker.git-delete { + height: 0.6rem; +} + +div:hover > .git-gutter-marker.git-topdelete { + height: 0.6rem; +} + +div:hover > .git-gutter-marker.git-changedelete { + font-weight: var(--font-bold); +} + +.git-gutter-marker.staged { + opacity: 0.5; +} + +.git-diff { + .cm-merge-revert { + width: 4em; + } + /* Ensure that merge revert markers are positioned correctly */ + .cm-merge-revert > * { + position: absolute; + background-color: var(--background-secondary); + display: flex; + } +} + +/* Prevent shifting of the editor when git signs gutter is the only gutter present */ +.cm-gutters.cm-gutters-before:has(> .git-signs-gutter:only-child) { + margin-inline-end: 0; + .git-signs-gutter { + margin-inline-start: -1rem; + } +} + +.git-changes-status-bar-colored { + .git-add { + color: var(--color-green); + } + .git-change { + color: var(--color-yellow); + } + .git-delete { + color: var(--color-red); + } +} + +.git-changes-status-bar .git-add { + margin-right: 0.3em; +} + +.git-changes-status-bar .git-change { + margin-right: 0.3em; +} diff --git a/3️⃣3d print.md b/3️⃣3d print.md new file mode 100644 index 00000000..74821f10 --- /dev/null +++ b/3️⃣3d print.md @@ -0,0 +1,24 @@ + + +  ❏ Крепление для камеры на монитор +  ❏ Визор на крепление телефона в Мерседес +  ❏ Держатель для крышке контейнеров +  ❏ органайзер деталей фена +  ❏ Крепление для планшета +  ❏ Насадка на ушм для заточки сверел +  ❏ Лотки для инструментов +  ❏ EU-Schuko adapter +  ❏ Стенд для капсул Nespresso +  ❏ Касса для ребёнка +  ❏ Ёлочные игрушки +  ❏ Семплер +  ❏ Кастомные кнопки/калькулятор +  ❏ Фоторезист +  ❏ Динозавры, звери +  ❏ Держатель USB хаба +  ❏ Логотип htpc +  ❏ Колесо автокрана +  ❏ Мебель для домика +  ❏ Кукольная посуда +  ❏ Кассетник ручной +  ❏ Кастомная луп кассета \ No newline at end of file diff --git a/Untitled 1.md b/Untitled 1.md deleted file mode 100644 index e69de29b..00000000 diff --git a/Untitled 2.md b/Untitled 2.md deleted file mode 100644 index e69de29b..00000000 diff --git a/Untitled 3.md b/Untitled 3.md deleted file mode 100644 index e69de29b..00000000 diff --git a/Untitled.md b/Untitled.md deleted file mode 100644 index e69de29b..00000000 diff --git a/Алтай купить.md b/Алтай купить.md new file mode 100644 index 00000000..e93d0186 --- /dev/null +++ b/Алтай купить.md @@ -0,0 +1,54 @@ + + +  ❏ Шаровый кран на бак +  ❏ Сливной Шланг для водогрея +  ❏ Пылесос +  ❏ Настойки +  ❏ Огнетушитель +  ❏ Щётка для душа +  ❏ Авто Щетка для снега +  ❏ Фартук на кухню +  ❏ Рама для кровати +  ❏ Краска для крыльца +  ❏ Краска для забора +  ❏ Столбы для забора +  ❏ Пиломатериал +  ❏ Водогрей мал +  ❏ Газ +  ❏ Телега для холодильника +  ❏ Кухня +  ❏ Штанга для шкафа +  ❏ Xbox +  ❏ Диван +  ❏ Тетива для лестницы +  ❏ Пеноплекс +  ❏ Пена монтажная, пистолет +  ❏ Фильтр для скважины +  ✔ Очки +  ✔ Чай кофе +  ✔ Паспорт +  ✔ Шапка +  ✔ Калоши +  ✔ Салфетки +  ✔ Овощечистка +  ✔ Тарелки +  ✔ 🥔 +  ✔ Нож +  ✔ Кружки +  ✔ Тушёнка +  ✔ Вилки ложки +  ✔ Саморезы +  ✔ Свитер +  ✔ Секатор +  ✔ Кронштейн для планшета +  ✔ Пены пистолет +  ✔ Перчатки +  ✔ Малярный скотч +  ✔ Газ +  ✔ Соль +  ✔ Сапоги +  ✔ Удлинители +  ✔ Шурик +  ✔ Болгарка +  ✔ Валики +  ✔ Семечки \ No newline at end of file diff --git a/Блошинка.md b/Блошинка.md new file mode 100644 index 00000000..7fbb13ac --- /dev/null +++ b/Блошинка.md @@ -0,0 +1,26 @@ +Купить + +  ❏ Пластинки Сёме +  ❏ Кружки пивные +  ❏ Штопор +  ❏ Вечный карандаш +  ❏ Мамин-Сибиряк +  ❏ Очки +  ❏ Куртка +  ❏ Винишко +  ❏ Бубен +  ❏ Мультитул +  ❏ Лампа на кухню +  ❏ Конструктор +  ❏ Губная гармошка +  ❏ Трубка +  ❏ Скатерть +  ❏ Часы +  ✔ Галстук +  ✔ Хоббит +  ✔ Хрусталь +  ✔ Машинка Марку +  ✔ Шапки +  ✔ Рюмки чёрт +  ✔ Кубик рубика +  ✔ Ковры \ No newline at end of file diff --git a/Взять в РФ.md b/Взять в РФ.md new file mode 100644 index 00000000..74cce55c --- /dev/null +++ b/Взять в РФ.md @@ -0,0 +1,38 @@ + + +  ❏ Ступенька на багажник авто +  ❏ Кружки пивные +  ❏ Магнит Сталин +  ❏ Коньяк Михаилу +  ❏ Прищепки Икеа длинные +  ❏ Фильтр для пакетов кофе +  ❏ Ключи от сейфа +  ❏ Type C провода +  ❏ Веб камера +  ❏ Капитан Блэк +  ❏ Адаптеры для газ баллона +  ❏ Принтер для наклеек +  ❏ Звезда на ёлку +  ❏ Аккумуляторы АА +  ✔ Книги +  ✔ Шапки +  ✔ Коньяк +  ✔ Хромакей +  ✔ Читалка +  ✔ Web cam +  ✔ Trackpad +  ✔ Old MacBook +  ✔ Справка о ИП +  ✔ Наушники +  ✔ Снять баксы +  ✔ Флешки, подпись +  ✔ Роутер +  ✔ Термостаты +  ✔ Эндескоп +  ✔ Датчики CO2 +  ✔ Контроллер вентилятора +  ✔ Адаптеры аккумуляторов +  ✔ Аккумуляторы Makita +  ✔ USB LAN +  ✔ Проверить масло +  ✔ Ножницы кухонные IKEA \ No newline at end of file diff --git a/Детские песни.md b/Детские песни.md new file mode 100644 index 00000000..7c7323ea --- /dev/null +++ b/Детские песни.md @@ -0,0 +1,3 @@ + + +  ❏ Отчего нам не везет \ No newline at end of file diff --git a/Инвентаризация дом Алтай.md b/Инвентаризация дом Алтай.md new file mode 100644 index 00000000..6a2c4857 --- /dev/null +++ b/Инвентаризация дом Алтай.md @@ -0,0 +1,11 @@ + + +  ❏ Вент решётка большая х1 +  ❏ Поручень 3м х4 +  ❏ Нет коробок дверных +  ❏ Дверь 200х70 х3 +  ❏ Петля дверная fuaro x3 +  ❏ Обогреватель +регулятор х3 +  ❏ Балясины х36 +  ❏ Ступень 1200х300х40 х6 +  ❏ КИВ \ No newline at end of file diff --git a/Крепеж номенклатура.md b/Крепеж номенклатура.md new file mode 100644 index 00000000..bc303397 --- /dev/null +++ b/Крепеж номенклатура.md @@ -0,0 +1,49 @@ + +Распечатать наклейки на банки с крепежом лаки парке +  ❏ ШСГД 4х75 +  ❏ Дюбель 8х40 +  ❏ Дюбель 6х30 +  ❏ Дюбель 8х50 +  ❏ Бабочки +  ❏ Дюбель 10х50 +  ❏ Дюбель 6х37 +  ❏ Дюбель 8х80 +  ❏ Дюбельный крепеж для кабеля на 6 +  ❏ Дюбель 5х25 +  ❏ Гвозди 4х120 +  ❏ Сверельный 38 +  ❏ Сверельный 4.2х32 +  ❏ Сверельный потай 4х32 +  ❏ Гвозди 2х25 +  ❏ Шуруп 3х25 +  ❏ ШСГД 4х45 +  ❏ Гвозди 3х85, 4х100 +  ❏ Пресс шайба 18 +  ❏ Сверельный 16 +  ❏ Сверельный красный 16 +  ❏ Сверельный зелёный 16 +  ❏ Саморез 5х40 +  ❏ Про металлу острый пресс шайба 4.2х25 +  ❏ ШСГД 3.5х35 +  ❏ По металлу острый пресс шайба 4.2х16 +  ❏ По металлу острый пресс шайба 4.2х25 +  ❏ По металлу сверельный пресс шайба 4.2х16 +  ❏ Саморез 4х16 +  ❏ ШСГД 4х90 +  ❏ ШСГД 4х55 +  ❏ ШСГД 4х50 +  ❏ Золотой 4х42 +  ❏ ШСГД 3.5х35 +  ❏ ШСГД 3.5х32 +  ❏ ШСГД 4х65 +  ❏ Золотой 4х51 +  ❏ По металлу сверельный пресс шайба 4х12 +  ❏ саморез по металлу с полукруглой (линзовой) головкой, острый. (ШСМ-п/кр) 4x10 PH2 +  ❏ Золотой 4х90 +  ❏ Золотой 5х70 +  ❏ Гвозди 1х25 +  ❏ Грозди 1х20 +  ❏ Саморез 3х16 +  ❏ Золотой 4х65 +  ❏ ШСГД 4х40 +  ❏ Саморез 4х30 PZ2 \ No newline at end of file diff --git a/Приложение для ведения бюджета.md b/Приложение для ведения бюджета.md new file mode 100644 index 00000000..2ef1934c --- /dev/null +++ b/Приложение для ведения бюджета.md @@ -0,0 +1,15 @@ + + +  ❏ Планирование поездок +  ❏ Бэкапы +  ❏ Автозагрузка курсов +  ❏ Выгрузка из банковского приложения +  ❏ Авто планировщик (ML?) +  ❏ Непредвиденные расходы +  ❏ Инвестиции +  ❏ Предсказатель курсов валют +  ❏ Сканер штрих кодов +  ❏ Калькулятор налогов +  ❏ Эксперименты (расчёт погашения кредита) +  ❏ Классификация покупок ML +  ❏ Сканер чеков \ No newline at end of file diff --git a/⏳ Отложенные.md b/⏳ Отложенные.md new file mode 100644 index 00000000..82f01155 --- /dev/null +++ b/⏳ Отложенные.md @@ -0,0 +1,89 @@ + + +  - [ ] ❏ Ёлка в лаки +  ❏ Arduino alvik +  ❏ Lowrider CNC +  ❏ Mesh сети +  ❏ Медь+цинк репеллент +  ❏ inpx book browsing UI +  ❏ Скачать Уроки Истории https://sponsr.ru/feed/?page=1 +  ❏ Tuist +  ❏ ngrok +  ❏ Сделать колонку ЖБЛ +  ❏ Claude /insights command +  ❏ Quiver vector image gen +  ❏ Daniel's flowdeck vscode plugin +  ❏ Slack cursor integration +  ❏ Vscode icons https://github.com/EliverLara/sweet-vscode-icons?tab=readme-ov-file +  ❏ Omarchy (Linux WM) +  ❏ Moises - разделение песни на треки +  ❏ Acorn image editor +  ❏ Литрес книги +  ❏ Nucles coop +  ❏ TaskmasterAI +  ❏ agenticSeek +  ❏ Xcode build MCP +  ❏ Карточки Твой второй трек +  ❏ N64 decompiled/modded games +  ❏ mlx-swift agents +  ❏ Поставить гипноспираль голубю +  ❏ Malimite decompiler +  ❏ Анализ ключевых слов для разработки программных продуктов +  ❏ MBA education +  ❏ Музыку (рейв) для игр подобрать +  ❏ Instander (Instagram), ReVanced (YouTube), Piko mod (X\Twitter), VTLite (VK), AyuGram (Telegram +  ❏ notchnook +  ❏ devhunt +  ❏ Android app фильтр rutracker +  ❏ Starcoder2 +  ❏ Trello, teamcheck +  ❏ AgentGPT +  ❏ ALOHA робот +  ❏ Скорочтение через выделение тоник +  ❏ Auto close disk eject notification +  ❏ Open dash smart home dashboard +  ❏ Стол лего ребенку +  ❏ Rdp accessibility auto click accept certificate +  ❏ Аквапринт +  ❏ Rome reborn VR +  ❏ PicCap webOS ambilight +  ❏ Плугин Loupedeck +  ❏ QEMU windows (5.0/xp/10) +  ❏ Root sony xperia +  ❏ Рыбалка Иссык-куль +  ❏ Setup network between old and new MacBook and VMs +  ❏ Desk lamp stream deck smart plug automation +  ❏ Finder sidebar: display recent places in open/save panel? +  ❏ Сделать подсветку в шкафчики столовой +  ❏ Chordable app +  ❏ lldb-remote settings append target.source-map /remote-src /local-src +  ❏ Аватарки Lensa +  ❏ Edge-swipe notification center +  ❏ In-game HUD CPU temp Rivatuner? +  ❏ Mi home assistant local +  ❏ tuya-local smart home +  ❏ Авто-скачиватель торрентов +  ❏ soundcoder.app +  ❏ Discworld noir game +  ❏ riffusion.com AI music +  ❏ Windows VM +  ❏ openemu.org +  ✔ Personal AWS-based dropbox +  ✔ Update Adobe Photoshop +  ✔ Grok ai +  ✔ Deepseeker code ai +  ✔ Finder recent folders noted by AX +  ✔ swift-build for xcode +  ✔ Жопогрей +  ✔ Remove Swiftkey +  ✔ Сделать наклейки кнопок пульта +  ✔ Sd карту в регистратор +  ✔ Классификатор новых фильмов metadata.kinopoisk.ru +  ✔ qBittorrent-Controller android +  ✔ Keyboard themes +  ✔ LSSharedFileList sidebar.png in iconset finder sidebar icons, finder plugin +  ✔ Finder menu: copy file path +opt +  ✔ Новый шаблон бюджета на SQL +  ✔ Work time tracker gh:ActivityWatch +  ✔ Утилита для классификации покупок в бюджет +  ✔ Track pad middle click gh:MiddleClick-Ventura \ No newline at end of file diff --git a/⛺Взять в поход.md b/⛺Взять в поход.md new file mode 100644 index 00000000..7d3e0155 --- /dev/null +++ b/⛺Взять в поход.md @@ -0,0 +1,51 @@ + + +  ❏ Чай +  ❏ Стулья +  ❏ Стол +  ❏ Инвертер +  ❏ Лук зелёный +  ❏ Хлеб +  ❏ Картонка +  ❏ Фонарь +  ✔ Вода +  ✔ Уголь +  ✔ Пиво +  ✔ Кукурузные палочки +  ✔ Коньяк +  ✔ Мясо +  ✔ Стартер +  ✔ Мангал +  ✔ Чалап +  ✔ Сгущенка +  ✔ Колонка +  ✔ Приборы +  ✔ Кружки +  ✔ Сигары +  ✔ Спички +  ✔ Килька +  ✔ Жгуты +  ✔ Влажные салфетки +  ✔ Каша +  ✔ Салфетки +  ✔ Кофе +  ✔ Соус +  ✔ Чили +  ✔ Мыло +  ✔ Батарейки +  ✔ Плитка +  ✔ Повербанка +  ✔ Газ +  ✔ Гитара +  ✔ Диктофон +  ✔ Зубная щётка +  ✔ Нож складной +  ✔ Очки +  ✔ Насос +  ✔ Шапка +  ✔ Свитер штаны +  ✔ Носки теплые +  ✔ Полотенце +  ✔ Ноут +  ✔ Тарелки +  ✔ Туалетная бумага \ No newline at end of file diff --git a/✅ Список дел.md b/✅ Список дел.md new file mode 100644 index 00000000..46979873 --- /dev/null +++ b/✅ Список дел.md @@ -0,0 +1,158 @@ + + +  ❏ Hermes memories -> obsidian, purge +  ❏ Смеситель +  ❏ Клининг +  ❏ С днём рождения на муз шкатулка +  ❏ Плеер с truenas на андроид +  ❏ Zona прилож на тв для кино +  ❏ Скачать музыку из Yandex, Spotify, Shazam to truenas +  ❏ Почистить кондиционер +  ❏ Karpathy's llm claude.md +  ❏ Shazam->spotify +  ❏ Karpathy llm wiki +  ❏ CO2 датчик +  ❏ Книги objc.io +  ❏ Скачать ролики Жукова, цикл русская революция +  ❏ Install pr Claude skill +  ❏ CleanMyMac +  ❏ Linux proton gaming +  ❏ Отшить AdBlue Mercedes +  ❏ Установить датчик протечки +  ❏ Установить умные выключатели +  ❏ Поменять драйвера лампочек ✭ +  ❏ GLM5.1 +  ❏ Agent session browser +  ❏ Повесить ковер +  ❏ Фильтр на вытяжку +  ❏ Починить кухонный стол +  ❏ Полочка для книг в туалет +  ❏ OpenConnect (cisco vpn) - ocserv +  ❏ Приложение для игры на калимбе, гитаре +  ❏ Jellyfin, radarr, sonarr +  ❏ AI indexing RAG +  ❏ Клапаны приточные +  ❏ Резинка для ног +  ❏ Скамейка +  ❏ Стол-бочка +  ❏ Origin agentic os +  ❏ Слив ванны почистить +  ❏ База знаний: рецепт плова, куурдака +  ❏ Поменять стекла в детской +  ❏ Замени батарейку в пк +  ❏ Распечатать карту сети, логины/пароли +  ❏ Распечатать карты регистров +  ❏ Prepper disk +  ❏ Chatgpt для Лизяо +  ❏ Strudel/Булка midi AI +  ❏ Gamma - ai презентации +  ❏ https://github.com/tonsky/FiraCode +  ❏ Записать SD карту местной музыки в авто +  ❏ Lickable menubar +  ❏ INPA на М4 +  ❏ "База знаний" через AI агента + Glean search? +  ❏ Микрофон в авто +  ❏ Zed text editor +  ❏ Люстры лаки +  ❏ dandavison.github.io/delta/ +  ❏ Burp Suite - packet inspector +  ❏ Pomodoro timer +  ❏ Курсы гитара +  ❏ Поменять стеклопакет +  ❏ Выучить мелодию looney tunes +  ❏ Пианино уроки +  ❏ Информатор о новых (или отсутствующих) сериях в сериале +  ❏ Горчица +  ❏ Udio ai music +  ❏ Apply notion themes to the todo +  ❏ Предлож рекомендаций rutracker +  ❏ DALL-E картины на холст +  ❏ Управление магнитолой руль +  ❏ Купить стабилизатор +  ❏ Компаньон элкарт +  ❏ Установить Ubuntu/w95 theme +  ❏ Jailbreak iPad +  ❏ Скачать ролики Простые числа +  ❏ Настроить миди на тв +  ❏ Citra extend display to phone +  ✔ Melody.az для авто скачки песен - сохнанить в обсидиан и truenas music +  ✔ Кардридер в машину +  ✔ Вино в Арашане дом с красной крышей +  ✔ Починить кровать +  ✔ Hermes+OpenWebUI +  ✔ DevToysMac +  ✔ Почистил входящие Gmail +  ✔ Перенести diag Mercedes windows на SSD +  ✔ Exclude mail ru cloud/work +  ✔ Сфотать регистрацию +  ✔ Vibe proxy (use Claude code as subscription) +  ✔ Установить DeepSeek/llama +  ✔ Скачать библиотеку flibusta +  ✔ Заказать Hue лампочки +  ✔ Регулятор скорости вентилятора +  ✔ Экспорт дисконток из Google pay +  ✔ Пересобрать wrt +wpa-supplicant +  ✔ Gauss лампочки в кабинет +  ✔ Выключатель вместо розетки над столом кабинет +  ✔ Отключить газ воду +  ✔ Автостоянка +  ✔ Выключить ПК +  ✔ SwiftFiddle playground +  ✔ Удалить приложения +  ✔ Backup passwords +  ✔ Счётчик вода +  ✔ Релейные модули на заслонки +  ✔ Почистить пены пистолет +  ✔ Подставка под телефон +  ✔ Kobo libra color +  ✔ Move dev assets to Developer +  ✔ Заказать футболки +  ✔ Прочитать книги +  ✔ iPad midi +  ✔ Fix KDE Connect +  ✔ Настроить роутер +   ❏ VPN button to light up when connected +   ❏ VPN button to blink fast when error connecting +   ❏ VPN button long press to switch between VPN/noVPN mode +   ❏ 3-sw to switch modes: LAN internet / WiFi 2.4 internet / modem internet +  ✔ Заказать умные термоголовки +  ✔ Заказать Ryobi one+18 батареи +  ✔ Эндоскоп +  ✔ Шуруповёрт в Нск +  ✔ Ryobi переходник на макиту 18в? заказать +  ✔ Backup photos +  ✔ Свет в сауну +  ✔ jack-jack провод +  ✔ Прикуриватель в багажник +  ✔ ВПН для РФ, мобильный роутер +  ✔ Поменять шильдик +  ✔ Заказать горелку +  ✔ Забрать impact massager +  ✔ Скачать диафильмы +  ✔ Заказать датчик движения +  ✔ Настроить автозапуск кинопоиска +  ✔ Помыть пылесос +  ✔ Почистить архив сториз +  ✔ Купить webcam +  ✔ Wake on lan htpc +  ✔ Восстановить Samsung contacts +  ✔ Музыка стиралки в стиле айфон +  ✔ Отключить стрелку +  ✔ Open interpreter +  ✔ Настроить фото на тв +  ✔ Купить крепление планшета +  ✔ Снять баксы +  ✔ Поменять слив +  ✔ Собрать ребёнку аптечку +  ✔ Зашить, купить шорты +  ✔ Почистить пылесос +  ✔ Пыльник аморта задний +  ✔ Купить столик +  ✔ Замазать провода на кухне термоклеем +  ✔ Заменить батарею макбук +  ✔ Почистить диск +  ✔ Перевод денег в РФ +  ✔ Пикник +  ✔ Автозапуск приложения для управления пультом +  ✔ Купить кресло +  ✔ Удалить приложения S23 \ No newline at end of file diff --git a/🇷🇺Задачи РФ.md b/🇷🇺Задачи РФ.md new file mode 100644 index 00000000..f2cfa893 --- /dev/null +++ b/🇷🇺Задачи РФ.md @@ -0,0 +1,124 @@ + +- [ ] продать оружие + +  ❏ Повесить фонари +  ❏ Автоматика отопление +  ❏ Шумоизоляция NAS +  ❏ Полотенцесушитель +  ❏ Поменять масло +  ❏ Покрасить туалет +  ❏ Электричество гараж +  ❏ Полка в котельную +  ❏ Прикрутить полочки с/у +  ❏ Закрыть заслонки +  ❏ Сдать металл +  ❏ Насос теплого пола автоматика +  ❏ Халва в шоколаде +  ❏ Лобовая на крышу +  ❏ Забрать ключи у ГИ +  ✔ Webcam на счётчик газа +  ✔ Аккумуляторы макита +  ✔ Тариф МТС +  ✔ Ключ гараж Вове +  ✔ Краска для террасы +  ✔ Закопать кабель у столба +  ✔ Sata usb +  ✔ Заблокировать интернет +  ✔ Оставить ключ от авто +  ✔ Газ +  ✔ Вода из кофе машины +  ✔ Конфеты Новосибирские +  ✔ Паспорт +  ✔ Евро вилка для apple зарядки +  ✔ Счётчик газ +  ✔ Подарок +  ✔ Клавиатура +  ✔ Ключ от склада +  ✔ Шапка +  ✔ Составить список датчиков +  ✔ Прерыватель массы +  ✔ Колеса +  ✔ Лизин контейнер +  ✔ Ватные диски в котельную +  ✔ Лестницу убрать +  ✔ Брус убрать +  ✔ Стаканы отцу +  ✔ Пропылесосить террасу +  ✔ Убрать решетку +  ✔ Допенить подрозетники +  ✔ Собрать стеллаж +  ✔ Выдрать гвозди из дома +  ✔ Прочистить пены пистолет +  ✔ Покрасить гараж +  ✔ Крючки в котельной +  ✔ Reimbursement +  ✔ Баннер на прицеп +  ✔ Припаять заслонки +  ✔ Забивалка сигарет +  ✔ Отключить догрев воды +  ✔ Мультифоры +  ✔ Орехи белке +  ✔ RS485 +  ✔ Пистолет для силикона +  ✔ Виза +  ✔ Куртка детская +  ✔ Электричество газ отключить +  ✔ Температура отопления +  ✔ Холодильник +  ✔ Водка +  ✔ Вода +  ✔ Ключи +  ✔ Подставка для ног +  ✔ Jack jack кабель +  ✔ Банки zuegg под горчицу +  ✔ Беспроводная зарядка +  ✔ Дрель, ключ +  ✔ Дима раковина +  ✔ Прима Беломор +  ✔ Завёртка в дверь +  ✔ АКТИТРОПИЛ +  ✔ Рабепрозол +  ✔ Включить догрев воды +  ✔ Алмазное сверло +  ✔ Шишки +  ✔ Сифон на бирюсу +  ✔ газ горелка +  ✔ кассеты наклеек +  ✔ микрофоны +  ✔ Камеру поставить +  ✔ Закрыть крышу +  ✔ Флешки пульты +  ✔ Пополнить баланс +  ✔ Пиломатериалы укрыть +  ✔ Конфеты Новосибирские +  ✔ Подключить esim +  ✔ Заглущка фаркопа +  ✔ скачать музыку с NAS +  ✔ Сайдинг +  ✔ Аккумуляторы из гирлянд, машинки +  ✔ Тройник +  ✔ Поставить замок на калитку +  ✔ Почистить снег на въезд +  ✔ Встретиться по крыльцу +  ✔ Утилизация старой техники +  ✔ Розетки рамки заказать +  ✔ Сауна +  ✔ Рысь магнит +  ✔ Сейф прикрутить +  ✔ Почистить оружие +  ✔ Удалить логи VPN с роутера +  ✔ Хрусталь +  ✔ Снять led в котельной +  ✔ Atomic heart +  ✔ Переезд (сб, 1 апр. 2023 г.) +  ✔ Купить лейку душ +  ✔ Скрутить детские ручки +  ✔ Кресло +  ✔ Фон 1662 +  ✔ Газ счётчик +  ✔ Зубной (пт, 24 мар. 2023 г.) +  ✔ Авто (пт, 24 мар. 2023 г.) +  ✔ Скрутить люстры +  ✔ Кредит (ср, 22 мар. 2023 г.) +  ✔ Налоговая +  ✔ Жижа \ No newline at end of file diff --git a/🍎App ideas.md b/🍎App ideas.md new file mode 100644 index 00000000..a75e6ac8 --- /dev/null +++ b/🍎App ideas.md @@ -0,0 +1,114 @@ + + +  ❏ Saved pasteboard items keyboard access +  ❏ Keyboard cowboy visual hotkey utility https://github.com/zenangst/KeyboardCowboy?tab=readme-ov-file +  ❏ Built in keyboard viewer https://www.imore.com/how-use-keyboard-viewer-your-mac +  ❏ Color for modifier keys https://tkainrad.dev/posts/visualize-collections-of-keyboard-shortcuts/ +  ❏ On-screen keyboard +  ❏ Icons for most popular hotkeys +  ❏ Hotkey reassign and disable hotkeys +  ❏ Launch app by hotkey (with view all mode) +  ❏ Show all hotkeys by hitting caps lock while panel is shown https://blenderartists.org/t/lets-make-visual-hotkey-input-editor-for-blender-more-visible/1164204 +  ❏ Hotkey onscreen emoji browser. See https://ixeau.com/entity-pro/ +  ❏ Keyboard themes https://ixeau.com/entity-pro/ + +Голосовой ассистент (типа aide) + +Игра про роботов и эльфов (папа читает книжку, аи взбесился, временной парадокс, роботы попадают к эльфам) + + +Активатор mcp/разрешений для агентов (блокировщик/разрешатель) + +Упрощённая программа бухгалтерии/расчет ЗП/бюджетов итд - общее ядро и АИ-настраиваимая конкретика + +Граф (wiki/obsidian) всей музыки по трекам; то же для книг с отсылками, близкими темами итд; ИИ рекомендации + + +Приложение диктофон всей жизни распознает речь ночью локально распознает подбивает с фотками, ведёт дневник и фотоальбомы + +Индикатор локальных файлов как RAG AI база знаний/индексер файлов; интеграция в raycast, spotlight + +Yoink но с AI +Позволяет drag&drop любой объект в ос дропнуть и .. Общаться с ним? +Default Folder X app clone ++Clippy like copilot + + +Звонилка от имени пользователя (цифровой ассистент) + +Генерация технической документации по чертежам + +Accessibility browser +- draws whole os interface (or just single app) with mockup styled (like handdrawn) interface with labels (if not fitting, displays as bubbles). Displays available actions for ui elements +- finds appropriate place in code and suggests additions to setup accessibility +- automatically generates accessibility ui tests +- "test coverage" for ui tests - which elements are not ui tested +- + +Google (and other) notes in mac (windows?) side bar. Calculator in side bar + +Budget planner + +Xcode remote debugger +Xcode copilot +Терминал программиста для слепых с AI суммаризацией + +Quran memorization program + +AR: прогулка по городу 100 лет назад: транспорт, люди, машины + +Игра: герой бежит, нужно двигать мир пультом + +Система поиска запчастей по gulf +Автоматический курятник, в гараже? +Игра: Довести дрон до точки назначения пальцем минуя собак, соседей итд +YouTube академия программирования для студентов +Игра полет попугая DK2: левый палец взлет, правый стрелять +Персонажи: котики +Симулятор кота прыгающего на полочки; с "порталами" +Кухни? +Поставки мед.оборудования из рф +Протзводство - на экспорт: стулья? +Запчасти для с/х техники, грузовиков в рф +Мобильное СТО +АдСенс который рекламирует цепочки товаров (купил пылесос, предлагают фильтры) +Сканнер +Квадрокоптер "робо"-ассистент+проектор +Дрон-дирижабль - решает проблему шума +Светоотражающая краска-балончик +Производство детских городков +Xcode playground расширенная версия; obj c? +Javascript playground for ipad +Торговля 0pyжieм +Доставка дроном(одноразовым) +- Аптеки с лекарствами из россии +- Аквапоника/гидропоника: клубника +- Авто-кормушка рыб +- Кросс-мессенджер дляразных программ +- "Паблик", харвестить юмор по разным источникам +- Упаковка мобильников в аквапарке +- Название аппстор приложа: аагонь +- Interactive drift teaching app to use in real car +- Interactive tutors: Yousician Guitar - The ultimate tab game with tuner, songs and tutorials to learn guitar, Yousician Ltd +- https://appsto.re/ru/FCQn5.i +- Convert drawing prototypes to test app +- Торрент-ТВ приставка, "свободное" телевидение +- Рост идеи: слово: как используется, что если изменить параметры: тех.прогресс/тех.детали, социальный, цена, отрасли; смотреть пересечения в 3д +- Летающий 3д проектор (рендер 3д иллюзий) +- Робот-убийца фёрби +- Робо-тетя в колл центр +- Айяй ру виртуальный собеседник - прилож или игрушка +- Производство дверей +- Вебинары по автоэлектрике; По программированию, автомеханике + онлайн симулятор-игра "ремонт авто" +- Православное/католическое ios приложение.. +- Киллинговое агентство по устранению воров +- Софт для расчета света, отопления, энергосбережения, утепления, потр.воды итд +- Тюльпаны гидропоника к 8марта +- Покрасочный цех/автоматическая малярка +- Учебник арабского для экспатов, реклама визитками +- Дрон по сбору пёсьих как +- Car lift +- 3d printed rc cars, drones, toys +- Автоматизированный самогонный аппарат/пивоварня, заработок на сырье, http://gizmodo.com/this-beer-gadget-gave-me-perfect-head-1701595326 +- Переупаковка импортной еды "антисанкции" (контрабанда) +- Интернет магазин готовых интерьеров, ремонт под ключ \ No newline at end of file diff --git a/🍔 Рецепты.md b/🍔 Рецепты.md new file mode 100644 index 00000000..11313119 --- /dev/null +++ b/🍔 Рецепты.md @@ -0,0 +1,15 @@ + + +  ❏ Куурдак +  ❏ Плов +  ❏ Тушпара + + +  ❏ Хачапури +  ❏ Чесночный хлеб +  ❏ Чесночный соус +  ❏ Бургеры +  ❏ Поп корн с карамелью +  ❏ Шаурма +  ❏ Наливка +  ❏ Хлеб \ No newline at end of file diff --git a/🍿 Фильмы.md b/🍿 Фильмы.md new file mode 100644 index 00000000..b9e3942d --- /dev/null +++ b/🍿 Фильмы.md @@ -0,0 +1,486 @@ + + +  ❏ Они придут за тобой +  ❏ Наш флаг означает смерть ✭ +  ❏ Проект конец света +  ❏ Пропеллер ночной рейс в один конец +  ❏ Неистовый +  ❏ Поступь хаоса +  ❏ На цепи +  ❏ Полеты во сне и наяву +  ❏ Инферно +  ❏ Битва за битвой ✭ +  ❏ The drama +  ❏ Эксперимент за стеклом +  ❏ Злая ✭ +  ❏ Не оставляй следов +  ❏ Очень странные дела +  ❏ Джеймс Кемерон морские приключения? 2024 +  ❏ Семь 1995 +  ❏ Дитя человеческое +  ❏ Мальчик в полосатой пижаме +  ❏ Мгла 2007 +  ❏ Искупление 2007 +  ❏ Книга генри +  ❏ Жизнь прекрасна +  ❏ Мост в терабитию +  ❏ Олдбой +  ❏ Американские боги +  ❏ Мы Миллеры +  ❏ Каникулы +  ❏ Укращение строптивой +  ❏ Бар один звонок +  ❏ Десятое королевство +  ❏ Орудия смерти +  ❏ Таймлесс +  ❏ Сказка о потерянном времени +  ❏ В бореньке чего-то нет +  ❏ На гребне волны +  ❏ Плохие парни 1/2 +  ❏ Афоня +  ❏ Квартет И по Амстелу +  ❏ Аэропорт +  ❏ По любви +  ❏ Один день из жизни вадика беляева(спектакль) +  ❏ Разговорник/Квартетник +  ❏ Шестой элемент +  ❏ Неистребимый шпион +  ❏ Аэроплан (Нильсен) +  ❏ Тренировочный день +  ❏ Апокалипто +  ❏ Никто 1/2 +  ❏ Плохие парни DreamWorks +  ❏ Крестный отец +  ❏ Не горюй! +  ❏ IT: welcome to derry +  ❏ Dead poets society +  ❏ Orville +  ❏ Рики бобби король дороги +  ❏ Волшебный участок +  ❏ Трансформеры начало +  ❏ Спрут сериал +  ❏ Духлесс +  ❏ Дракула Бессон +  ❏ Вивариум +  ❏ Солярис Тарковский +  ❏ Электрический штат +  ❏ Серебряные коньки +  ❏ Мастер и Маргарита +  ❏ Основной инстинкт +  ❏ Стиратель +  ❏ Голяк +  ❏ Lighthouse +  ❏ День шакала +  ❏ Разделение +  ❏ Место встречи +  ❏ Субстанция +  ❏ Мальчишки из никеля +  ❏ Я всё ещё здесь +  ❏ Смерть единорога +  ❏ Ужасающий +  ❏ Человеческая многоножка +  ❏ Песочный человек +  ❏ Киберслав +  ❏ Плохая девочка ✭ +  ❏ Неприличные соседи +  ❏ Kick Ass +  ❏ Вуаеристы +  ❏ Я буду жить +  ❏ Дорогой Санта +  ❏ Zombieland +  ❏ Поезд в Пусан (ужасы) +  ❏ Посылка с Диас +  ❏ бердманн +  ❏ Мегалополис +  ❏ Уроки благи +  ❏ Кривые линии бога +  ❏ Convoy +  ❏ Красный шелк +  ❏ Без лица +  ❏ Дворец полански +  ❏ Space merchants +  ❏ All systems red +  ❏ Transformers one +  ❏ Идиот Бортко +  ❏ Замок Балабанов +  ❏ Бумбараш +  ❏ Господин никто +  ❏ Bram Stocker's Dracula +  ❏ Van Helsing +  ❏ Hemlock Grove (сериал) +  ❏ Dracula (2014) +  ❏ Underworld +  ❏ Царство небесное +  ❏ Кровью и потом +  ❏ Игрок +  ❏ Город бога +  ❏ Судья дред +  ❏ The institute +  ❏ Сталкер +  ❏ Downton abbey +  ❏ Unbroken +  ❏ Death on the nile +  ❏ Bad times at the el royale +  ❏ Edge of tomorrow +  ❏ Pandas 2018/Doc +  ❏ The judge +  ❏ Me before you +  ❏ The Batman +  ❏ The king's man +  ❏ The call of the wild +  ❏ Nightmare alley +  ❏ The kill room +  ❏ The burial +  ❏ Past lives +  ❏ In the Grey +  ❏ Волки (2024) +  ❏ Beyond the black rainbow +  ❏ Godfathers +  ❏ The crow +  ❏ Seven pounds +  ❏ Stand by me +  ❏ Вуди вудпекер едет в лагерь +  ❏ 12 обезьян +  ❏ Вокзал для двоих +  ❏ Nightbitch +  ❏ Carnival row +  ❏ Я не киллер +  ❏ Leave the world behind +  ❏ Civil war +  ❏ Подземелье вкусностей +  ❏ Великолепная афера +  ❏ Исчезновение 1988 +  ❏ Секс и дзен +  ❏ Клетка (джей ло) +  ❏ Ножницы +  ❏ Убей меня нежно +  ❏ Игра в прятки +  ❏ Бешеная любовь +  ❏ Бункер +  ❏ Мгла +  ❏ Другие +  ❏ Лена 2012 +  ❏ Презумпция невиновности сериал +  ❏ Ведьмак 2002 польша +  ❏ Манюня +  ❏ Годзилла и конг +  ❏ Немая ярость +  ❏ Соник в кино +  ❏ День когда земля взорвалась +  ❏ Дворец +  ❏ ⬇️Продавцы боли +  ❏ Анатомия падения +  ❏ Дурные деньги +  ❏ Великая ирония +  ❏ ⬇️Представьте что вы в городе +  ❏ ⬇️Goodfellas +  ❏ ⬇️Казино +  ❏ ⬇️Иди ко мне детка +  ❏ ⬇️Equalizer +  ❏ ⬇️Круче некуда +  ❏ Shogun +  ❏ Премия +  ❏ Кролик Джоджо +  ❏ Побег из курятника 2 +  ❏ ⬇️Бессмертный +  ❏ Рок-н-ролла +  ❏ Гладиатор +  ❏ ⬇️Афера Томаса Крауна +  ❏ Даун Хаус +  ❏ Айболит 66 +  ❏ 300 +  ❏ Одиссей +  ❏ Волшебная лампа Аладдина +  ❏ Рик и Морти +  ❏ Зубастики +  ❏ ⬇️American beauty +  ❏ Saving Private Ryan +  ❏ ⬇️Braveheart +  ❏ ⬇️the untouchables +  ❏ ⬇️Eyes wide shut +  ❏ ✅Event horizon +  ❏ Father Ted +  ❏ ⬇️Blue velvet +  ❏ 🧟‍♀️ The dead don't die +  ❏ Взвод +  ❏ ⬇️Апокалипсис сегодня +  ❏ ⬇️Сердце ангела +  ❏ ⬇️Misery +  ❏ Невидимый гость +  ❏ ⬇️Эквилибриум +  ❏ ⬇️Семь жизней +  ❏ 🧟‍♀️ Хижина в лесу +  ❏ Орлеан +  ❏ ⬇️Русь изначальная +  ❏ ⬇️Spy +  ❏ ⬇️Под электрическими облаками +  ❏ ed's next move +  ❏ Rise of the footsoldier +  ❏ В погоне за счастьем +  ❏ ⬇️Oldboy +  ❏ Начальник Чукотки +  ❏ Человек на своем месте +  ❏ Беспредел +  ❏ Здравствуйте я ваша тётя +  ❏ Дракула +  ❏ Футурама +  ❏ ⬇️Красотка +  ❏ ⬇️Бешеные псы +  ❏ Фрэнк +  ❏ Потерянная комната +  ❏ Далласский клуб покупателей +  ❏ Перекресток Миллера +  ❏ ⬇️ Лучшее предложение +  ❏ Итальянцы в ..? +  ❏ Римские каникулы +  ❏ Покровские ворота +  ❏ Индиана Джонс и последний +  ❏ Профессионал +  ❏ Анастасия +  ❏ Вам и не снилось +  ❏ Малышка на миллион +  ❏ ⬇️Шестое чувство +  ❏ Добро пожаловать или посторонним +  ❏ Иди и смотри +  ❏ ⬇️Хороший плохой злой +  ❏ ⬇️Мемуары гейши +  ❏ ⬇️Some like it hot 1959 в джазе только деву +  ❏ Спирит душа прерий +  ❏ ⬇️Двухсотлетний человек +  ❏ ⬇️the Терминал +  ❏ Семь +  ❏ Американская история х +  ❏ ⬇️Общество мертвых поэтов +  ❏ Форма голоса +  ❏ ⬇️Тайна третьей планеты +  ❏ ⬇️Мулан фильм +  ❏ ⬇️Стальной гигант +  ❏ Невидимая сторона +  ❏ Хатико +  ❏ Запах женщины +  ❏ Офицеры +  ❏ Whiplash +  ❏ ⬇️12 angry men +  ❏ ⬇️Отступники +  ❏ Жизнь прекрасна +  ❏ Они сражались за родину +  ❏ По соображениям совести +  ❏ Крестный отец +  ❏ В бой идут одни старики +  ❏ ⬇️Москва слезами не верить +  ❏ Форрест Гамп +  ❏ Список Шиндлера +  ❏ ⬇️Огни большого города +  ❏ ⬇️Лука +  ❏ ⬇️Три орешка для золушки +  ❏ ⬇️Сияние +  ❏ Лангольеры +  ❏ ✅Тринадцатый этаж +  ❏ Белый Бим чёрное ухо +  ❏ Сонная лощина +  ❏ Крик +  ❏ Байкал удивительное приключение юмы +  ❏ Меган Ливи +  ❏ Леон +  ❏ Русалочка +  ❏ Оно +  ❏ Кукла Чаки +  ❏ Австралийское кино про зомби +  ❏ Живая мертвечина +  ❏ Челюсти +  ❏ Золотой телёнок +  ❏ ❓12 стульев +  ❏ День хомяка +  ❏ True detective +  ❏ Всадники справедливости +  ❏ Святые из бондука +  ❏ Розовая пантера +  ❏ Копейка +  ❏ Мертвый сезон +  ❏ Перед почтением сжечь +  ❏ Фарго +  ❏ Уолл стрит: деньги не спят +  ❏ Место встречи изменить нельзя +  ❏ 17 мгновений весны +  ❏ Эпидемия +  ❏ Диктатор +  ❏ Борат +  ❏ Бруно +  ❏ Хищник +  ❏ ⬇️Области тьмы +  ❏ Курасава скрытая крепость +  ❏ особенности национальной политики +  ❏ Ради нескольких строчек , +  ❏ ⬇️All the president's men +  ❏ Butch Cassidy +  ✔ Ничего хорошего в отеле эль рояль +  ✔ Удачи веселья не сдохни +  ✔ Опасный друг +  ✔ Балто +  ✔ Рапунцель +  ✔ Последний Самурай +  ✔ Наполеон +  ✔ Смешарики снимают кино +  ✔ Один день в Стамбуле +  ✔ Бруталист ✭ +  ✔ Анора ✭ +  ✔ Микки 17 +  ✔ Новый голый пистолет +  ✔ Достать ножи воскрешение +  ✔ Бугония +  ✔ Fleabag/Дрянь +  ✔ Битлджус 2 +  ✔ Конклав +  ✔ Муфаса +  ✔ Пророк Пушкин +  ✔ Любовь смерть и роботы +  ✔ Novocaine +  ✔ Конклав +  ✔ ⬇️Прислуга +  ✔ ⬇️Пианист 2002 +  ✔ ⬇️Пять ночей с фредди +  ✔ ⬇️Ногти +  ✔ ⬇️Maverick +  ✔ ⬇️Король говорит +  ✔ Дюна +  ✔ Кто подставил кролика +  ✔ Sin city +  ✔ Фуриоса +  ✔ Догмен 2023 +  ✔ ⬇️Игры разума +  ✔ Безумный Макс +  ✔ Планета обезьян новое царство +  ✔ Вонка +  ✔ Fallout +  ✔ Тетрис +  ✔ The outfit +  ✔ Министерство неджентельменских дел +  ✔ Машина +  ✔ Fallout +  ✔ ⬇️Sex education +  ✔ Герой наших снов +  ✔ ⬇️Импостер +  ✔ ⬇️Клаус +  ✔ ⬇️Пробуждение +  ✔ Чудотворцы сериал +  ✔ Кунг фу жеребец +  ✔ Объяснялкины +  ✔ Killers of the flower moon +  ✔ Creator +  ✔ Кибердеревня +  ✔ Mario +  ✔ Шерлок Холмс СССР +  ✔ Призраки в Венеции +  ✔ Идиократия +  ✔ Схватка с дьяволом +  ✔ Harley Quinn +  ✔ Лицо со шрамом +  ✔ War dogs +  ✔ Чудотворцы +  ✔ Аферисты +  ✔ Переводчик гай ричи +  ✔ Вторая жизнь Уве +  ✔ Паразиты +  ✔ Дракула: мертвый и довольный +  ✔ Достать ножи +  ✔ Однажды в Голливуде +  ✔ Американский психопат +  ✔ Душа +  ✔ Славные парни +  ✔ Nice guys +  ✔ Башни инишерина +  ✔ ⬇️Матрица +  ✔ Bad Santa +  ✔ ⬇️Кто подставил кролика +  ✔ Поворот нетуда +  ✔ Джиперс Криперс +  ✔ ⬇️ Король Артур +  ✔ ⬇️ Jungle book +  ✔ Хардкор Генри +  ✔ Из России с любовью, золотой глаз +  ✔ Meet Joe black +  ✔ Вечное сияние чистого +  ✔ История игрушек +  ✔ Ледниковый период +  ✔ Троя +  ✔ Догвилль +  ✔ Всегда говори да +  ✔ 101 Даламатин +  ✔ Люди в черном +  ✔ Амели +  ✔ Аватар +  ✔ Человек дождя +  ✔ Стражи галактики +  ✔ Меню +  ✔ Изгой +  ✔ Мадагаскар +  ✔ Эффект бабочки +  ✔ Пролетая над гнездом +  ✔ ⬇️Адвокат дьявола +  ✔ ⬇️Игра +  ✔ пятый элемент +  ✔ Бесславные ублюдки +  ✔ День сурка +  ✔ Молчание ягнят +  ✔ Песнь моря +  ✔ ⬇️Опасные игры +  ✔ Корпорация монстров +  ✔ Рататуй +  ✔ Зверополис +  ✔ Шоу трумана +  ✔ Престиж +  ✔ Один дома +  ✔ Поймай меня если сможешь +  ✔ Шрэк +  ✔ Достучаться до небес +  ✔ Темный рыцарь +  ✔ Начало +  ✔ ВАЛЛ-И +  ✔ Назад в будущее +  ✔ Интерстеллар +  ✔ Побег из Шоушенка +  ✔ Зелёная книга +  ✔ Босс м-сос +  ✔ Гадкий я +  ✔ Империя ангелов +  ✔ Труп невесты +  ✔ Красавица и чудовище +  ✔ Остров проклятых +  ✔ Отель гранд Будапешт +  ✔ Мордекай +  ✔ Быть Джоном малковичем +  ✔ Нирвана +  ✔ Воздушная тюрьма +  ✔ Каспер +  ✔ ⬇️Зомбилэнд +  ✔ Дети шпионов +  ✔ Аладдин +  ✔ Король лев +  ✔ Крепкий орешек +  ✔ Правдивая ложь +  ✔ Смертельное оружие +  ✔ Котенок гав +  ✔ Дэдпул +  ✔ Джокер +  ✔ Cruella +  ✔ Sucker punch +  ✔ Планета обезьян +  ✔ Берегись автомобиля +  ✔ ⬇️Мортал комбат +  ✔ Скотт Пилигрим +  ✔ Руки Ножницы +  ✔ Ромовый дневник +  ✔ Мачете +  ✔ ⬇️Бомж с дробовиком +  ✔ ⬇️Остров сокровищ +  ✔ Суинни Тодд +  ✔ ⬇️Быстрее чем кролики +  ✔ Реквием по мечте +  ✔ Бетховен +  ✔ ⬇️ День выборов (2) +  ✔ ⬇️ День радио +  ✔ операция с новым годом +  ✔ Главный герой +  ✔ опочтарение +  ✔ Игра на понижение +  ✔ опочтарение \ No newline at end of file diff --git a/🎤Караока.md b/🎤Караока.md new file mode 100644 index 00000000..8fe4fa5e --- /dev/null +++ b/🎤Караока.md @@ -0,0 +1,168 @@ + + +  ❏ 4 позы +  ❏ Eminem the way I am +  ❏ https://music.yandex.ru/album/4092160/track/33442834?utm_medium=copy_link +  ❏ Let my people go +  ❏ Marc almond +  ❏ Smoke on the water +  ❏ А мы ему по морде чайником +  ❏ А на кладбище всё спокойненько +  ❏ Агата наша правда +  ❏ Агата нисхождение +  ❏ Агутин остров +  ❏ Акула кислотный диджей +  ❏ БГ - Человек из Кемерова +  ❏ Бранимир фома +  ❏ В городском саду падал снег +  ❏ Вместе весело шагать +  ❏ Вниз по течению неба +  ❏ Вот бы мне крылья +  ❏ Высоцкий Купола +  ❏ Высоцкий смотрины +  ❏ Если у вас нету ёти +  ❏ Запрещённые барабанщики - рябина +  ❏ Запрещённые барабанщики Аргентина Ямайка +  ❏ Заходите к нам на огонек Шуфутинский +  ❏ Иванушки Малина +  ❏ Из чего же из чего же +  ❏ Каста горячее время +  ❏ Клен ты мой опавший +  ❏ Князь брат +  ❏ Ковыляй потихонечку +  ❏ Когда у Сереги срывает резьбу +  ❏ Крейсер Аврора +  ❏ Круг мой дом +  ❏ Кто вы идите нахер +  ❏ Кукрыниксы параллели +  ❏ Куплеты Мефистофеля +  ❏ Кусочек неба +  ❏ Ленинград жопа +  ❏ На востоке что за жизнь без чайхоны +  ❏ Не пройдет и полгода +  ❏ Негодяй и ангел +  ❏ Нога жизнь и смерть +  ❏ Ноггано армия +  ❏ Ноггано белый мерс +  ❏ Ноггано оп давай давай +  ❏ Ноль ехали по улице трамваи +  ❏ Ноль улица Ленина +  ❏ Ночной ларёк +  ❏ Однажды он сказал +  ❏ Опера вышел зайчик погулять +  ❏ Орбакайте - Смородина +  ❏ ППР - можно +  ❏ Песня о медведях +  ❏ Пилот мой дом тюрьма +  ❏ Пластилиновая ворона +  ❏ По раскрашенной душе +  ❏ Помидорка +  ❏ Приходите в мой дом +  ❏ Река Волга +  ❏ Соси гуся +  ❏ Стимфония партизаны +  ❏ Тонкий шрам на любимой попе +  ❏ Ты не ангел +  ❏ Тянется ниточка +  ❏ У бегемота нету талии +  ❏ Улетаю к ебеням +  ❏ Цыганочка +  ❏ Что ж ты фраер сдал назад +  ❏ Я люблю тебя жизнь +  ❏ Я прошу хоть ненадолго +  ❏ Ядерный кабан +  ❏ Ямщик не гони +  ❏ звукорежиссёр +  ❏ крокодиловый народ +  ✔ 16 tons +  ✔ 7б последний герой +  ✔ Army of lovers +  ✔ Drunken sailor +  ✔ Hi-Fi +  ✔ I will always love you +  ✔ My girl last night +  ✔ Old Maui +  ✔ Putting on the ritz +  ✔ Seven nation army +  ✔ tiger lilies vodka karaoke +  ✔ Wellerman +  ✔ Арлнкино +  ✔ Ах какая женщина +  ✔ Бабушка здорова +  ✔ Браво 42 минуты +  ✔ Браво Московский бит +  ✔ Браво дорога в облака +  ✔ Браво если бы на Марсе +  ✔ Браво любите девушки +  ✔ Браво этот город +  ✔ Браво я то что надо +  ✔ Бублички +  ✔ Во французской стороне на чужой планете +  ✔ Водитель КАМАЗа +  ✔ Воровайки +  ✔ Высоцкий козел отпущения +  ✔ Высоцкий охота на волков +  ✔ Газманов +  ✔ Героин +  ✔ Говорят мы бяки буки +  ✔ Голая Марина +  ✔ Губин +  ✔ Гуд бай мой мальчик +  ✔ Ехали на тройке с бубенцами +  ✔ Журавль по небу летит корабль по морю +  ✔ Иванушки +  ✔ Извозчик +  ✔ Кармен +  ✔ Каста viva la revolucion +  ✔ Княzz +  ✔ Колеса любви +  ✔ Круг - Владимирский централ +  ✔ Кручу педали пушной +  ✔ Лесной олень +  ✔ Лещенко +  ✔ Мальчик хочет в Тамбов +  ✔ Молодые ветра +  ✔ Монгол шуудан +  ✔ Моя марусенька +  ✔ Мураками ПроУрал +  ✔ Ноггано девочка +  ✔ Ноггано застрахуй +  ✔ Ноль иду курю +  ✔ Ноль песня о настоящем индейке +  ✔ Ноль человек и кошка +  ✔ Пневмослон +  ✔ Пневмослон адовый адок +  ✔ Пневмослон принцесса +  ✔ Раскинулось море широко +  ✔ Розовый фламинго +  ✔ Самара городок (кокушки) +  ✔ Страна Болгария +  ✔ Таганка +  ✔ Тараканы я смотрю на них +  ✔ Трофим новости +  ✔ Трофим сантехник +  ✔ Ты кинула +  ✔ Тётя Хая +  ✔ Хабиб +  ✔ Хитобои не попрешь +  ✔ Чайф пусть все будет так как ты захочешь +  ✔ Черный ворон +  ✔ Чиж - окей +  ✔ Чиж вечная молодость +  ✔ Чиж вот пуля Просвистела +  ✔ Чиж дорожная еду еду +  ✔ Чиж на поле танки +  ✔ Чиж поход +  ✔ Чиж русская - хочу чаю +  ✔ Чиж руссо матросо +  ✔ Чиж солдат на привале +  ✔ Чиж тучи над городом встали +  ✔ Чёрное знамя +  ✔ Шанс +  ✔ Шансоньетка +  ✔ Штучка уриевский +  ✔ Шура +  ✔ Это за окном рассвет браво +  ✔ Юрий лоза +  ✔ Я люблю свою родину +  ✔ нетрезведь \ No newline at end of file diff --git a/🎮Игры.md b/🎮Игры.md new file mode 100644 index 00000000..861e4dbc --- /dev/null +++ b/🎮Игры.md @@ -0,0 +1,89 @@ + + +  ❏ Friendly steps +  ❏ Bears can't drift +  ❏ Action henk +  ❏ Totally accurate battlegrounds +  ❏ Havocado +  ❏ Jumpala +  ❏ totally reliable delivery service +  ❏ Alpaca ball allstats +  ❏ Blazerush +  ❏ Rocket league +  ❏ Muddledash +  ❏ Toybox turbos +  ❏ Stikbold +  ❏ Soldat 2 +  ❏ King of the hat +  ❏ Runbow +  ❏ Fling to the finish +  ❏ De mambo +  ❏ Brief battles +  ❏ Bounty battle +  ❏ castle crashers remastered +  ❏ Totally Accurate Battle Simulator +  ❏ Knight squad 2 +  ❏ Astro Duel Deluxe +  ❏ Samurai gunn 2 +  ❏ Btoads 2020 +  ❏ Sly Cooper 3 +  ❏ Super Animal Royale +  ❏ Super Bomberman R +  ❏ Mantis burn racing +  ❏ Mortal Kombat +  ❏ Rubber bandits +  ❏ Move our die +  ❏ Undertale +  ❏ Donkey Kong Country: Tropical Freeze +  ❏ Mario kart wii +  ❏ Final fantasy 7 remake, rebirth +  ❏ Super Mario bros Wonder +  ❏ New super Mario bros +  ❏ Alice madness returns +  ❏ Master of Orion +  ❏ The Stanley parable +  ❏ Bridge constructor portal +  ❏ Ведьмак +  ❏ Gorogoa +  ❏ Cuphead +  ❏ Terranigma +  ❏ Oh shit South Park fractured +  ❏ Rise of the tomb raider +  ❏ Dishonored 2 +  ❏ Bioshock +  ❏ Bayonetta +  ❏ Limbo +  ❏ Farenheit +  ❏ Stalker +  ❏ Mafia +  ❏ Garden warfare +  ❏ Broken age +  ❏ Guacamelee gold +  ❏ Brothers a tale of two sons +  ❏ Hitman 2 +  ❏ Dangerous dave haunted mansion +  ❏ Rogue prince of Persia +  ❏ Marooners +  ❏ Lance a lot +  ❏ Splody (bomberman) +  ❏ Wand wars +  ❏ Mouse P.I. +  ✔ Human fall flat +  ✔ Skydrift +  ✔ Grip combat racing +  ✔ Distance +  ✔ Gas guzzlers extreme/Nucleus Co-op +  ✔ Them’s Fightin’ Herds +  ✔ Pummel Party ✭ +  ✔ Soldat +  ✔ Nidhogg 2 +  ✔ Altitude +  ✔ Trailblazers +  ✔ Stick fight +  ✔ Worms WMD +  ✔ Unravel +  ✔ Split/Second +  ✔ Lethal League Blaze +  ✔ monaco what's yours is mine +  ✔ Cuphead 👬 +  ✔ Brawlhalla 👬 \ No newline at end of file diff --git a/🏕️Взять в поездку.md b/🏕️Взять в поездку.md new file mode 100644 index 00000000..463534f0 --- /dev/null +++ b/🏕️Взять в поездку.md @@ -0,0 +1,87 @@ + + +  ❏ Кружки пивные +  ❏ HDMI адаптер +  ✔ Пауэрбанк +  ✔ Бутеры +  ✔ Самсы +  ✔ Зарядник +  ✔ Зубная щётка +  ✔ Наушники +  ✔ Вода +  ✔ Роутер +  ✔ Курут +  ✔ Тарифы +  ✔ Тапки +  ✔ Кофе +  ✔ Документы +  ✔ Элподпись +  ✔ Маникюрный набор +  ✔ Кардридер +  ✔ Подкрадули +  ✔ Карточки +  ✔ PO-35 +  ✔ Тушёнка +  ✔ Тенге +  ✔ Чача +  ✔ Энергетики +  ✔ Влажные салфетки +  ✔ Блендамед +  ✔ Крышка компа +  ✔ Шапка +  ✔ Светильник +  ✔ Чили +  ✔ Панама +  ✔ Коту кормушку +  ✔ Котовода +  ✔ Хладагенты +  ✔ Полотенце +  ✔ Чай +  ✔ Пластырь +  ✔ USB для колонки +  ✔ Тряпка +  ✔ Спички +  ✔ Газ +  ✔ Квас +  ✔ Приправы +  ✔ Туалетная бумага +  ✔ Каша +  ✔ Чалап +  ✔ Деньги +  ✔ Свитер +  ✔ Штаны +  ✔ Лук +  ✔ SPF +  ✔ Колонка +  ✔ Труселя +  ✔ Кальян +  ✔ Кружки тарелки +  ✔ Нож складной +  ✔ Горелка +  ✔ Фольга +  ✔ Сигары +  ✔ Калимба +  ✔ iPad +  ✔ Закрыть окно +  ✔ Котосрало +  ✔ Простынь +  ✔ Картон +  ✔ Батарейки +  ✔ Кабачки +  ✔ Омывайка +  ✔ Вода, продукты +  ✔ Газ +  ✔ Мангал +  ✔ Планшет +  ✔ Фламинго +  ✔ Мангал +  ✔ AUX +  ✔ Мыло +  ✔ Type C - AUX +  ✔ Чашка для углей +  ✔ Лимон +  ✔ Соль +  ✔ Посуда +  ✔ Стулья +  ✔ Куртка +  ✔ Горшок \ No newline at end of file diff --git a/🏡Home automation.md b/🏡Home automation.md new file mode 100644 index 00000000..92042c6e --- /dev/null +++ b/🏡Home automation.md @@ -0,0 +1,13 @@ + + +  ❏ Kiosk mode +  ❏ Timebar card +  ❏ Card mode +  ❏ Mushroom board +  ❏ Bubble card +  ❏ Frosted glass theme +  ❏ C.A.F.E. scenarios editor +  ❏ docker:Homer (home page organizer) +  ✔ Portainer container manager +  ✔ Watchtower (container updater) +  ✔ duplicati (backup containers) \ No newline at end of file diff --git a/📚 Книги.md b/📚 Книги.md new file mode 100644 index 00000000..4b5d1a93 --- /dev/null +++ b/📚 Книги.md @@ -0,0 +1,119 @@ + + +  ❏ Бодрийяр +  ❏ Жуков, Рим +  ❏ Братья карамазовы +  ❏ Элен Морган водный примат/движущая сила крауфорд +  ❏ Мамин-Сибиряк +  ❏ Замятин Мы +  ❏ Елизаров Юдоль +  ❏ Reality shift, The law of one +  ❏ The forbidden knowledge behind system by Walter Stanton +  ❏ Unconscious magnetic prosperity +  ❏ Скотный двор +  ❏ Tyndale Bible – William Tyndale +  ❏ The Adam and Eve Story – Chan Thomas +  ❏ The Egyptian – Mika Waltari +  ❏ The Mass Psychology of Fascism – Wilhelm Reich +  ❏ Medical Nemesis – Ivan Illich +  ❏ Fahrenheit 451 – Ray Bradbury +  ❏ The Creature from Jekyll Island – G. Edward Griffin +  ❏ The Sovereign Individual – James Dale Davidson & William Rees-Mogg +  ❏ Маркиз де сад +  ❏ Минаев +  ❏ Цель Голдратта +  ❏ Проект Феникс +  ❏ Gerald Weinberg, The Secrets of Consulting: А Guide to Giving & Getting Advice Successfully (20*30*10 +  ❏ Сгонялка воды для авто +  ❏ Робот мойщик окон +  ❏ Одеяло для пикника +  ❏ Радио звонок reolink +  ❏ Мебельные ручки котики +  ❏ Футболка mushroom fan club +  ❏ Ночник с сиянием +  ❏ Полки подсвечники в виде грибов +  ❏ Рюкзак (naturehike?) +  ❏ Клавиатура (alfa f75) +  ❏ Подставка для спирали комаров +  ❏ Чехол для чемоданов на багажник +  ❏ Велосумка +  ❏ Поясная сумка +  ❏ Мини решетки для мангала для овощей +  ❏ Вент подстилка кресло в авто +  ❏ Авто холодильник +  ❏ WiFi extender +  ❏ Стабилизатор 1 фазы din +  ❏ RGB лента +  ✔ Zigbee USB +  ✔ Фильтр осмос ✭ +  ✔ Экран раскладной +  ✔ Программатор +  ✔ Проектор +  ✔ Счётчик Гейгера +  ✔ Память в NAS +  ✔ PM2.5 модуль для фильтра ✭ +  ✔ Крепеж камеры на монитор +  ✔ Налобный фонарь +  ✔ Смеситель на кухню +  ✔ Ребёнку щётку +  ✔ Фиксирующие ленты для багажника +  ✔ Lego +  ✔ БП универсальный +  ✔ Крючки на подголовники в бмв +  ✔ Щетки oral-b ✭ +  ✔ Полотенца ✭ +  ✔ Powerbank 10Ah +  ✔ Крепление телефона на велосипед ✭ +  ✔ Зарядник Lonio +  ✔ Zigbee датчики температуры х8 +  ✔ Raspberry pi +  ✔ Ddr3 в truenas +  ✔ Zigbee wall switches (built in) +  ✔ Лейка гигдуш +  ✔ Переходник Bosch-Makita +  ✔ Zigbee розетки 5 +  ✔ Датчики движения (3rd reality, aqara, Phillips hue) +  ✔ Датчики присутствия (aqara mmwave) +  ✔ Жёсткие диски +  ✔ Руммикуб +  ✔ Перчатки fxr/finntrail +  ✔ Вентиляторы в NAS +  ✔ Кулер 4х4 д/инверт. х6 +  ✔ Колонки ТВ +  ✔ Часы ребёнку +  ✔ Алмазные насадки для дремеля +  ✔ Arduino pro mini +  ✔ Гребёнки +  ✔ Шлифмашина makita +  ✔ Fisherman's friend +  ✔ Инвертор автомобильный +  ✔ Беспроводная зарядка +  ✔ USB зарядники GaN +  ✔ Type C 2m +  ✔ Датчик на вытяжку +  ✔ Обложка для книги +  ✔ Стилус для книги +  ✔ Беспроводные настенные выключатели +  ✔ Вращатель кранов +  ✔ Умные розетки +  ✔ Zigbee ИК пульт +  ✔ 3 фазы zigbee пакетник C25 +  ✔ Датчик на вытяжку +  ✔ Датчики влажности+запаха +  ✔ Датчики VOC, H2S, влажности в с/у +  ✔ Датчики в туалеты +  ✔ Термоголовки х8 +  ✔ Датчики освещенности +  ✔ Термостатические головки zigbee +  ✔ Электронный уровень \ No newline at end of file diff --git a/🧱Леруа.md b/🧱Леруа.md new file mode 100644 index 00000000..89badd4a --- /dev/null +++ b/🧱Леруа.md @@ -0,0 +1,150 @@ + + +  ❏ Тройник 50 белый под 45 +  ❏ Порожки под вх дверь, окна +  ❏ Подоконники +  ❏ Седла для лестницы 80х30 х4 +  ❏ Тележку лента на резиновые колеса +  ❏ Скамейка +  ❏ Мусорка кухня +  ❏ Подвесное жидкое мыло +  ❏ Пыльник на стойку +  ❏ Ключ скопировать +  ❏ Стабилизатор 1фаз din +  ❏ Поясная сумка +  ✔ Шсгд 90 +  ✔ ШСГД 55 +  ✔ Контейнер rolly h12.9 x5 +  ✔ Шкурка 150 круг +  ✔ Фильтр на воду +  ✔ Перо +  ✔ Кошки +  ✔ Крышка колодца +  ✔ Огнетушитель +  ✔ Свет в кабинет +  ✔ Мусорка туалет +  ✔ Соединитель ПНД-канализ +  ✔ Угол 125 +  ✔ Переходник на фановый стояк +  ✔ ПНД 25 5м +  ✔ Муфта 50 +  ✔ Боксы +  ✔ Крепеж камеры +  ✔ Мыльница +  ✔ Водосток терраса: 12.5м +  ✔ Водосток крыльцо: 10м +  ✔ Скобки для проводов 20мм +  ✔ Греющий кабель в ПНД х 6м +  ✔ Греющий для трубы 80м +  ✔ Греющий кабель для водостоков +  ✔ Клеммы для греющих кабелей х11-15 +  ✔ ПНД 25 х 3м +  ✔ Переходник 50 - ПНД 25 +  ✔ Колена канализац 50 х3 +  ✔ Соединители канализ. +  ✔ Паяльная кислота +  ✔ Ввод греющего кабеля +  ✔ Обратный клапан канализации 50 +  ✔ Угол 120 +  ✔ Труба 150: 3300 +  ✔ Труба 120: 2100, 1200х2 +  ✔ Скотч металлический +  ✔ Брикеты дрова +  ✔ Коврик дверной +  ✔ Провод 3х жильный >60м +  ✔ Кабель канал +  ✔ Бур +  ✔ Гофра +  ✔ Лампочки винтаж е14 х2 +  ✔ Тепловая пушка +  ✔ Саморез черный на35 +  ✔ Заглушки в щиток +  ✔ Лестница в кладовку +  ✔ Светильник на крыльцо +  ✔ Уровень мал +  ✔ Длинная бита PH +  ✔ Бита PZ +  ✔ Отвёртка PZ +  ✔ Отвёртка плоская +  ✔ Щиток для 485 +  ✔ Мусорка ванная +  ✔ Кровать +  ✔ Винты м3/м4? +  ✔ Саморез семечки на 15-17 +  ✔ Скамейка +  ✔ Коробка расп DIN 26cm +  ✔ Заглушки в щиток +  ✔ Датчик движения +  ✔ Патроны для лампочек винтовые х4 +  ✔ Переходник трещ-головка +  ✔ Термометр +  ✔ Утепление для вентиляции +  ✔ Длинная бита в шуруповёрт +  ✔ Термостат +  ✔ Мусорный бак +  ✔ Кисти +  ✔ Респираторы +  ✔ Алмазный диск 125х1 +  ✔ Песок +  ✔ Распечатка +  ✔ Саморез семечки х100 +  ✔ Валик для фасадных работ +  ✔ Спички +  ✔ Шланг, фитинг +  ✔ Пластины крепёжные для профиля х60 +  ✔ 1/2 пробка х3 (пт, 2 янв.) +  ✔ Ключ газовый +  ✔ Гидроизоляция акриловая/мастика +  ✔ 3/4 пробка (ср, 4 мар.) +  ✔ Профиль для гкл +  ✔ Мешки +  ✔ Откосы +  ✔ Цемент +  ✔ Грунтовка по гкл водостойк +  ✔ Бита шуруповёрт +  ✔ Перчатки +  ✔ Герметик +  ✔ Вилка +  ✔ Диск шлифовальный +  ✔ Гвозди +  ✔ Респиратор +  ✔ Нож +  ✔ Масло сливочное +  ✔ Анти плесень +  ✔ Турнабор +  ✔ Сачок +  ✔ Уголки бол х6 +  ✔ Фиттинг на шланг 22/18 +  ✔ Свет в туалет +  ✔ Саморез черный длинный +  ✔ Кромка венге +  ✔ Уголки мал х8 +  ✔ Крючки под бухты +  ✔ Полка 80 х3 +  ✔ Torx биты +  ✔ Лезвия для ножа мал +  ✔ Сверло алмаз 6 +  ✔ Краска link max +  ✔ Выключатель уличный +  ✔ Ковры Ева в гараж +  ✔ Циркулярка 120мм +  ✔ Шлифовальный круг +  ✔ УЗО 100мА 35А? +  ✔ Трубы, кран +  ✔ Саморезы сверло +  ✔ Щеколда +  ✔ Коврик на холодильник +  ✔ Уничтожитель пены +  ✔ Выключатели уличные +  ✔ Мыльница кот, кух +  ✔ Шуруповёрт +  ✔ Малярный скотч +  ✔ Пистолет для пены +  ✔ Провод черный 3ж 60+м +  ✔ Провод 2ж х4 +  ✔ Провод 3ж 20м х3 +  ✔ Ключ копия +  ✔ Гофра +60м +  ✔ Коробка распределительная ул 2 +  ✔ Термоусадка +  ✔ Изолента \ No newline at end of file diff --git a/🪆Посетить.md b/🪆Посетить.md new file mode 100644 index 00000000..6b7cf976 --- /dev/null +++ b/🪆Посетить.md @@ -0,0 +1,10 @@ + + +  ❏ Дебаркадер +  ❏ КБЖД +  ❏ ✈️ Монино +  ❏ Большой макет +  ❏ Музей паровозов +  ❏ Государственный военно-технический музей, Черноголовка +  Бишкек: фурусата +   \ No newline at end of file