From 1703d738d8998815586e579437ccef7d3f3f2d92 Mon Sep 17 00:00:00 2001 From: Raph Boily <“rboily@cirune.net“> Date: Wed, 6 May 2026 10:03:59 -0400 Subject: [PATCH] vault backup: 2026-05-06 10:03:59 --- .obsidian/app.json | 4 + .obsidian/appearance.json | 1 + .obsidian/community-plugins.json | 3 + .obsidian/core-plugins.json | 33 + .obsidian/daily-notes.json | 3 + .obsidian/graph.json | 22 + .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 ++++++++++++++++++ .obsidian/templates.json | 3 + .obsidian/types.json | 9 + .obsidian/workspace.json | 234 ++++++ Card Database.base | 73 ++ Design/Concepts/Attribute.md | 1 + Design/Concepts/Characteristic.md | 14 + Design/Concepts/Encumbrance.md | 10 + Design/Traits/Item.md | 8 + LICENSE | 43 ++ Player Cards/Core Player Cards/1001-John.md | 18 + .../Core Player Cards/1002-Perseverance.md | 6 + README.md | 31 +- Templates/Cards/Asset.md | 36 + Templates/Cards/Origin.md | 26 + Templates/Cards/Skill.md | 17 + assets/art/playercards/art | 0 assets/frames/frames | 0 assets/icons/png/card.png | Bin 0 -> 60649 bytes assets/icons/png/health.png | Bin 0 -> 45450 bytes assets/icons/png/mastery.png | Bin 0 -> 65440 bytes assets/icons/png/might.png | Bin 0 -> 53446 bytes assets/icons/png/mind.png | Bin 0 -> 70668 bytes assets/icons/png/stamina.png | Bin 0 -> 30672 bytes assets/icons/svg/card.svg | 1 + assets/icons/svg/health.svg | 1 + assets/icons/svg/mastery.svg | 1 + assets/icons/svg/might.svg | 1 + assets/icons/svg/mind.svg | 1 + assets/icons/svg/stamina.svg | 1 + 39 files changed, 1839 insertions(+), 2 deletions(-) create mode 100644 .obsidian/app.json create mode 100644 .obsidian/appearance.json create mode 100644 .obsidian/community-plugins.json create mode 100644 .obsidian/core-plugins.json create mode 100644 .obsidian/daily-notes.json create mode 100644 .obsidian/graph.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 .obsidian/templates.json create mode 100644 .obsidian/types.json create mode 100644 .obsidian/workspace.json create mode 100644 Card Database.base create mode 100644 Design/Concepts/Attribute.md create mode 100644 Design/Concepts/Characteristic.md create mode 100644 Design/Concepts/Encumbrance.md create mode 100644 Design/Traits/Item.md create mode 100644 LICENSE create mode 100644 Player Cards/Core Player Cards/1001-John.md create mode 100644 Player Cards/Core Player Cards/1002-Perseverance.md create mode 100644 Templates/Cards/Asset.md create mode 100644 Templates/Cards/Origin.md create mode 100644 Templates/Cards/Skill.md create mode 100644 assets/art/playercards/art create mode 100644 assets/frames/frames create mode 100644 assets/icons/png/card.png create mode 100644 assets/icons/png/health.png create mode 100644 assets/icons/png/mastery.png create mode 100644 assets/icons/png/might.png create mode 100644 assets/icons/png/mind.png create mode 100644 assets/icons/png/stamina.png create mode 100644 assets/icons/svg/card.svg create mode 100644 assets/icons/svg/health.svg create mode 100644 assets/icons/svg/mastery.svg create mode 100644 assets/icons/svg/might.svg create mode 100644 assets/icons/svg/mind.svg create mode 100644 assets/icons/svg/stamina.svg diff --git a/.obsidian/app.json b/.obsidian/app.json new file mode 100644 index 0000000..4d49ab3 --- /dev/null +++ b/.obsidian/app.json @@ -0,0 +1,4 @@ +{ + "promptDelete": false, + "alwaysUpdateLinks": true +} \ No newline at end of file diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/.obsidian/appearance.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json new file mode 100644 index 0000000..d3f66fa --- /dev/null +++ b/.obsidian/community-plugins.json @@ -0,0 +1,3 @@ +[ + "obsidian-git" +] \ No newline at end of file diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json new file mode 100644 index 0000000..639b90d --- /dev/null +++ b/.obsidian/core-plugins.json @@ -0,0 +1,33 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "footnotes": false, + "properties": true, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": true, + "bases": true, + "webviewer": false +} \ No newline at end of file diff --git a/.obsidian/daily-notes.json b/.obsidian/daily-notes.json new file mode 100644 index 0000000..99ff4e3 --- /dev/null +++ b/.obsidian/daily-notes.json @@ -0,0 +1,3 @@ +{ + "folder": "Daily Notes" +} \ No newline at end of file diff --git a/.obsidian/graph.json b/.obsidian/graph.json new file mode 100644 index 0000000..42a46ec --- /dev/null +++ b/.obsidian/graph.json @@ -0,0 +1,22 @@ +{ + "collapse-filter": true, + "search": "", + "showTags": false, + "showAttachments": false, + "hideUnresolved": false, + "showOrphans": true, + "collapse-color-groups": true, + "colorGroups": [], + "collapse-display": true, + "showArrow": false, + "textFadeMultiplier": 0, + "nodeSizeMultiplier": 1, + "lineSizeMultiplier": 1, + "collapse-forces": true, + "centerStrength": 0.518713248970312, + "repelStrength": 10, + "linkStrength": 1, + "linkDistance": 250, + "scale": 1, + "close": true +} \ 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 0000000..82f496a --- /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": 0, + "autoPushInterval": 0, + "autoPullInterval": 0, + "autoPullOnBoot": false, + "autoCommitOnlyStaged": false, + "disablePush": false, + "pullBeforePush": true, + "disablePopups": false, + "showErrorNotices": true, + "disablePopupsForNoChanges": false, + "listChangedFilesInMessageBody": false, + "showStatusBar": true, + "updateSubmodules": false, + "syncMethod": "merge", + "mergeStrategy": "none", + "customMessageOnAutoBackup": true, + "autoBackupAfterFileChange": false, + "treeStructure": false, + "refreshSourceControl": true, + "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 0000000..6e335cd --- /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 0000000..ac443e0 --- /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 0000000..305b2f4 --- /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/.obsidian/templates.json b/.obsidian/templates.json new file mode 100644 index 0000000..1971e34 --- /dev/null +++ b/.obsidian/templates.json @@ -0,0 +1,3 @@ +{ + "folder": "Templates" +} \ No newline at end of file diff --git a/.obsidian/types.json b/.obsidian/types.json new file mode 100644 index 0000000..9385605 --- /dev/null +++ b/.obsidian/types.json @@ -0,0 +1,9 @@ +{ + "types": { + "aliases": "aliases", + "cssclasses": "multitext", + "tags": "tags", + "Deckbuilding": "text", + "Traits": "multitext" + } +} \ No newline at end of file diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json new file mode 100644 index 0000000..9de9d16 --- /dev/null +++ b/.obsidian/workspace.json @@ -0,0 +1,234 @@ +{ + "main": { + "id": "e3db762a34ac8cb8", + "type": "split", + "children": [ + { + "id": "ca3ab68599609f77", + "type": "tabs", + "children": [ + { + "id": "fa0899d581901775", + "type": "leaf", + "state": { + "type": "graph", + "state": {}, + "icon": "lucide-git-fork", + "title": "Vue graphique" + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "42c435f9233a7bdb", + "type": "split", + "children": [ + { + "id": "39d445a34e06d2b8", + "type": "tabs", + "children": [ + { + "id": "e3e6126c07063408", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical", + "autoReveal": true + }, + "icon": "lucide-folder-closed", + "title": "Explorateur de fichiers" + } + }, + { + "id": "ee3e7fc1b717c101", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + }, + "icon": "lucide-search", + "title": "Rechercher" + } + }, + { + "id": "77239a239d140619", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-bookmark", + "title": "Signets" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "ff9964c56f60ba1a", + "type": "split", + "children": [ + { + "id": "6fed20ef1e90fd14", + "type": "tabs", + "children": [ + { + "id": "183d4403e11a02c6", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-coming-in", + "title": "Rétroliens" + } + }, + { + "id": "e63471e93aa265fc", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "linksCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-going-out", + "title": "Liens sortants" + } + }, + { + "id": "2bba1f06f4dffad5", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-tags", + "title": "Mots-clés" + } + }, + { + "id": "27a7a9b0ec6c46ef", + "type": "leaf", + "state": { + "type": "all-properties", + "state": { + "sortOrder": "frequency", + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-archive", + "title": "Toutes les propriétés" + } + }, + { + "id": "d9919e12d4a2aedd", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "followCursor": false, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-list", + "title": "Plan" + } + }, + { + "id": "d6a7eab3564423ce", + "type": "leaf", + "state": { + "type": "git-view", + "state": {}, + "icon": "git-pull-request", + "title": "Source Control" + } + } + ], + "currentTab": 5 + } + ], + "direction": "horizontal", + "width": 300 + }, + "left-ribbon": { + "hiddenItems": { + "switcher:Ouvrir le sélecteur rapide": false, + "graph:Ouvrir la vue graphique": false, + "canvas:Créer une nouvelle toile": false, + "daily-notes:Ouvrir la note quotidienne": false, + "templates:Insérer le modèle": false, + "command-palette:Ouvrir la palette de commandes": false, + "bases:Créer une nouvelle base": false, + "obsidian-git:Open Git source control": false + } + }, + "active": "fa0899d581901775", + "lastOpenFiles": [ + "Sans titre.canvas", + "Sans titre.md", + "Daily Notes/2026-05-05.md", + "Daily Notes", + "2026-05-05.md", + "Templates/Cards/Asset.md", + "Templates/Cards/Origin.md", + "Card Database.base", + "Templates/Cards/Skill.md", + "Player Cards/Core Player Cards/1002-Perseverance.md", + "Player Cards/Core Player Cards/1001-John.md", + "Design/Concepts/Characteristic.md", + "Design/Concepts/Attribute.md", + "Design/Traits/Item.md", + "Design/Concepts/Encumbrance.md", + "Design/Concepts/Anatomy", + "Encounter Cards/Sans titre", + "README.md", + "LICENSE", + "Design/Rules/Stats.md", + "Design/Rules/Traits.md", + "Design/Rules/Asset.md", + "Design/Rules/Skill.md", + "assets/icons/png/mastery.png", + "assets/icons/png/might.png", + "assets/icons/png/mind.png", + "assets/icons/png/health.png", + "assets/icons/png/stamina.png", + "assets/icons/png/card.png", + "Encounter Cards", + "Design/Rules/Card Type - Asset.md", + "Templates/Cards", + "Design/Concepts", + "Design/Traits", + "Design", + "Cards/Untitled.md", + "assets/icons/svg/stamina.svg", + "assets/icons/svg/mind.svg", + "assets/icons/svg/might.svg", + "assets/icons/svg/mastery.svg", + "Bienvenue.md" + ] +} \ No newline at end of file diff --git a/Card Database.base b/Card Database.base new file mode 100644 index 0000000..473e747 --- /dev/null +++ b/Card Database.base @@ -0,0 +1,73 @@ +views: + - type: table + name: Player Cards + filters: + and: + - file.inFolder("Player Cards") + groupBy: + property: Sub-Type + direction: ASC + order: + - Set Number + - Card Number + - Title + - Sub-Title + - Sub-Type + - Traits + - Card Text + - Might + - Mind + - Mastery + - Deckbuilding + - file.name + sort: + - property: file.name + direction: ASC + - property: Deckbuilding + direction: ASC + - property: Set Number + direction: ASC + - property: Card Number + direction: DESC + columnSize: + note.Set Number: 3 + note.Card Number: 37 + note.Title: 170 + note.Traits: 177 + note.Card Text: 223 + note.Might: 52 + note.Mind: 52 + note.Mastery: 54 + - type: table + name: Encounter Cards + filters: + and: + - file.inFolder("Encounter Cards") + groupBy: + property: Sub-Type + direction: ASC + order: + - Set Number + - Card Number + - Title + - Sub-Title + - Sub-Type + - Card Text + - Might + - Mind + - Mastery + - Deckbuilding + - file.name + sort: + - property: file.name + direction: ASC + - property: Deckbuilding + direction: ASC + - property: Set Number + direction: ASC + - property: Card Number + direction: DESC + columnSize: + note.Set Number: 3 + note.Card Number: 37 + note.Title: 170 diff --git a/Design/Concepts/Attribute.md b/Design/Concepts/Attribute.md new file mode 100644 index 0000000..ee94370 --- /dev/null +++ b/Design/Concepts/Attribute.md @@ -0,0 +1 @@ +The three Attributes of your [[Origin]] are [[Might]], [[Mind]] and [[Mastery]]. diff --git a/Design/Concepts/Characteristic.md b/Design/Concepts/Characteristic.md new file mode 100644 index 0000000..1736ac4 --- /dev/null +++ b/Design/Concepts/Characteristic.md @@ -0,0 +1,14 @@ +[[Characteristic]] are obtained by the combination of the differents [[Attribute]] of your [[Origin]]. + + + +[[Capacity]] = [[Might]] + [[Mastery]] +Is the maximum amount of [[Encumbrance]] a player can have in it's play area. + +[[Hand Size]] = [[Mind]] + [[Mastery]] +Is the maximum amount of cards a player can have in hand at the end of a turn. + + + +[[Tenacity]] = [[Might]] + [[Mind]] +Is the maximum amount of [[Energy]] a player can hold on it's [[Origin]] card. \ No newline at end of file diff --git a/Design/Concepts/Encumbrance.md b/Design/Concepts/Encumbrance.md new file mode 100644 index 0000000..16accae --- /dev/null +++ b/Design/Concepts/Encumbrance.md @@ -0,0 +1,10 @@ +--- +tags: +--- +A player's [[Encumbrance]] is th + +The cummulative encumbrance value of all [[Asset]] in a player's play area is known as [[Encumbrance]] . + +A player's [[Encumbrance]] cannot exceed that player's [[Capacity]]. + +A player maximum [[Encumbrance]] is know as [[Capacity]]. A player's [[Capacity]] is equal to that player's [[Origin]] combined [[Might]] and [[Mastery]] characteristics. \ No newline at end of file diff --git a/Design/Traits/Item.md b/Design/Traits/Item.md new file mode 100644 index 0000000..24af72b --- /dev/null +++ b/Design/Traits/Item.md @@ -0,0 +1,8 @@ +--- +tags: + - trait +--- + +A trait for with [[Asset|Assets]] with an [[Encumbrance]] value. + +It represents a physical object that can be worn or manipulated. \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..646039a --- /dev/null +++ b/LICENSE @@ -0,0 +1,43 @@ +# License for Nanscript (.nde) and Excel (.xlsx) Files +All `.nde` script files in this repository are licensed under the [MIT License](https://opensource.org/licenses/MIT), unless stated otherwise. + +MIT License: + +Copyright (c) [YEAR] [YOUR NAME OR ORGANIZATION] + +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. + +--- + +# License for Creative Commons Images +All images sourced from [game-icons.net](https://game-icons.net) are subject to their respective Creative Commons license, which may include **CC-BY** or **CC-BY-SA**. +Refer to the original game-icons.net licensing terms for specific details on attribution and permitted usage. + +--- + +## Attribution for Creative Commons Images + +| Icon | Credits | License +| ---- | ------- | --- | +| Might | Lorc | CC-BY 3.0 | +| Mind | Lorc | CC-BY 3.0 | +| Mastery | Lorc | CC-BY 3.0 +| Health | Skoll | CC-BY 3.0 | +| Card | Lorc | CC-BY 3.0 | +| Stamina | sbed | CC-BY 3.0 | diff --git a/Player Cards/Core Player Cards/1001-John.md b/Player Cards/Core Player Cards/1001-John.md new file mode 100644 index 0000000..1232426 --- /dev/null +++ b/Player Cards/Core Player Cards/1001-John.md @@ -0,0 +1,18 @@ +--- +Set Number: "1" +Card Number: "001" +Type: Player Card +Sub-Type: Origin +Title: John +Sub-Title: Simply Human +Might: "3" +Mind: "3" +Mastery: "3" +Card Text: +Deckbuilding: +Base Deck: +Path to art file: +Artist: +Traits: + - Living +--- diff --git a/Player Cards/Core Player Cards/1002-Perseverance.md b/Player Cards/Core Player Cards/1002-Perseverance.md new file mode 100644 index 0000000..e035ce9 --- /dev/null +++ b/Player Cards/Core Player Cards/1002-Perseverance.md @@ -0,0 +1,6 @@ +--- +Set Number: "1" +Card Number: "002" +Title: Perseverance +Sub-Type: Skill +--- diff --git a/README.md b/README.md index 33da829..1dbb81b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,30 @@ -# errance-ccg +# Errance CCG -The Errance Collaborative Card Game repository. \ No newline at end of file +Errance CCG is a free (libre) collaborative card game where up to 4 players delve into universes of hostile decadence and cosmic mystery. + + +## Contributing + +Pull requests are welcome. For major changes, please open an issue first +to discuss what you would like to change. + + +## License + +By using files in this repository, you acknowledge and agree to the terms of the associated license and any additional restrictions that may apply to third-party content. + +For full license details, see the `LICENSE` file in the repository. + +### License for NanScripts +All NanScripts (`.nde` script files) in this repository are licensed under the [MIT License](https://opensource.org/licenses/MIT), unless stated otherwise. + + +### License for Creative Commons Images +All images sourced from [game-icons.net](https://game-icons.net) are subject to their respective Creative Commons license, which may include **CC-BY** or **CC-BY-SA**. +Refer to the original game-icons.net licensing terms for specific details on attribution and permitted usage. + + +### Disclaimer for Excel Files in This Repository + +The Excel files (`.xlsx`) included in this repository are provided for reference and utility purposes. +Unless explicitly stated otherwise, these files are licensed under the **MIT License**, meaning they can be freely used, modified, and distributed, provided attribution is maintained. diff --git a/Templates/Cards/Asset.md b/Templates/Cards/Asset.md new file mode 100644 index 0000000..c7bf115 --- /dev/null +++ b/Templates/Cards/Asset.md @@ -0,0 +1,36 @@ +--- +Set Number: "0" +Card Number: "001" +Card Version: +Card Count: "1" +Type: Player Card +Sub-Type: Origin +Title: Origin +Sub-Title: +Traits: +Health Cost: +Card Cost: +Stamina Cost: +Energy Cost: +Might Boost: +Mind Boost: +Mastery Boost: +Wild Boost: +Health Resource: +Card Resource: +Stamina Resource: +Energy Resource: +Text Box: +Might Req: +Mind Req: +Mastery Req: +Path to art file: +Artist: +--- +## Design notes + +### Role +Ellaborate on the card design goals. + +### Synergies +Link cards or traits that synergies with this card. \ No newline at end of file diff --git a/Templates/Cards/Origin.md b/Templates/Cards/Origin.md new file mode 100644 index 0000000..7be8805 --- /dev/null +++ b/Templates/Cards/Origin.md @@ -0,0 +1,26 @@ +--- +Set Number: "0" +Card Number: "001" +Card Version: +Card Count: "1" +Type: Player Card +Sub-Type: Origin +Title: Origin +Sub-Title: +Traits: +Might: +Mind: +Mastery: +Card Text: +Deckbuilding: +Base Deck: +Path to art file: +Artist: +--- +## Design notes + +### Role +Ellaborate on the card design goals. + +### Synergies +Link cards or traits that synergies with this card. \ No newline at end of file diff --git a/Templates/Cards/Skill.md b/Templates/Cards/Skill.md new file mode 100644 index 0000000..7b107cd --- /dev/null +++ b/Templates/Cards/Skill.md @@ -0,0 +1,17 @@ +--- +Set Number: "0" +Card Number: "001" +Type: Player Card +Sub-Type: Origin +Title: +Sub-Title: +Might: +Mind: +Mastery: +Card Text: +Deckbuilding: +Base Deck: +Path to art file: +Artist: +--- +# {{title}} \ No newline at end of file diff --git a/assets/art/playercards/art b/assets/art/playercards/art new file mode 100644 index 0000000..e69de29 diff --git a/assets/frames/frames b/assets/frames/frames new file mode 100644 index 0000000..e69de29 diff --git a/assets/icons/png/card.png b/assets/icons/png/card.png new file mode 100644 index 0000000000000000000000000000000000000000..4a833c9960c3565f04831f2abcdd6ff918828390 GIT binary patch literal 60649 zcmeFY0tK{AUVdAU+q73A`u%C<%uapp#s7fY4(>CY-F2%d*5l2onB5pZ+yenFnBxy|VjU%;pO7x3=>Cg~ zz<;=eT&meRh|1fpGrpa2F>eO@A*QfdT`-z>@qx$KK;z^8KpYM7^OSTjGLs26zG7U9 z9FOKa)(2+4_B@YXjlBQrPWe2<{F4(naNe@S4~*2UYFQKvE9!QT-y{B~m+{m;l$_F$ zIKKHdGn)Pw>>RwkId$aNUuJKu{ZC3zqQo=ICZ<~)(+H?#h><)^woREypTMVvultHw ztl#}-%((RPnDMN0yPk9(lCz-Q4y)j<6O+B!r>uOxWC!&Bz= z<)C79lRF}4&8{kx)5TwE+BfFlo~lWS@6^lpllVwm90uZhUa*Gj|11?28wdsz{t$AX zQN0)5654RHD4huIhL{YYXqgakJ-P{e)`t78f~IwU=uSI6#A?JE2S}*B4?E#-GN?kN z4*uuTAaQ=SY$AoqsbtUctM%EEa+1d>P+;4JnM_4bcpL_t;UpSKRE6%qb8=QK2O(o!H`V&f+fY(sKKQo2xd1%dpa~qy%Sj~ zB0e=G^zN|YE5SdC^9reC7i5&j#gP_Smpsf>|mqSQYU@#>#fnX0^=TFmfhM|?ii`!>bD_1fVw z=41Jv+Mj(BJdnd+wR@;YF!*toUhzD>C_oM8d(NJ@n@TCk#hx^=L~xFfvRmLM-(Z-z z)U!sXd6jf-w6&`NCM(N9_(m3ECBGXTxxeon8>vzO=WYE%vHdkyb!TXsBX)R*#<5UZ zcsGCNe#fsY7**Lto5{W*9jAQt?C&t(yML2qk$5Y^#SXjmM1O^Ddy`J~^Ry47?&eInkfs-rB-T+d8rC%PCgtBmuxHl7$r<{d@IY#6 z-dcQ%Y7zchh=(ApwQ(_`J9i*0^8z`4+I9}Wz=3>oK{oi<6wf>oz>e^drKwE7Mhmhn zTX<4I4PL9GsmDMLmU#K>3o@P4#HWm8lj5b-Wa&~)y;&p|iMA^PX+p{!lh>&))e(zX z0~~<5-+x?%HhVs1EU8{#GE&QGR`sU~wEk_h8H`m1F@Tl1|Dn`MXdA<)2aeH}sIKgH znMx~5D0iF728Ch*la2&06cBwz<#&Yev&&a~Jgb&v+@Zt`C8qCE+yhWhS@e`9&`5`7 zbG1gu9_1T_4;0el^LGJ{Py5CHpC?q7i$uOa@aMd zY$Xw^0+=*^a`|0|Pv3eV=I->*qae_``?Oootr*?S&u0_Ba~?mbuG`@iWr?8N6ihtCU6X&0`1$Ueh^0*Mb9Pros z9v{yf+OJndDbLA7N)Y@{v%sK=_=}Q-zwyvMgQqQTKbB8@B59$t3y)P8(Jt4Tn;~{; zc!!Ans(z{NOA%VjL361vXtR@S6q`%e_yq}3{15f>DkY`kjG13 zc$PZ`e{hiK{ds*idQ^?!!O}YE*s{U4nzCxHh{A~oWpYn9HJcY7c($Z(NQAj-*uQ-y zM%+W<8qR|Apj7dZqP{{2^R{N_2S$opW#Torx%|!siRi$nlLQ-f4cY>i!$b@MnPe+| z4O*EFWb1Ja!yI5@d;k0qEiX^R1llOyfBcr@`G`wUjEzo`1iY$ZRx?PiPu@!Mm=r0e zDr^QBKWKx3@5pQp9gSq5Zi2lo#px~PGK#Hfk73+o%Z)*PtFeb$v- z-a>o%*Usz^PdB{8fUeI_S?n5NUTVDpvY}D!OZ}&vW5ER)@9M+*EhShcyZ-9>h3lR9t5{}gu&kJQsyzdOfEVdT*f&AaYm`LnF!G9dh+Z6Y%U-uGa)XHUNVnFqmt z#iDS@(Vt{<%kH4)FO^XponAXFgQ*rgqqVU1>Vjd+RpzC40j}|cCK&xw3-ax#>%)jtnx{z)6k7AfU&gb@vo>NrK3<^60TNoB-rPR=`0fw_oDWHm%_VRw9$B&r{rqEGgYPOjRPcH?8#p$& zpEbV7OB2-Qk%X<8oG_~WzT3A+_%!FT*1(`W#oq z;B4#YP~f=gZh!x6Th=gZ=xGG>hH@6AFR$FPLyhk^LfFf)D+-^ff6SF0|7e4b-N7%C z_1JQbs_y>fpw<1Svu~I8o5|{&!8-*Wm_9)Zs7wj=5!aiH4}2dfrZ{MyFT$X9yvRqz z>*>K8B5&)#n>L3{)0PkEwLWBl5yABE1cT0AXlC{kxJHr^b&o65C zgKO|)OW|yvF2R*j|pF5fi}%`zs1124oY!jTi9u4Vf;o2gGs9MxQC812HR9auRk7; zZ;0UT8IHvyO!FDDt~r$Z3BDMUDmSQbW&7Q=0Ca2pb<^>i_QexCW`$>p86F7Z?AVpw zacEI&og7uY-xMKdwQF|i|B{y*qEh))U|k?RI{I4^Fp|Bg^UsCKLwSIAij7!rU+gU? z#mjQFl{WP(SFxov{3D84+55d+Q-BL)AN+>Osj8c1n+m}! zTX75ad-8~{FMzTnK{bwhJpe1}Jz4h!If|Pl4U>=&-n7=mZSCWpGAj|1fV>hvRUe7K znd*l)DEx{EM~{MK?OdFfmf^76peGD_yKE5u$#VU%?OlN>a;Ob~R5+LRghbwASiLT- z$s-oWWL9?&-w55JF`@cqL7T{q$~#S&4?YKJk4Z~aARda>_#{{s$| z-x%xXMbah0H5TK;0ySr2V;ruuq<`TB7`$=CH`?TQUM2GzE#d|9oM7zg_;y!~Y+5S@x+Ojqc%e`*NMo`N(6~5Uw>%|)aUvIxezHP~} z+HT&7#*Ek4TsC2c6_LnN|IW!V589*$?Bq@T32G zdmy7>*~iLh>Z)6D&RucJLX2Q#Z6IS303atSo{x)F3sQXs!kLd}HhYUfwz;K*GNt!z z+6a{Fn?jNR!O7Y8j$-cB(A-lHT&6V^+`jotSUb(x|5^>*w;K`uf}x=3o2Gj>D6bTe zqEoEZ{BCwnXgp*X2RvX_k!SBp4SMy}G_zk~AQ#3-ED5-KTCLHYn0aX#eRR@|J{|SZ zrkYlX6SCX$C#G-UdTO`gu}a@ZPS`kP!z;eIFgi4%)`?BgaXu#?hv2kZU%Ntdvs=WQ zK#zE!moz9n*;^5vb7l+IY^T``k?wpscboxK1TzV*Rr!Gu?8AhE&jUSqR94P;!>3_|| zFL~(_^2}(^Jf0}z^xvNKLu+tYN(3F36>0xr6y54ms&_d_B*5r|_*zriq;JOl^<&rYEkcVcY6z?J$b;J-6NM`M)Mx79 zy$(q4X-}=JzGM<5Q8p*5Url2RJ%}LoU0qBeo9N*swC==8&24MRY2%v?n%@k*;ECr? zn0@#9>wM?_Ca60hIUI>A!-yCz&O-Z)RaQch=2DV$Vqall8JBw)@OPDUOWw^l#YE>#sYx>OBzl=7)iycT&(qb{mR7b9b|Cz@F63Qz zbJnDg%Nv9*_pd%yv;YM{i$-46zQ*jzXOKLR{ zh|LfbEZp$klT&r_d>j^5u<{4s-OU0{4613vlj!%7^|&)s@M#S1j76EibI%g{ zfwxcCgrwsTc-X}K+u|*y?d7qf`Un%%>ei#r*Il2Uyp#wta3jcY6k=k1pO#>|`m{r6 zS|K8uFs{FCMlv)%o%dr7REk}gaW~STaj75Bk9{FCC}Is@;9ObzD9xdpsY~7AWb5pts`i_XQFR{CmCtb^QH~4;W9^*taaAgQi?Xtd4IzmEO z?23%m={q9ntw(I*;dlS;GN}K(QKKPjb3N_ukTHcP$cLK{nLEh%5a6ctUeb7i9`8Dq z(zo&C;F`~fuSgXBU9kmG5^wiqd)s;Mnsa?A7nclcvG?Fk{rp#h6FG|A+N7^l6qNm{ z8Pu1EAP&OZYLf8)$?5yw^}m!t6`rKwLPAafT{WPw4r6%*+82~qZR6J4cF3Iq9tR{5 z7K0BCtF4C;uKJT`%9PYMc&ihd;hcf+XI@Vq1_Qtktg`uwUMTJGguMQ+u$cm_6Yy<} zar(?{F2~Tw9)aC<~wQ+L_sbI%)3ocJpZ*Nmx_<{daiIO;( z<%<}nuZdWU$tyUA#N8ILR)`Bn6f>F-c8gs`K<|Chy$+(_<}+lP9^8*7lm4^A#eVi; zO?r?~-$KWUHP^@2&w)XJ$6cBmkM0V>9@;o9DP!^1tYOt;N_2jGWDW%%gOR6!7s}DvEQV5h-F(R2w*nZ!KffGMr=%`&} z;0zJAi4soPFHuP5(yc?aH!Pn7&E$RET;L>aigyR}!69zxsrl}wmXP)Kp~hYUa@{Ss z);!X4Kw5jPzUe1!XU;R6MXq_0bd65lNw_IJw<3DCC<}dh6hsAfRp#>`1@OyC>%FKJ z2(N622&W|gog5e51~S)!k=G+60^mzGkL_7s8r6(8FQ@8sx{qusnhC@M*S^+pIxn)k z-MDZNZdy!_`}O$MxrIbqO&F(Ba{c+3`L67TRdpS`4hgN89`7^QPPR3!_S-d-@&2^> z(HmR)b%eh(;Y^5ibn2bO1^U5o@~Y}YJLs+ zcm+oOP&5#>r-n&AP;UARfFw%5&yU5zEsrjPUiGhkHL@)u#Laq+9;LM&-)PR(qky^( zyv3|?$wW6l#`r9ebi_t|NdHt@HIwU1(d27VZ6~hQ9WwfqP)CZtJcQpxEn&Tesga~^ zv4~rUTOpkA#{9&9_kD|up!4OD2Xrg>4LqE7>u2C&*IhtUa$FTL#H@7m$;|{Xs``Aq zl97W>9QTd8P2i7dxQI8)CCyTmI5Q`qZzy{nu=(0!x#V*0R3JhnUE86+y~t}I^<*kb zYrg*wJW2d*XwcVI_Yn`@(LpC{K5v8MaRfj~UPkMoN%mMOsN+TFY36s#$Q?1sikHx}4Vfiqfu2hD{YtEbcV% z$2-2x%yydusbClhE#6HmRinVoi_y>18eRjAS|%tIjm6#*8OR>o0_g$wvm&YpiuGBN z>J;=W-X;|<%3ZKap+=roi|z|n2`6C5dr*JH zp=aG@)X1)nW)(-Q>%Ggt5y;bhr-rXU66hWnkcc;hAHL%{I8=qP>Y$fI!+8Xj32?jL z;VSsCyuqrIu3$4oY^s*q#S$uM%Nt7=4RN;hHnrexrrLtX%OVNt4;BS%VPBnzoi3{O z645g2lc@$3E_*>bP#-tHHF+=!`prj*eLHShYoWWmo7A^7$%)n4R3G81Nhv|&_Rew= z*zF*~q5XE3uIIx~fp|-xI;`3`#C$1rx4g@dFKDR-SrLw9nW|m4?gGryuf9@HA_4yp zJ@EPbsQik@1m-8W*W%5>3=XB`BtiyI)GY1p;T&zBJO&IF%WvU=TCY4_I)$6ke!ZIF zmrs5hI+b^? zZq@jp-X^rtGpggUJ!flnUX#_b>8KHjWFYcKHf%0h5-CQkm`$Z{S{wyv?i+BApY1*Q zv@+{f>l15*5>shfx8}Z<5+eJL{->G8+=D;4-h${s9~TfR#FlhxDxHiW$4 z7Q%iJci2`sX85e$o|$SxtEN9GKSGIfqqbX#&ynnpq2!~ z2%i$<(iEgov`X(uO)X?C)+!=Y2uj_eR_MC0tzUj?==8t60PM|oRs^7C>nvMp8+7C- zPA3)P>pQxTZ#IlrOK=@*4SBp18oU$x5mf2MG1orbY6^q_Bz;rFcyl7?M>#|4?KQXg zN2JpFob8?>10(5i{P^kcRpY-0*12Yb-g$hg4#J&Rl^<%j{KS!z9BKZ!7O_z4bQ9 z%N@1qhs666|1NAM)QGWYOT4zfr-Lj!Zfd0z9iz&Utk#j>ndSy_O6UMRRh*utgA5L% zu?#1E&H}G5At5hc0N;RPQUFf;_4Y?`hetGb)CB<5$0@Y)U)hr?!?cP2Hi^5jNKUUTHPnrpH_&T}o zV+5l+HnG6`hm>pD6#k+33}w}P^ux8#f?BRcRW$NzqoQZNl(Nrt)R#vs`29)FwJgQR zF=_(mrO8X2tmfvItXMbo$fds&bleAOrK~_!cGAiLCCxl0fqqBaJ!10Hn!unRF950x zt*TBY+Do4UAYxdm3yjVfT!SuT8*X_!vyW6{friHgMJ1F<(BU_R!T#PeO%X~GoEa5i zEc&5|h9x3m7F0vO-;T&ESjN3wsC%h}HB2oP$Rrwa=I6X#%R1*{fd|2P2zWVcbN+Ru z^PuH%>3DZJ8wJi8k&t&lfpDNk&CH9|I&406q6~Qo(?Pv@c#8aE8amEuuyE@Jt-Gvk zxnHd2Tph;%Br{qcXI>j}6LkUXK5(0?=1NqAD&twvj~xpL5=mXz#cMYa-9r4$7S)9RpG72k2HqpR3LAmk zVaX@yL0{?BrEDqJYM1d;51(XKhub&w`sB9va%nSN4=r-9^W(EZgJfO<4q=01oG*h4 zj~GK}A&gj|;cZ9dv@E=Cc)xGSkAWZ@(Ogr3(Y6&SRtL+*z^LfPV=Z{MJR6g12oj@g zpzSidM)abXTFSL|OL$bshbzvRG0l#FH&Xi%oW?ARuc&)+Z&bXaYsOtD#|z5fo;Id< zzrUw^C0-9sinV?}7noZ|1(<~)4bSY&r0?5E`wyv|UC_&ty8cVguJotHR! zX&hUlKz8KV7Qys!E6?gTNZG>?RQD1Xi{B1;bor+vf@1)4_fI$gQqf(^PIK*7N&(S0>cMdQT;Xtc&u6C!5N`f|HA#Y0g zCqH;_g<3l-cI{qKsdIRRzc0bz6K{}|lyVBXeGmT{!{MJ&xPLR0aXF$ zTlR%B!(*LZ6=KqPDwDt#x*9T^=eTbN{jHSEQko&bQUn^Vv{H@1Kqyj)c^sq6;U2(`kwWBp%=};I%mZ*gy>NFEZ`((FjJHEaJ{^pEB$!&II@`^RXdFm`!ZvDu zDng5$`cy7!(wjZJE)`&QEPC3A26&QtIQ9VEx#BwV-kXEB6=gq<qat|ldNtNwIg#HjZRvtz0mf;xMw6&p^(T}Mrb7wLY#pU4lJ zdQs-{YtG&06fES@6^{OsID8_GfDodw+CKIXooVES)=6^>ZC%rm4SkIxttM zoF&aDlLMd2@-@6hUQ8dp8%C0|0lFf6zw%_os;j~XPdJ&{p}**SjiEpv3Dd;{pb_+K ze-``?iFc$H42|u zq9!AtIZ8k~Ddek*IPci%8edIax01e_r`je;_T9b4bwBh@(_8iOkQ+42*_&KT?!VFP zN=(-{F86h-dlxHv^ts%XVWb^q?fEu+M3Om;{}lZoG38C2ivAi>LwHremA8#fKuRl; z;VAZz)u4GSu&yh9e00BsHOrlu#X~V8%OcI9%Y3iFKf((2>?M$5Aw&orWq?moi3aTL z_SZ=EbtF&Bv-*vg zf9cELsSZ{zwlUSFdu%J0Uth;Fu=<_9{IVv}9SxobBZs0DDh+Ju1}IjFM%1yYc*tY0 zhHoP?Jy#a^#@V*5lopda!YgqshfV>JzgaY4>jofEtt08N~=E*FEa?RZh~7Z_*VJEXD$#z%OLrj3bYN` z!+6z2&cd&y@AZUR`uA$1*@f=AWF#5f znFA>_{%lb7sH>;>duQ$B0hf~gc7PmCjko3sUz7P1pv6KZF9&;pi8tEo` z*6zA*kTknjC*SNGdRw)Gk|+r?>@*k=EJ-`m+!KRVgGsB>U#U0)gWH>>VS(4>?QfUA ziDg|9h=sC$fKm`_Rp$YB+wZ!bAhE)u+kI%=l&$yCioISDNomc6yKkr5k!F!s%Y>x4 zNOe8(T7(OD%toU`Jy0YU%bG8L^`Yq8`;LZSQN12T2NLCO>nc?K9A(lnxzlb4`{dX) z*d6hlCXpjowwTv=696@Q;F|Ug#{L`;(#3`};vmVZYAMhdUM8~tTE=ugO?o6=w&ka< zGR1|30avgDL*@Lht7ARc!pz2QRXflNlfY^J49*aewV!M1@)Iv*jaz|$4x>wAgfgMU zFuC|nMBjs(#lnz$d4LZ}PK@rhfoE;pm<7i^TK3ZDb)EMu63@^+JmDA<_*QG)Ll<1W=39r1-N-G zygnL1>vkGXgZ#47I|?}V7Q~DDe2x;=MF~F6{mrQpScokrYb9Z3qmeXL8VOJ|D)EnS zhq*&m+qS8{p6Zj7@fY7!c4%J`Mpo=8tG{wo&Qp)W8tPilA*ogx)w_O*d9QCZ-C!Gg zdMk7>4doejC~v5LD!{|~{?lSYdC=@tXx$q_Gr?*MjLGLJls^+*l-HM0J^lvRH!w06 z)bHZ;g`Pyo`k>oFHT=c}(m|M;95QhoHAt=_T*^qBnE;MS0{}QZJN9_C%Lg$7xN-7H zS?!V&Z?hlLnfAaaU0W!#(7m^RN{eC0X~mopLofI{94GpBQAf~da^(nriKr9)5>!7= z-I~zI=U=yh_3il7VK7^K-G|yV#&m>9YVuJV7DLm#vESf3B)Vx-n_yhmI!W&Ww{x!4eD9PLYsh08x$x47ZXk(s=Jnn!a{c85}_BzLqAyDT_5~KD&`&5?MH;HCi62 z@|(b30_^}jrF)ZSe+b&%2aK}7yOtK;34VKbTxf6-_^b1-9| z5Ul(%d%H5=rQr*tJCwM$D55#c!|8e8=NPO;EEjTZ_}-Q5$~Xl-yj28T!1sgCUyaLE z2(A!;jFf--o7>@Awrs|qbi&l&6KKO2#KigB@;R~2t8Tzq`^%c!bml5u5l|WT*5ic| z$neugSl_Leh$&k)9sww0Mr+Aj2eKk+|9a&1aoXngro?XtztI!;S~}6sQK^TIO7=UW-(LXn&8lFt>Y<%(A3HPGz=u$ z)Ut(lc?>Ni*YsarHa>k12;i?sp}&lyMqXzFocK?({2r;(iR-of8aP?upE-KFk;kc) z{pB$b=6WED+bs@9T@jN(k%SeqL>gI#y+B7Ewes57nX2Dy<=65utbyV=rei$}noLm4QKjv)iobyUS*buNcj^ zQ9-=sW?O%1`VNtE*!#Hs3)>d>;LnBlStsdY4^5jVJY@|s!FqAnJENuasj-&Mfy`VH z<;8G)nTWplDRZkfQEM^x5~yJ(caCk@SDwcB_w+M2vj*#I_Fj>!_PDiiyiLF$8u-(a zHTk8m7Q$NlS~MzTW^ffdh*q9FfA$!UTjPz5PO|>i=Fz5g?F= zBA7tnN6BB2FFpa0XEEi3M!K0gZarZ)Ur||JiGBIfVGx+whw}uj{t-6^rSKDv8gF*@P z7S{>oyNBjcvMPZ4q$1pG=M<@KoZ*BQY?3eNgA17hs5J_k?LX{{6S)%ZrtybNZA30y zB74bWdWM6Ho{Dc9F^T7lXlP=2Qi$4hQyP5TIoSWaD5fD0eWe$qzH1CSgt>FqySALJ z#=gXg#Fp?NBJ9SDP6(asd};(MVH%byo-6o_pmVZUO2nK}3yoDH8L7>y2X%Iijhv?I zAQQ1kA1Vq3E)94a_U&%`PC&=c90-90!f!r;_MS21Sa=}E-pJoE9mfW%Q)Heg=67%4 z&q@2a0kPe{lB&KzTgagZNA-M=O*0=_4?gP&WOv*8?bNI$>WZN>9*j@Ygx-_NJpIRU z50#Bt!s^nak-#}m^(*FI?&oU1r58FH*QA%5XppII)WrMV;l>B1h<zhMIvkh zcf6ybjMGO4@|K(TqmR51_EtQd(0QcEaxC{JWX-yUEU>pem z_KIy9`z5f^{cD`^!J}iH=Z2AA_p8O91nbkDe9-UGRV}iNJ@9-i%w8FEF5PKXQ9A*W z+H)@4iIaNv4YW2X4W&6g)CKC=OCc^|#502fPk(LbxQI}={2E)}W#B)QPQcHb7mwx- zB;>?mlP)Ztc|=_VWJ%@l-0melpa;Wb@BxNOp4o#AxuZ|-hvNOHSZ-F}^vrWuvjsqO zGOXTPLmwf((;dv;-$~qDJHTrf7$$(cZ{NE>E(&;ooHYVXUWRk`1%OI#><8s(!4d;` z)`OVdF+44f+s0$c3l^=LMlh!~e&uFC2SnN$^Gkotn8=(SNkd8mZpaV0m|-QGc}0pA zB}DEy#E<3vCBcMPm?M^A$Ht7ESIJYsWrJgRf&T-*lhjqiS+C>DW#+QI8ucUAvQ>A< zN<1Di)UrdGkJ`+rql=RW^fRd#j7;zjP>Pp(^7b%h*I?n04_db!fQxgV&K2Oww^+9v zEMv9{*E&?Z5_?IwW=$RQs-MnYCe~aBh=yC<*#**P&;j<&EC6z>dMdQW=LUJ%s<6zR-Cyh7t z#K&R=v&VO6x5ZBcvlGP3$!<|)gyCsI+XVGzRgUj_Kcu3ea+P@T5*1WAPP!q+_Mpk{ zZR=?5J*$Clf!5{y-FhDlv&?5(NRoJczWRpa@n~d`nh@PJm z#q#&|cNGCU_Ks~mfPp>Yhc`RwyAP7?{)Z82U&14~=&8+z4N@$vo0SdKRktzrDLhZi!K8u0gnG64vA_ibx>?ee^^vRF7c@{@6#0ICanI@F zD^F54y|k1+R!lpJfi0h%te9iG38Y~ybMoK8TFCmu3eVZmChS zU8L|DjO#xiY=pd$)2TED>0l?BN<&CaAB&~gJ|Vu|7Qy(uNypd1qWK_KH#GAGZ+153 zN!UM|@gg_aBBkL1jtP;OBz8#9KB7PO2`vU%tydX55^~4%Vk%oEH3EX7KmSbV^^1-W zXFcet(fC#Tw?VG#jAzMEXa2|;8c_W$R~irOFKSHu(k5-3*x@btXCJm$bdSMre*(hA zr7MY?lp|=KYv9zD@=N~0!1CL_OO_LDx3n9w#Lgx^zhi#B$r2OjJ07Se>Xf7}hqviY zr+M-zVV3>=3H#w2ypuj@E2-jhx2;v%s4C$m3op#@b`7diOI!?2Su&9G+pYdhj51_} z#{&MAAw8iYQ&$*W^Ygl&rK)$UZJjKYCZQy)gLzG|TX=?@rl{KB3KdQWb3vECN+9Ak zk>YX2i+m`?ZCgLcGQ9boccplyIKP=Cmao>`e0}`>aIp?d_G^54)KE*0cq022wBOYblFW~{WkPt;j`wcBI}NBaaPcHXnm`ZH(sBhWKi*j zg~Lgay`dxry{otYS4_K6aqf_-E~`mHLT<$j_1>>sC>gFG{Y@}K-}OVzQfB!p_E3AmuwgTj%gVp$_16HF9b(V4MPT_16Q|wQSq6o8NNvwE9Vu4)obw$YX{sjC8T= ztg6h`__a8$`I+c*OB@|&f_6INofT^8Vc4S<6Ez?f%~|uW@`+wlX$&oTUw1S4U={b| z)l;j+=5WKD`7n*jJxL+{4q58{M$U}=jIAxxMiHzgEO5`v<}gE*paN?$o#q3r3lr~p z3`~Xq06=T4rP%2zYV4ha+&YnnI(pcmH}`cf zzJ7;N;cTqMpFu!nyuM5x8g%Q0^}S}rZURJ6^d-wIsuB1W+tG#nr>fO{{wXYl0qALf z(mnh1F38N2VEhN`!5I}b?QyE??@#)hRgY-y<_Eu}P(zWMOdg5m4Qj+HQDw|rC-!`$#XIJzQi_}KsUG#$N`0@9#}L5YWk!t2eJR|F+$@#>c|X6 z{t*{wip(3k{4+TfBxOv80kCtzjcNEiTn#btcCYS_37{#aEPW;KsUo{?`8W`D&Wh3g zV~Vs(gnaDT`$f}1sn(!XgmZoV0!MY1E%Yqo_M`Hb@&2efLRxdd zhXd<>zAyvN>rmP!1{=7x-gNV~)5HP_MR%-6d&d@Ylyz5&I~jA6n`({p zA8StYw9eiMS_>5pshsc;PP9o!F%y6qFj$O>SSkw#7hAQ?FDx>KD)K{4Efs-+#bxmB zJE@53CqP;4vSyE(heLYUCBNq8J6g5nbBmKLK1o&mz-SXa#wz!b?ExeLav>z0pjp%k zO#fvT&aA-8y^nT1UEzq9N`ecBW^KHN1QsOIK;F=}E2BDAG*4H{``Cah` zxJE2h^PMGBLKXhFgn!F69Z68b*GX?2CW6weX$TF-!VA)_wMAYel*)88dHh{wbS?_% zICP~pcIsK@Q@Mt4E1cnPAf?4~g;N?xzy7n3Q-@SdV=qC(IcT2AI61jp&u26ekp|tX zH=Kpx={=G}?qf#9we_NOE@d z27fea#@v0uI0ecW7hnJaG00(Wh%Jh8SO#asIEgtYX`oLM(_)!1t=DpiclF{0OzL3Q zKE|GR#`HxutmzxKPMC`#5~*XF$5G+~d`HV`IXH%UBIq_C-P{NU z!CJ5CBdl1~dlfsl3 zFN;TYQr-zYU=_Y|)RpcC&7Zd9C{&G-+6k^hI#q5%sWP%E%|-C%-BCxsd}L!#;Q})L z1e~aJ3HiOAj`lWbQ_o+1>f%JeZ}^}F82oq(V|zQX3NcX4Ie_h(thC^3H)jj zK}Cw+g0TXPt(Hqp{unPaU9ywa8fx;a5xmj3>tii_`mi6sOJ4ZczwsBfzlfHAnRh)J zCPM@`$<20CHW1t3x#0hZc}Y6*fYiPz)&cj<4wllKt`>((JBC}MWaT42{fM{fIa@=^$1^P%u%|M= zkRKN-E~3h`QwoK|lO)FSGRx!H3w*z;HuOTCC8>Lz!4*-hc|yFZRrYG`Xo{;b_61N% z3$bJHn?-!1$q=k^K-p2Py61xkPln{^Jav=sU>dGv;cj$iy{>9A2JAyT!nK%ryQPik zFaacdM0x84c`LeXg32j*Zl;#Wvyf&io+H1KytF;Ip<1$PYSgB9z@3~7O$qMp8e5Qp zCXeYm-$b!akHpQxT~|@2SW1&BG-&DUlfNdPw&BaaWS*9+IK*|d=*5rV?E~c$QTZ0V zpe}m-L9UX3aQx7AY;cxMUmaETF zsoS*&rzC7DR8aL`=WD!4#Mq7Ml_64S2Xbld`IX4@lhYq0arO`1Oo)?MSkud&&Jr|# zvqW&(Y;zvwoa`qJZ;6YF?dSZM;;Z(^{hhvcsNW+^&_?hm%C_AkouTK4WiwSYXDZOwnK8sXF2n}WJrL@_De0Cu+#IueC$9Grh&f8AJN>XvHp>tPBj->$2&p%%;_xoVVzvBkIPUO;M^0Gtzt>$-VQEj^_UDob`vJFgoC~>OW zG*~IZ*dM7+@Fek5b6*J#`tc5UNJ3O_p*A9yiq`<&&ev7WhyecerW=2Yjqyca;~=tu z5^NKL4Gl}E$BWvcyrBr(RnKZP}MPCr?2&AD{? zEK&wtqR*4i;9a;;h4?$Ez`jH*bFp#=LI^F2S3WT%>~%O(-==p2@_BYOZpPX_VPbjo z;vrv*dCx3-(Wl7F1+gK2)RrP3dhT{f%AT%R^L|bnsY^zDx0VUbnYqpU)_6+`t$S5a zDU|fB2yE?YXXR?KZu3KWQrCsvT37c2c;Q88CXNDsic8B!>;3KIH2L4wOA3@5IghAD znCVRJ`sCVdU4c>(EiLWI?d-6N3C6vrA+halL0JT@3KlQ-$L1VvT42qOe7~HehX=fL zEM!1MVU3p_op)UzGn)|m?Zu6kC45g<^}3XkiMGJ|@u`&2YyRxJj;2_8`u9gXfJuX`c7?Tyc%a(WNKH{k7%ju-$jfHys7S=;MJqSCa3mmn zAeWHcvu{P}EqO^+gFk(n;@{~f@T`^4)GATD62dXHlSi!;&zQ39U6lsyF+oteqideZ zh6Yw@`~OGNS@=cuyVpZq6}E0 zFOMsat5u4+5cWVC^V07hen5EeiBh^x&wA_T%)|Ml-^}*KGTMdm(LV@iU?Q5Iy^za>C>0cW^^|_kTfM8*egkNU@v6O5|%QL@9=Fq{Xd9t%rzD91KTB_5AGWLZq?+w!PjcrEctr<5cH$eL_Gxs4V?lqtZqr zLT>-y8)#AdM&lRh&M6uFet$jjOT;!U$#IqpuDdv126AifU>Cnd$;7vYFNtHRK{pOj z;Da|bzD=m(WrtvAGQ$IqP#sU>NOU&e5J5dAUFni6k5VU!CeXvlU)a2-3UAU9L4mtD znI^b{Ot3^Ac?5tNqKkVs@+WY`%O)*5uFaexnkg7e8uaJ^NcVdJ!xB@{hDCgl37R!Y zXZpU+>$v^fgMWK_b`*Ax<>Prsq zCGEZ|-h{ZWz<)rBP4`cJRfHR6;P0p-+>8?;wAKmmTn8(O%@{xuGxWV1msEzd0ChlT z9txW{oJ>V{0Gp*Y{rwSBAx$A=r!v$iZbS9NFVok~nDcO873+7tx*b%R=x2p40;eXD z$LNx|@J`7*$uu57{LC@4n8oX69CLr}kVq!DwYpbr;d*S5ScV;uOgU~NR-Xz9#B-(;- zUeO;Fm`6;x4#;T>)0h#WMmmK|5~dalV&>e2kZX)Suc!GYt_S{$40<3Alw=L+ePr>zjj9OxaVrbxE7HT%$m|RD zAF;ZA;tcFnXf+6wt_#tt2>OU4B9A+W>Qy$YgBC$3RC&wWWw(nW2 z^BbpjuVTn=XhroHB=~36*Pih`#P~(k+MYANiDNE|F@mAWwH5e07eqo7a5w;cM;14= zK>K%zUIQu~`%sVC5~~%dM)45A1N10{>_!ktY5rOg#dND5Ydt#kO2(8E6>uy7ugG89 z8w*P_P9fX;TIz~}R}O(9Xpk<hpqs;d;uVY_bv* z751HHfNrpjGX-#;FEIkCJjH%Fo`R~Hgq|Bha<1!2?YO%lQZDV_H15pU_&6c}PfHRH zCRd*xpthJ$f(J2flbVd?DN%CG2g{&ObJ^QR^S%YwWXmUe9DfyPxy@koM#(TEF#?FC z3S*hMyJf|I0e)2>o-X8gEw~~mF<$)cSGU#!bG->cF8Jd@)B&w|@IE~^oUDkGD+V6j z`R!%4h;ibFLhAcZ70bx0$K}%tJ{Y49Uef>GTkT9xoBAM2lk%nv{-t(A*5~Pbci)KN zj(?N70t{XMp>g7YezrxdzP1A&0#nwOJ$`9FQaPC7I8xC^bnIUg?N4>q0S)0JjXv$v zW;t_R)}6s?G-FrtSPP@TR`qDVp5eMytzFAq{l-=!CaZ;6vY~wHbTQ>rIhJ=mle@+M z#2NBPDy5{FALk2-?nSL8lC`g>Xc(%=(>xH!(%FJjhDtbw2`N(P?M~~SeT!2ze2biM zA=5L zSsGRWoPA)LokW29%q;fw=uEzR-yf60rQ&+5S3TV8Iw*XElBHG!okqw$#K=~o2IlOb zo#uZXRbu$D^&yF&>95(n$XeJtr1aX5Ef)X#+ShfK9rYQyRh^WgODi*)Jx>c0eOawX z{>eY3$gdOp@g?RLVgdx#0}#l31i*w`;7Clf4P5{9@*B#b!VWowTKTKv^M)kWVV1{R zT7lMEYplHPx&ceXkN(;YcsISc>KGxD^nhLCk0$ zaCp9UVYzQLjLts+HN}p$`gYreasHEVSylnnb;VsEf_8HzI^VO&?d^#wr}qILq8Asn zi#VmyKHBIAAI5aD?LdAP&t0=pasbhfY)GYAtSQ~WbxmaY<#l6Wd{yiCognC1!zOH! zs4o0Dlazl4YfqT2V!L;3`vBHbd%{-5hM&D*c{iCTWy<*uKtL%iSJ6FhanpNzBx4Ua zymu1WJ5wBV5S#b6K=gs!^&JoA5nV3R#IwLVBY4F(%kys!iZsSo5%I$Dw=O$c#6SJ| z>2fdd$vJxa=zH07z4|C2zr-lJpGGF?d3^j&VHe-(1(i8k7p8h&gf-74vIE=DJe3JF zLV#OIb@5PF&X3^=X71iKHY0Br8w5o-x;n)^$zY|zfeDB8cT#e4h|ypcv8O6%NSTJg zx54Lc;0;XHR|T|!6?Ldkc+p|@1}^y!)^?t&h8$Ly|j zc4f$<;5_C|{0ke6EH6x5L#w3J{xUBZs(V)OSH^hlK+0mWPZ_|^p&uH2T0@h6F~o$2 zr}?ms8xX($y?&4SOTUJ4nlmgj5Ot3uCl}twDwFogNzx6#rN-L#Byyj?)BO=7Tb0qK>__$QOOj*ay%oNAlgj?!0H@89{=luoNf3S{$bJZib?Saer|7RN z<-k}Rn`5A}t-TeyDwi@an8!`tR!lL~SjX-J#Z+Qu+bg5Zo2(Nl(#SBKIc|IU zr59*(K#9H`*;|r3d4BxYq&I)`$_2DlRm-6tNCvq~9ebbneS@?D{}-X)+qrozL%h#> zl{b5#weGXH1>k)dPeXhe*EX1?pJp&kEAz1CO-w({llM2YCWNY2wIc@X9lH_+>H}UA zp|b&3UrHI zu|5;#kyzPHZ#%|WTDzBl41liOgJnO3EU$C=q2e_P%3N^KNrCh+I;zoXuyPZc$p&b8 zYFsMI&)Uo1J)NcGNCh*S2vwD@iLyyY{VeC%H|dZ%X_+nW?)zCv1YYf$=2et60=Vcz zZLP$LlthdUuYv z5$?-9CJPw;>^%9S9qCf>FTuDFDcGB~D1dB4>FrPvI4s_9Gw<;~e_=o2{?CBgUgx{+ zq^XVGG{f~-swTiUCoXIBb2+vwA6ri?3wvs#e$POgIwPeyz?y0N^>&AYsh7*sA$n)l z&$H#K`cElq;gwHOjKF^cd=^pYe6iRA9NNJZ54|_@EavrZVt8XsZGjuybc9A{J1`hv zLJy}G8^wzp-6;thzDHRXeq~86S;-R)@FbqKLVh-)mGAYPQ88-n>0ESWaP=X+SwW$2 z2f^#KGXF(%$^V+yv2mgs8grus|1tPT#E#LiCtCTtd*=C{+Ob@#Pm3POh6um+!e_H! zFu+cX@pKdrJ5=blM-Yxoje?E&C7@n3|mXN{4m7*%&W>6AZ zLj>@vhe+XDF^XJx>nD}I<32 zYeh7gB~-n@3(fKzD*iOpRZ*J(HVUF$8OU%ZjjG7uUQnI?7bv6IG1pQ)BzRxyV6bWN z?}wBWb|Jr+~Y%} zh+8wgb|CQ&4P!Gw&@>NyTZM~D`eRXUW8fPIc6%7YimwGjPsp#dpk5ELIFa$ z13L8X_xOFE>yLs$11F0IM^lOQ){~qbrIC?Ywf6Lv`g~>$D|ZPSS`k{ID-HzKASELm z1RL0&3{=)JXzs6bh}k>$wm)}4uR3$pm1wiaUrFHx247hmLvs>Yby`1(-Nv88CTupW z9wAC-NX(_>0I~kl%0RSB>ZjiRklMcz%dO_@8&RL7=KbAcKrB`Wy%O;+xdV=W9OoD! zG7ia#zUPoGfIwSHkW%tujB5@blfGr|eo65Lq+%WOc|$ie#HO$26-8kki&kZN4x+k0 z(asz|j8UbhL8N!0Er6^@3ZHLEZE!fKqF-}4#HmgRQ5UKx01b@BKffMa*H;cP|LbUQ zxE)&xKDw_zRROgIl{3+8|HGmSvIfw^i@}?|S6;juL2+i{q;KEKz<>tG~=-|U`lrvz!qR!@a&Z~-6iu!FV9gI$!nWILrSOIqEC-QrM&Q=YA zs{UNbq9rBN2HrWr8j5gGiNvgbJGautNSHFB00_v2s;Pd0c+%Q}k{K^h-9i)r&Z}^R zEl2k|x-QDoauF&VGNyf9G(qgZ)yiNLRKra?eX9T^8Z-&J))m@9mz}R#{Z}L=bG!9{ z@&DZ+pI5)UmNE}5%P3|cnI&>20^K&CXNL2yr#IM0-~k2l5wj8-Z|`2P&_FVy6Wjui zj(T+mu^UpDB>|k&1^1uVfZo7JXUc(NzeJhgI_-Mnd$R(t7;PNSE3hH57RH&SleN4z z?dD-au!d75eg*!nv%rv>DFgVuCqVvVB993y{|*53;&wt@OFh1UY}gi<+g}2}vWi6q zPeB~*g<;f}EqojJcp)T@nVT{GsC2WJ3c1SU1ACyGgX*bn zVK9Yyy;iQdSYnr;?$$j23Y}IkUJ!Ou+B2(EYI>_T9u@7BMtcT9vEGQBxNVl;b=lhl zWvQZM{&HZy)Kg)FhM;noQ^4%sR-|RVg9+Gjf~hwVH_uZGZaB0yPqVh@{Abzc_XNE! zOeRe2FQ^SQQ2vrVWO_{1f?~KRfJbIh|I)nta~NydeX7T`hv#WZxTr3^S9%JKwgugL zI<_3C9~R*_8!ET>bsonOUlx8bh_s$SZo#?+-9M1I!b^A=@59}ecKle%9xyUG>{~?M zFo_vB@$Brm7Q@el`&8v5)nDqYANA;_lgEqnL7CVR@7Se$5iXA8jQP1$1%hSrmi_lE zOvuOXs+4U;>_;vX_9A7d;(`#5i_ey6xXF7{U|TGDY14SQ2Gr zW?7y}^!K~`vMJ=Gy@s>5zPX7iOooRV@Y(t9-CQ!BdTsQc>5 zSL8<=laWw-1$`IkKOVoiKq{PY&Q>4k?$EG0?jvWdP5yWz(@$}|cUW2UFmeqs)X}Uk za7RqboX2lE$(+~v(~riS>=YDy(IEV!$4`VE zzbaTG*QcE7I(eiaMfZ|z`1Q!p`mx^|cz>DGGs`qB;t>PYz$ zp(pkAM+%0|rm)p*%x9)IaCE=@AI&BEn&Pvsd{MBaKp_opZXEBeB$QB*K**88`j1Y}rS2UalgTRVYKIzXW zkxJOcD8lTNo>eZF(gS=!xqbvIuRAfD&j}q3Cv_lK`t4C7;(!d_mE@Jm>edRMD-*NW zfyl`?;sjN!U;z5mfNE}46B8o0!taw0V~OhJSb*4g@%>~2&47p%o@+|YjXwj84Rx_< zvOa?@Aodym`#%S7Av4_*akW&^6zt(4;H{wIieP&ZL~n~wjnX7{J{*BOmNc)xdPdD} z*z!+RjYckUlqL2gkwEZ?NE_94_;Fc6b4>h3Fx@jvZdh1s8F19{9P)dpQYsgNS zj~Tm}2$AcM23w5f1xTfBkLvyjRYz3sxE;(~N)^AUVMs@+W^Ym=SWN9%h?8BCVkW z&}G{auIM~0ZMmz~vRV15_j&BE2a}T$V4fG&!vR%qRanhjXLs_H@yHpmv*7e3HL>Ln z^(tQo)%kTNwqV;<(PyxGhIfyK^58e89X$7#GvKK?Cy-yd)#y2K+y4K&XJs5sl-0cUtw#KEzI>+0bah$l#w#;;`CL z8jk8Lnr$fUn9hWqyoqj5KBE&9N$k!G3_SiokfSm`<|cF=y9%_Ex-yc`N61}m?kk@* z=!-K%U~}ePjS2|%pu2X!Vhs`BnP_JHFoD4?lH-3%hDp8X zf?vq>>;C9b%nZHLz_fwGv)7oEEo|?Tg_#4A38Jn&94NzISmi;iMoCZOGqbTvPQp$QHH_P(o|)TyU{VY+?O8(spZ z@VqMjc_`>l?v}wb+-XqKf4(OmWjC6BN^8ji=oR{uMIusp7ZAWaDF5@Pkp}1Zq}T+V zc+{`u^tU8l<4t%0jkp{GP53Zvf;N2(7o^ed9dwt3`?nVvQSm^(3TFpGUNdnk?|ag& zJa+wQQ6)d3hosg@McD>I$Qe?1Pao)kBeuLZIhU+4HpnabiMb0rXrmExS_i#5Yv7#m2Pf?Y@SK;L_mt(P{a7U%-6JS7 zw|CeEQKqm4)Z6fu4(c)bz*MSoxKrZkwD9s6J25%4Ci-{R1;w#i>V5Y!2tLoXol@tY zs+(6?Pdpr{0gwrMH6mnv;VP*XcsA-li4g($Q6^>SApCBTSN(wW_~oK?Ue;j~RckuY zdtqhzC&>f5q^y{JFj&13y2e9L{nnrFn@@V>w`^~7X4PH;P1(!hKh-Y`?op+at@C6K zsNA{rgC+d_Cc)xpVRnWvQ}5Gr<~usU3r&20>A~qEy|yu%2S(h?V$a=pDxnSn4UH!B zhW8d6>CG~W*X5&h&%;6Z616X!DVEFL$l!wAJQzCLlk;=a>$aU8YSF1lUatFOj5yz2 zWhR`7DbJ5#GK`bX>sQC==@>&P;Fra zn*@V61iF|05X4!EE!=U#>C?CZAgYTOn$>7k=*7YD5H}SE><`ehNl8R2ix*ch0(M>a zh~>I^c3!kxwu^|U8w{XyZb)#uHSLv$=I4+D|6+^04#k1zf_Fxthlp%2q$WzKYzC{O zx*$x0XcoYoyZ2UJJGs^H*HW){5Pq!l@n4HOT`$WnR53@u>cel z0UNk%J2^Sv2IHeTK+C zvX+SkI#SsV*g){k(q8wxRRQcPPLR0EkUnfoQexJ>jZgAoBw)ig!c6D8!Z*5hj2evs zz@g((t}d{SqG$7N-QVBx>-dr(M!(@8>Psx&A01~0+$3j4G{6;Q&l+-LT8Rp+S5Zz| zc^Mt1_!GqW;V0iO-14+dJgRh|YO2iOJ2Aa(pcz_UZz2|vxC@aUB*kvkgMFpVFDR_2 z-KY1n>Ml2escZWWHO-PKkF(~~6Ab!fZ9p1-_wkqJe0jC237y!J7J8IS6sqAWm5Nd& zf(8_L7%;?YSueNy0vODZeE*xQ-wo%3)j2FwVmv7Jysx>e4F^{nk!wxrp37V0#3GJ- zbZSZWx9Uxnrq-!&5`gIJ|M3Jo82o;YzJ3gJ`DX)g3UEn;^E+wf| zsK~m!2>@U-yZ&&fSXKeaV7v(K9T@|3@j*{_c6K!=2RXC0YUp4^_bY_o>p^eQ1&a$o zX53uMsE1nx#dCrZ7$3ivVg{0Ky|CHOaH+3|^vN!fODSlrTs>FY)|k~_I?-`fc=TH; znz}20OpUN<*79M>^_)o^_XsxkbGAjj#~^{6q&h8=7wG_Y_RG(er|ymSOYwKJt{Cd3 zz7vbY7t;<^s4gQ;$1H#?l+N6ad)?xAi!fx-H7r^HC&Jw1#_x;Y5^vO}s-Y`u9VKs9 z`e;($c12b&aI!-!Yz^)o>;el<+ut~>U*uu}C7^%4m`;^d!6eTn_GvcP8GW<;3(W&| z!A1c|DDA;Q&naR3ll*FtN+#_K)e!63m^(Ih0|ojn0(FnsC+|_IoPWAC+nY1#ANyqR z>Ej%kEPooCC!B9qSawa>2A#df)VC{pUggy4UVPakzj~6q@fG-`j>q&Z&Y_53>T#! zE=xCNiBm7lkFK{$8%rC<;58%JmDu3?w&Tf-3yX{VdN8>PN8V2JLJzh6X;6X82+y*r zgPa(=#%{_8*da*sp_(g*U19^4<(5JTE)=v>AHZa<8h>}hl(d~&<+`e)X;yNv;LjIU zX>^Uc)KMU^mOQHl`KDg7wBfU=n#p>3xVYo|oo5A;*&fzf_sYJj>@^?m1z{_}BIsY_ zsjE(g?U+D+;?D6kj(hu+_zOSqOTdxNYhJgO?Ud=j&07mCCNj{`G7>iA9e`^2%~iCr zJ(AM%#!tkmXEVRKX)FsZxhc)#0C%a2Jn2HY1Q!odha&`jqy34%G6w5vxP0jRvQ5%f zBsW&Y{hT6N&MYRbfXzq|zToi?As|9$#2b;W98{f=cPx}U5K;A_rOEd_@BwN}u9ye) zR^DZJ?G1(J)24MY^+RyjuBsc$JE~qE1!6d5f=a>yuuj_;aAEO47(z$B*)Z$w@S*G? zQLW>h^(QI7ys~$Uc}!VNP!VobXo}&5;!yu^Ih;&93ewkYWJyFQ$2Udx2brG7b2k=< ze?Kz9CiG8bA8r8lJZiyjaq9QIx9;CFz0mVsSk4mG&JiHxg|lI;NIAHvO)q_s;#IkB zRO8>1sV_XTG5P`STx?>c9wA{3`IjA*5d~+a@b?Gv#vM191xo|3QkF|QXo;Q)vjZa7 z0(nPapX@77IGEFx%u&IL;)yC8!0zlQdf#=|fWY1&HlxLtY&38r@AmODpITs59GCqQ zrk{opU|>O#A|2}KXmzH>9$TWU+&mNC*WAb#{k$TFV*38RZyp94rfwkwCLmdi!ON!N z%ME95uL;?+i&V~C>nV_r*aa`~iOw^Q{64U+VGp1r492-Dkl`$t1>~V`fBiV{43C11 zm#wm;;^^cuVYS$p>IZ_UMzVj&Q8Z>X*Uz6p9b}4Vx55ysnUkEZ$M$^ktx)m(#tjA% zcE79d>=X8{NDkNRml4VJJZZc_xyqGzSKn6Y0$Ru{@*GQI7x_C#5SE;vVW6EEL8!!i z*#*K1;e_xhbXdzqb_*; zoyho#6VINpJBxC3RV=>eh~~xh=V#2CTU~D6Wh;AErc+RQ8R8H`mbMB7%E*+|V4Ut$ zwv|wqCv0WL5}y}-X}%FuR*7Wa{ej`@3Fl~F8V(21%=DnPOp2Fv(tdc+#n6uf)NT~r zi$}je|BU&yzKP!Z`6KTutUE&IsN;a_a~AZ3Mp2F0Y+^AjOy@6;Ft=ZPSSyYz?FlS? z`Wj^hv&`R}`Rf9U3I))9bMv?I_8w5eXrNr;n>0n^tX{VA0qGJ_L^wd^{!IlJytd0W zC8&oD)xCU5v-`besE^#|Um&zZqzCAlYY(S)G_Ua2OH(}j+ zCQ~-cCmjn6sCwgaz#g;w^ zPlhdV4`==0ZD9?7wP+8wGz6k_Y=d14CPyf*0P@g{K@lzgE0gm_&Ja8P58`%I9V6rD_@c9 z<|t|}G-}xHQYztFc-C;0Az79*W1$K%Ia5n^MWUJ%6Xbz5tW|zTNwtMc=@}qDpg3Zf{(ZLm^6KPCA$w85l$H0c!AS|$W zX*v_+`Im4=%6ujb)Mv}FLd@?TTKzXEyrPoL87IBXmyj^X_BOCi8+@{BSn*QWhJKi# zd17UJ$Ri#gpx1P_3~fAx8J5k6zY&~ls)q&ppn8LhNu379+$}_;Ej<`>*b-%*HTo~O zwff)ljSr&AgkZy`BW7e$gqKhO1{%&~Fz;@SopeT@8-(1r!eDBTcD$v1s&?*MNq&_Q z3}f>eejEd1QaK~)47u?F_&j5Pt$%6)G+{;wNL9Xf*M~%)RnUsvZkBbR3PX}-^FeYQ zllO<8vPQh@+Uj4O_j;ge%up=Z<6)!J2oHw&U*Aq%o|O5xZwG_`XLW@Ik!oe~7Pi1H zzRj_)kJaF?nj3dTIqgbqOpiU)ZLk=uBO~-uRHmwI@g@r%%RGkszNLZOT)YIU3${}q zr3--V)CX6Fsa#`!UWo>%xE6>iY;5PElg#J9$5+8Mn38-w*olyBI~4xetDw8MQrGPd zBU7u_Ki|)nV!D+ThKsys1NQuq3$rDrE>^<<0O-yEm@a$zxxL+tVz@{RAK)mqu8FY> zr91(SpC$FZ;-(zp$^}4#8EBU5&&|v{J{Z4?^{t}O&YXUIeZ8kN;uF%@6xP=Q`&gsS zd)4NTQS&A5<*e|q=j$84kH*QDYD%v>=p1=vWZ#;gJ|VW#Hi@H{XD~4d2(c9&5zGkl zlJ=HIm-o)@Du`|9+10(hmUk&Kthf)UeHMt6>izznm)V13%qb5bAv>HdoQ0SLY} z-8l@d6@C$NcMV362%x?a<)M`bA+suo8>!?Rx6PN@2tmw?H4n(RUBI>zS;~_P3OS^B z(p)tq+q!U40bN{7Dz+EVa_Q8J_p1)~2etxj#Htle5KY43ox&8fbn&7}F=9~W z^k)bLE}F`+UKSu;w)5+6)qRm!-+Z@k&RWXZ2Th^Pr5sU zDI4Nd4VceedR}deHQfw(yN9%jCRzh`1WN(Oy#c}PU`p9G1)+|xyL6|Ra3lu;0 z49qdQeJBEf{;c8U1@DVyo}ASCRM&LV_~uS{Kw1>h*ua+ChnKnHGwjC?n6vzWBq&3! z#coFOYV^D9o-Gs*Yq&`7#5pk~bbbl*gsPw=CQ+WTQ|MFjLlEc<3tMxjhdPq|+CodH zMZjE#tPh@Ox`l&vU(_Z0a$34cu`z zO9`w^v<^M+>!no>GLb7-B!xtB5c}=u=C;yRU7bvIizBZ-Mrl4<{6sF_sa=+3I`oJe zrI@3v{1o6`_3$DHd9s25D}R(-gNJ=@KdbE35k)${;&o2U4nDK7$H3f4yhasx5(CLZ z_IbZ46~Ub{s3^mnG$CkoPZX{*xs4_c#GVpLKPu%0c3goqceI*#Ly#)?*KEVl!`rB`p2Q zhzU07YfkyzIDvC`kNV6*wSYybeg$koF) zkIBKUg^?w6U;LvvWresGt9C2XD*J^sa{82V?1h=)A;7~|imt*#Oa>bIYj~-iWsm`h zIWe!QV-i*z$=j=dF4zm}S6JyNP>>U6GYUBFdN~3oY5qu9QC{)BrqVK*(H|&*H&knM zQshw$Y21KAjS#D|hl}^cd@t@7wF`vXZ;41CQf&6Tx{|Y;A<`gKEYo$0I{7#FZ;Lhc zMBd3#*4L=&N$8)&+NF0pz%;>1)gTmZdZq5QMFj%=blRk&l=Y_*84|lf4{N^+`weY& zrf)*^UfZ%X9s`MGXIvq2Z0jSe+ufpGKg?~h5SSlk*XgYqe1HR2P+<)5X>WmH7ojtMe)U~Ae#idEohwum8C<<;Jpg(FMcpN`i zByCwM?c(H&w6(DUqVmR}@&;aIR&=y}T5Rh}vJ}*VuGEF)apc@;KvNVhq#J&+ceKvilsxbLkVb*+fQI-!`ii2L@f^O_aOZC+fnjrN_{3FZJ#3xboA2wN z8+_JzU;|KR0T-uZ`l&qTl^Ix}+%xkq3@G1fSquy z0T^B9<5eHBtAix1+nu94pt4)lz_sVT%Q?`3KhzUq1JhBr5b-D*OrFpMx#mFad2jS{ z;5Jgrt`j@2d{A~P&*s0q&L|J})DMw2JFYsPBW@!tfdAUGU+R>^j)?}atwUQ;;OKUN zWE%6=>+KlYQ6Ig}VLVJkeJ#8VJ)Q3JadZi0yh5gPc%5wWJb|5RN2Z-F z4pGe^|3bcrsMG@FOGjxZPAPmF=K+izd^u7_((Ibm)R!yrHN(y<6}^PkGJ?-X@|Uw- z_f_ZIe0;agnGnW#q;$4wMY+lPw3o=Q^>Ly&C0YRZY%jknn*=7m#&F~&L~(pN9J8Ix zoZL;m5}ql`N}uWSMfL&Lip{d1u5yP9cSN$T6SkJIJESu@A$Xw*a9vwi!~NVErBT|H z1Oj5QHM(!P%xm6)u=Jo6vv7KF;st(aDNhMO69>KU;S~Yp{ul56ASlf3F1KZk6KahA z=3>97d|S02P?lV3TYCioi$DvLoYBG<6Z%X?YNCsx~~`(qY4$ zU6~j(+#OqKLv^!#f*Bom@6T;bUbI67exnflT(U^`aA;s8;YdTIb;*QW#5sZlj~Tp+ zGLil6%&~3?Ey3>Kvk`)>@@|nnkd&*se88;>i+P9U3<`MYXL5|fsK-4?)OGV@#(fa` ziTa*>zu*sIFVGaoQ|&ofCUJewF_YjsiEUP`*8gas)sLCjAF3W!S(ty9j}mH29Bi$L z82lW*#);X!P|U|j0Ca^1Os!8*X)E>1Y=uw z0C{vyH3yZo*H3*w9Re3Rtdva0kRZ$_s5y=JZ=HMzr#(F{)P{lqR6g!O8x5kjhITo# zbrP*@yhRdQbZdL$@=>vN$`T*i{;t=YK90do99|idA)Xkwede0})=;Kh?J0#``)a1) z@3@hYnFij^;O~p$5|9F-^Moh>yBRRL;n|6~DCs6+x6?vZUs-ehUnhos7>F8PFb>M zPYsaKoJ%W{W<@Tg>@qQ^o`IeO`O5iPgVhBh4r;FITkQAB^OmqRi<`;*!VS0#zZyjf zsm2LCvSD2xx_5vnc_WnzFIFdZjui@Zm)LL=J^mMr^)OCDn5Ed8D!YO!&5Q0KXyd70 z0m1aA4<|{Kb7_5A(pf46+`zK2;>+`_+J3%*=EY7y(S%DPOdNK3A`+T{2mD^8b8FTV zIIjjZP^Kc1A!$}%T)tu@M>sZormyLxMCr(1j9|{!CF;0AyqmL|RU_}N))3wP(ie7S z?Q$2UX`>(v_hcIP#qekE*_Ff4#0yknLuKP(6-!g+HTYW|SApE7mbpWC={wkwQe`PV zA1bcuz7SJ+O3E#0Efuy`)}@Hq5!>hd)SM|N{O1Ni)#|;IHAL1{Km0~1LPJDy6?9n4 z;@H7eOQ+Py!!64Z5=UL}n3Kq?(|Xps3>5%DttzKNO5eQJ8CSz4r-=wEUsu1L_Z`kJ zy9RTW9!lM-hlK-PiIWO{3DN~S($n~GgcZ3vPNb>t-do)LOeheUN%QosV!S}d&x8Wk z{jU%I+L%g99xDOG2t9YBAypWw!q#Sg{u!sYiDtu_GV8=IDH||p1`mjfa=F=`{`{EzE0nMSRR&GQ#XuX$Ol%ezRFx4(L%%Be{Mc{4XbQ47*?ru{$rV?x|>YE74 zyMq(N^S#hFBe_Jk$LA;rNKSxh&jW#q1^c-Xyg`UDL1q0HeFKEU!L{G`hu?D>|EbP)@I)bbLshn$1Kb&z4 z^-af20q1avqE8=zo)5iujPy+q=+3s+z_c2P&r>9wI8dHKl|oL^LVA`U$286%_fBBb z>iT*1D0qME$iCwxH{elV*ZC-X?!--yj-)|}Q^1N{LK20Bl7>cHa$w_nDai9%dqum{ z%=vj=fKzo)fAZsnrj8fX&lA+u)dhleoVnAmd%vT{vy&Kqu>cRJmo+MBPTZXzYGQCe%9Uz%q{dyczg?(xpchp=MKZF(IWwS#7i=9|`_0dThPg8E z0!h&AZA7Y10H!rzInHTe`C2hO2GuRT!`z!)gO@XN+!c!kBQj#o$WGYYy#^KS_ixh| z65NF6y(92I++73qJ-y02WF}VKDmNDYWS8J0D^4BM(IB(wA8)>hLceM#_=R}&s#sOQ z{Vm!VMgAR}tNp+Dg7V69u)UTZK>qXXV|wmru2bmL*cn zFoP^0zV{*`eq-z%BlvrBKha9OelWavbBs_Ra%M?qXgv9pYD>lbiEW+I1~wqd1o&*@|?i{6ie@6-!>qFVc(1cR>`GQ(P^(Vwj(&Hi8lm#fK^9 zxW2U_S>VoIAWxiB?B!685$wB2zy(ub)1x>a#N&PVngrW80lox;2EPR3_Dp@Koga{6 z9eU5YE4^p3vLmnm(oV1Wx7X*;ve1Ju)})N_t}$4AMQEt8@sLQX`>wmFj{^VNh!PfA zik6QaI*#;xTB*EMyx8b&f>s|Lv4PXw()Bn*?kaCe-?4oZ`G{dMy)@7`KG zX+T^U-lze{CsWmK%8?`)G}c#W$+<(eC>DPqI^@+VzZ{t2TtX~M!>Q8 zq(;BkJHYU3;`QOxw^t;IA$DlL6xtj0JMkC7BYO$mHtg&iGR^&d^z!3K%UFEe2JZg49_{++3M3TL7; zk*tLCjLDm1w>5)iCH>1SKvh>Y0siL11Gk}QjDVa=)d!F5Oga?Oc>a@I*M!72&L>T+ zdJ;U7riL|EL;dEY=-oqU-Y2$5b<}cI*LZmL_ zzK8>NB;lbbJZE?$Q9}}{NhB(RkEu_!MN6a8!)IKoYlrObFygl0oBt{O%bUPC)DF36 z-!I$rJ{P?8xt1A}QAW^KbSNIin(%qWlL-D|uxP`du$u*ZCw?)e643)~&V+^;d|pDB zd?iPOo_vOzpdXMOfCmT{fN@x^CqbtSXvbtinTp4j)17Rvn^%^1>^qOFYuVqglP1zq za!-gK9L=|6i8shankB~2v-EsV|nVVt0Zy!LAVP<)WRSS}=?Fwe4- z3|7aW*K?_oWN%xup$_WdPh`3{h=m9|vkbi>&$qdaa`B{zy&P`!n}!l$Qo7gN*FHz0a~++1$`dHl+GIpRlS5w(&`*kX)K)#ixyy!5$q7 z9+Q3y;Vez~PLAb}E#y2k2V7@o&7~Y&c_|z} zL4KK2=B0}Ql@8nVu}9{A#_Oh5?>zkvumLzeN5%oepHeY?`8DAmDW%kK6-8|l4Gb3Du%Ybs^Bj3o>^tb zM5|2!K2b054IKNc-Iqt3Z#IK^t5VD#PEXMBPJ}48VL?8?>1Ws})pxqa(VBmqviKU# zN|8%8)jP14_^UI;2jmL&pU}VOaliXX_A;B0?xS5YevD+5NYDdL@crxGi9^=es==hr zW-cFeWpLKqOh4lVbN^22+vuLJKYxSQ(sR{6^JGP&03Fxv_XPrFNjz=eUU?{D_`3eYGUl zU4(k82M4S0W};P;py3HVMh16|QLg(Va$Uo`#-FmrJmakZ>QDb%HoTudn>-tLx#Zy) z#mWX;_<$NG{nYV{t!Dqd$yn(u?#%YUnaA23TTD4-n7wBeMUU6=a--IZ8fyG+F7(2s z2CubDyzFqzRf*c(s%q5uia68xq|hob1s65On2Y@_vz)~Xf^I;dPyA3OrtzS)T|4GiY2N4) z{_u*_yFAVHSd{Wk&f5w_ui+@JfHJsSMdJU_bQNAvwO@DWlI{=?q&t)n25IRIkwzNn zj-f%2k`Sa@I;5mKq`Mg!qL$& zZvH!Th|JEa((eP+VBuyqo)`{q#dgsa4*yRZ^8KDpp|1MVq0kpM2zSf+X{`V1G&~RD zsdAY|XQdkNh~=Bl`xMQauPyEwpm&fZ3<=%2jlhROVrD`CJvTYcZ_fUAhjmjdWq4e4L-qM_M>p93|3C3=XT23_wkJG6K)vek)sX>@Lu9@ zX=<++e>c;*O$5tt_<|=VBCJ86qjj_%o+o>QoTep@{Ftb0ZU$9Q})%;QK@+ny^%HqO?xk1nXc9N2pY}H8B{(fcCncHC5x6dZ z>v}P3XKsz(t(M27D|VQT9~y81Rc_|yslhkPqrEcS5G0fkEQ z`AY4$JntRwHqiDlKH9hbJPvglKLs%?b32!-vL?Lnx}V3^>zq^?W8TFj0ILd*4#fdi zINs-Z)2tkdwi!v|PGRmhKTWQR$s)-my*%EKAv%{*XE=mJF56!W&BE<+_W3OnGGPP0;Q2T(ER%VY2 z`tT%}K?n6r-EG7IlkNd=s6@Aem*bmeEbsL3VAqJo$e}~@OpYk&Zvu({V*BUdRY9YF z@h`ixM<}9tX3zUaBX*eARKx@k!@VGFk165=dYW{coH+$dSQQoIBl!N*w%%P+J0FXk zXgZSNR?TQpY=Zy!i?$Y^t^U1Jfc1e#`tf@g?R^Z+W^b06x*5B#JZC*=cV8lH#;bkdw@hZm#Y7I`xqJF@Sr z?V8>&-n+V0g&V_FBQ(3JN`&M4c&Fa#zkc7#(5R60y@f&I zgyEM~d5mHW2cxv3f6X5&k{)dRlS+4!>Bgb?TmcS#M=H;k1-LjGc|2a?h33l$OKbGv zG@ADT4zhob%AwTBMt(m3z)Lpv8yPWDZ!1U!*qN5i&-nEmys)IUMLjv22)@LLHQw5& z9a5|H0Y3ek$L7K_`|vf4$ki2qn%x;sq^7y9lE5dUnx}335!|aHmBfz~A=-TyKUVdg zV!X#N=SEqtg0-Gv+-Sx?@~p)Nk_+-w0mW0vM8N5~6X|SeH~E)E+jcgLV*{dvPBkN{ zN*V{%E81cNl@&^s(n_Rwb@=_y>+gp)?uwQX+gm_3qUg9!qEz6gmhhw3T4PT@VkhXQ zEZn4BdgIXJf?&-MEU20Fb1Krfq$4Zg_XIwq;>tsVP>qsI+(memDEu8n9;L1*>Lw$` z@Q~YzE$C~)uZhHqcKu7wb~98u9$V3|yor=e9_te><v6TAY0ao}Uby*f7hn0+zGrKc3_}3!{ha7m!6g4xKQatrKqa2}-vpWj zaDOK*CM{oHU(tpYrt<96kEIKQWG13>&FK=Y*HoZ|5xr>6T{l+|DV5$W#>ZkCTK>fK zkUH%oNjW%4T82pfGk%-B9E`PnSmiC|hv37H3MqS7n3*{WrO*PLx?0uJ@J$Wmw8m95 zh?GokoRD8ZR51YabcaGel4!%A$U?I4fS|p8p@oH_$MRX1u>v)fu2+&U*GrSS&V@olQ$!LbAjyAqrnv1YHJ9wXk04p4T zTFo<_r{Z)JSYDA%KBCtdP@gtE*EpBn{+>4U&#f?lk52c;d-T-e5Z~=0=jboG#2Eu( z93{@)`c`bL6tt6ZV9#mh^X%WJ81(ybQ9lDPHr#?~yZ`;J_~Rz;HpQH?#yce*lkn=L z97=pX_Q^8YH&V)QbB5J#>-qq;#MT-M7P~K9W()evOie9}SvxK=a#ul4*8%pG5?vuo zhrQoF`;lj$O4tu28d;_fbSismI_$4xO-Loi@y`0QOx^k1SQTcN$GEnRc=@eQuY2#S%Biy?cNUMpIa8vn^?6q zFM4>Y_>X-W4dOYAJ%Uokz!$GMix2z%4;=n@GMs?S!73a#ib4hC(rrsk8=`8J`QnB& zA#$L1Sd&FnQJsfX>{II+X-Y@3mx_Z8BAd|7ZC&akTL`>^5N)l~yKFW+Yn&?xtRKFJ z8C11_0PYENZ$gX_uQohuj(Nzplk9WH?NZWOHZ}BYv>xJWL_*bG@plX9ui_Y-VSuZg ziv@y)Md)u`3=YQ5JPT#*tQ|R~3=27LlnzJtU|9Op`WK(TVX8rPO;eZfiK(Mv4JfzE>C|Q87jX10*YA_MN7|li=%;K=hXUL`_S}XI8mtU)}KSK z$|b761SyGUOyvbdRgcN9E`kP27}#6mTx)%aeQ!88wCJA z?pl(5gG8Mhu@|8gc)CF=h_)Fny^%jL5paUW)w~aQ9rviBWtS7en4VnWQ}S|?D>nQ` zs}qLY(xnaNv;OBx`p-;c;*?sJ*|spAl%04qvlY0n-sTXw*fJUPr|TQD@eln_iXKwJ zU#pxKW0y=7-l#Vd7{5vHo2p9$pQuw&NW10Zw(e@M?*!cR5mE&q2Ws03)l``Yu`ez_ zq8q0}131>AyvMp#e?9UPHW6g_vn;pn+2*e26J@E)XbcIc+q#RQ9%<8d9^>`%doONv zyPwODs+T3Pxd_-YmIwCJ2PB+EWr7g+`A4zhm>7F@NEg8LeoKh!DFVl~vS10Sg=PG! zHG(M$y668U_-wdsnrmV?Ydn?+=4suod$vAh9U1eKq-b>9PTmt9C)Vf1X-4p>+I_e)c zTSYBDy5W5Ft0G>E23OWddFIho_~Aq!$IRGSiANu!7R~NcedSB%gmLfQTKMaiIe0Zp zQp$RrSMVmR#f#~W1!TSLuTeb5hu3}OGb;bcg%pp7^UV(pN$3SlTm%90xQVBeVs98e zjdR}Qs`M5TamC;o+ckYPPNPFz4d9FXaIeQP2g@7Op%btLo}=f;uqtjM{tVIR+rSL> z^_o$YO@!kKHhD3aQc8wukxRF2^6>}^G0ToW72i4D53Otwu0x7Aj&s=oNavn{Q?)+r z6@;g_!+4(^zYk5`?Zf|ly5tKcB92Atm|6!zpT(Lh!7;JE7KEI{#KHwUqxl( z^_IXbtK8ek*WPop-u%~3%ULWIfDCEhoX(e`fXQzl1xXOeOQxF1qF*6%L_WRR;|pK1 ziUS52HfE1#6E|dt35e5{jgrt&wD83ChvoKgKS?VB%!>c65x*||-Y0li2>$6BH?&R4 zzA7yi#x}@T{rW}pBlvA@HkZ|jfR;|kp{fZdIy4mg=#A1oG zdNwZ=`-C>Xd*Z^1sdX+-`edI}8E6wf)gGVlUf=Pldj*0|L13x5%;hVeb_E2nDQm$hQ3wlV22LsN^>|Y&Q7BR@KxH)PF;Eva7vx0Q$mfm zzPT^U-P2iVREpD8gr1?C#Jl${Hp$@YbY!XR{=|Oo{Xv=cip-`>{q)JO6}B^$oHbA3 z)&Aa*8F(*1#;t?z>mG^!_f7)O{eN*I;hQbw7sSxjr;T?w)A`KtchQ|6G^O4z%Z&SUV1_*+$)qv>`z&bVrVuM}w@q%)PAF|h&7+(>l!DA4K~RZHna#rOb3$cR)p z*QR@|#VKfZP0)`Dq?32z$QP?WoqO%r24UJ{rt1uZ?-lYm3$U$X9+74BXq+G07>@Zo za0Y8FEt$v!Gi}1;mum@zl;e%B#P{?mb4rzs?FACAu^)b2oPlN+Bi8j%A;) z%|@QVRpu>z?pOsffYf(Wtm0XHiHiD^h36#*>%;-ZGHd5X-SzTlYg*rwt!bb z_2YM~KZb0|k9n1FcZ-kKFP({t??Iy>_4laSmR~NP|8A;_SnM36O2pW?P+E9hWsTr? zd7m^deWN2Da0(2V!DR4QHw`Uq+SZc8eT!hu|1NU-$!pYj1g4QJf@J}BkxjxjCpbXU zW)yr3@Z=)8>wXSPcnXTY8Sjh0swCerd0|3~5dvh{Bqv+eO@tgX`6mCJ9TvF^V1O?NS!_C>o?9dy+!#qnH;iv)QwFnsVkstC2(S z6sJNAQ_DI$KTOMFqPn_g@RmAH`{&@)GC(=y%j4O};sjAET#W00Z!xgD(-VZ6Mn$GNtRg(}eOX{Lfbp=U+(YSxZPCmNH^Eh~ZqvUkDkfx94FdAY*cWuEjfy<-qJJ=Nghcq)AG z=WNkqr{eV+Lr~CR_)OnTTbLTX-*I^~lZUjQC9mL`_cOyM%gLx88jY5l4Lwc$jm4$J zfhj|Zw%4WPw?A)mceO5eMic&`=RZLW)W<`yj%dl zXRAflFM6{EdmL4s9nQ-qfeq`4Cz0GJ5Z-zNz}E(XCVl}RINHXV{(IK7DodRe=4y(~0Ux~mjZkzO^v=JL4cQo|_5p8fQw+#)DSvw>vb=x)k!T_^2*kz=@^;!lB%8Vl>`*Cc#+^59u z#O2*~xB(G4_qm!KJ|LDml9A468b_GwxFhjm{s9~u+pir6EK4{9$D0;zv7ME0I`U~n z;*hr;Rjd0d%X9sLP0BYV;F3689xuK5gBJ4hlTw4HVP93AKGEo{?6P3Epye06*v_?O z09rbex~D&%tcQj+!aX8IBt0@p8!_|$+eDvkxd#!bTb?6VmqsQ^ zXIPk{jG|-WY-C-}qG0op+U=#d3Hs&zdCiZH7{@Kfe5+R_p2E!s_%;#YPuY~EK2P|u zDqb3^eKE=?eccm7Lt{3d>u?$}zScuszF1}={!HfBy*7t~W5*Gmt35~2Uf>SLbpn)^ zGXfDlv6E%O0vI>a&sa(*-6sYW!7nBIx3AHYw_0LEU!;`ApeDIgY&F5$4Hjm-@#dGW z^2W?(CpiOyY+S$;DE`^3t2ZZ(Q`>PfUjUubGAy>NhObaXU!H)6zz#T}kM=vzVUW z=3d|72M}ng%Iw=QwXQ#AtvPg6@G9iyn??dZ^6O{L7)ZURS`zq2H)+Fj(=EhG+S+5^ z=eIr+)=PfN`dPN^|Fr-cTD(q77lNAQusm+b-G-wvEgk z+k=lC_4Bn3^vkf}N_S=USR=*_yiQvaD`!=$ohI7x0p|zap&C>a<#PG<(dO}OgC~mK zW`MB_oihw>5+fK&*dY}E#ZFDr!TQ@Wf3VJgy*$649aSu#X?A>lpkZt9BzP}Cdd&n(l2>zc7uo)qw!YNA6rzg6md)R|A9 zG8$lBpz^Wl{+mpO;$I3q2_FoQcNF;9RVlVV!Aq!|TU<{sJv-Nm7H}O|uY7SM73|XM zDUK`S&BB<71GLU1+*m^Qc94+Hi_0jTi0z--t9*VbDcB~H@=iAAYKZ~HEI-pe1BvKc zKl=1YO`$zkxMbJ`)R);@>-9Z!q$ooBRm(SU2hnQN*n{Hec}{oUNzVZ5LY51~pEE zCxAjWvr~9;{Tb9uhrpvZwja?Q5|bZ+t&o@>AlI)iMM9@PPYM_B8!49mJuNd1#^<%j zOQMnKo(SzK>qOY$^_#f9GbgxVJ5n3b%dMBw^A5LA=Q>>wKR(*Eu1ekIG_pcNcHf{E znFtNX_^H$1A`YfmhW$fqqFyhMbDi8V>E_2ZZoDu7A6_oZIZ(d$_LHtvyup<^eFMWx z^b&s_xZpJ@1|y=;SFOU_7-?Hx@eV8W4^^00)3vbbhPuVD7Sl8-;mZ?U)F0821l6{i z>UB5UPiS)SLqaF~OAuL{m^Np2$}7!}IWu`^yBB+6-%gec;6FPMofaEfR)lTm7E*n{ z*KG#vc3d90MSq0|%fv$sioGelnklRM1E&To5NGK!A$uC%YGJcMSFJmvuFN zcbfwm7?%$ujTsyag3}Y8+)y1k>9BxO&qX${z^HF>WFecZ=vuF~a-4YfANK-1mfKlJ zsEHCw|D=U{`B?R$)Tn)l6y?n3Bj~CO zW%qy^yu0~yt&4XDBK!59(Y{#>?twlM%9Q%q%%7_UiKT#>m*WsO=8~8XJ-?;fh?PS! z4;h`0Mgudn42EbS_HbMFH-6}~OJVsy%F%2?XfN(xtA4}X3-KivJ>hkvF$c^YM;vXE493`>h%<=`%tW0%>$+5qIM9HDeHvOJI3b>WDbh zL8UsQ4s6K0_|1+3eP|SrW4P1nd~E6OGp{@p$IW;rdBhuW5M*ssWfib)JXz8{`dvgW z&b2+?C;j-`MZd%$P-gm3|FVNuwE#Qg?OZU#9bMjo!uO7W_Bb#QVRehh7Eph~dp4 zEY-VaGw|t|_5mY}C}{Hg<0S`8*H!7on{#+|g~{PYjWWLi3847iD_03;a+QcU26cMP zx+n1K7U86}dD*U!1+9h(IHgF6<}@^`BU(fe`gzO|z`5SO&$ z)bSS8abhsIe~iu;x9FktvtDjrQDs7zY0_Ii&tF=rLbV$ZG;P$y$lSliF(Fp98V^Yn z73v-WJkDYodX%r(02#IDaXlB8E?0I^U8zGih(N1eqgEZ6@c0X>J3_9ICfx%hj_xy1 zL#M1{I4qpI;2#&S*jjde0&|in8{|Sxl3e#ga!D12VNDu_2v*sC->;2eXq;RLTo&ci+K)m@(cCa_gp-%q}F-(YolN~yv5xu__| zUj@F9q`|KZel4^^c8Xw24sJW*k^m-NuRB`tlc%Z%zz3v$Tq?G3bLs4mXChqSiPNIU z(!A{lw`c4Bo9?hW$AKAM1Uwscueo$yOr|$L5WkbW=C9%`A4wETO*)7Qn18@1HdrJY zW;0~R&&Q?T#&)M>Le&EJ=e>|)c;y4~p_bUjt7udsS?d4vZ*6>@059~9;6Co$J5MTg zVtqikh7>3y4}HSU{|^P!4Ck(@>3{@UanW2 ziP0zzY(|#}`z6;?$efurP!It&`}K$rJYE;zefRMIF=yPO6Q%{)r?tAN8Cm-#tjhgh zh~cS^7gn425$J!*U?=tG{Q|FVo`clT>fh)a%!O3T?o>>Bwk#_y_x1W_67@}6=Nb;|caPr2i zUsj_6@L1#5Q2$Z|wBIuo%)n^?s-iCj)*(i|=H$)aC{|~8Nh5VE^aM)9ie-e0B2oJ) zP)-`~F%TMTVYtv8`A8bk1gHm8l{9SWRlM`)_5`VgM*TG5+MNG^Q3dk~&e8MiJwQmx zPDzg;W87l`OI^)VLUaa>!CREQ+Iz>~MX*z>!r2aC#ZdT?2Yq*yvPkry=5!3I=D2WR z;)FklmR+Rq!BvWk0jtnn1Lc&a*(ES1GC zayWJBbIt8XhLSOumAI~4xoiAe%FnC9mB~ajc!1}!4nmLo*n{5UOv*~Y3|-LMdqgrD zxoHodpg&n+Vtp#B+n&Icv&~6yZf>{;ZZ5yezbatjLL@0U3eza)ea7e_+I;Bwcn6ua z^?^l?z!eAfq}; zSplhMm{G)U)+E>q&Ouw(q>+g=zOa$!P2aur^yymX@uyph+I4E2sowc^2Zfya&dm?K zzAX*9gdH^6EoY5)(Y*Tc(H+pgne&%Ms?r_w7YmY`zm$zH7A?sIA3f}}`@Z$gal#6t zK9++nARlG6s73R>qK)_-fHd+NUVa{Lb6>hr*54=X?XRhtcX_0L36Xt~XWqLB;Qj)^ zZhc?z6@v)L~5Vvf4SB52h3&Ezxn$J0zqw{6$% zqOdy!#rZa%$H4NTHm)Gp_5#E0w>WBFt1r3`|2R&yyt1Z}tnjO*iFb4$F#Y#%)?!W3 zv`C8XRkb`EKZNZH?)%HK_P~7oA4w2I!X=zf=ID6&pT~t!&Ql+p!s7kNY2|e0($Flp zarOp<`b?`Y{=Y7YIZdhctjx$I6xR)~jP86f7w=59OyX6{mT zu4ChG#qh2cC+{qhVbuo$o+?F;SVa|nizolh=&8*4bU~sB;`Z;mSh+kZkOZ3OrxESW zu)Qz$kmy#yL2#?5-&PL&3oajmo&=hN7$8J4%(y2{dk%WN=XL_bug-5zxu;WXEs@HJ>~eQ2HBmCdps zzFnn&Q-*l-Z&3huyq>|FTX&)WLkqhDD;Foxk8S?h{l`JVUD2oljb)|I#iiuqf(y<4 zoJ6i6T%t~sRm82YKDc+deW#g&rT{(w!7q88MH1p>+lX$racn4yWHfskKfZV&J_eVH z2(pq?g*7TUlQru-I66GWd%pUoyLgRKafxGAGW#|T`Oo-%SQlqJ?PFMM#&-9F5Lty@ zlKI{tLRK*L@Rw)gC7L6`cDyhI8*t(?WX*!m#c`E_4tfJte1#c|N{9H0?^b;Idnl-^UQy1kW=x%FA_-j0 z(_2P~HDccMeX;1uuMyG-8z#f+2{1=Ny7^f$MT@jd7`>{H^4?M${bBKOT$vK~5c~UBQJVRfS*=VP(Hm?_w-?0X}UnJ^^U&w3u6?daL}o+R=8J;h=uW7QLy&aVBe|L z68I;R0zqK>ok$Zpf^~6an_Gi&Q+;IZcp{J1yp?66JA~KP*KnTC1tdo&k~b$g%vE@D z@}+IH;euEl0;Sn5?Ti!@I=9i)wu)w4c@=BBFop9>TffErf*{4S9nbBOAr?-_u4KN2 zPn5p^Igr&%lsO1-TTryz1vS4-@@jt4ztO=8I|D zog$Q`M_2`DQ#guqQgCm!gdf^CbyaUXtNq2=dKP0$njr5DW`C1nw{Am05}1s^$WfXp z!6GVcP0IVQN@U}#ohaW+`mOXc91-r~tAzI}fHx}tG7E9|{Sjm~!1DXs;J`pT&60p6 zu5X^J`d#!xlhH>q@5WZyD7-;#8lkFiI~f{`!?7yuP6~S z=&5-ON<^CRJb(N~gx9h9o}ue2$&C{)lp{2pK0+${TL=9HHI2e*=bY?qnqTU@57r@X zntsls1HaiaP4sGxSxE<`DJABf(4{!ez-bcWVesMdP_v$uN?nrz3(G(eA6+kKCje(| zx}rO-CC&w_W#lQ(65xw$3pcZ5Jt)A0hcA%;mIYh{dO%uHwa}VSG;v+9o9lIF77~`M z{YBiW7JM(O*B!ra8TKLU^00K#Mt$WnMF6zl4@`P>yzTglZ?o(RlC#n(p>8KN%F~CG z>$O<0j5IJou28mmy;tQhd5#@$WhravlmU*3W-cOMbeD*8eU;uUfvIqw4@fV?xEkN7 zt}|Y`ea1QH|A%hb$NaXVCAIXTu%f;HJ-6Z&HuTFEo}JZ~W||XMih=Pwg;@|m|KB1r z>)VA~&h_CH=PnBN3z3Wt;`+}sJXu7u$F6qc0Qt$|3JBut2E`)nnhAcQI{{ zPdn|INR;0kew)j}nbF2mD&XRHLz9(XI>+EVt$m|{s1aT6ti1}u?Xapcuv(q$ zJEaUlLA-702L_;FTl$FkwF@v7WM=4C-*)7cnt~czX5=4)f7I919{|&zRe>#%`rg%k z4soZN`LtUYE@b7!u(}u%t8qCDAyx2`!4QIBD-X1E?La)q9pJ-$x34!WD9Ly(K!S*; z2#_$$y5naDntV^!Ra5r% zx$|aX=8r(|O*e64jQJ@y6&f4<+LfG7L7a+xR%AsRr6r3|1Tkl3<;{`AWJR~hp9SH5 zML-_|MkUA^aGSa_fslBwp{yJhsb+U#Rd1y5f=&&#EP&}m1(`K9M5Y=c9wI$or@li_ zV>~IGe~W#AnUaG90pR0X9|kBUO^^fPb$A7GtE|S#2?Jg2;u8kS#8Vae>hsod5LFtW z69F~cof+sD@KaaP+3Ju?Wh+z3Yt~c&Z;W{a!d8Fl{8!V$SPK#rL^g_q$tCnwSvnlnw5+F{B8z%?TJOGmi>?AQ)kES+|dZb z?D!#1sDa#Z^F3B3eAwl&xON8LGi9>B0e6-`qNo9>Ns?xB-10BNBf9jezHSO|CiyXI zPHOrgPXd;b20ZV%P2>S+yw@N8QRmEDp)Z8J(Un7W6hwKj zu=zHQqG$%U#%{C0CY&ht&a5Y35}JP5ExrXaXrG`ZK{I`xT&EtQa%(=zs&V__Bl<~? zV)n{e=aPk7G~hW|Rd9HZ1n%7ncBql7L})~hBd|f=_(!r)%kXPGl*yiuv!92-bailZ z+gKxssJ(M+N~ke!K@EiGUCrv9nSOkUXFp%ptqiq=Le^R99EXfSpPBF7e zES<@7lX~N%RHkOso=VEks0)&C)JaKDRNpio3nTS4Ge{@CX-U4%?9DqjtLq7|uvIoi zNYaD7CI&|kapvhQH-7pkx2e(X>f-ODKYM;WM|?pJY3jQ3=a)2`=C9VGSDJi?a)hL{ z{mQKLKDSWHSQf9ip^H0YpvF>*NSocUIWr%FAMiyFPI!=v6MV~(?AdiyXym6FUhFSx zlIAnq>ex2a!3L(~2%sTLT0k9%H8xbIdsnd{_yi)Gu`9*RhrF|wsdNfDk*rgEK^5PE zh<01qgSV=j(|q1(>LorJN^c#k1hhDF-!aoAGw zw2{GW_D-NH(=9Q(brMGO-Kz(SwMkv&)cxAF828N7j+qdlt5c#fjLx_ZH}xeI-cvq- z&WxRWO9I=na!(+W@xM3fx@kGDbapLCVXdEk6S=0Mt90^iGt9{yAfC(_-P4h)JysyA zvdiJ+HwEiMea%q9+Gerg%hN^dAd=X665(`&(L#*{)>I(t-4-mH5T07aiYpB&BY!W| zb?j()nrW*;eXJC>CtMa{DJKYnP36G4>@v;L$W(rE<1W9m-W--b(1xuAILt6^p| z8O%zFqLPY_iFqCh9{?-_qqDk^>!CsPV)L_oyeV5)T%F)j%U#2b!t_J*-UobsM7tG* z)*bf&LSByWP}|l%6F~^6g6+B;{|%i|o{kzUpz}1s6s8LrzGD*1`y4W=coJYWfnRaI zL@31Y>dv33Skiz)990r=i=obk>gp~7pt3DLy+QI%ahrEeWo@PyKA4JaNz>;GBmmvz zSkwq*l_QbG?IY9eebk){YIecbdt+Utrb6-VnMiF;nuz z+JAH~w8M%an(Qb~ijF_P$y027XSOywE>BcO$uB0pMd`fb-@2Jg-|BeHek`k**sHCL zBEEBhVb<<4XGs0vU9@>KBQTDzO<^FGNnA#6c6566aX6@!ytlb+Gw50$}Cdbc~AuT1(jX;H6+`Jp)nkY%X>+r8UfFTU~I3aVFyJFOqeLI z@s>(nQdZ6iOOEP(@%|UvD-w~D?@cR@5;#k{i`9+u#q~9JIWfWV#|o^DA0$riU9Pc% z=Wl;LF^5rrJR<4zyo~U~!HT^g*a0Zw$7>IU_D`y*8a`S`m6wV+oDjz|2zk7NXKwun zvT8N0t&g;pZ8SOjueQPKJ-F*>ESsnSmZi8Bmxq#inBt+kzBolrnFqCO0h2BZiG+Q^Akkb_XiHye$4avij0_E&E#V4W?0b;0cFF}K9*$_zqcx^J<<6!x}r?Ii`I9z3HNU*)4~ycwcA>5-wHc9V?GEzX?SB=`n_!jEwDdnuzFd(kCU%H1KT zaO{XbRp=z}IM4g!vta1Of;9vtNfzS6i|*Ae8-2jbJ9fQw4jh5*&%?Ol)b-NPcDPOT zS$Yo8Lb_;_z_ao_aZ&-J1(!g2Z+NEY>^%WLhsU) z7$4knB|m&*sM#-Icm5q>3Lmbx{>CDCHTr3V750Mlj=a0j@3t%7!nwCzLH&Irw=M4y zQjM;6Cmjo;Am8<}F&Z^4dTgpJJ&9I@=ddP2e~crRu&T$Ah4F$3p67$A%X)zz9qIgq zegll6uhT>~*ro}V`bf%k-_^aTm{l@pLp}X8U!l_uuk>7>IkfXBf%r$F@jh{cO(pc~3WC_4ABSnrNQ^yoI^%vB%_{$fEX8=g5Et%DbQO zg|=w92VW_H9kp0SjIAUE-Nst@iU;tVT!qo%R<@&Q!6l~YlM_JLrIg;&+LBEFvk%i2 zrXyAq&|QFgV*N)SfbFk`>St2ecu`RD$aeM%esqgxWFefoi*Gl)0cs=88J^_tnPBm5 z#VtT?{WR6s2t^Ko!x%Tuy5M1rqgIBoM8W_KB6tuEDv5t9+uXA$=qkm&igd+bPZHuU zr$-2?<(vYx%?;A}I z<75;NVlFgcyRz$ZWfz3pT$IFlt}Lp2T)r;UQk2QGHp`-;6vgPB!zYxO~w%+dWa z_Yd%;n?ypx1CR0)aoJZ>&u~?jC<-^Lg~y7n>kiGShHL~DpB-tOi7Il#Md4w&59bmC z^txhs2Gy%~5lV-F_`~a)kFq9>gdbO_&<+sw>5tu2!+zM+i$(8;)KnWUm-wxnUJ28; zeOTayn;-pAK4%6u*{JX9)2g+p0&iv_e${C)f2)Lin{GS|{xMs`80UI@aNf&7v~kaY zb1E5FN;17b{~9%NFLD}`RO2N=j#)f}JzP%Gi?9aLTwcmyE1v#CVq!YL!+$#Vm47Na zp5O0LDKAm1wHVe#h{dsM{9u&qxTA5b)xO&|HCrl{8a&kl+IsJx7q<5(8gE>@&|CGk zP_@Jj3arMHIJ+oTAn*XS1Kl=8VBK_Zo5`?mNfH9XFB;;G!f@7*G*5!|0@|%o9|j)c z-Wx|&i{G9(#<}u|h_5{@|BqWqg^3(aupLS-I|DO~3nnLKVlopkhPmrpJWKXcWsCb3 zEk__151A)J2sa#XI^Rd-IpP2yQ6v6Zxy*xcmNj!W)Za1`mKS!ofcImpuK2Y~x2ulK zmRrxOC%GdDQptV);)*pn86XL4Z|jhk;1yV7CC_sR+RUCD1~I^e?vjV#V2N5XO%t~; z#!!UW8>!e=itRbWZZQ8}3jlbKQlg6s{w{l2ly*;L!g`#cR7BeiPkDu;)a69csHww^ zl|WeI2r`*K^_^!h-*#=N1^JOU!OHmK*%g$V#N3FXY&ZBdYzaK*XWC#szAZu`TnKpK z{j=Wk&6JZ@FyY!o_v6*2)hcwBKMFLG0E-Z}F@`Gdq z_|~&pr+`HT=6tw4=4GLq_cP%?_W6%Bihi;zxs6r%~qt2}`77@!ii=#ZBd zAi>q=i^5v&9lfs@FXYn?D#jiKd9u9Hf32)ZFB2;{9J@w-=k-!mnH=x6+XfYKuQwD$c*6I3CN+$md$dp|~t*47#BOpG5D z4iJvSvpvTA6#9EKg}a#u<_koUn8}HggV&dYH$^>PexDh>KMfjn%c~I9|5WT?5X2i{ z?+#QkXW^YnE+j?1=3IP7$>y$fnxt6;=hJi0Va~ss14YE$Qz!e2C@b@uD=g*$Fk=CD z{b<599ZSCIoU{OBL63=6<3ZchauKqYeLC@~co)aBH=0?cV1N*}AS~zeDZl%DDd403 zKMJU`{b!$ZNAO$I@V6e_krZwSv;)uszx9Xn2yiGEra=+Xivtoa$-Hy+-M@Pf@zWBT zXliLDfnDNebB14)`c*0XP$mocn)y^&ZuEEiAMZku)UUrD+y5Nbeh~UzLJHB7{|-SCB2o#HxlKk@CFgoRTG@@g~^z(jPYZ!k4uR^V+Uds=5nTE#{xd~ zD6=jgtUlN!_?M2EzECj7!2PyxH#lp_t*%cCNcWgB%ZyqGxWzV~JgzPA2Sd8{?C|pa zVTU85_HUC}lta!}oY_$dBw-;M(pLB-E0NP|+qFOMvisfj!w-X*ZhzNc#+|E}2D@6S zgiRjq3vk{|7KY|#TGfp_M3cFwGf-bvokR3-ldL5o%ke6Ty*6~|@i>25nfAKOf3;`6 zLA>c@K16m=u67R^Y&O>SdEPrBAA3PEeN7wtOwBkA*of9`O$3ti>iU}SBsu;U<=WX{ zFy=XX_d^ONG4j1t*TX~jo3Nli`6djDD-=64(wcKstSMM}QndJXXzS3CEP=wX(@0jp z!e=tO-R;8U9tT!pXm*v0e2bYdP>$+Je@3;8s@vH9-9-VHi?Bk+x(38TJ6D!ii1MT> z6s5q0H0lGI5jtp~?53@XFB;MfaaGp8L14`H;ndV4`*W-g7H-&@NjBrQ%NAL)__SO1 ze@jxaNkAhu3HzsP1hq)fX2l$D4-4b$lBey1@;9##{r3ZnWBJ6|TK*8i%4k$FS_8BgKY0l9Rp=)b3J+JA)n1U5C zy+d%_Xb7LCm)0$!YgRN_q65)CS;M<&+UYj01KUp22!AaolxkYPXrjzOXcT^uIa@{? z7~Xcj43qGkPy9K#b4j^pdpp{wD*XU{RMG3s{Hz<0>W{SzJlZoY5X-%V45ISa>%{yH z7FF%WDx+P-W#eV=CqPgBD`*>-k8WF6oSSusJG`@l|53nktn;!ZWv?cedhE1e6Q<$uj~C2zVq92UGqHmIp;q6eeQEw!czWd5nlcw zpnZGePMFGQNw$c5p(46`>3I>+zam7gPm-g<0kg3fF66#D16d`h}g0qVtz>vqs%c z4d{PryZe3+33EYLSYt}o{3UjVW-R(+j?#@HQgDUY?U&~2umcY+%1WPI0OrR5A+Cd$ z(il!cWsltA5|iGY^VjU|(<^I%JDX!00((F|$F&Dr`KBZ-MKOidh++g7PPGcdshO+4 z4hl`HN+IB8dRT|;`wi4ZRk(w)$fwq4uy{^ezb z%0rR&i)yA$-#s39+v+Tn6Qk}6$8}~Q|0GuMe=#aeN!DAuS7*>@NZOg2Ca(>cI%O9C ziXik$gZZhNnZ-R4T3Q-cwo# zrV_7(k}AH)Bt3DVZ@Ha%f4YweO2~TtaOj1*YIO@|e~UeqYZ-}wYAaUq$$wVpBpTn) z68*KsddPiW<0w!(In;Skf&cJz0o@)~WIBxwUYZ4?DjJ zgnr8NlO!i$d(rW`l*0SV5HK|8#%wPSKHUwNlf0!~w!0BtCwX-*G@X6&-u2$kBV0s% zgzz5u4W1D7s+)*qlC%BgVyPOV#s6oS{BCf0id$=XZR4%86C=4G5%k9XHwuD`+3%I^ zt80&C>{=ANM+J~SLnX2A{Z|X{nT|pB0B8=+@fqR_N?32yZ7BMMA_mBrbIQL>#mLeaRpO-~ZZz1KZ9mP8)h zWNoA^4}p+-G@f3Je|dviHbgx|1`?``jxKD^L(+C2qr-{GBv#9BBFIv~uQRS0$CYh# zl}`b0Toq`dcLBK6k>G8lo)0v@bmBIC=WDokwP{|GzvZO%(&&#Cp!Bgdzex1MBc#yS zH~J3a7bfiSVd5Yi5lJE#MG_86s)-qm4*vxatTk;eAg&=7{CDlgTC?<-YaFxfd>w`? z24=Pd7|7$CwXE)LD_`P98yLrnd1iBFMIX+-oJ(4;>LhNR3Cg^9lkWrn&n=pASCV=? zCey5|Pr zRd7Qwwe6q1k<2RnDME5HrlFZUXB1E+|7 zsPl-E0px*ll{^d$r;H;`)<+wEABpwpUrRQW+xw$cUhujfnJmdTP#M2 zC(VgOKATCt)Q*&|Bn;KiMIgC+*wnEcMK!yRESk?3p4cq8!j}%--SdML9|So9V;@mmb%465B8+FkBG#N zJlA9QA*t`@&MGazM#qANi3-n*lb)}iDalc;0h%DkAmJS4zM&Z^6Fo`NB%GXGBx@uLKA;W=p(;1hJ;v1J3tYJmoDH&?ZY`)$REJ*KVW z-}Z`HPk=j&;{yRwP4(s_lBbTjMtJVvGA*ec8AUtM(~rJ?zscFnK&q^ADs%TGpArXZ z=^m1hyw~-GL(rB=&yKuYadqg)kF@pubGM_}qX?BN?+ASAzf=Ze^1#2ghMwV^FDQ0X zT!ftrMueu*C}iJ}XUZFParOFzCW9}qL~$8=pCoAv`^@@G#PEEtskpoj^T(aUaI&32 zf)|PUN3uoA?Vnokzt;G#EAAs|2quz?q`0VMYZc-BH6HxQ8%^Q%5!ID4;3#hCC67KR zX&V3NY|SV$KS~<=tsQS<%MJ#kDj>|dJX3O}bV~Y?*U@UPWM*Al8J;6%)4Du%_IKol zX5svqUhitAq7tWRE|-_433z;-nh%pvg`vR|eWso()Cgc`0DnsW z#kY_zGvrxH4FeIxlWG5v7ep!BNGY6)ZT90%p)O^XWF6<2sqY+d%PEQP&M}aeU4EX| zWjGo65{=&{;0#Vll>H*hrE!8$&e~401307Ta|2>yYc23Ac)z#SPCKE6%o5$Q&k%aMaEvyHvjkOcSA0AvLrU_f_=MU!?=rV& zabBx1Gl*iukFF>2L#Wwa;6SOUpll5RFOw-=^a!CxerSP8r!(+;QdxpyK$M4B7_afM z%&cT%sIR;(zM!6mwo#vdN2RA zei&dTQ=DEE$Dwgy&{eFwEX@o!`n|jj{kR`Z(?_(-@wdY2mU_F6+DfJ=hsUMc=4F25 z$g(Gc*R*{XR+lh92ba@pU&#FF!5L&MqE`~QI4pd0r7%~2JKG=}bL%|*B(H3a$78YjC^?lQIS=+MMY`W|p6$?^_lG1&F z6@n-$1TAYl6^1ZNQPY^vaUv{HyGGG7muLz(LL+h{h^$J@R)k9BwMoa#9?ZL*viao4 zdVk1HM(o3SRl8%BEU04v%e`XdQ&~K(iz}GRqoU1rLgtv;KVy9Y-Y3uI%fmS9L|H^u z>82DKXRhg_F#xJ(=#$q-hRk+f+`ff+>tB6`ZT+T1`so~6{-KDU7JG4TX3Fsh9DhY% z6PQ;XwIUZ=G4(j~)u&g9QCU{*)eU3M@A2^A-^6@bsBjimJXpyHf_zUB0u*u5t(X7= zGy@J{w&p1q?Hsl@lfY0*n8gZWkUj%*5jNi*KH1KBR_duXxCewSBA*|GtF`-x zU#;gRNwCiDwwthO?0$9eAX4A>iw8>XT#j^v4IXj%uSVYQqhQe|3U3mD7@C3U-Y|c@ zZdc2^ZFu6P(wwuD#XdrcW8Ii5T! zkT#$RCXx?2f%KW}FcfJ7zq|rv9NHEJz~3H@-#3J2R8Z7f217oT8J(Wc11~lu2iF9U zR{WL8b{8MaXCR2J#<93&yqJCQjTh0_GJnrPmHQa=>i6DgAcSO1YEbeWIz3le>h#s; zw5@FJkY*SP8|UtrQ&u}G^8ZNW8??q;DwRcM>43u8Ylp|4B?A+y9^RpPSFWi+H+@#b zk%c$J+$!iDsd6}d(`pvf%MI>zL+Ez8AVgUyluN7i>WC=!|Q7^KTZ3vtOThrJPeIJN9u=NAseW zq~LzKKmaVtN6BF|Nu-=*q816q6{MmjBBZHjaN+8nJZ~7Ujn`o?cMp;p%66$$<(yW3 zU?q;?v2WB5CY44qs}Cm=le8Bna^!?ps2&OEWuhrC(TZ6_U4R&Bf(ez(#6W3c^7=L7 zV>%0hm}B>N+Dti+)NR(ed#63H|1eAzPhjB2JgID*zT#*WU*hWn;rzD}#VIKp%1nWb zdG@tlG?+?L5OA9ZK$b*VJUOY#^Qi{kupj%ENk>U~VtCmGRlZhh7iRuzb|Y82j|a@1 zN&ECF@&C3&r*IUZ4t*#20GHhsKYJckYw1c4niCQYa7D(TbSuKwH%nAM#$ zUL(v=3;u`>veTb@qUNx4-1~0bbo)z9-Aj0;0??^VQJ6fFm7DA(4eqi0?w!^S}o&DR@hJ=$!tnycjALJYM zKFffP_^JU2?|ZpKc}7hqZrG^8?^#VgBB%XSVE$*n#b4dgsmSeFn=GKOt}2_*lk4TD zXjj?|00$!(B}5`LwuShGr0=~02yY@yjTC$`QeWL7%~=F34&<1* z=lCfkqLIwo5DAE4C2&hVi{j5r7 zAVdEbkuo+QEwOalEfn|*0f?A z9e8GJ)ptlk1W;M{v&KiYY7rJBiNa=qJ*moDm>K zT#?%2-5bA85KS_Pmp7d8X3#ErAa`(Dafj2ixukNXE`t1oX*<1pcSLp%@lvZabi^G^ zNbxw|L3U2#rQPKZ+T+}(e)lz3g+k=uWrL@Z5JOI|pt(?SYvvB)Ipz+6=m3Z`2cJv{ zP=%2bN6s`kC5MGY-%%qOSLHriLj(^Cm1*&i3cvwA$Jyxo+UZ0^lx6z#B7eI;VB3@a zOuz>!$tfh}#TYG7SQtTJVf9{lElsB)sK%>YD`WEo+vY0-yGtJhCMwMj!oFAp@9Z(x z2V0$-Z}$n5tZ>A0SYX+dFSI{WFvTq(wUf*sy3`bjx|`*igvLb(fdT{St)?Rm;~@`F5IcK%T*< zHbGxHzf&_uC6*+2_w3{3`O90+AKI?I4G1G;9?uNu{(vw1#J-ze%3l=TwiAXsi2_L> zUaA^UU#B1hLLII#fAK4%9xNX`$x`H!b5-(L>+1;h+$^b7<;5yhf}T)y_Mhf-`(LLa z*)GohLqm)Ecp0NfO`2%+w9K$Ulhsl>3LC};zcz(Xr%<6p?p}0C>>vHUYecW(Mi^{X z30EO5yu_*%`dryTOlx>HULPX5R~P_I1UdNd&)#~d4c`Ev-h?Xcis?Xs&I0V9U~xb_ zJ0(Gqnp+4|_F|8CyT22bOD7Ce55yY`yqm`NbIpSr*xr0_EOx;4)D zJM^}F`iIeq_d7t1gyUdr{Jz)SBbHC?NwK&20dkiT*#|+is6zPsv#;gYmBWe;N3>;t zPjF);G}>cy!VWQ6YVl*;;Rb{-{xb4XyZV+mey8~=*KG~4YusAuua50>ie^3m7OK`9 z=$ew_mydwg!wqwqv=oFXd?(CysgoTX1w|Q~nIG7U2R%QBhr(zMee;dq}Ur5QYd%uYTM% zw5pqOm&%Xth_&ZiYLn1f>j}Z$R`c`s`k~PCr^i1YD zY)c3m<~H3QE_&K%yKK=`%6#Dx!t0Ym$#<(0zK{qN(m(CKfWhxfx{WQFde-;RvQmZI zv=pNlX_F?$NS#81;(MR1B(yE<9Vm6v=yqy|1>#kX>+5pbxUkRT^0SdhY^+%Q}z9?{4rHKJ|{xLH;P z$F-?%V~56MF3vXpIcv6xsB9ouH%BC#T*8Ja5V6p)ejw6=feisXlH9Z?mY9PoqWYAs z!N0^N&f?%5KCtM}CS`wLc-w`_E5wt~dh}&bhBy33nScr1w36r_F;?m%@xs~{kY|9i zZJ_TMXpx6P+5QO7tEu@2oT260h78TLFnsy$5A8FLdTqs4rKez@XE(XT_St?OD2JA= zPd<-S_<9Q-pkhA>L}$9t>VL42pWT@i$OT`5`&(MK`7~2$Bn=j>1%E04pqO1Iy6i>t&#_23wbWSOl)TEY^8b z%`V?nE=&KR7!jn00`86mM^a&sR#1;o!3i=rfNEh8{7TN zp<41C6p83axvb3v7L}kDC<)E)-h3APGr8>P27PMQeI~^R%CA35S!{6e9;gQU+qJ(2JL;b;?JKV$$s=$p)XgTh)@!B9D<82EnejjLWW zdJN(t>hhxaR#L_cI6?LF39{(q@X7jQi2a0*4nBOzyC|%eJRn#Cg;4VVA(|kKwU#8H zn6;yEZ8faEvJGxy3@FvS$y>uO&P^TkELQFh^{fXH?ItiJ;kSdY7nE2@R(_P->_Y<{ zsm&;>Ed>HyaD9oR}VU3~-l?0W5MTyO`;_`j* z?V-cu>4qA@Q=^7ZI2`i}$`~&=$^;O7AD#D=gQ8+|K#1k}yXxr^?KNx37YkYjzgREY zyzod5wY!o=O1`~`frH;-MJd9AasUWjz_njoMFClX`dNxe6tZNIr0-IC78SUejvll zwW;UYdm!<=)`Ymi--xy(4l3+i{5|sJAg>}d!T~By@lRqkOoJfQXxu$5(6dbw>L;1= zM)|ikZ<`BBpmAN4q;c20OeG`mhc4mjn5GMG^kLR|r#aOpk3yF)~0+!gd)%) zN^A1>{tF<*yQ2FS6fg=#VHQ|U0MCd2Li}HK{tpN^2qkKS7&S55{0BV%1X_)}|AM0F z1g0oVu$X<6^ndUb{0II2g7QD~DNOgj-Txo+|4;V+f2xn9&a7RAORUf400BRJ9V2*^ ImJ|B_01q~`k^lez literal 0 HcmV?d00001 diff --git a/assets/icons/png/health.png b/assets/icons/png/health.png new file mode 100644 index 0000000000000000000000000000000000000000..e6fd42a589e19dc74d8a3465cb3ba08a930904e4 GIT binary patch literal 45450 zcmd42_amF{_dlK`_N+~9Ek#vpwN_BOY8ItNY37~ix806?^_ zAOHiD_Hh_7K?DHA046teZ6jQ^3+bm73^GsZQfKZw>P}{=-j*ogcW88jb@OmEij}-% z%wmx-=H=#QMLOj0eCR@zXEU?>`g&=V^HW&Hr~%6G!(U?h=3( z|7J>JinjEB%X10fEA+n?j$md7@Ew3W&Y;fV|B>wuU_$l(6~7+(4&Z=EbxFPVe>!;w zs1EpF1^KedyRq5=>ydn&yr2F@YreD*%entn;s37{Wb`~Hh)8zbxK}tlH#9ugLcx;4 z&XbSxCTA#Tt%qm73J<0l(bRkIKhs15wm}20Z>5I6CJ&N7UJtUMqWiWxBDbg{Au73j z`1EWNJFi1c9Tx4r{`Ogj6HU24b}CqT|Dk7l7IQ*cpAobEs0ue3RxB*k1gKEaA0E8< z6l}DqbnYVaX_P#SrpYTt|83pKZO#9Rsbh=KVe;QKhA(|VoZ%l-oCB$`QLO1X?ymoHzN z4$?de|H8R8l=VW?vix9!MA{~O>N7#v_?4^+w#ikTOwW8`B)8ul*^Isz-hGSZwa(cI z-y)+e;>!fh*1k-%d%Zi6_Of_Y=<#|fI`>FJK?(B)$6hr2zRnT+Rj|#RnZQD!7bM@3 z7Odll@ehL|F6Gyr-upzeotK{P+bo!g?1i43_Z|;j!F`q#e*bw97kq$*Z~jPH3pvAs@`S^FJ&;}jb;Ay_|& z8JAsF4c$i{Vf=9SuEuHfvL%VLcY5R_izl}?> zu@fL_uB_)%#rn@z@79>g9yGSM22m_%e^IMK1Q}AF-G+a7miHx>QqeU$dWkUM9HD62t{FK)TOkON1T52T+Q=LL4FV0cXKHX8IC*ypw zsNx?KDwx<>;@~y(lK}|tZ55HMj(c22VPH}#mDjuvg`Yh9`pesGCS&;Q08PcS%l&oc zILswd42=0R%BZqvU;Ji1zxqtpuAo<-uN(a(#*xEf+mAP?%ID^sN3jndkoSxxb}tj= zuy*&pQO6?9^WooG*CGsXI;NA6M+#Fkqk4S)MN`D3>j>6D_C3?5c`RxYquAoxQ0lCt zklW~E7X$D}_y$Rp)sPfa8kgL7aP3BV#X(Kzaog4BlQ)~?EWsV0k00L%FFOdNBh|Sr zkzqGPZ;~^p&K_^b_>cJq_(n=Kc-eRpOm>Y_%jDP+{#|~ zDw;qtdi;@*Rat2KH2B8)9&T;GkOhyX3p|g{rQ@ZU-Jf%igX!eJw&IadF9L1#)`Yx$ zq3Hv3%&P#A^g3&-M)5Gsmt4`HBJ*0dvTUrjL%N8co3@irI#2bj=dQC~aM;@dLDC^2 z!TiJ+ZQt9a#qT6tiXMn#E>f|3ZSV^q2ZnopH(Ean)-pV)2k=nt&Mb>PHiAso3;n2OcAFz_M+!~IyFa$-T)VMi z!|D+_Y*=30_>&YxNsAD^W+vq0yu(k8Uk5E_^Vt>~ut;pc!dOnWkKyN+P|2dqda<@i zBbL`URUU~I+TU(8{H;ATKSdyJzjPYA^LAGWFF@L|-+2E%d$&wQ4_Pe#O}(vd5AugB zpzS+hOhZi^R@v@iUQlUB^n1U>Z~cvAqszF?Sii!)WfgskkW?gfNR!}f%py>fKjERN zg2}*b_3VCC678s}yu0jm@d;AdehtNm{vihn-G}!4v%>wnov+Z|i%@N)p<+4L8kCK@ ztMi3=o43`XvU}a9X+oz?BU#~zdrEde5Z>cfhvw-|(j6c?e*hQ?|CZG+*k1!JGALqu zlkNKE;f;tEYAEl*#0f!ZcG`;G%;sp3Kc#r}l>eyHVkQw&=P6NA3te@7F61$#x?_{s zF|ccV!@Ln*v>9ZPFcS6T?avq$>rwW^y?d)=%KWkaKqb3^@*l-yEsGehw_c5zs3r#OFMDmI#eRqDUPJKf4QS1YO~i?2-o1 zEAQs>UUp&z>qbO=%AdPbs4_r_uzoZ{CcQI{9@RtdO`=Xr1d}5?dla<>)FalfG6Uho zFs<*u06OTABY*gtXRc{|asf`Efem-#TkG^!I(bYeaq=w&ed)Fmp#yMQX2&7zyTXF+p^pJGAS~;|>`S7vF^EWAF@!W=O ztn79ecU(8s|HfA7`#74;)|TZuB(6jcWL(Zub1XKYt_b{j_?4hCyD#YQin7X+TO-f& zMe)y41;t1T63zq8EjU6Q=yG8@B=8!YPF+0p*9wouzkL7v9t694|G{uOiv5>iG!v_~ z2KKO0F0caChC6n|JJ|!<3fdo?imaV^!>($7?F}+rC>%bKCrJNLpfG>yRtnu0s=Gt4 zV|b>?HMdaZQ?5HA0d;>=-egPX2w2gv60jg_x!T9{wCK3GK6fb|wra|r)#iC&P`O)i z5LqA-UZ(5KC-_vvIqyv67jNuAKSw<7ixdq>_+7)lYve|%lxTOA`vT=6@{7I5qz9-! zIJHA1Lh*GcpKRzSZKUFw?i~!>6^aBSa^>v^`4++n7i+6E;)=ZVSk^rt&q1YD-*diR zBrPB7)~uq7;43)7>YelH4$w!6f`|))7_5m-KD4~i|5|qO$W2)60}ekd$y@Xbwf5yH zwx*?AyA>QqWy`$iTMn#i;?EeH$_+2tq3R`S6w#1l^yE|BM`-y0{lPsQk%#YhtZMr% zj^NM*{!s~ZBgF6uU2jgEv4lyhxnX9!qmH>qd5zIdFuYxi8AxHsT*3vF90UMG=KeH1 zX05mTy++CNl}p+^xJH-@+R28h`L%_8a`mfIIO~`@FiJ`ruY=yZb`Drva6%lAEuNr% z95bRnul1ILeSh-h!d6`){L@#{%Lh(RLF>~JOcAWe6X@&PRZG*amWA&ptEF4H zm?z%2=Tsly{dMGo*sQp>6j~lXsJK6q=Se2Lbk$l`$zX;v&(~Pc8ON6>2zKcwjHM{cIF}0LO!q}^ zt~&oUeta<96hT_5k}9f`oiC7T375d@a6}ZL_xwJ!Dl*cs9%}ikJW(ELA-%+vHVKxH zS}^M}g1ZV!PT-@Lzi455@D&I>v@3r@G`=On>nE)Dv2PoY0^E?)uyI{}NW;10`P!Rs*R9Y{nOn1}%^Dh7; zl$aI@57nKeQLfh)e?~erb%ejUOC4k&E##dVXZ&DnO=e;JX65vj#rynl*?F`g&e)OF zQkXQv#tS4p814~m4pM7iOO`T)^`&8X82eU4y31kLP} zWynbslQ^>MAMudI%Hy*A^B-ha&Q%w8{?mILfHWRMddA(j_&$HFe_KWSbBpyS(+E58m=UUL22*t8 z)~`3oLC5o-&!uoqi(D zkpulS<_<`Vtd{q__x7K20Xo0^54<|ldkiq_UJ^L#koa?`w&Wd8vH+=6z+_<){dmyO z^S~~S16;>PFslO@_r$qM$8e`0i?@onaO}&kRU4E%oxUp~7#MH-HI4Q?mLjyeuFav6 z+3d2MeQ^CZP1t^9wpo8FWmYmW{C*J<(T576zo%(*M~wI3&smm{n_V~8$$bUl3HIa2 zCWD1dgvT9mOCx{f3?s4$?iW*X<>=TLntL(O3#EYmw(89V#A4Ls8-ys&Fb&4-=i`O~ zbLin!I-#0RcTZYf$}0qNq@4WP@{D1aLP>s0>S*Fi{W1${Q4NsmllF{vIIGb8?{j*> z*3_4+rUZ2!Z@+TOx>DdK_7bTKUp#dOU}7w`R6P{!ld>;KxGLSg*1ygMo83jK(p$}v z)FneT69Q|rMB6%_vDjvzR5~U)5!{Q(&Qpe$yD{^F{Q8Gd-4p^2(l|_$!<4aO1$IjA-pt`)PuZ;8+}+Wme%s6IW)E@XPgH15c_o*?8){NY5#AQC+_Qp!Ff| zTu7|EUOPeUbNr}U=}DEYkBysU!4|J>Vm2lXBiJy&11=y8sWj?|ews?3?%nTx1!k}6 z-gJx!5d-I)(EYQ7J0oX^-F=~YwsU@ZyGkIL!zl>o2dHT<@Z1we7;E0-|EF~CFh428 z1S0%TD)OSuBBgVLbX3SYmPZ`U_KG64Ve>Xg7Y8=s$})R$MtrBRk{xk2Wt`!@RCg!$ zp%tzy%zpSL#v+&#gIn;xsYWYby7^ZrfvVNr>is4m`@y;b^lOX|Ag;^S72I02Ja8cQ znZ5fahHB|4VzNH3EuuaWu=M*HAvH)edTG0TxzA}a`P^vydEhnoY&od=o&vgR*;t}1 z*2fB$G`7M6aA9nFASeNNMvb~gIADUEjk3U!YaV!Tf(3CQGZ{0HY3G++xj@!hsEF#v z1G8t|2RrQztZgKT%e=s;Pg0s!FCNUZX&XNo3bHm6A&q5DUB++4avJ;f=`#2m-_TD6 zG7=ena03#+$&9}&@UwY`4j?;FI23>Tvs zUzvD@2-VWHKhTlJI|VV9h#48^j<@L@lUxoC8i3Ci4nKtmz~6YTd^@?;1ZH3COBV8s#@PDRW0WR)=7#c@dl=zWl^UjeR^@l&r{iqlMCqxuUieCYFih7 zQzpGXN*#KE`VCf_Pc{xU+X#ln0w-ix>V@87UA`FKfNNK3g+dYd~!3&-LFt~ z7rPl#B_^0qe;f{(V8C;}3e-T=Kw>yu8K+ZXy3Bp4U-5ZX9p^IJ(!&Z)tB~`5fEvRi z7|O3_Od;=i%r)^bPJde336nkj)3PM#le;f{4}vF~b_H!l;^Bge_L3s$5`+UaW#uGK zu`K_P9+lCN=4ODVRC3b^rTMsEOZ|>h-y8^Q^e~2EJ2*4cI$>XFI~*X>xJ+*oR&t)I z2y)T7Q4ud0836W@FWEI?dHR$A6w5eft)6ALG22Jl-vJ~tOy|TPczuMBLn{Nn?_mPz zz98xtNX-eXzKS#E0mnMf`(nRj$9O9}4=zVt!adj?0C*13SK4)1!q?YsVB?tj&8Xq# z&fM?;cJ#JaCR@<7A2|^>$49V1wtV0ye|ods`~?^EHM9;ABjChHV9nP_8{YM7Iia^C zjr<&lm5-_v?2C%+C;VBZnTX92=Sk z9pI$FMARCQZ@RRoFR-BW;x1)=V;~eu<+YK`)Yn$2pPc>*lR0JR+cIP6-JiE@G>{j2 zq@ucDCNel)s%#wVBvL-TfEXVbx#Ak&fBU_SCOmUe$81mZCLTNG^LxZc9Gv~YBmcB& zY%-Z1vRK-b5yAV4d*eL=A$p6#Ob(}?We3F6o=IJejhj&XDsuU#v|+vYfPUeXW)Ae? z;>#u(qXB6I;~~QYr;x3;aYplx;}A%kl&a-u|Li4pYx+^KBe4Jae$~Kh*Q9{!1eI!w zEQwnEWujO@+a!y2@=gXOosk|g>7oZ?evHzxrdn&{o2m!3E$~I#xTSQecG`_k)NSp& zZHd@KploXb3~-3GczLql(rZa>y^`!PqvZ%BI%p&B-ZA^H{$CJkf_DbU^OEqwKArBy zAiU#a7~rVp*R@6b)Zg|Eq}0rjIJCna!qFh6E5vy&Kr~B7w!_}>=;idQw?T!nbswD# z?k+n4(K||hwI(LyZz>I-;Y9;&*O&Xzc{5{F1!gI2)jY145VyL$g^5%nVRj{sgG{2< zMR_~;+s+b+H+v!1Q;=XEX&gejU+w9^E6^z_?pt>dVTF%bIvr6y3ikPp&fS0HxKola zeFBWBWeM6yijf$7;s3a&`B6pK)jqtAP35T_Msf8{OL+EXYNf+h+vp;_$Rgc*Qhm-( zeebZ310Z>FmD_u|M?Pm9_d)_0pOX6EX5^xC7y1HPZ4@?a9-*twKF`>#ZpoL9_?s+w znUbG>iPYaA--u<7d-6j~(Ej6=K1&2MFntEiJ1-bL!0V%E(|A3dI0>JwL3&xwXkTsK zH@^#*&%HWgMm;gUL(ElH@AL)cQfjW9HNu-x#At81n*vDzBl2mfl$Sw~bH zBxS-wM2Tdb&3ktQe;k*?j~FWIb1@6%=Nj_~)Jhj1%G-m}h01VfQD z27BTHu;upNb~k_H+>$kt zMHAYfe+8WwKPGcz#6&#vgCtCZRq|4dzF)yI0bF=~V2fwGeAo1e6Vu;A`Mz_=)vkic z^y4gRO5X*(Pcs#KPlvWu_}6e4{Y#3Evi;<`9SSndma-5KyzyL&(2$+>#Syz{9>kAz zp7X^Q-&|d2iX<%vAU%(ZJ^b=#qM5-cs)~gP&~R*1=8BUhqPb zBkE_Bf4u{uPXgj{GB#YoP*;p!C``VtEp;B$bXw|%B(7L+Q*il1ts7XUitSS+9hW;! z<_#;@t8FEZq%;(!^-KK!fb(no{5cW4LX6*bf)$+x(kB?IxG41BWoTR9JYP3?VSKR4 z`tn;*RE==I&9kuE51;Gk?dM!~CK`DW$5;f95@2_;?O1XcI#fm{rz>#^;>v0r3u)4> z1!)nSL$++0dGa$458wz&AZ&j+o%joyMmD{MH*T2>9`e_|z+oxMFskokj67nQBACvY zPU-vld9YF;M{;nU*5KE$rFLUO560rLW+LCaCNmqJ)(bD{LY;3FpL`&s&T=!`L*K$GL~kq^XhuN(so^CziU)CaROc z+^b6BNQ@8JvYUNctGhf!O z3tVByx@cA1Ou%f(?29Y&$-U^C!X@r7kG%LgJDHMr7;_BkYQ=Hn>%UuZy5XcJXy@}M zI&@v=a6#izu9g>%7P@*WDC73p z<)Nxl39I%)gxJ;HqAxROI*K67&%gaj_Oe8YQ7%>G-;BcTcAP_e6L&2qdudu6aXkpS zZFVj9{i=XjJ+($R_K#(s2Bju}QPAR}S)x-9hfEpLXh$kJiFBwmw_BN7DeHXA2Pf)5 zU~bqA#@j0^@_SI`A`8ABEiHT>F~4&G{o)^;6AcR^7Ruy9IOBBnbUpIFxuZ3%RZkRn z)qOm$-SNz!9i4*~fPr(@)R8!Jt^2s^CDt8S!n9L~2)N-m+~N_Eko7d~!u%kwvkI)X zq9T@!CrO9zhs7L2|C#LT;#z?tr9{62%Xi&%6~2#R1;$vTH9Zj? zE?K1v8hjo>v?REPOF99f)_>_Ecoz<^f^ECS8px78>2~d20O-%l4A`An?zJWR@{%Bn{SBjkq>w7b02MaT%O~uWk!3PZoV~*(Hf$t6_w2(E|Y5HAkM)i zCBv*ny*C+^GC)mFcmRpoAb*RvQ9_jDki+GiVh@+AXq}^qDfNYuDYh%go&Pf926cuu zt(dpXSHng?n6l>mi@da&&M>KaZVTwN>8Wy8qa}cW5>K%X!5cdN4^SnnF)U{-G`Rro%3S8OpybiqvwVw^a_+xP?x#SxUcrjjV ztbGznvyuL=wO7g7F^siYeScCtI0TN~2p<2hqCam||tr$7Tavg|eNmbCu!n_nGIg37OMpO>Q_vC)2U-A(pSb@FBo zt}ZdUR!f4-o#Qeiobj`@x`gm7ignK`;B|3@?p9}`?$)VPrKqdrEkCFL4d(VM(s8vuNeBz23Y!~w_wdY!IM#m#H_Gj-R&~~oDElz z9}yDp7%llK14+X>jBULGFJO40yU z`@g;1SAoPiDyiy-$&1%!3ZA(9OI$0aoD|K%U(G%+Y{TLmDCCfPAnl#UW~5sjufYUY zu9^PxG<4w%%2gnOf9qB>eF5v6TDkU6t>tr<5YIn(rf>RFy{q=w62s-9?*z_`*y8Hq zn!ip;aA&A1eJca$%5fF=`SLIulN`?ESi|eWf&^?c)Qd3ez*bou5WykF=U7W>!wPB7 z>9)mqaXedPHw*o#yR`-3Y1Xa7JGM)*K}E-?(48+b#p{Qn_b=y_EU%^aq7^4*ZJBYm)^=b0r^Kn{s8#|MlPd|4avZujquWEB-C`t;AWQM zdr^zzvPk2K86%BhlNFUFcAVVi5RxP#ro*NFT>p<#tmor%rrXSKA?#8Fo!Zf76kqE8dZ7)6xBbyQMcQXIHpf@ay`|2$`$1--*CrghI(sd#Wa?u zNP;BtEM_T& z{tf_smcCtU$?vOaG`{dW5Pa_y{2Fd+U z+JUJ(N?-!A;%eRifuE$H9MzJlr5(l`3gQgbrwq;HQed$Lz#GcnJIPEC_f~yqfV`}$ z_S*~`DaAS{uT2-gy;1GVwp|q^hf|+rAe0_@Viax2T9;abB72R9uZ?bGrO#z{2iX{2 z9Nk7Fr1(?D_2vc_!ITO&EZ>He5(oGZ<3<^W(au*f?#ECz<=O}9($KHkXCs`f8{6pe zg*Pe4RPSSSV}}6#cp@EfF|HxBZKB__3QIsRk=OrmaBnR|T8zI(R0T(L3-2X>L=$iL z^2K|}qqAzHg;Q4OB2vYYD;5ILj?;cSNq^;L;|xBwKJ&vZ7XDIwlKg?e!QV7aOGU#X z@$OAn;A`PWS3-p>DyULXDtOT`f%$@X9i>o#a`-QMN?PU9uypBT?^#0l1|*CsIePrD z0fS|V@Y94$%)S6Vct%Sl0?a*Lf!ZP7vYJN1Pl>1tTIJc%EZl;kSv9=df^B6jvHChW zb)|tohq0kJ@j+z)Ttz0;c1(G>qmEF}opHTnF#8OW{ z8p~Buq)xYD<}g_}%U5Gf%Z@?IpjBK`5A+sR+tERc?tm^HZrfZ;ZZWAY1^c%{%A zKW5FiOE$$hc7HRbWP7YEJkuh@K0O8qzgncnq;~{uWZI>%zYSU=7_RKobHTH&!W9>& z=&5hJ)FccFBit}Rr_J&0_cwojVtSbXJZJjaZK0LU7nm?WHYa^pA7w}2DP>piRq|w)ws++gdq(hBB zR3jq_K@_y7G+m;n2ab5}4J$z*XME2k`1?OAEQoaaQlJ`C_{(V}GTe7dEWUSKuT$2E zZQesW;{`YsC3V>vcfh8f2mw*F13KoKlF(Jz0KyaEBg}c3LL1Gok3<-;S@uGWJ# zj~@}&K2y=V$-C5a;I^@dCBZ4KNF#LwRR_EwAtrsFMQ3|t5#HMkUD_J!LEUQdF z$i{*|AQn+J`u8_8ut}P2x%H`e@s6O$mgOvc@a-s3jLGUcU2>hZs&%p4i@>?vhll-+ z4NqP4@zmDLE;2iCm*4*@gvwQ76j$WIcaA^HGGn=Uu9N3@GU8L=+>MBmJ$Vd!cdKj_ z&u^vTu^(FY48|0*VTzTN6=?OkcF0_l7YT8ZfL0>gVFqP8o3+L#hds#^a}B1ka#U9ldQp7yM(NYM}n~FE!}u$1|!3 z>;#|5#r#RH=a17l3qL&pmOVV(vN}Ld5iSHtQGB1DNUTk)(HI=hXBH2f8X10#pP4f zeIwA<(8EVqS2>Qyap|-;sKGcnd$;p}V#QQbu{Cal6QYzU(HyDRX0}1vM1`tadn3Aj86|ouo*tD#{)UU1C|Xo3(oDaiSL{J*}nHV zQsz2GNtblHLz|tH7~YUhpKVp&=kWTMsrcw0$Fij>zq~%cT@23vmrZuT5p1WFl3$41 znr}ze2)WDqYMCb}fdE}IYMsc>1FB%KpTE^c?s3ZRFTVDU{9^7B_AEKiv@fyD#(w28 z`t!0Ncn}cZn@K~b5~;&xvAk`SHxl8`bUds3_bZ)sN1N8UT8u^&kQS9#`e2!gv(H>U zX4)0-3wx$w5JR$WO0hDN>u`0lE$q$vJH#vxw)?yv4xEr;JFU2T!-(?CSLVfeb z1f)zJTh=S{migZAadoN6Q zec1bOe*Q+V7|n%6nTU=VX2-FMAlUeKV4X^>ic32@v&A!jS`dMyP4;&ah0M!DNBhJ? z&9L1udT$McXJ6{Q+XTcPyHxzZOUBtTr2{7gM?l*Sj=Zkk!i--R@p+`g{jyU9&sRie zCjFi{^VXnmPVFd9%S?X-cUVX?=Cj0=34gSln5NfJbr8FHKMm^)m+#Jn1a@Gv5){@@ z$Z)YnzmV~A>%da>{9Dx6j-FF=C20t z3S?jcoW=3+v9hHZ*BnY7DPVSc%AM2gFtmDRmvRqgFzlTKAg<+sWMb7Ulu3@g-D}Jc z<65Z(3cR%$^HWj*#opxV8za#&pa#%>ol9XC?S{ez$IwX}-r%o;#dHJ_q!Aqi6zG$i z4m;mq0$e<6K}ucFD}2k1%S?Oq@h97btWE=#h!IL>sUl-)jtrim5nv;9@xks=nRB=x z!dhc6;KZ2Jxyg&M9~T1BM@r%>pB!9x*JS_o(%(-_r@Iy4AOK7E2$P4OriFL(8gR(w z`)%fEMv^1Kyj@NjDpg$uFxn{xe*4q!7YrjiAd3r@#PMl;Q$L1Z5nDn336p-fnV~t3 zM>Rf`c82BJE9WU;vk(I1&=8|$Q&6{m+kQXk*nA*eRr8d|4NgiI1q=Tf#eB?BU~)7k ze$xI)5G0rdkI?D?x-8SPGw{D-Xx<6OGi$PmMzYv3uacz~RnG25Hp3{=)x+tXXgO)$ z14&YMTjpPVfiZTKw{pdbRZ#^)NW5GCAruVYjeFM+0PYuLPi)9TD0f=p^PU1gM6PQT z;f;RLRDV@b7{a*uh)neiQ@ca&)1++l}Ai~SvoM}3k5@e?fNkb^JzArRXj)v)YtVPIwh&tB($iB= zdBNqKizX4cymE;)H){aomN2@qUPHV~Ga!SqkuP%gS)q{he05_lG71vRvug`P2pXHV zSgV7~*hP(R2m&M{KN1@;&W-{ZJsz}59VHJZpQtv(+YByrc5X%5$ZIkBA zh_6=h{~-Yb?>L-Fi&{s#L*;DqPh}tUe@_SPR|UacuZlWjt*LUEd1sm9%pPe;F_3zJ z2b|wtv;-uWWEbDVRUuPWzc5p{+M1V=+hi1=%2!$eSg!uDZiNIWEm7Fx0O#g+@~&pZ zn%<0fiZX|Im(EZ7E#D1L*ue_YM{wgQt7p-6)Z7T`;zmNwvcCzG^ydq%L0o~1eu4}K z7zYoso;hn3hg=aA!9n6239?z~_i!hy2!##(YwiO^EUPZ95M{BE{GaQ+tVcty<3K5L zGZD#g;+|AN&iirErp99U@yfTfKzY*iBF1E=20~z~Fh{PJW9jOJD$XXkeEMV9tk~(T zJ=u~UdPhf5sC`;!uo%RQvEM~)H025-yy#7Lf!*7PEbN4@aiD0%GCF$^9BfK-2GD1+|Mmz< zn&2~g@RVn`R;j<8i&Xrp43GiH6Iv9RmUgw96OYq5z5_^g7zJt5dH6Yu>uBnx6ZeI= zIb3;h;o_4Md4^)%;v%N!3U$pMS?TayE+b zd71J09BJfdfVnS*jRjYBC1CM^x0<|ZOHBrs2RH=~oB$+qWbY%k#DKt~pp>Lzo77zg zVfe~V!v@T`O-AHVbQGhd@3Eq;B~ws>-p3a`oR}yAY%CL&vRanIk+J`*M+55gfUeYM z%1)PKuxtWIb&U#d;C4O_Kc_GH0!pjrG4$!$Lo(U~>&^6fghv)a#6hZ4saupTD($=kgYxLE(BUjRkqPXB`}rIQ`7I7J8$D(- zDn()JzrTX$2MCH#l(nVite0k0(`TtqA()VH5bo;!6UB+*q{0byt+5RvL4k}3(qs}T zE^h@Gf(su@#`$jGRXNH#yt@lmEMDc_x$>{}j3ZbupKv30=^VaiKeBWE6BhTR9(FU1 zmmu>aWc#rvwV+KY!w0w{%OKU}dr-M|aVD27yyu5$AmOOhsT>RacA-`A1^ioGvxU<^ zM96bOp6%*^2_Q#%bOsF>99xo3gkAno@zD&2>a$og+u!6Y`uF&R4O(sIJRMvXvwo}* zdL5#_||hIbe=2NCgUdX`K*bh@b~l!u2}&o_#DFb9rjX!&|n?7i>|M|_U5by z2jD|sEsE!_DmQ+!2LuE0U1C!XZYfUzIPRwsHoid3^}*E3kPzxH9oiF%gc3g0kD$`^ zv?i-E39`DQ^#9>qoq4B8@vW-PjH5~j>kh7^tPyJfoQn~uQ(jnS+TCHgI2dyC^hPWGN)Uy``fSGBQhjJA{OjEtGKfPMsXaS}w`vDXQF@!*Up8lWo z#e9bZVT$ta!!#*?wxcB=Lf1LoBe0ErzCyF)%JF_eWgZxzK;YctNVxu42g6J(s!u=N z7iQsb%|aQnL@1md9E~vm73U_bn;3v3|7O%?&ma4k9%CS3>9rm@oWMdnq&Q zTh#=8=RvoIFoHWIN{tI3x}gh*U<5KwaA{Tq59omIm=$2lqdq9Yy?AEtVK9QtId5hP~Nc8 zwBf%AVJX9fAQjM~-pV{HePf7#t+nbvJ(9nkmJf(9xtmC>4&y^`H7L0_{=JK*{1Wp8 zm0rcOX%Nf{+H$U@yVfJhHeDHAfAaY#i+glRNhg)VvDWv2R}}S1Sg)~{L=(Jg{n8X! zN1Gd?YP2r#=Wa_B-k>Ks;{0}M&O2#%8`D?{$7d}hz!~%;upQ2?Wi$sEa)o_@TPo8 z<8k03kqhX3qp03h3SYK!cRa{NkM?sD0H+4r7Xn6KH_cIcv1eq7%kzK=S$b)gmH=Sl z7vs2(t|{ulsqyJ;;A**Ji2Gs*c?p$Xt#4lf|RT-~*S(9$bw_0?8e zwGwmS4rMR79rK|P0K1Q(xom4P{Xo?PO{lf3s|?bNpgVqhM*PauB8Wj(xoM(~4v{A2 zeR7^g;Gr3pZKXtAFzFSk9~ivFL`~`G)S2#0+y*%@>P#wEL`e52XiMXx!H;RCi8W_N zns3}FQaqBZ3*Ox~IW=7b5%{H;4ag za8u9YGJ+YOyb-2t+iw;&<9muq$PWyVfEzqDoX~^IAgPxveb1_Dpx;md1M0>axg}F< z2qi`&)e+|e==idi<&aoo0>W_{0g*j|&2qpejOEsCITs=I1UaxYRA;VMLJ6?L6 zHJX>il~aMQWG@XX&^7f)Wy{ENmcMtU%#1veaXB>kG=JE>R{`HFT+|v^;!&y!zW~H9fj|H{P2Y>U_Mktb zOG?S6r+VTjLIYt89Pdi)oSiSa`@Fhu}+xi<8)%S z*bQF1*{M8d;9g3+sLzNuHiAZiT`TD@1*==86Rx#|UNadT9}Erc`&mxqkR%mYIymvV zuUA|bq^I-?Cxcn!&6v=Djur2xaXEPv_}lafba2KE>xlMZZ+|Ufo+mEDU!{?Bd9~mp z#ETlw@hzWRHae+y-ByG#&{!~*kTE91nWop_Y~=mg0UknRN3dq-oaU+9Rn_}F9vkg_ zL9G1B=N@f#m1y%L<0qn)W=X*GS#v7}FTtNz1YAE)BmYeEKj}-CIagS}d06kTdK!Zri zwb}K@J00IE2KrqGB3?K=Rm=bo=uxdmg@5}XjPI(02GYISzS>`|4!Nl(A9%^4puVJ< z!;@S=OR4WMu|MH46D}XT3uTtQ9n?s@4OEf9F!@57JQ_3I6oAd4gbZBX?8k{DiXk-J z1i?m#y87wuYX3FO)?2w9_$s!@W}S%F<{;c8Z(WW05FlBPzd0M=IF_E%a$(+Aqg)0y z&eo$fs#;JiKS-{oWg2T=L(c^W1J&KLXHd33Gvj*weq$3ov#oqgbhs6zAyNni`F0

nI@YiGWmK*`Mkz4;7B2P{lx;7$68!QgIyo-K5(d%#;2J^W=VIc0 zw3<3sdBW(f?MqJ;u@^2Z+8*bCTvBtVM@>7?$CqD#hb;blmbm5XUt7BO`)w2Bl}99r zK0|ZI>Y51)D;>dh(JUpzo=n8++aNbqdLZ&&*)gfaOjt58bDxG%CF}%Aj@?;W!!)7_ zfa(!y9uKudDcnFt0Cgat4Eu3<3PRHw9&Aie+<&VJp>2-Eg4m)K8E-Ri`v84`=)mo9 zi|OM_T!6W9IsiiUMB5R4{n(p2WKt%SrvvR3rDGByDTz^JGLAMbQ_ElmJ5u;JaCtqL z>D;w>eOL)T?N_2STy5A?JEsv2IZQSmFA6CsW{y_w>O5JnG?nej;}6a!heHdFeUYoK z;DHMQ0mAQN|E20&OI*n|ZYR7v)^oQXrRsosMZu=RBu+63zh#io?Z^-Lt0%%bn!Kks zxd2;2bTGDI=`Ee7xw^C7AJ{gT_Tci)+C&aW7m}E@3-$kcGRe z0GtJqKm4Qf?PsNu zSJ0rF$QRU7Xy5S9K7yuxS7grbS|*j0QdLPL~;D#$55sb zq86q&#HnO1ee@yRuWFKw--Xsr)8gB=B;|6*sJu^)a|B6)2ra0u#Si=#Po8@KpPcL0 zsI3%@O@UyveSmnz{nqBMUbQtXI_s7FdsvJ07A2#zY{0a#K429Se(RAmhuO8&`C!>t z2qAXvLyilGGA8fJv|GtTZ1-6a%*@yy|9h=Mw{B(y=a2ykog^&PJ1bEPx*#Q z|4YnHAs=J!r;@y7v&|FM$OxWNF%oA*&b|uLG-DmT9Ohr`^oNU z#rk;cj0~V-N#g>7EBW8XR~8j#9f z5hrg+A2Q%7HZ6b$_kI&}MiFG%{Q=c)f$Z}ZX z&2~B$L|Y|*!2yl{yc6Iw0NHuIfE4}k`P4~vo&Jp^ZH8X#&73srQH3@8_?oG#uDsD3=yXrLKFrJ=PPcEO=Cppv-DXLvMG}hJxXbaqS6Y6@-1T>f`Y_=m&(I65++s)O0qV1P&2Z^6xdEJrQrXE*Cd@2m4q#Jq zjBHC{XN>X|j6Ka9OX+szI-e|aW#*8=-L_AV`Kg_Qh%G<|nG)qnK=`(F1N7rA6) z-fLx(vdX$Nj9U?rO;kui6f*9;cEd}C@j+xYYz0!{ha0+*nIthA`=TW6W{_7>g;tT(BWK*`z5^R z_K7z#00jJ=xJz(Jq>JoZr9guXjY9Pv30yJWgpP1VYpzT|C8+5fX^| zKH6+#kH^WVD_?&P!f4jHPa6MnMdOs0^Y{L4sM{tsYa1b}4lU&TvIP~Zz>1K_(G{jJ z6SX|%9a%IB62kLInlc-cC`$97S3OD&d+zC+-;E0?oPba-KCSnYqqNcP9#pxHUln&B z`!2Ey#%@Is0LCCT4#wtkp7r?&k?NUW+mgTI+i)7xS5%{DjJ&gWTu6jI%RxQ{G!1=d z&@{Y!eN-ba|3wDFv{=3q>}#>%b3q94`qTQxFKaWS z*f7l@oT8ro+FqRvMPo}0|1K&JV$+<-WbW-y(#ZVfY*T)K+Ry#`doNufHajQ;{VW)- zx#s>gsv-@IhII2(k=7#0ey~Wuz*M{FtH>^j#|ugujbqO+tfI$myRv z_X+Pc5(b?ikIB^yAq;__lo8BY3{bGRbKoAd* z4XdgeVW!>(VTUjKHaQa62p&R`c;d`BuJi;32Dv*m^7;iK7X(+h*^3NDc<$J$vOWRW zI^#%5p((7pfHY!8Z@FrwcQp23WKasA%P0Z#*Z+=4m5CBfN#W1;dPo1fm7q!UEu7g> z#@k=wc#y`>#Vk*rhu%eb+H9b|KWP?yGgDK#fBMjN?#Vs|cCqu)aeip&MUgy`QulDa zuXk)$bsBSWQ4hVk#h?;_WFo@+*-|aOPESCaPW~eM>GlmB#8t2B_eTf4ryaxFCyhL; zJu(+|UaYah35A5OuCG?G%Jd^hcHq+qQf7nzgRQZ!0lmKRX@jRzCt)d-xDqm%Gy#1a zz=t+MsvUi(I)!23;H1_A_d1i`1WRhncj+=ymM7v5AyTKXE@>^&3_GfApTet{Sm%<& z6s_sH+P7_GqJ3+?p4{t;6VGx99|!qYdhCdCM`<1NFI3Od(Ma5h48v=I3e+pltb`V#;o?R>fLl|N`@Bkk$Z!Q*`&m9ru*9+cGWXs~q@8Q7`_Ak}C1I>dVtP{4*}R+UO5b~RYB|ck0X1dEpygC{yfG>saPym9#fN^R8ps*wCL~o%+A20`eq}sf+9eTMeqodcZ5iA@t1Y8s5^B<Sc2SBAs42Ak57N_xxfXhAJ@fvpnG$-txrBR{8A{;FtWhQ80cbU7 zxUS?Wo1>E7@g@vLPZx6HI==k=SaoV>wEcqlOE??dBFI?eTj(wu7@PM@EjvSttYM0q zHz?KsqCg}&*RQw1VY4?8$e6%`y(9WI1l8yQ>qBOwA+ za#Xw4hMOvc2XZ0}eCQd@==Uiy1BrZ59tZiGIonzG<4PV(l(oKhE8M&^D=cm+E^^B= zF~C)CZ#(u!H&@~9d$6if)*uXjw3LM1b@aR6Rk0Iq1IGNM^|6x_unI^yyHjyG0JpoR zJ)OIt#zW4hT8P>R>8QD4c%W~nC)6yV2H?FYoi?lEL$~=j4z%${3nQkIMBl^=-Z$O( zAWPxIk97(I!Dm7@s`v5_d}^+wU6z?S)aE_$7v`7UdI@88BIIBLDa7NTd%^swP!f{0 zi>^)?9DZ+Z);*j5I$Tj-H9O4)Zp?=8HcG=x?DYfsYI{-ta!;8-?AU!u8evPazRgy6 z5tsJP2*b+?%CqokyY=Jpn&9D{YJ?$Vzn^s=m85*izh@C$f=lx0;qKl91 z%EYo0a=sG;wxqQ*&)|$@tL%>1G59I=lV#k@POj+L!dtPN&Gi{#^2}26SVQsZ)A$%q zK)Kn5>5sHM6>eZxZo0qRpJilchsuPuFFw-*GE>2)ltFQ}sVgg>B^m(Bmj!k7Qh%_> zXh5%W@5p}D`Dx8Fdv?aQ^TuR8&IF$agUXB5JrcuVU51noy;iE3m=LrA2RSV)IjyDF ziivYi{R>ZMTC}hR?Cwq3nZgu(E~52bOy{2(m2qINWQ&>PD4QjtSO)~1u)+i!|K=?R zg68;4%I}tns-yWR{LKY@mieMr?~uMPs??woQXCI(OUK0Q$X+a{3n$Q(2gq;I<$tSqmd`x5wR0l6V(<{kYk|@4X@*enc#s{E<)kUtK+$-}u%r4aJ%hK&<-~YFJ zbW+pct*J0%?S80aHs5^ashusph_8c;6Hz1!F&;3VXyPHO>sg@9{`MQSf{;P8(2gre}3jyzHm7&YkmEk42c0(uYyWHv0WbC9{g#NiHGlNE6YW}gt50yC2-z1UD zVdOky+@jJ)$pbs)wbXf>7OygX#E9NHVgz2(ZLnE%%WrL$0KVizWb!L0t}%HuaSS`| zRJS;3+kYv@g|7`SU%~r0c2G_?_P6P?ZCM1BB8|TfMdjbwQT-}OHoBJtVHT7!{YCE` z2^UtBru#4-eoFqnC+PsEMlB?PjR{T}b0mYtjyB8P! z+H_uPl%*W<5UBz&ht6kGcebJp9WqWX2EG>kx}~x|7-jFRjx++v!C^7w9G9ozHb%HRgTDxZs31v7vdfM$ybGMO+sku(W^Da#OuYG8`6ie|3Va@ z_|49Gag@-{t%NN-yyzViGlFwIjOp*2O!x8XCMhJd`%)$QzmvyK-(mDUcS59fW%yS zE#3NQM&t~CZUTsyR#%vPx}=ep;0N}Ud}FqPIazzyPkBO0qL+u4rAaYP2a*I{rQ8$^ zXrP>mxUv1esBDo4odf&&o*<>e_JbTXm#CH(6Bd9^B@T<>wHZZOQHU4%wkX2?7Cmdu)8JO#vyS3JoEWxP`@SY z3Bo&5I!WRoYWv0duyd9nz|H=F6M8tXXlNW@Lr8qe)SaDl=5Ppuf;{#VHaV4Dp8V~? zuh@t;I@!S$5oYWUN*dLjM<0X~ZnDVB>N8YC5(}w4CYQpZybd0t_9qYOA1dZVE|}nr z`j10cqdwt9Ep?O{t{F>g&nd%5A>hUeDYMVwtI1OpNKnHC+b_& z28(HfEaLt!_l@Hz6zhr$H3hmreg6o2I6d1@Ld6mZbrmzxI5YxQZ%2}v%B=87=HU`nd-$&xU3f93Y>d+r&JVulNyTm>nt+F!WG#oV)G-(@ z!G-_+Shgt(f4yY1I8;loULPuC708#U06d)7mm7J^p*xwFnpv|97OunFdOTpE@}qV6 zH@ugLyT@Ma>PY+QRD1Z)Bg{Zk*$8gI9tb0#uEqBh4SbML+YEOp(QhYT zDHG{waJ=t5%%lMJQdo526~MO^cX@8K0x=x91G)EmlqEa*72kWyCv&zaJ7@93{E3vG zjI-ojSmU&UG}3&XT+MzYdZ@G=(vN!(O;E$6@IX~vzOcBgFr-L7S|tgi zI=13A&<@MZ;FEtD`sczJjMMV{jRz6h$q55QZq&HO8alT3hSYtX5T#SlTi-6R*B0$< zDW(k$oj!a%!ze;P%=WxMzM?_Wn5`uf^8;bDdae;6VKn~^Q5BVJOom!Tg)T+FHplw! zkPviXW!Ps|p32D~MrKy{kqU8xE?pZ&K0`kNCsh{VQE_}5C^^dI$0EpDqj*qKpch*1 zla;yOf55ZCl6i!!43g7f-n7wCpw(v&;Zd(=BsEs_VmUaRDsewg6Zt5EL5-2PN2(Ty zu)CYno)c**#ixG6yFVfF>C$(Jp6B#qBlPFls1DA?`aM_93*#O>r7m61%k@B!j@&zk zv8-|EjN2Uwx+}|%mfuU*;3VH1VYAa(u9bTo1sqA>V(*O}U1SfbicGkSXNpH*@2Np=~ids!VW2xUH$N7xCBH{%*R-|=I~HNm>@*n0CX zFM_%u8eScY|5D9iH~g&l1Rg+!bqNt_96x+gMSC?T40}zM)k-6ebDb5foL-)Iz>bNi zhW-9SwV-evSlwr?YU%g4_UUdlUw_aarqN9=yQ)v$ef)9a=)r-@ldo=k09Q`S2FvmH z?c7^xq(~+o_!bY;`h?x&SfGyAzLf8{4Wn}g=R?Y+=WTejSehq3i9mj;FHfW2Klenf zepd)X9>F1&y@%EI`!J2dDELMmX`;?W+J`Coq2_=R6!t6b3LBwyA^e#Jz42V*Vb;r8 zuD@Ze#axf~1&aa7#(HJ)(sx9ibTclH2lBVsOcFSVS#2n+;YcMdJ1ZDUoyaAp-I=eQ z{D3qb5eMIT|B6cOdyEj;a8ihxmVN}%Ie1E=^Q6>}>B^heC>kVlvLfUkk6!P=*%%7W z`tdG9Iz>Ocy?g#x5svHiWTf2seDaTv1LAt8sY8%C(fPp*B|?!TP~|%~8uEnchZ)Cc zvPTkLxqBm@T8dQu?T786`-8BgKifBpJqjhu(RhU=!aV3=}kv|4&9J zHiTgjcDj8n9Zq8U;4)#tw`y(&3Hs2AC49<0|4&>)eEzbu)2X#iO@`;qvg#p>==M8F zn5&=k3napbb9u|Fd;|Cn>@B@mli1t|+<3=(oS@F>RrZ#U3$TE{O_^|c#mJrsAysZO_LC_W2DnR!WRp14kn+Q`R96YTnGtiE#a_`rTLz^iUN z7c=)X`aX?3A-mW63h*?iBB6a84hm2yT&k~vq7I%fDrudaF!PNnq5#VkP?v`8+Iy@=`XV^ z+lXq5qx{--il-Bufqjz@VoBvb&onSfY)@W0G`|#{)Y;Wk1*N8c!xBuPy@)eXVy?N- zu6|ih4;h0E9zPWcBlf3^7i=dJf9?6_pq9M)E)$;!L1zs&BQSKAq+tgFI*<11SPZWhwN9qThejZty2j`c; z$6XeL))@9nH|$k-(y<7L+)Ame@sp?|@8z0-wLTKBun1B-NfIn;)Oh#!ar|B!P55K6YGFo(W&-1J1S5E1hM|%?(q@4YJ{Kwvb>aH>A=mZQcYB}* ztVqiNYvLS+pVw0)iW>se3!~~`lGU`taUo+) zgq?Wy>+VEOnq3Z_#Kb3K;!M&5yqx~KCn|Cx4>kwCG1R(giOFeCMaZ&iJLqW z|1(JWU1B2Nqp(F@quyeIzqt1H-l23Y3o0xYjO}7I?B`}huP+5X2tUa|A5c)QW6HnGPf2dp7oc}j}-Su20$z`;fyq- z{EXGF^&-T%7#OLpkd*J1Zj`{&1g<19(+yMOj9xmnWsv}&~3fXU(L7PF-1ZAd-v>+)8^zXLXo>_ z1hBhkQrHQsI>?M`5nrv&cuQWnj>a~5wj^_Y!-oX0N1=lyr|FHya22%1Lt z3QE0$V@!awt#|el#nDl|;j&ljZq{PXbX)aTJKfMZ*io2pLb!aT9nP?rPtS|=l>DZSMzBoyJ2$>L?M-a#p6%$EU zl?;gN%O^>S%+X>04~eOtP;F9VWuQ?OvVwPju8z=Uq#4VlmF-v=DZ000s;R z6P?z@D-aH`=i2;Ay77a}&XqjoJS1Z}x3E&zz)T`5J~_BD)kL_b)rp72(Y$bx=y|AW zz>Vk;^pz6FgFfsAtnJ)XPxNJD4z!-XGiy}d&0qG#6%TJP6;z!gD=|vJSe#{{8#j@y z)jKpex7BRnS11cSdf#b$zdYzT8~(7H_cRp!?T$ysTtSw7+pPn*CXm`y1G{|zHWSAr zca$z`d^FDK#U+ws56>Y;YsjLr!E~vEA$`*Y{)*qpF2t*;0r;9S(V>U`(~!RiU5_80 zF6a%Ut@WPRmH*EyU)QhT{e<0n_a6AlX9e?NZg}{~FcXsjaqiv6kjX$deB{Fv6BMn< zup_79H6P=gGaku_C-E@NyMO^3_7oTAsOk%s=s1}UtYO=mp4;25!>k@9H&iB1M{k`E z)=Ac292q^{oIowS*_b8j=Y)B2JhB8MIUkx9y0~P1U3`=yNE>mH*$s9zuDj*wbAl!? z>m*$KHHj2o)u^18pO5oI8T5<0R)%@{jxl+@zQA-z!q!~NtCo~iscNfpq>~$Gf6D@rz1Bn3&cOJ*9 zC!+G>ace1>jP<4}##`Paxk^huz@cZZSMX@K#cts2c)=fzVV1YE(($*G9)v^DH3<(c z@+0ng=}D7vTMQLouF#zQ#&63LO!IafUMt*Gw8mgScM~5pJJ9d6*Y!6eVfV$lw}*dt zX`)neLl|j=;6m+-8n11;hgURHqqs?aRuH z5o6qNWrr`4JSN^-#Ew6-6m>}Y82exCK$QI+^CyYP7`p^^xWfN&0eqSOtvkkZPQ^U8 z`w=Xl_m2Y3-S=?GVhUebfx_hD;;nqA4<5y5i31ihMjLU%m(Rw(^q886o$kg7TL`LL zI2;&WE>H%(>gk`KJMPLCf< zOJ_iHIEMSsGu=hU;{PB#y&CkgXAu`$bMeN4+`>Z-x`c9v`odO~VBu?wFI)2{MurwW zvL#bXRu*}9i;@{~2EyI~kVTcKze1~oH3^%(6Lbx-f|8JrUYnJ{Ou=b7A_-a2Oh_#V+U z-z|NUf2_VJ)gXWoQfpkBlq4D6dysQojWZgMeUk|1W3$LueL7B_xI*mxMQ?|N-^%WZ zw!2T02!2}*%;)NrJp8pwFEi0U*k$Tu=qC!U8jsIj1ePyF>z=ftIL>?GW%?~4LLIx1 z@d`}uTP}Bq%dc2NVC%)Dk1Nw(6xa@OHo!*270te7B5bdONu7tQVu9(>#lBOlc!~XV zb&2l2Lz~TYxzTN018sg{HHG2E-H|YI#|cK#H%7iXan0F(lFd{jPZf2Wt_FN`}Pk6_Z=kXSh-j>B3#KtyOr3 z6F&3jMML*9fbx0OXs)@)koeRZviBGG3sKbwk~F`}`Oi31C8K!*tk+@|KP4WVILBFn z_c*vzPai#!e#8zCBKRm_cvq)BR;O5bAoY!J;0(mGQd~HEmT_fc8HY37K*Gx1YF^7g zNGh;@R(Shw@?nmPibjuipd7k!lBYI5%UM{r+5^v~-5&L}KYCV}`1!qIwnFInBbX!I zhsvBfFbov4% zP@TML0hf8mDEn$$mc(s!R($h@-Nlx8ChI^x(s9~g^9_GSkf|p+Sp7Vxx1F!CQURrM zzBxik_0acc{L9|z>@yj9igi};^ZomL-9QY?RMIa1P;qekDC#5*xx{m2;EV{zCvV4$ zFP35p!=g5ZS7d~M48m_yH4P6*($?o6O6`<=Uw*)?h%3*jakEapnPI;$M1PR%)gQdC zL;CE9+q4iBZyX2xryF zbB1V5JquJ^{8<#Zc=f+Oe0Z#fNJuqpbRzJYg-WK3&95;fph<&vw{5LJxv#AXL0ud% ziue>cJG`nciO1X<*uDk_wQ5DhZ^n!O;cdw`{PjKpzTAKjd6^L!yu$!Y755kSi=IRV z^8%rqdKc!-SPD#O*}-kR27?z7qzyCMqQzVU-U)`cOYauKnQlEijJ+dG;`n6!ew&{( z;a)m>@Ck~x2OO@t4VP{#Gg?!~l?BW}a>Pw}K%*ccD@~p@TZJh1nzn2PeZULbhwju% zeVBU>#Ca}*pS=e$pRSXFVYC|y5(lo}_kVVrjku!-&7NOD%<+l&zk9ghC(=#tNp)vr zm{)B|XJ1tcb%F!VvHtUy!#_-VS0Q|NNre%`z}FnXc57&Av><2!NWzzq(j@lZg$A^o zA$b^m6+a^fYha#F$qF`U<#3wg1N`;gPLAKu3pbq-AnqAy?M3=$m|U{t$a062OFJfk z8*tmw4nCZ_eF1+PFUH=*%rtHc$DoF8&#ReJ15x`+^uJp#R$V9$u`b+zUOLj&1ws+$ zNhla$)Ph%Ep{~jO3OCgvbIum<1r=ZB&Rf3n1wrIL_QUMiq8^Pmkj#$X!GQs4JC=(2dyQS=T|6`7pKGo!IYOsSg2=rv8vFDOA6c69iq4e@Z;d2hI`G^E+DGq91 zv5D0DQLp;adWO-t&tN)WEuPIh|LHW+MO>qHp}0T2957F-_Ag1=Qxy)MS<{>uVf4%W zNEAQ1{ZZptIg~UsTN$9I{P2YhK=q1nW136RWaWqZEVT-L++_)X8Al&>nmI<5W^84^ z=)=pz1>p`S{Aw3uL@^yYmEMBV)VS2XgA|q z_Gl8g2vDc+G#i&KkPaSu7AIFO8)Ppn$lGugjD$+tMD$;2vdz!SV-Pf+Ew^`uAkRZ6 z%0K+4=w7us=EC!~f|@N!@DJ%ppit0#-4tUtl-xJEF#({`pAU?-0%@o)Bb;J6kh9qmwT9{l zK_G>o8>fICvMB>6rRUmTXiT|+qm4RGQrg?IBm}$9?|~}kMt$%@i^ccrQ+T6?)(}N3 zqZSnJlGLcBMEA!vumcJD^|GmTzm#%iNF_7z1|lOb``{sgPA}igsog9xz=UAY>Xf;- zNQa~pB(gTRGhyN&+g47?eXc^C(zY?|E)>$YoP}Z>PcQ=Y>!fpoS)HXIq@g9Xb2TQ8 zU;qAh>d2JJPnqn}3dTqmk9(8{C!ClEj08)3Yi6%xIAu`;VjHd&8WV_|{lg5fr^dQt z4l4WVe(Bn+Pz=C(1vhx7Aeos+owEtv!JXst8Vkm2Tf|&E4*W}l4rO0`C;>8979ZL47b!@?U5tx;&A3GO4^^TX$^TQ*vMc^9nCsvulWg+0FzG$;nUIt@G?8+*(^g4>lq z+rM0Bz|=sfL>PO3%6rZ51f76KXKSVfF1>~dPSFU=VGovmr}@m$JY1SQ1}a}9l*DV~ z15qUI3KIia&G0@=G*E@VkZu3@a{dLvv;a4=YDR$)h?IHm>ub1Z1{*iq2`yg}&yM~u zI1Uvqx)&Em=jH-p!WEM`8>Nh%A7!*K z-PfyW{YC{sfiK`B?}hh{26Lho0&6Zj!0uXu#IQY(5*1SV6~8%4lfv`YNp}`?pI6>f zZ^`zo{5#UrzD!(KA`sdAVXHjz`M%d3&}UY7Tvoef(15wI9Sl>truWa;m@?rUzPzRx z&^?&9xoa66bhSwU^f8Sq7w29SAsSR3s?qJTL2xDsDSU!dY3T9o35Zzvzy_SOxk5}h zJX*%S{AI+_6OIP&&pGCxIbn9HNFjpGAm`K)t)Z6yss zlv#SS&H3=KsbPJMFD15S8WYgzmmjV_^EoG&aZGTdGOO2326UB*)CcGr_;XARx5guy z-ofzvO>*2;qiHZd&r6_eWAobCL!Wbz{4~`LN#d?Jtg3wIX`;h?^S=K$V8ioGI;?&1 zP~^=~mTV85hz$-wBc29V6+b@3RxKD8sG}kbri1gYw`nYQkb{sR<*mSF&7a1Fa2&_-St6+U&rh~HlyHHsGSWKSUwjUL zMXOJ&G&ClP?Q5S0&rC99@Ql*Y&CGw-A-=7@9kPBs%VYnELfCl??kA()p8Y)RVKDQs zXF~d~m3eEO|GvNvU+$J-z$W~a^99@ni}?HYHv{_#$3m6N*(ERVqBW%Zx;M_Yi~-W( z|8?aI;l-kx`1bnn0>X-9dw`YfrqQ>E=l_;WAs=j3nYH+5A2KYFY$4=62H!@TJ{|d| zKJQDD?4%X&DKwvm(f3Zi3uu$?V8(feMN-Eg=bIaY>JX45X|+4A631~vsbdmCd0KMA zxiw66dWN`~vHPVbsCMuU0ukmVC&I^N7ni$W=iX{Ce@qJabh{%ywr%bTPUfdD<5%vv zu&(zcQ8{-$Kw*eSGpVOgJ`u$dDqI4kP7yMZ=h4x_Tki^QFF+0folO}7fm$nxeJY31 zMNFqM9PD6F6~1-q!~;GI^!|M(e9KIQ}v#I+Q5a) z1ReSfXp`H{ein?b*&)mb@}uYl&~I^Pm&!@@4XM*-f25+0pH;NVu74?{|D{^ooLvUC z8h7PMz%^FpO_o2*vJcnv+EwiCD0Ns??(po=uaUj9y|O^3$;(Z^8#GvP}#@Kn+-M_)eORWY2kM>!$EjiJOdJfGcdxwGiPvDdZ{&V2Rre%5 ztpjTwsx{6`ek#oV%?)|=@1?jWz>gdKsfv&Os-15#^!_c+n%A5&Adlx;tqAJ78_7?# zMfy0RFPu{Rnc=#RyIijFLZCFw(zAb}eL5aDA=AGtzu&5k-d?|0rWvk#ig;2hxZ#C0 zWbny7)&b}zSl;1I?e*DAAEwI?+Po=-b?f}!!!-?BUopT+lLiv6uzEmFRGBT)hYoh% zgkgsalzi{Rb3WN+5^{EmY+O%t-u+p2RAQ734x>xT_%3(rvt#GIu*J75fqH@tP?~j8 zTE{b12Z{z>!`bys$+Nt_Fj9s?wXKwi}Sg_q1_3mTevq%HAfDNJIUqsfxCM9z1E#^d>JdWJ@pknDq9XbK*uJfFWOQSQz+cQbAD z2-R80SC!fHDLCohQF0sa_?}D?HSqgW#}7I(F0F_E?5rSo=R^OFttWDuvHg;SvOFWE z7c=e(d4~yweDI&k@ih?B2dWR>y-jKV<=vj|uza-B2Rn|U(W5)eVsE4z|PkAu0VPH-leYw@7 z4F>Wrk#U@>wf`{ew~AfJ1;?vyj5FKtQq8<~CPe?74|7>A243<*;em`@X_!vmz661B zV*fSn>Y_nFxRFq?*WOb;D`4KPnQ$u{Bj0&|SQq&;`0J;KU1$ zZ{LJ@xSotv8_?m>`a{>*yR$+Jz^si8lo18w(U|n;no^g>_`RxAd zXs<=Gmo%j(WquVD28{;;2lVL~zdA7tr*W8wZ-wv4Pl~7{`R&;%LF&cIMEK0FJ>8ps z)5>mVi}cC^P~QM&2;v|`6dK;$h*Oxa*8R%6r$jRP7FqR2rP%_ZB7f{s6Akq-gXjG} z$Et<3d%;r^fpYo{7WQ2K4d(8&iZ834H5w#tZBlL$r`;%4 zcyUse-Ryr&$ZXNWK7TL0RzM^{ptkh22)l#&B}=CDbXoFV(!FPfxJTU88H}n^%HC_z zFy-ug#`*GmT+>?5E@KHY2=oyRZm{2OtH%bKz6$cTSoPs?I{pd1JWbLsMsq>X1`eYQ zpeP5tbh^w_ShXHWlD?S)_TSA{HwNA<2CT19q+y2Te7G~e=-5cdr3rc1n*gVaSVr0p zEJG$)SHHxH>moR{E&Ic#R5{{tip9CL)Th77*v2*1-?;GJ1$jY^^ubYeD4^uS@x`Og z;@lfw_PzE~hr9f+K8)%sE4&FCp{pDBo|Mk%REys+mN_YZwbg0&@XS-9@;llxPL~%n zFkaEc(Pw6Am^SR8FWVsj3NDddg-}D%B9_;<{KAfw;=b=!PW&vKpm92K_w&N6%qwDn z>Z^ub)Nz*4X0$sWn)zP=P5M40ukW(Ab$=Xl86VTi2C-drO97u9VmfOCHAi>#KF-}9dg4=2;su|=Zj8XtJG@*B2#*7oOikA_;!nJlt2 zzB+u6-7VsAa+BlyQwIEPfm$MFF@KPnE= zgItN~-e&B@dwZ3c-W%yP+ytGT#7oXu9MoG5Q9?w$F&@TZKh_7(Lhm%X6zv*HBFpY}oy+;N* z!IQoja`f2^hjdY6(~st!LT|;Kim?K&OW9CX!x7O@pA8=Aj@azi>4?6=aLDor8YYo(p+;3>_r9$A}nX5ve zXA0H!EKj9@xnSVtcvaCrlI*dx2g262&pr7_pmGpv2sbp^onayPLNMG!oC=Q9$WkCK zF%nZ^5BqJ?=vIx7ZcoVrrxnWij-{!Pvb<=st>;_Yyw0{#{`D1w@oDy}WiU$qhaI*H1E*NokA(R?rruM;o;2tie74g3t zXLhf@y>Bz`GjNi>W^B-u4SK5_a|4>x9U)8ccgZ|HWX1a2cW0sy8Klrn+xNn?_^C&4 z_Az>-TZIyS1AT?6X1_lc5$5`E-_k6WFF+|3?*w4B?zH>nnXj@1aNv2Hl!NCjErg82 zf>T7mpEjSbl?s7GhxZ#;xU4~K4{Mk^&r%b=zv@ejNetRS@j%7?Wfwi`IlgE1EfvJV zz1GS;tQSMDxLs^mxNc+Y(=ToxgKFMm!sT5aF7C0z>DKw##ef)PC_;?yxSaMgS=R5K zA1_DL@UH&;n`dxdlJ&tipw7^xqJF&z?81@yip_o=V|Hst<&}z+d&LZ+*i(XpW#E#9 z=S*&GKu12=dECV;{uFZly|bq7t9`JxJKx~`(L&5n0Vunt%ZDcXlIJxihK(uZrv)jR zcXB~JmG*iM58sT0vUXX7vK{;<5IweHbw&%6S70`InHhk^NbK$vXMd8jAuM211-CarGQ=iPqbn8G<@ zk8Bk}1A8fXV!kh&Bh-nAt)$6zH0Lv#qA{|%T=O+Y^tc0>Uey+tNc+p~QoN(O>HsiW z!&&OZ`w=p}*aJQU%U8WqPHM;o@%83xSuJ-l-8;J@NVDmSUBq&6^QT!6z9* z{!`;T34fr{VISgk7wBb;uqXzcl7OhYyJ7K7iEA=ZiIap$aB}km=;ldgt+u*+}#hTlc8-6+qAuA2F2v@(Unl5?B zH0sR)(Q}ooZa3FDZQ}ta!05_Bmgp}r2Icpy;@b4?YUhmT%S)L1QSaBSF$DLU^kwSL zzMHcdy&E6-|6hf?6%(j_Qk*A08Vw`0y)a^mg%Z^we=*~VEfme*DNy}7uI!AanKkpb z=`Q4_kfQG3D6bq;L>=t0x7Onj4AW)`DT$`Y&P8&L_{3XkihI<1&BbfQVrTC7UShl0 ze#r6Lo4>_YDi7lRo7#I+ouFcAk!UR4jzXM!dmsKseX5s~WKKQk2K$pM6&?H((9HC7 zmmhqHqP5s}nbbs7)VV;Q|tdktvuynT~c}phYK3vn4xe0w3@SQhtWO-a+IQPvwjg5jz5LD81em=A_CMQER=;E z%X!VXxY4IiJVrGLa5C?`*2G+O)DW65s|}xzG%(9=hh`lQQY)95mQH^UHSCn+&D_5Z zLfrFxdUxHqAvszV6Bfjp`ltNV+P@rvTCN%$&vAFDYqK?SZVUO0B31$yc`6(QZd@_y z;K$0_r+dcw)?bSYFr0BdY`0Kl1y*<#=_Vmr0xw+Su1x-%VAC{vr~wiY@{>bf8mdS^ zx$a~saHuhTJ8=Wz>XHhJ2{04g4#`C#R}Zmh714xJ51ZwtE0uJ~@KdMviG54Gd}!EorJP;ohZECLy3c|W4$&f>rF!Cx%lJot?K75sCh&jg#rZm^yig-< z8c}&-cTPel=GSK47pvAVa7Z^WaWD`xW#n)yO+qJa2YSz>kU3L!I)6lav0ao_V*0{~ z?`=dyJR_O)|F{6x_1Ff+YXDbrVzXVuS6=06r7~YnWG^f977j0U%wp0b9d^Y=OH28G z*F7D~PNWh&7LNLQ@|4ilXQ+{8!@eo)$-w61gl@7 zm7A|4(r7XUPC?S>S6@zEW(w*K$EQ!2=gNU%agg)%C;);JsOy`MUA~!KBkvHgkZcC0 zNe8uW$j&fD*QMw!7FHbUZI48j-#FUPrtdp4woha;lj%B`L4JuJ_2zQKi*tW1@*A}| zL8)ha#!GI*mWVdzCuu5n(uCS0f3Y5c-{Uag`ztH^y_*lpO7+K}o@JalVeB{O$p`Rr z#2nHyv(vJbqrGw__UaSpt!w*?qRoDh5Z6HF9HZ6TB?O3A0sFyxImeqJ4a{(WV#C!wpN>;00(K_w>Jd6)u4lZ=fv)xU0 zZa<{+e89$fMU(6oniy%|{@GiO>*sg|{vNDhP6}VnaNXwrNNAmJA2PM7$M zxKy{5rNE06r?S<};m$ppU~r~ng^?dwt#tmE1m9l#{cqc!ccH@KTO)|M6RL#B9E;M; zDkV^xo2Bd8R@~Wya0D6DOb{+|v~79Od|rVSNsYY_d5I%Cgh}yHUl)p-n~Z2(j+hxW zUFV+HynS%2`+%!GbC;p>J@{>Y_iwExFjBlZ!CPEo!%3Bi+&=3`I4k#HxQYzPXwY-w`tNlzjp z#i1+G!c$%Pv(6Ef>SBoPFF3hh>Q(1<&qXk*H^LbDFPy`FtKb%E#F&Qg1#v^fe9jy;KiiEwgJPL3`;iMfSxPoN#cRLDNiz%UAM1q&IVJYs`v`8#A8Cq?_~Ds%Twr= zAX!nqFgokkSY9|kxn^_h8}a$tVgDwbcH}fknL9$6&Y6LM>bMV>@K;Uz85sC~#eMld z)Y13<%y?nOI>wR`21D5?A?sMm*rMzS6Olw(h%B>MLM4NmC6_e)OxWYwS5DJ7xV1sdS?~GjX#a5!G^m=kvU4)r>)0sEtU4JtSQdWY zGqo1Mrw+4R*w?%4b^*w3WtW6mXC}HV)Z{@a)U%8AbwXOfxeHx(5X5gGRSF+Z8~!4G zszi_n^?R6c+s|m#isH#scF$zYg)$nnU*zal@@mUCxyW806DX&hd+<@5dq{Ha2}KX@ z>Ykdga|tn)ltQ}HWfcf2E*=GzD1ob>XAX=-aO}57ieoEIwKxSMK;;Ny~hLRr(hYIO?<-}K@zXm zky^|P<%@Q-d!W#c)C>6dCL9^?mVrI_HJ|NG(uy^v&TaU!*dmH9ygzH44AXh?CFSSR z?@VKVDYSJ>5gV>6)oTun@s)JV_f)*iNk?4uheF7|P&Xx*BVg*@l&J3uucnj^f}&gc zdh>bEJIsVIT6QM-BQrB&%g*oL#AN?xVv5-A=90E?eIK*AN3+#g&AO6X@?i{tN5k?^ z*<0>pJ=C!)QV6o`b3L?jRf(hKiA0OLg7}D)<(9e+H=Z2FMT=WxGImZjQCDH*rxB%v zGAzF!KmFM|+$|eHyRVzMo#-=B79cVvU97=+@$x%9geui1JQo|ka}kW9Bn=_IR~zQ# zjwzG4u%|7@hCDA(b=dN~SJz4eLBxBp-Y0e2NUwD#dW_a?&ht!nY;?1`y;IwJih0ks zht@rD-O4ibZS}`KQl2tzT3g2LI<}72`eMp<-|lF+@g$GQMoZzhRwN7#yL@*;{2rUa z${q;&>VkoZ!@L>NryfWA`AHg=hGTAK;%RTwwmb;3jyY&Bfs{noR!&*`Yi0V_O-2ii zy;S2MJoSf$;z0e|>(d|r72dhsmu19VWU3czGnR#Ms{<2h8C~_~cm(~;;dfof7>7e{ zA)#-=D2dx70>{kph4b2P8oWPtH-F^Zl_+q=D#IF1%^&g`ekHNSM6J}oTtt@V)#mlt zhBvn5*V?xaO1i3ZeDp7IQ^JGaAMH;zI#tSg5S(gzO5<2$q_;jbV=RrO;YjwM4hE(E4D=V`^g_>C-3|k2x%FW zgk6{|5y<;}2sD(GCAuzI2n-Zt^`0yGGXnub90LYl`zKRLe+W%6xWv>yHrKqzeSDb~ zaVPeP5q`UWLm6SqO=A3o&^K=9iZnUXMrtm^1*MoZ@QttyT;IyW0=+h{CZ8?Zn}Xkc z5apSFH~u_+(TuHP zzrf3>CDx#lcTqeT*FC7h7;hYW-b-KLbAc#q@`<`1Ex-G|K4DlKOdDoS&y?PL=FLqx zxclmpbF42d$&Bu)^()D2&+sB^aM<{I^YJT2*eZqL>kdaQ(0ig-UoPErMzgL6m;Q?b zHFEu3Roak+#wBe$ZY#1FhEd;TjW#Tlyig<3rK0%5!_aWvq@1bHzDtYu+uf6xoaGB( zTpYgt_8=GpqU^uluC<%KWfRlmhmLRljxnaPvGGx&17!^;(D1n}h$JjRom|*8z0jmK zcBd|V03u6nc7V!2n8GVnP3Bbpy}H;jqA(lr#{Goc^}-K}uRn`dvn4XLe0i?Vd2_Fr zXq-!Zw2Y0Ukuk6(O%Xu4)clVuTIyE!j=eT8E{|aS=ts8JYOk8{*rL^_ba5Sh;^$uo zIXt!;afr37CW~!mvGR3rQ=U2z-OSV&$ZHb)szJ;x65|Jv#s6G=FlX8U%bQkq+-ujM zt=cgq3KE}ITGpa_oduu&1jC19*%!FVR4p4jC5$HQUSf5Gy_DMT_GFY%^-~k>f>}D7 z(%e_{WA|4zZ4yowKyynv3{(%jh3_Lerp=@Y7?5{7x2|9j1=qtHMh%jrZ7-VA6f=dKIo)IARRHo#>1FI$Y&WWLp1y6yQj7!i#;EP4Kx>AjQ5vqw(W z-%m9DeY@T0{@#bF^uiO;67_kHe%ao4l~xjr zI-T^a&S`r6GV}EH#Xoh~4aE6{icURGy1k22kjwu1ONPih;P?tuqer0J2Fo0Pfe@7 z?ZP|^s)j3F8u^lYCmzmpdbXqgG>*yghM;VbF9LKChU0&h3y8t4KUhtP{n&9^9zRGr z#xe&CY8#RA1o;89WP)p7&PiBVgt+8}gx=R>%$3s8Fhf{`^`Dw3y)B(ub#$vzAo^ye z1zkL$c*jBE`nPGh2@S){Zb|%RXZKrfb7u@iJ0J^xnQo#w;8xAaC{RdV z!DG2O5~&okuexNcuZoH{c$;f4;~F zC%~5AI_@_t=fAut5ja3S^CV-l#-t=44@^89uc{&N+f6q_vbno?+R(!(D`~9o7qWyl z@rGJnzGY^=>DF3+U(N|wiRz18BU z6vC6_@3!Wh>na2{?68j(Nil-Q)eggLQ(hJoQzV9cCWJbqA|H63;T%cPO-;qy zryASS*B2TxNz|8NJZ%lD5F#l3aE}Fw2%4?0ROed(8S@bNi`SHnU5DN^+Yd$`0fJk9 zqZS9&mAXqvb6J8b01I6qMo>7IowsdNYS%MDWZfn0Ds&FU+vyj{Kk=Puzi_K56Vr+4 zcWhqIv7*jB&2cm8$7As~=m~64&WpJIPwB zr~rS~Z&>~TfLxEqBCTa!Wxd}mfm}MoMS(V>ui17LS3lNWK5VQoTz)3pt|guWOqL|I z?|HBF+;l#QDSu|Cv$>U7WwG!7@W8T*s0MdDxTWUPd?5s0r2P4i6b~)g8QOM?pi_GM z_RK4T1UHMQ@w{e7tJ&>fNjM{f{&FG8hUxK!TIznur&{1JjV zaqQW2ud6pvj30oru0GN%HWS`N+*vEmdE1oRBJaJ{n+MNcgx)>D^Rf%GXek`Ff2y z8_a)~HUIYM_}nQKAuhLTN3iUGIW`*<3>@k?<1gw6{m7ZVqyPB8b)%|rH^fa$7ej?m zV&Yv3);8C+zYDQ7aF@D$6N3i6${IgSG#~KjjA3K5gGO$KI}y%oeO;i2hLtvt`grZ= z$gR%NBx$eJDwm+fbCfvH6Q zjSsXl3hHfNBd9KBTX1hJc!9Y%-^~eEU3Z&fOD`RE3I=lS+KW^NiitWJ8aEwJ41AR^ zbRXcF5e#)YtRSIW$UlDPxy2ssvF<#vY2xKxgw9C6e*`@s0WxG&=WsjqxHS2-blJDH z^lq~NX#}iMhz}GiovpdiHIs;#6PdMGO2?>H%yZ@H&QcbZWr+J=3;?_sgkG;5Ma>Va zzcgTxWYG9moA~&dX}Mzj6L(_zX!i*92#` z!h=Z-=jb+xZu-%YA&a{wmL*tFZUaV8hv)<}XDjXhHGtVT9wf%@n&832?YD4MHBX(P z*~){*3y$Z#bYS)iG;Zslj;o2nx!y~{9uL@7**x-h%1~ut9lt)93x^xNTd`qh2bpBO zcx~^E1wH$L|3<~b+)$mLHP?E0VfIb)?5zFexG^lHPkLNr9=4)l9YR1`tzF`EEIR~kWI0M_#Bx7B>=5qmyO zt8>2Yf4aFNw%YD;9vx7>wM?u1X=1E5HAfSHqazX?{8O`b&ePrGPvz!x`gi*0B7Y0wNJaJ@&U9;m*W*kY>G6YARBkCHr$Q^?38#7${UcIVgU6L}O7JYDd zug(YLqUg`Clyd_fH(1e7qcTx6qV$OJczqDWV8JGikUsW`b}xDq6*R9S$LNfk5tkX~ zU0Msun%Ikuoq9e0j32xE_n8!alM7by_1=i8#WqKQuFy|3_6EB}T7_BQa#M)|(-IM; zI+Di*!??7`*kMVrwbH#3P~(|oqH2l591t3EGX#+~P)Rs-rEW}dl3#wIjNx56RwiOQ zs_mQ@GsWkdP&}x@eZ*1nMdy*S%?EmNGpcuEgMan$uj-puZ#NvFjXPwo|C&Cymk6yv!=OpEfq$l%E@9>+SrrqzNc$>~}j+blPxCzZE{@8t@8$ z%)^v<<@o;&V4I~@ys6eHQ;-blul;nLumr`Q-hP9@Y=_#^`$8bbRHI0;@So1(b>>S3GxXTP9Jj`RSJKuz&7lBHiWSETLgI6a@A!v z4dEGU<$Dv4sFwcGPluZH^8C4xayt9$oB`Cb^Piwrp60X`0uy9(GTmqkK^%$_FY6`akR9Pl+ zARl#bLgL(k%MS&rq9o(k*m#NjLEtBSUR10kX`{J-Yv#8+EDh%erUNf3;d7OdgkxdR za@{xNkOiD5HVbQztKT|)*^P+}bg9c>iT6yCLwnyAq9~LWaPr*PZs^~>U`h~pYn#{XSWg{KbgBG(Wf3us6=XBN0#b5`8o=Ma?4==O@{f{1onxo z6}b7TSlbCjc@!yUn55ueF=j~olDmPPMkPCKU<_*`UxL&)QB#Rgb7h=);(Nwj44x0W zmy^QN`4szt`rHXwnj7sYr`m-c`-=h`9k%=L*>32Li^e&atn~&(tVm`ykKH%vZT{F$r>(Iv3<9S1C!}Ms;bx=Palu3YyDp z5u^mD0k+_4KJp+hf?TfU^n-0WM)YVD4?5P(tXr9X?(H)2d_o!BMTSBAc!bWIzO&v= z5LUi;8je2bN;+z3I_3hTCN^z+!mK-9%IiVn=icNyPKb}vO)om^eKphr&2?NRDlEY} z)K~HIN6qEKc!l9)XmhC-bcwk~%h%kG*T@SNy#DCRCkr=fpoZ5udDIGD>F#soQx~67 zLlFv!ZnGl5botoKIFuVE1dD`VtdCc`*;Sg{4kVvRGK&2gv*Wn$(GkOiiA?|@;&yTN z7rjkIGW*F@cK>mG*-w2Mdn0^3N*mH-Etox1QWu3Y_>cA6ZszO7M|9yY#R>sY55jC5 zm@g|}FGv(6WZ6zi7B9EZ1s)#ni?J?WEg+IpEO%pze@$H$Bs#5ZN9=PR?F4aA1aHod zg3FLLYQ|b;aj?^{>?G#=A}L)#j+x8~6@Q0-8L~ub-P$bT#~L3wJja)*qg>MPNo(`o zGAUxfS^Y&}NO8%RQTYu|gI4jAt4wi=eYa$_fFb6gH^cX5ldwsoz8c&k-~#FyI&OB6 zG+S(}j~;JI_yL3+KLpsuy{mGi%I}V1(RM1NT#sAkDQBJZWZ5{?xZ7^ndO;bOSHx$R z=uB3ArbATSxjn11L+R=mq&ao&YT0a0Hpue!Ny-5-cpuL8=aP)j6aeZe8FP*v`f22P z0!Qh#+30ouGQZvWApAc~+1TF@?*tKKN*V8Gx3n_3Wm8@0ZnS`5m2i|WXx)omOTzlV z3a=WF(wB~c#&E*ENXY91Huk`A(L2lHg8selxGp{_8H7u-sj{%oT^~FpibVG?J)5I; zbzj6Wd!FrFKOx8X6;;U^jzcGt`o0+UycS0|0{udfZHiL5B{eJ{ouje&EQYNOoDNJs zPVJv!Vj`W8$N_ala5eUrpmBWIBYh{bhmozM}`N;QL)S}17NknH-iUWUjeBdv&uinZZ6r^ zK=$vV6vZ%ITF^pbl`Gn7KpQ4v9^Yx=qw5Sh3#P-gsPaoMdk#|3&eQ8$I@R#H%frEJ zN7~elH>wx~&q96IujysPF)QBh_)Fe%QCXdcnL?mMF>4l9#K+krk&nkOe|H8ZdW|M0aV>y!^(^Ik_0rz6JAvc}tO_X< zXL{=kUJwPd)s5ZeA9FMf=}rv)v3mMz@SSPdqggAMEQkb3XY?#00c%)@+lEf7V~s#j zXb|=-7Hz+B{tpPq1FgGKKMDcV=H`xbq>TvFz(qx6VA!o@i6tSga(i4(8X^f{~g+uRjhd6U{g)w<04;S8RYgGI>o<<=1U39F?k(M!nCw!FEp z2g~c%bSRvRiDH8CpWcA7`RMnj6-_DkKzR3Q1b&c#?+D*mo@cv4&AJ%4qXK>yZ=P(F z4aY`86I>4GU1n!jWr2fi8T|tYhDE$uY>;G_#O*}-Z}xcgkhUc62B2n+Knwi?i|ZAv zn&2}hf9e~))rl9L?SYDC-~PV+EVN{*Vapy#exWQBHZcD9ripKTgFJ`Vy%nu)c7FC3ddvm|P^?(I z%M1Y;>gs%$w>5J9&?wjDiZOdC9xCJJ3-|n!ju0Lgl^Z8M zx)5I#XuV*}g#44(&m6E=5qdDyJ^wjWgd68rP> zetZy^on0|Akwp1EJ)}W)XT=%7){|7qE(AS-vC!xtxL~{4ybnPrt-gu|8^%IlT^xQJt zis!PaI7(OuUHR^(9m#s@%x4C`X4S$4R$w}A#VzU~Gp7ZYf3R%q)cqK!1vkJPT;$~2 z3}K#tP>M2GR|{OML6A}d=tTG+iUVEO4Sm-<*M_75#q;8WDE~&PR+e!>NNcjhhB>xM z8kntQhEsIgag;mYT=sr|RbVmJhIobo+!6J%;;qhMiWNM!kz3`f2%mpz-diQrMtC+z zQ8Ta_U-gC)9`KqOSUxVUv-G`{$=CJ53)5u^!)4E1X?8k}I*#0->=)Otq@MX&gf^gp zOIOENesLg4Jtn?Ix6y%SqAF^tn!!JfeHBHn2#q=NF*9$iHd$)US2D9bhN2oVU96x6 zpEW$}#D>Bme#qSq(H^@K`|+4GysJ1ezvFPsJH!gS;TYQcgbG$TdMJuZp&-FC<{f*m zkzD@XF7wDCW_H}eb9?%SzDI+{bERQmPPhwBPC_Uw+(P-R7XJ!st0N8lKEK}dW**AJ zyuhP#x}x%@;oLaFuxsPN-8XDpR$8fkU+IVJ_9x>ByI%S$J8=WEDNOnQjMh46*7wjk zN=e{oVQHMX2Bf9$USgcyNc2hQ9Rb&43w++jXOWrimyN=HaMXAsPf*c%sg@)3{4*Py z-F)WPEddxZ4^q?Qd+Ff|k3W>7|II?|2SEz`WlQ`} zU!TO8Bk-J8mJga)ELqBo@)+XZTA8Mo_B&HT{KZ;g^e|n4FkI7Ih^V6;szB;y`Sagm z25NVNfEhpX{$)f_;3z+mYwgTW>|Vk?ReL*#W!mk5DJ{!oQUkz?w9dGukKu|wwn%o znf-uCTX`V%TA%gz^HhvV2vEdO3pwQ;XG(caWvp$Ik3V+-QQ>?9X}}qpk!@0>TkY*q zdu96YO>1ZHK9>w1^Y4nruIxLOi96P5@5>Z0T>!K);Z%}F4~ATgSWq}D7UT8SA9aZ{ zm`FwI+SZ@1b3bi#(6yUa&M9hZt>30ZWSG%J4g{K&)=ujQa^@MqTx9T@ua(lWJf+A; zn44gJkF`m75LHInnO(~L(Lit{d*yGR>2FO+BQk6VtBhE`^me)=qqe5$?|{8;({gFP zEaH(GG}k{qfYm7&bzGvfEG$UR?Ce!&fI4Lf`$?#(ZCY?VvcK50F0q+)vuxoU|DRul z#4lxW1FmEL`B(>9C>|fi>I6jOyxv{vH{NDF?c6LpB6g>%h2u?XD;`H=9jH4i6 z56xd4`hHavvl?B|0P_N|w@YeBY`DDq)2`I!84&#V5{M~_CkIb5c*i<-X!3!>IK6Fj zU@kY}krdR5Ch}#s;vDD{*szQ^0u+(Pb||q-*W23o((9DTzk)s`4Jky2j!<@yUe};) zZNt0+=A(zqc5wX=PjI2%Dm`i>LE0*NDeyS`3HBinz>DUF^&6}`H+Zy_h{nJ9eczzq zX3kx^$=FSkxkK*!+RrGAdv)5AuFUh24CTM9jXM0qFE6mcT9uMwVypAA}bZ3VpWBVw`=!#6bfjbYq7N1#xMJiQ_7d_SIaKqD7-)y zqn}-)57xxVbroc!VzS3cc7^tJX*UX=**j*h3T=f!W+d z5gXB@eBP~S#Jnkt1-2{m{;Bm*`N=Jgw`D-+J7>+hCh_p`y%-}@|wAudV3aJ30uVVbqwTI==#uTHl#B%O7nJbjTJ32|a zQ`;(xXS9_9%BH_v@&rL*7Ie%2hQT9OHcVPDP*iXX^~2hrK=jK5#GDN* zq!k|aNcm#Fz+KhI@6>H~rU&6^?n374!7@};1&CB(+!up1+M>}60HeVil_4J^&c)7hXg|Qbq{HMK_^yUdQn15xfdo{0lD2bF! zx}g}VHCJ5#?rfm(?_!Sub89|YjyPRB*U!)kLi9H~v>4?r8?NE6CN(#vz#by8=s+UR zahMAZKY=KcJ*8=-cT)0Hw*z9{75dOYM?wXcb4}Icdq&IWBUhHb+3(KFhd2L~F3UWg zU5E|MNP-}ek)^vbFToc)kcv9#a`e5h`#Vvqt1ulac=BsbbD0YTkjw$7vBU0sN>h&5 zwwY>R87&L?=`|-J5&IbH%apc2p~=i+D`Zfu3r4RAItjl&fB6>0h^yOI>$1a9U!~+| zLTyRY-}g$O4^T7A+YE-WHXuPE#3Pu*7o_==mh0cgss3MmAt3>$uq#|Lw4_2tVc5fi z4y0b~XaqahiX`lXUgmLg86#K&814+!tHELTCBNbrKsf_gKNwN_nYpbs$u!U2na|wc zh$raaNB|0S6(u5No=TEo&|kyAbh{9{l5M$WX`#b`ouaFHsm?RStxztvh5T>peuM>k zOcxT$2H_@qmSYn69Gw|`pU5ZC#(8{FE=LPO*;>WkMBEpMjM5th6lCyhU!FKx0y(W zwYLe34DJCReWo)4_KpKMm)cZg@}|B)(>j8b9&Z`hwJ}s4Y7n%=zZ#^prG4gm{=7_Z zA_P&1B|)*AiRr8e0r(7KGv<};R7W+hYY`Ht4DWNZ8y!dA_OC8p=5PE&pgr06vn@wi z09(RXTmG9KQH;t_*sj*)25Cs~mdL`<_hu2F$d>loAK}Pi78+EfBx9GE;3m@mip$XoAD7DSz<^ zmLJdq9USs6w`Wu0_}jYY_3~#X5LI2{K^Zi0`a~t zZzBzA>vx~XJ?1>1fi~DuOUe^s7h->yeRX@!ZM84?;XzovwGXT_4 zB^47V73Uh_ix2~qlY!8u6RynJ#=V0Q)9~u#&S>w3f5Qa^!exWBuX)a4kcQYG9#Cu% zz4V8JwUA!D&*zr6nFB#h%q5Hc4;5})!Ju944h|QJ#q%~MF_voaq$7RJiPzF<8{vK1 zg*rxP(wkn^R1zF6o>+hNF(wZjDn%qn5A2GU0gMlLEJPczCb}G=7*HR?ZF9aieYX=> zmc343s$M)=xlkzuMR}(|SV(v8ozy_VB}%h2XVpKfl%;^gpXjb7Re;2&gT!AvH?p*2 z`<|)>!lHK;SiV2$q!9`(S^6qCOCp=qdKocTOPaNgi5Mwds~KI+UZ|rnOW*q`W@o}G zUWdG2V?mgcgY0kw%V4`Z0W+er{y4HEnE@IdLDc*au*f-4E6 zOQPj!KL%-lb;}HW@`b4D#9#WfOlb`G@Qe6{Nnr9^;0bS6d3=0(xAAz z9J*N>CS?3gAzfEa)BjH@)nhQVF^HbGFa9K~CW&`>JBJ&qjhgu<@S;9kLeT&W{zFNx zwuYfqP@=@qYr^W#aRc!?QFlE5A>-(mN%z8KrQpy1Wj~&OtnuoL!Z9`OqNFn9_C!qw*5z)WqVLPxsZG$T-X(TKV)(_ z1c80xp`0}2FDX@r?Aqh&2RTFq<3Ub&+U&|4|7nXO6Aj1fYR)#uNh(%}Pz==BVqnMfkj3bH^OlPVa#1%1{p>*e( zLyZ!8oOxInn5FJt4Tkb%k1&a;RIVq# z{U=X?;ks(V|MYj)Nl;os`p1ft5Fnm`&v9_x_C^2uo`~iB_tE8?itk`Q{ykI(sR;^# z!@p-n0xYWQ8(^OffOLY7Fl0sJzs0by|80EE`)|B4|t62bn8scRKl{HH-INZyXfe;Y)T#Xz;w_3`Z06cFV9QyB=OEdL{|%jjQE z2Eg!5|LchgWX%76#efhT2-LhHS#~o2qaN%e_y5mMQkl?=H(i`!T>^#>@Mn7FobfwD He8m3&O&^IW literal 0 HcmV?d00001 diff --git a/assets/icons/png/mastery.png b/assets/icons/png/mastery.png new file mode 100644 index 0000000000000000000000000000000000000000..99454b44bb430ba0cacea3e93b4e14f44a719780 GIT binary patch literal 65440 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

nnPA5tZ~S+hv(M$zcaXLaGWnPp@+- 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

GgiUqWZOD%a1ed77 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%0DNob}JZ9Fx&4 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 literal 0 HcmV?d00001 diff --git a/assets/icons/png/mind.png b/assets/icons/png/mind.png new file mode 100644 index 0000000000000000000000000000000000000000..7a9822dbcb9ad5e1f8e5ad46e9aa8c427e4fef14 GIT binary patch literal 70668 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 literal 0 HcmV?d00001 diff --git a/assets/icons/png/stamina.png b/assets/icons/png/stamina.png new file mode 100644 index 0000000000000000000000000000000000000000..85417a0d239987ace5411e065f956e69e21ca42d GIT binary patch literal 30672 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 Z;nTwL)Tajvn<4N|PuoB%N5dxY{{fyPp&9@H literal 0 HcmV?d00001 diff --git a/assets/icons/svg/card.svg b/assets/icons/svg/card.svg new file mode 100644 index 0000000..a9549b5 --- /dev/null +++ b/assets/icons/svg/card.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/svg/health.svg b/assets/icons/svg/health.svg new file mode 100644 index 0000000..abfba25 --- /dev/null +++ b/assets/icons/svg/health.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/svg/mastery.svg b/assets/icons/svg/mastery.svg new file mode 100644 index 0000000..dfd9049 --- /dev/null +++ b/assets/icons/svg/mastery.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/svg/might.svg b/assets/icons/svg/might.svg new file mode 100644 index 0000000..ac0012b --- /dev/null +++ b/assets/icons/svg/might.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/svg/mind.svg b/assets/icons/svg/mind.svg new file mode 100644 index 0000000..24936ee --- /dev/null +++ b/assets/icons/svg/mind.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/svg/stamina.svg b/assets/icons/svg/stamina.svg new file mode 100644 index 0000000..be049ce --- /dev/null +++ b/assets/icons/svg/stamina.svg @@ -0,0 +1 @@ + \ No newline at end of file