403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Program Files/Microsoft VS Code/ce099c1ed2/resources/app/extensions/git/dist/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Program Files/Microsoft VS Code/ce099c1ed2/resources/app/extensions/git/dist/main.js
"use strict";var m0=Object.create;var Su=Object.defineProperty;var TC=Object.getOwnPropertyDescriptor;var f0=Object.getOwnPropertyNames;var p0=Object.getPrototypeOf,g0=Object.prototype.hasOwnProperty;var z=(i,e)=>()=>(i&&(e=i(i=0)),e);var at=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),Pu=(i,e)=>{for(var t in e)Su(i,t,{get:e[t],enumerable:!0})},IC=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of f0(e))!g0.call(i,n)&&n!==t&&Su(i,n,{get:()=>e[n],enumerable:!(r=TC(e,n))||r.enumerable});return i};var st=(i,e,t)=>(t=i!=null?m0(p0(i)):{},IC(e||!i||!i.__esModule?Su(t,"default",{value:i,enumerable:!0}):t,i)),xu=i=>IC(Su({},"__esModule",{value:!0}),i),D=(i,e,t,r)=>{for(var n=r>1?void 0:r?TC(e,t):e,o=i.length-1,a;o>=0;o--)(a=i[o])&&(n=(r?a(e,t,n):a(n))||n);return r&&n&&Su(e,t,n),n};var NC=at(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.sync=Fc.isexe=void 0;var h0=require("fs"),y0=require("fs/promises"),v0=async(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return AC(await(0,y0.stat)(i),e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};Fc.isexe=v0;var _0=(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return AC((0,h0.statSync)(i),e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};Fc.sync=_0;var AC=(i,e)=>i.isFile()&&b0(i,e),b0=(i,e)=>{let t=e.uid??process.getuid?.(),r=e.groups??process.getgroups?.()??[],n=e.gid??process.getgid?.()??r[0];if(t===void 0||n===void 0)throw new Error("cannot get uid or gid");let o=new Set([n,...r]),a=i.mode,s=i.uid,c=i.gid,l=parseInt("100",8),u=parseInt("010",8),m=parseInt("001",8),f=l|u;return!!(a&m||a&u&&o.has(c)||a&l&&s===t||a&f&&t===0)}});var OC=at(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.sync=Gc.isexe=void 0;var E0=require("fs"),C0=require("fs/promises"),w0=async(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return kC(await(0,C0.stat)(i),i,e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};Gc.isexe=w0;var D0=(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return kC((0,E0.statSync)(i),i,e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};Gc.sync=D0;var R0=(i,e)=>{let{pathExt:t=process.env.PATHEXT||""}=e,r=t.split(";");if(r.indexOf("")!==-1)return!0;for(let n=0;n<r.length;n++){let o=r[n].toLowerCase(),a=i.substring(i.length-o.length).toLowerCase();if(o&&a===o)return!0}return!1},kC=(i,e,t)=>i.isFile()&&R0(e,t)});var LC=at(MC=>{"use strict";Object.defineProperty(MC,"__esModule",{value:!0})});var YC=at(fr=>{"use strict";var BC=fr&&fr.__createBinding||(Object.create?(function(i,e,t,r){r===void 0&&(r=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,r,n)}):(function(i,e,t,r){r===void 0&&(r=t),i[r]=e[t]})),S0=fr&&fr.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),FC=fr&&fr.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&BC(e,i,t);return S0(e,i),e},P0=fr&&fr.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&BC(e,i,t)};Object.defineProperty(fr,"__esModule",{value:!0});fr.sync=fr.isexe=fr.posix=fr.win32=void 0;var GC=FC(NC());fr.posix=GC;var HC=FC(OC());fr.win32=HC;P0(LC(),fr);var x0=process.env._ISEXE_TEST_PLATFORM_||process.platform,UC=x0==="win32"?HC:GC;fr.isexe=UC.isexe;fr.sync=UC.sync});var XC=at((SM,QC)=>{var{isexe:T0,sync:I0}=YC(),{join:A0,delimiter:N0,sep:WC,posix:$C}=require("path"),KC=process.platform==="win32",jC=new RegExp(`[${$C.sep}${WC===$C.sep?"":WC}]`.replace(/(\\)/g,"\\$1")),k0=new RegExp(`^\\.${jC.source}`),VC=i=>Object.assign(new Error(`not found: ${i}`),{code:"ENOENT"}),zC=(i,{path:e=process.env.PATH,pathExt:t=process.env.PATHEXT,delimiter:r=N0})=>{let n=i.match(jC)?[""]:[...KC?[process.cwd()]:[],...(e||"").split(r)];if(KC){let o=t||[".EXE",".CMD",".BAT",".COM"].join(r),a=o.split(r).flatMap(s=>[s,s.toLowerCase()]);return i.includes(".")&&a[0]!==""&&a.unshift(""),{pathEnv:n,pathExt:a,pathExtExe:o}}return{pathEnv:n,pathExt:[""]}},JC=(i,e)=>{let t=/^".*"$/.test(i)?i.slice(1,-1):i;return(!t&&k0.test(e)?e.slice(0,2):"")+A0(t,e)},qC=async(i,e={})=>{let{pathEnv:t,pathExt:r,pathExtExe:n}=zC(i,e),o=[];for(let a of t){let s=JC(a,i);for(let c of r){let l=s+c;if(await T0(l,{pathExt:n,ignoreErrors:!0})){if(!e.all)return l;o.push(l)}}}if(e.all&&o.length)return o;if(e.nothrow)return null;throw VC(i)},O0=(i,e={})=>{let{pathEnv:t,pathExt:r,pathExtExe:n}=zC(i,e),o=[];for(let a of t){let s=JC(a,i);for(let c of r){let l=s+c;if(I0(l,{pathExt:n,ignoreErrors:!0})){if(!e.all)return l;o.push(l)}}}if(e.all&&o.length)return o;if(e.nothrow)return null;throw VC(i)};QC.exports=qC;qC.sync=O0});var ly=at(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.readFile=nr.writeFileSync=nr.writeFile=nr.read=nr.open=nr.close=nr.stat=nr.createReadStream=nr.pathExists=void 0;var Co=require("fs");nr.pathExists=Co.existsSync;nr.createReadStream=Co.createReadStream;async function M0(i){return new Promise((e,t)=>{Co.stat(i,(r,n)=>{r?t(r):e(n)})})}nr.stat=M0;async function L0(i){return new Promise((e,t)=>{Co.close(i,r=>{r?t(r):e()})})}nr.close=L0;async function B0(i,e){return new Promise((t,r)=>{Co.open(i,e,(n,o)=>{n?r(n):t(o)})})}nr.open=B0;async function F0(i,e,t,r,n){return new Promise((o,a)=>{Co.read(i,e,t,r,n,(s,c,l)=>{s?a(s):o({bytesRead:c,buffer:l})})})}nr.read=F0;async function G0(i,e){return new Promise((t,r)=>{Co.writeFile(i,e,n=>{n?r(n):t()})})}nr.writeFile=G0;function H0(i,e){Co.writeFileSync(i,e)}nr.writeFileSync=H0;async function U0(i){return new Promise((e,t)=>{Co.readFile(i,(r,n)=>{r?t(r):e(n)})})}nr.readFile=U0});var Om=at(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.EndOfStreamError=hs.defaultMessages=void 0;hs.defaultMessages="End-Of-Stream";var uy=class extends Error{constructor(){super(hs.defaultMessages)}};hs.EndOfStreamError=uy});var ZC=at(Mm=>{"use strict";Object.defineProperty(Mm,"__esModule",{value:!0});Mm.Deferred=void 0;var dy=class{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise((e,t)=>{this.reject=t,this.resolve=e})}};Mm.Deferred=dy});var tw=at(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.StreamReader=Hc.EndOfStreamError=void 0;var ew=Om(),Y0=ZC(),W0=Om();Object.defineProperty(Hc,"EndOfStreamError",{enumerable:!0,get:function(){return W0.EndOfStreamError}});var $0=1*1024*1024,my=class{constructor(e){if(this.s=e,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!e.read||!e.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",()=>this.reject(new ew.EndOfStreamError)),this.s.once("error",t=>this.reject(t)),this.s.once("close",()=>this.reject(new Error("Stream closed")))}async peek(e,t,r){let n=await this.read(e,t,r);return this.peekQueue.push(e.subarray(t,t+n)),n}async read(e,t,r){if(r===0)return 0;if(this.peekQueue.length===0&&this.endOfStream)throw new ew.EndOfStreamError;let n=r,o=0;for(;this.peekQueue.length>0&&n>0;){let a=this.peekQueue.pop();if(!a)throw new Error("peekData should be defined");let s=Math.min(a.length,n);e.set(a.subarray(0,s),t+o),o+=s,n-=s,s<a.length&&this.peekQueue.push(a.subarray(s))}for(;n>0&&!this.endOfStream;){let a=Math.min(n,$0),s=await this.readFromStream(e,t+o,a);if(o+=s,s<a)break;n-=s}return o}async readFromStream(e,t,r){let n=this.s.read(r);if(n)return e.set(n,t),n.length;{let o={buffer:e,offset:t,length:r,deferred:new Y0.Deferred};return this.deferred=o.deferred,this.s.once("readable",()=>{this.readDeferred(o)}),o.deferred.promise}}readDeferred(e){let t=this.s.read(e.length);t?(e.buffer.set(t,e.offset),e.deferred.resolve(t.length),this.deferred=null):this.s.once("readable",()=>{this.readDeferred(e)})}reject(e){this.endOfStream=!0,this.deferred&&(this.deferred.reject(e),this.deferred=null)}};Hc.StreamReader=my});var Yc=at(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.StreamReader=Uc.EndOfStreamError=void 0;var K0=Om();Object.defineProperty(Uc,"EndOfStreamError",{enumerable:!0,get:function(){return K0.EndOfStreamError}});var j0=tw();Object.defineProperty(Uc,"StreamReader",{enumerable:!0,get:function(){return j0.StreamReader}})});var Fm=at(Bm=>{"use strict";Object.defineProperty(Bm,"__esModule",{value:!0});Bm.AbstractTokenizer=void 0;var Lm=Yc(),fy=class{constructor(e){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=e||{}}async readToken(e,t=this.position){let r=Buffer.alloc(e.len);if(await this.readBuffer(r,{position:t})<e.len)throw new Lm.EndOfStreamError;return e.get(r,0)}async peekToken(e,t=this.position){let r=Buffer.alloc(e.len);if(await this.peekBuffer(r,{position:t})<e.len)throw new Lm.EndOfStreamError;return e.get(r,0)}async readNumber(e){if(await this.readBuffer(this.numBuffer,{length:e.len})<e.len)throw new Lm.EndOfStreamError;return e.get(this.numBuffer,0)}async peekNumber(e){if(await this.peekBuffer(this.numBuffer,{length:e.len})<e.len)throw new Lm.EndOfStreamError;return e.get(this.numBuffer,0)}async ignore(e){if(this.fileInfo.size!==void 0){let t=this.fileInfo.size-this.position;if(e>t)return this.position+=t,t}return this.position+=e,e}async close(){}normalizeOptions(e,t){if(t&&t.position!==void 0&&t.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return t?{mayBeLess:t.mayBeLess===!0,offset:t.offset?t.offset:0,length:t.length?t.length:e.length-(t.offset?t.offset:0),position:t.position?t.position:this.position}:{mayBeLess:!1,offset:0,length:e.length,position:this.position}}};Bm.AbstractTokenizer=fy});var rw=at(Hm=>{"use strict";Object.defineProperty(Hm,"__esModule",{value:!0});Hm.ReadStreamTokenizer=void 0;var V0=Fm(),Gm=Yc(),z0=256e3,py=class extends V0.AbstractTokenizer{constructor(e,t){super(t),this.streamReader=new Gm.StreamReader(e)}async getFileInfo(){return this.fileInfo}async readBuffer(e,t){let r=this.normalizeOptions(e,t),n=r.position-this.position;if(n>0)return await this.ignore(n),this.readBuffer(e,t);if(n<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(r.length===0)return 0;let o=await this.streamReader.read(e,r.offset,r.length);if(this.position+=o,(!t||!t.mayBeLess)&&o<r.length)throw new Gm.EndOfStreamError;return o}async peekBuffer(e,t){let r=this.normalizeOptions(e,t),n=0;if(r.position){let o=r.position-this.position;if(o>0){let a=new Uint8Array(r.length+o);return n=await this.peekBuffer(a,{mayBeLess:r.mayBeLess}),e.set(a.subarray(o),r.offset),n-o}else if(o<0)throw new Error("Cannot peek from a negative offset in a stream")}if(r.length>0){try{n=await this.streamReader.peek(e,r.offset,r.length)}catch(o){if(t&&t.mayBeLess&&o instanceof Gm.EndOfStreamError)return 0;throw o}if(!r.mayBeLess&&n<r.length)throw new Gm.EndOfStreamError}return n}async ignore(e){let t=Math.min(z0,e),r=new Uint8Array(t),n=0;for(;n<e;){let o=e-n,a=await this.readBuffer(r,{length:Math.min(t,o)});if(a<0)return a;n+=a}return n}};Hm.ReadStreamTokenizer=py});var iw=at(Um=>{"use strict";Object.defineProperty(Um,"__esModule",{value:!0});Um.BufferTokenizer=void 0;var J0=Yc(),q0=Fm(),gy=class extends q0.AbstractTokenizer{constructor(e,t){super(t),this.uint8Array=e,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:e.length}async readBuffer(e,t){if(t&&t.position){if(t.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");this.position=t.position}let r=await this.peekBuffer(e,t);return this.position+=r,r}async peekBuffer(e,t){let r=this.normalizeOptions(e,t),n=Math.min(this.uint8Array.length-r.position,r.length);if(!r.mayBeLess&&n<r.length)throw new J0.EndOfStreamError;return e.set(this.uint8Array.subarray(r.position,r.position+n),r.offset),n}async close(){}};Um.BufferTokenizer=gy});var Ym=at(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.fromBuffer=da.fromStream=da.EndOfStreamError=void 0;var Q0=rw(),X0=iw(),Z0=Yc();Object.defineProperty(da,"EndOfStreamError",{enumerable:!0,get:function(){return Z0.EndOfStreamError}});function eI(i,e){return e=e||{},new Q0.ReadStreamTokenizer(i,e)}da.fromStream=eI;function tI(i,e){return new X0.BufferTokenizer(i,e)}da.fromBuffer=tI});var ow=at(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.fromFile=Wc.FileTokenizer=void 0;var rI=Fm(),nw=Yc(),Tu=ly(),Wm=class extends rI.AbstractTokenizer{constructor(e,t){super(t),this.fd=e}async readBuffer(e,t){let r=this.normalizeOptions(e,t);this.position=r.position;let n=await Tu.read(this.fd,e,r.offset,r.length,r.position);if(this.position+=n.bytesRead,n.bytesRead<r.length&&(!t||!t.mayBeLess))throw new nw.EndOfStreamError;return n.bytesRead}async peekBuffer(e,t){let r=this.normalizeOptions(e,t),n=await Tu.read(this.fd,e,r.offset,r.length,r.position);if(!r.mayBeLess&&n.bytesRead<r.length)throw new nw.EndOfStreamError;return n.bytesRead}async close(){return Tu.close(this.fd)}};Wc.FileTokenizer=Wm;async function iI(i){let e=await Tu.stat(i);if(!e.isFile)throw new Error(`File not a file: ${i}`);let t=await Tu.open(i,"r");return new Wm(t,{path:i,size:e.size})}Wc.fromFile=iI});var sw=at(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.fromStream=On.fromBuffer=On.EndOfStreamError=On.fromFile=void 0;var nI=ly(),oI=Ym(),aI=ow();Object.defineProperty(On,"fromFile",{enumerable:!0,get:function(){return aI.fromFile}});var aw=Ym();Object.defineProperty(On,"EndOfStreamError",{enumerable:!0,get:function(){return aw.EndOfStreamError}});Object.defineProperty(On,"fromBuffer",{enumerable:!0,get:function(){return aw.fromBuffer}});async function sI(i,e){if(e=e||{},i.path){let t=await nI.stat(i.path);e.path=i.path,e.size=t.size}return oI.fromStream(i,e)}On.fromStream=sI});var cw=at(hy=>{hy.read=function(i,e,t,r,n){var o,a,s=n*8-r-1,c=(1<<s)-1,l=c>>1,u=-7,m=t?n-1:0,f=t?-1:1,g=i[e+m];for(m+=f,o=g&(1<<-u)-1,g>>=-u,u+=s;u>0;o=o*256+i[e+m],m+=f,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=r;u>0;a=a*256+i[e+m],m+=f,u-=8);if(o===0)o=1-l;else{if(o===c)return a?NaN:(g?-1:1)*(1/0);a=a+Math.pow(2,r),o=o-l}return(g?-1:1)*a*Math.pow(2,o-r)};hy.write=function(i,e,t,r,n,o){var a,s,c,l=o*8-n-1,u=(1<<l)-1,m=u>>1,f=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=r?0:o-1,p=r?1:-1,v=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=u):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+m>=1?e+=f/c:e+=f*Math.pow(2,1-m),e*c>=2&&(a++,c/=2),a+m>=u?(s=0,a=u):a+m>=1?(s=(e*c-1)*Math.pow(2,n),a=a+m):(s=e*Math.pow(2,m-1)*Math.pow(2,n),a=0));n>=8;i[t+g]=s&255,g+=p,s/=256,n-=8);for(a=a<<n|s,l+=n;l>0;i[t+g]=a&255,g+=p,a/=256,l-=8);i[t+g-p]|=v*128}});var lw=at(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.AnsiStringType=_e.StringType=_e.BufferType=_e.Uint8ArrayType=_e.IgnoreType=_e.Float80_LE=_e.Float80_BE=_e.Float64_LE=_e.Float64_BE=_e.Float32_LE=_e.Float32_BE=_e.Float16_LE=_e.Float16_BE=_e.INT64_BE=_e.UINT64_BE=_e.INT64_LE=_e.UINT64_LE=_e.INT32_LE=_e.INT32_BE=_e.INT24_BE=_e.INT24_LE=_e.INT16_LE=_e.INT16_BE=_e.INT8=_e.UINT32_BE=_e.UINT32_LE=_e.UINT24_BE=_e.UINT24_LE=_e.UINT16_BE=_e.UINT16_LE=_e.UINT8=void 0;var ma=cw();function Qe(i){return new DataView(i.buffer,i.byteOffset)}_e.UINT8={len:1,get(i,e){return Qe(i).getUint8(e)},put(i,e,t){return Qe(i).setUint8(e,t),e+1}};_e.UINT16_LE={len:2,get(i,e){return Qe(i).getUint16(e,!0)},put(i,e,t){return Qe(i).setUint16(e,t,!0),e+2}};_e.UINT16_BE={len:2,get(i,e){return Qe(i).getUint16(e)},put(i,e,t){return Qe(i).setUint16(e,t),e+2}};_e.UINT24_LE={len:3,get(i,e){let t=Qe(i);return t.getUint8(e)+(t.getUint16(e+1,!0)<<8)},put(i,e,t){let r=Qe(i);return r.setUint8(e,t&255),r.setUint16(e+1,t>>8,!0),e+3}};_e.UINT24_BE={len:3,get(i,e){let t=Qe(i);return(t.getUint16(e)<<8)+t.getUint8(e+2)},put(i,e,t){let r=Qe(i);return r.setUint16(e,t>>8),r.setUint8(e+2,t&255),e+3}};_e.UINT32_LE={len:4,get(i,e){return Qe(i).getUint32(e,!0)},put(i,e,t){return Qe(i).setUint32(e,t,!0),e+4}};_e.UINT32_BE={len:4,get(i,e){return Qe(i).getUint32(e)},put(i,e,t){return Qe(i).setUint32(e,t),e+4}};_e.INT8={len:1,get(i,e){return Qe(i).getInt8(e)},put(i,e,t){return Qe(i).setInt8(e,t),e+2}};_e.INT16_BE={len:2,get(i,e){return Qe(i).getInt16(e)},put(i,e,t){return Qe(i).setInt16(e,t),e+2}};_e.INT16_LE={len:2,get(i,e){return Qe(i).getInt16(e,!0)},put(i,e,t){return Qe(i).setInt16(e,t,!0),e+2}};_e.INT24_LE={len:3,get(i,e){let t=_e.UINT24_LE.get(i,e);return t>8388607?t-16777216:t},put(i,e,t){let r=Qe(i);return r.setUint8(e,t&255),r.setUint16(e+1,t>>8,!0),e+3}};_e.INT24_BE={len:3,get(i,e){let t=_e.UINT24_BE.get(i,e);return t>8388607?t-16777216:t},put(i,e,t){let r=Qe(i);return r.setUint16(e,t>>8),r.setUint8(e+2,t&255),e+3}};_e.INT32_BE={len:4,get(i,e){return Qe(i).getInt32(e)},put(i,e,t){return Qe(i).setInt32(e,t),e+4}};_e.INT32_LE={len:4,get(i,e){return Qe(i).getInt32(e,!0)},put(i,e,t){return Qe(i).setInt32(e,t,!0),e+4}};_e.UINT64_LE={len:8,get(i,e){return Qe(i).getBigUint64(e,!0)},put(i,e,t){return Qe(i).setBigUint64(e,t,!0),e+8}};_e.INT64_LE={len:8,get(i,e){return Qe(i).getBigInt64(e,!0)},put(i,e,t){return Qe(i).setBigInt64(e,t,!0),e+8}};_e.UINT64_BE={len:8,get(i,e){return Qe(i).getBigUint64(e)},put(i,e,t){return Qe(i).setBigUint64(e,t),e+8}};_e.INT64_BE={len:8,get(i,e){return Qe(i).getBigInt64(e)},put(i,e,t){return Qe(i).setBigInt64(e,t),e+8}};_e.Float16_BE={len:2,get(i,e){return ma.read(i,e,!1,10,this.len)},put(i,e,t){return ma.write(i,t,e,!1,10,this.len),e+this.len}};_e.Float16_LE={len:2,get(i,e){return ma.read(i,e,!0,10,this.len)},put(i,e,t){return ma.write(i,t,e,!0,10,this.len),e+this.len}};_e.Float32_BE={len:4,get(i,e){return Qe(i).getFloat32(e)},put(i,e,t){return Qe(i).setFloat32(e,t),e+4}};_e.Float32_LE={len:4,get(i,e){return Qe(i).getFloat32(e,!0)},put(i,e,t){return Qe(i).setFloat32(e,t,!0),e+4}};_e.Float64_BE={len:8,get(i,e){return Qe(i).getFloat64(e)},put(i,e,t){return Qe(i).setFloat64(e,t),e+8}};_e.Float64_LE={len:8,get(i,e){return Qe(i).getFloat64(e,!0)},put(i,e,t){return Qe(i).setFloat64(e,t,!0),e+8}};_e.Float80_BE={len:10,get(i,e){return ma.read(i,e,!1,63,this.len)},put(i,e,t){return ma.write(i,t,e,!1,63,this.len),e+this.len}};_e.Float80_LE={len:10,get(i,e){return ma.read(i,e,!0,63,this.len)},put(i,e,t){return ma.write(i,t,e,!0,63,this.len),e+this.len}};var yy=class{constructor(e){this.len=e}get(e,t){}};_e.IgnoreType=yy;var vy=class{constructor(e){this.len=e}get(e,t){return e.subarray(t,t+this.len)}};_e.Uint8ArrayType=vy;var _y=class{constructor(e){this.len=e}get(e,t){return Buffer.from(e.subarray(t,t+this.len))}};_e.BufferType=_y;var by=class{constructor(e,t){this.len=e,this.encoding=t}get(e,t){return Buffer.from(e).toString(this.encoding,t,t+this.len)}};_e.StringType=by;var $m=class i{constructor(e){this.len=e}static decode(e,t,r){let n="";for(let o=t;o<r;++o)n+=i.codePointToString(i.singleByteDecoder(e[o]));return n}static inRange(e,t,r){return t<=e&&e<=r}static codePointToString(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}static singleByteDecoder(e){if(i.inRange(e,0,127))return e;let t=i.windows1252[e-128];if(t===null)throw Error("invaliding encoding");return t}get(e,t=0){return i.decode(e,t,t+this.len)}};_e.AnsiStringType=$m;$m.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]});var uw=at(Km=>{"use strict";Km.stringToBytes=i=>[...i].map(e=>e.charCodeAt(0));Km.tarHeaderChecksumMatches=(i,e=0)=>{let t=parseInt(i.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(isNaN(t))return!1;let r=256;for(let n=e;n<e+148;n++)r+=i[n];for(let n=e+156;n<e+512;n++)r+=i[n];return t===r};Km.uint32SyncSafeToken={get:(i,e)=>i[e+3]&127|i[e+2]<<7|i[e+1]<<14|i[e]<<21,len:4}});var mw=at((UM,dw)=>{"use strict";dw.exports={extensions:["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf"],mimeTypes:["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/vnd.wave","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd"]}});var fw=at((exports,module)=>{"use strict";var Token=lw(),strtok3=Ym(),{stringToBytes,tarHeaderChecksumMatches,uint32SyncSafeToken}=uw(),supported=mw(),minimumBytes=4100;async function fromStream(i){let e=await strtok3.fromStream(i);try{return await fromTokenizer(e)}finally{await e.close()}}async function fromBuffer(i){if(!(i instanceof Uint8Array||i instanceof ArrayBuffer||Buffer.isBuffer(i)))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof i}\``);let e=i instanceof Buffer?i:Buffer.from(i);if(!(e&&e.length>1))return;let t=strtok3.fromBuffer(e);return fromTokenizer(t)}function _check(i,e,t){t={offset:0,...t};for(let[r,n]of e.entries())if(t.mask){if(n!==(t.mask[r]&i[r+t.offset]))return!1}else if(n!==i[r+t.offset])return!1;return!0}async function fromTokenizer(i){try{return _fromTokenizer(i)}catch(e){if(!(e instanceof strtok3.EndOfStreamError))throw e}}async function _fromTokenizer(i){let e=Buffer.alloc(minimumBytes),t=12,r=(o,a)=>_check(e,o,a),n=(o,a)=>r(stringToBytes(o),a);if(i.fileInfo.size||(i.fileInfo.size=Number.MAX_SAFE_INTEGER),await i.peekBuffer(e,{length:t,mayBeLess:!0}),r([66,77]))return{ext:"bmp",mime:"image/bmp"};if(r([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(r([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(r([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(r([37,33]))return await i.peekBuffer(e,{length:24,mayBeLess:!0}),n("PS-Adobe-",{offset:2})&&n(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(r([31,160])||r([31,157]))return{ext:"Z",mime:"application/x-compress"};if(r([255,216,255]))return{ext:"jpg",mime:"image/jpeg"};if(r([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(r([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(r([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(n("ID3")){await i.ignore(6);let o=await i.readToken(uint32SyncSafeToken);return i.position+o>i.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await i.ignore(o),fromTokenizer(i))}if(n("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((e[0]===67||e[0]===70)&&r([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(r([71,73,70]))return{ext:"gif",mime:"image/gif"};if(n("FLIF"))return{ext:"flif",mime:"image/flif"};if(n("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(n("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(n("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(n("FORM"))return{ext:"aif",mime:"audio/aiff"};if(n("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(r([80,75,3,4])){try{for(;i.position+30<i.fileInfo.size;){await i.readBuffer(e,{length:30});let o={compressedSize:e.readUInt32LE(18),uncompressedSize:e.readUInt32LE(22),filenameLength:e.readUInt16LE(26),extraFieldLength:e.readUInt16LE(28)};if(o.filename=await i.readToken(new Token.StringType(o.filenameLength,"utf-8")),await i.ignore(o.extraFieldLength),o.filename==="META-INF/mozilla.rsa")return{ext:"xpi",mime:"application/x-xpinstall"};if(o.filename.endsWith(".rels")||o.filename.endsWith(".xml"))switch(o.filename.split("/")[0]){case"_rels":break;case"word":return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};case"ppt":return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};case"xl":return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};default:break}if(o.filename.startsWith("xl/"))return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(o.filename.startsWith("3D/")&&o.filename.endsWith(".model"))return{ext:"3mf",mime:"model/3mf"};if(o.filename==="mimetype"&&o.compressedSize===o.uncompressedSize)switch(await i.readToken(new Token.StringType(o.compressedSize,"utf-8"))){case"application/epub+zip":return{ext:"epub",mime:"application/epub+zip"};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"};default:}if(o.compressedSize===0){let a=-1;for(;a<0&&i.position<i.fileInfo.size;)await i.peekBuffer(e,{mayBeLess:!0}),a=e.indexOf("504B0304",0,"hex"),await i.ignore(a>=0?a:e.length)}else await i.ignore(o.compressedSize)}}catch(o){if(!(o instanceof strtok3.EndOfStreamError))throw o}return{ext:"zip",mime:"application/zip"}}if(n("OggS")){await i.ignore(28);let o=Buffer.alloc(8);return await i.readBuffer(o),_check(o,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/opus"}:_check(o,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:_check(o,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:_check(o,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:_check(o,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:_check(o,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(r([80,75])&&(e[2]===3||e[2]===5||e[2]===7)&&(e[3]===4||e[3]===6||e[3]===8))return{ext:"zip",mime:"application/zip"};if(n("ftyp",{offset:4})&&(e[8]&96)!==0){let o=e.toString("binary",8,12).replace("\0"," ").trim();switch(o){case"avif":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return o.startsWith("3g")?o.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(n("MThd"))return{ext:"mid",mime:"audio/midi"};if(n("wOFF")&&(r([0,1,0,0],{offset:4})||n("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(n("wOF2")&&(r([0,1,0,0],{offset:4})||n("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(r([212,195,178,161])||r([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(n("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(n("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(n("fLaC"))return{ext:"flac",mime:"audio/x-flac"};if(r([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(n("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(n("%PDF")){await i.ignore(1350);let o=10*1024*1024,a=Buffer.alloc(Math.min(o,i.fileInfo.size));return await i.readBuffer(a,{mayBeLess:!0}),a.includes(Buffer.from("AIPrivateData"))?{ext:"ai",mime:"application/postscript"}:{ext:"pdf",mime:"application/pdf"}}if(r([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(r([73,73,42,0]))return n("CR",{offset:8})?{ext:"cr2",mime:"image/x-canon-cr2"}:r([28,0,254,0],{offset:8})||r([31,0,11,0],{offset:8})?{ext:"nef",mime:"image/x-nikon-nef"}:r([8,0,0,0],{offset:4})&&(r([45,0,254,0],{offset:8})||r([39,0,254,0],{offset:8}))?{ext:"dng",mime:"image/x-adobe-dng"}:(e=Buffer.alloc(24),await i.peekBuffer(e),(r([16,251,134,1],{offset:4})||r([8,0,0,0],{offset:4}))&&r([0,254,0,4,0,1,0,0,0,1,0,0,0,3,1],{offset:9})?{ext:"arw",mime:"image/x-sony-arw"}:{ext:"tif",mime:"image/tiff"});if(r([77,77,0,42]))return{ext:"tif",mime:"image/tiff"};if(n("MAC "))return{ext:"ape",mime:"audio/ape"};if(r([26,69,223,163])){async function o(){let u=await i.peekNumber(Token.UINT8),m=128,f=0;for(;(u&m)===0&&m!==0;)++f,m>>=1;let g=Buffer.alloc(f+1);return await i.readBuffer(g),g}async function a(){let u=await o(),m=await o();m[0]^=128>>m.length-1;let f=Math.min(6,m.length);return{id:u.readUIntBE(0,u.length),len:m.readUIntBE(m.length-f,f)}}async function s(u,m){for(;m>0;){let f=await a();if(f.id===17026)return i.readToken(new Token.StringType(f.len,"utf-8"));await i.ignore(f.len),--m}}let c=await a();switch(await s(1,c.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/x-matroska"};default:return}}if(r([82,73,70,70])){if(r([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(r([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/vnd.wave"};if(r([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(n("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(r([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(n("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(n("MSCF")||n("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(r([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(r([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(r([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(r([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(n("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(n("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(r([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(n("IMPM"))return{ext:"it",mime:"audio/x-it"};if(n("-lh0-",{offset:2})||n("-lh1-",{offset:2})||n("-lh2-",{offset:2})||n("-lh3-",{offset:2})||n("-lh4-",{offset:2})||n("-lh5-",{offset:2})||n("-lh6-",{offset:2})||n("-lh7-",{offset:2})||n("-lzs-",{offset:2})||n("-lz4-",{offset:2})||n("-lz5-",{offset:2})||n("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(r([0,0,1,186])){if(r([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(r([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(n("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(r([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(n("<?xml "))return{ext:"xml",mime:"application/xml"};if(r([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(r([82,97,114,33,26,7])&&(e[6]===0||e[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(n("solid "))return{ext:"stl",mime:"model/stl"};if(n("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(n("!<arch>"))return await i.ignore(8),await i.readToken(new Token.StringType(13,"ascii"))==="debian-binary"?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(r([137,80,78,71,13,10,26,10])){await i.ignore(8);async function o(){return{length:await i.readToken(Token.INT32_BE),type:await i.readToken(new Token.StringType(4,"binary"))}}do{let a=await o();if(a.length<0)return;switch(a.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await i.ignore(a.length+4)}}while(i.position+8<i.fileInfo.size);return{ext:"png",mime:"image/png"}}if(r([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/x-apache-arrow"};if(r([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(r([102,114,101,101],{offset:4})||r([109,100,97,116],{offset:4})||r([109,111,111,118],{offset:4})||r([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(r([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(n("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(r([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(r([48,38,178,117,142,102,207,17,166,217])){async function o(){let a=Buffer.alloc(16);return await i.readBuffer(a),{id:a,size:Number(await i.readToken(Token.UINT64_LE))}}for(await i.ignore(30);i.position+24<i.fileInfo.size;){let a=await o(),s=a.size-24;if(_check(a.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let c=Buffer.alloc(16);if(s-=await i.readBuffer(c),_check(c,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(_check(c,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}await i.ignore(s)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(r([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((r([126,16,4])||r([126,24,4]))&&r([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(r([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(r([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await i.ignore(20),await i.readToken(new Token.StringType(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(r([255,10])||r([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(r([0,0,1,186])||r([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(r([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(r([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(r([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(r([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await i.peekBuffer(e,{length:Math.min(256,i.fileInfo.size),mayBeLess:!0}),n("BEGIN:")){if(n("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(n("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(n("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(n("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(n("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(r([4,0,0,0])&&e.length>=16){let o=e.readUInt32LE(12);if(o>12&&e.length>=o+16)try{let a=e.slice(16,o+16).toString();if(JSON.parse(a).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(r([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(n("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(r([71],{offset:4})&&(r([71],{offset:192})||r([71],{offset:196})))return{ext:"mts",mime:"video/mp2t"};if(r([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(r([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(r([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(r([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(r([76,80],{offset:34})&&(r([0,0,1],{offset:8})||r([1,0,2],{offset:8})||r([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(r([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(await i.peekBuffer(e,{length:Math.min(512,i.fileInfo.size),mayBeLess:!0}),tarHeaderChecksumMatches(e))return{ext:"tar",mime:"application/x-tar"};if(r([255,254,255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0]))return{ext:"skp",mime:"application/vnd.sketchup.skp"};if(n("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};if(e.length>=2&&r([255,224],{offset:0,mask:[255,224]})){if(r([16],{offset:1,mask:[22]}))return r([8],{offset:1,mask:[8]})?{ext:"aac",mime:"audio/aac"}:{ext:"aac",mime:"audio/aac"};if(r([2],{offset:1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(r([4],{offset:1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(r([6],{offset:1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}var stream=readableStream=>new Promise((resolve,reject)=>{let stream=eval("require")("stream");readableStream.on("error",reject),readableStream.once("readable",async()=>{let i=new stream.PassThrough,e;stream.pipeline?e=stream.pipeline(readableStream,i,()=>{}):e=readableStream.pipe(i);let t=readableStream.read(minimumBytes)||readableStream.read()||Buffer.alloc(0);try{let r=await fromBuffer(t);i.fileType=r}catch(r){reject(r)}resolve(e)})}),fileType={fromStream,fromTokenizer,fromBuffer,stream};Object.defineProperty(fileType,"extensions",{get(){return new Set(supported.extensions)}});Object.defineProperty(fileType,"mimeTypes",{get(){return new Set(supported.mimeTypes)}});module.exports=fileType});var gw=at((YM,pw)=>{"use strict";var cI=sw(),jm=fw();async function lI(i){let e=await cI.fromFile(i);try{return await jm.fromTokenizer(e)}finally{await e.close()}}var Vm={fromFile:lI};Object.assign(Vm,jm);Object.defineProperty(Vm,"extensions",{get(){return jm.extensions}});Object.defineProperty(Vm,"mimeTypes",{get(){return jm.mimeTypes}});pw.exports=Vm});var Cy=at((WM,$c)=>{var Ey=require("stream"),uI=require("util"),dI=require("timers");$c.exports=function(i,e){return $c.exports.createStream(i,e)};$c.exports.createStream=function(i,e){return i?hw(i,e):new fa(e)};$c.exports.createLineStream=function(i){return console.log("WARNING: byline#createLineStream is deprecated and will be removed soon"),hw(i)};function hw(i,e){if(!i)throw new Error("expected readStream");if(!i.readable)throw new Error("readStream must be readable");var t=new fa(e);return i.pipe(t),t}$c.exports.LineStream=fa;function fa(i){Ey.Transform.call(this,i),i=i||{},this._readableState.objectMode=!0,this._lineBuffer=[],this._keepEmptyLines=i.keepEmptyLines||!1,this._lastChunkEndedWithCR=!1;var e=this;this.on("pipe",function(t){e.encoding||t instanceof Ey.Readable&&(e.encoding=t._readableState.encoding)})}uI.inherits(fa,Ey.Transform);fa.prototype._transform=function(i,e,t){e=e||"utf8",Buffer.isBuffer(i)&&(e=="buffer"?(i=i.toString(),e="utf8"):i=i.toString(e)),this._chunkEncoding=e;var r=i.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g);this._lastChunkEndedWithCR&&i[0]==`
`&&r.shift(),this._lineBuffer.length>0&&(this._lineBuffer[this._lineBuffer.length-1]+=r[0],r.shift()),this._lastChunkEndedWithCR=i[i.length-1]=="\r",this._lineBuffer=this._lineBuffer.concat(r),this._pushBuffer(e,1,t)};fa.prototype._pushBuffer=function(i,e,t){for(;this._lineBuffer.length>e;){var r=this._lineBuffer.shift();if((this._keepEmptyLines||r.length>0)&&!this.push(this._reencode(r,i))){var n=this;dI.setImmediate(function(){n._pushBuffer(i,e,t)});return}}t()};fa.prototype._flush=function(i){this._pushBuffer(this._chunkEncoding,0,i)};fa.prototype._reencode=function(i,e){return this.encoding&&this.encoding!=e?new Buffer(i,e).toString(this.encoding):this.encoding?i:new Buffer(i,e)}});var Bu=at((cL,tD)=>{"use strict";var II=require("path"),Mn="\\\\/",Qw=`[^${Mn}]`,Ro="\\.",AI="\\+",NI="\\?",cf="\\/",kI="(?=.)",Xw="[^/]",Fy=`(?:${cf}|$)`,Zw=`(?:^|${cf})`,Gy=`${Ro}{1,2}${Fy}`,OI=`(?!${Ro})`,MI=`(?!${Zw}${Gy})`,LI=`(?!${Ro}{0,1}${Fy})`,BI=`(?!${Gy})`,FI=`[^.${cf}]`,GI=`${Xw}*?`,eD={DOT_LITERAL:Ro,PLUS_LITERAL:AI,QMARK_LITERAL:NI,SLASH_LITERAL:cf,ONE_CHAR:kI,QMARK:Xw,END_ANCHOR:Fy,DOTS_SLASH:Gy,NO_DOT:OI,NO_DOTS:MI,NO_DOT_SLASH:LI,NO_DOTS_SLASH:BI,QMARK_NO_DOT:FI,STAR:GI,START_ANCHOR:Zw},HI={...eD,SLASH_LITERAL:`[${Mn}]`,QMARK:Qw,STAR:`${Qw}*?`,DOTS_SLASH:`${Ro}{1,2}(?:[${Mn}]|$)`,NO_DOT:`(?!${Ro})`,NO_DOTS:`(?!(?:^|[${Mn}])${Ro}{1,2}(?:[${Mn}]|$))`,NO_DOT_SLASH:`(?!${Ro}{0,1}(?:[${Mn}]|$))`,NO_DOTS_SLASH:`(?!${Ro}{1,2}(?:[${Mn}]|$))`,QMARK_NO_DOT:`[^.${Mn}]`,START_ANCHOR:`(?:^|[${Mn}])`,END_ANCHOR:`(?:[${Mn}]|$)`},UI={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};tD.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:UI,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:II.sep,extglobChars(i){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${i.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(i){return i===!0?HI:eD}}});var lf=at(fi=>{"use strict";var YI=require("path"),WI=process.platform==="win32",{REGEX_BACKSLASH:$I,REGEX_REMOVE_BACKSLASH:KI,REGEX_SPECIAL_CHARS:jI,REGEX_SPECIAL_CHARS_GLOBAL:VI}=Bu();fi.isObject=i=>i!==null&&typeof i=="object"&&!Array.isArray(i);fi.hasRegexChars=i=>jI.test(i);fi.isRegexChar=i=>i.length===1&&fi.hasRegexChars(i);fi.escapeRegex=i=>i.replace(VI,"\\$1");fi.toPosixSlashes=i=>i.replace($I,"/");fi.removeBackslashes=i=>i.replace(KI,e=>e==="\\"?"":e);fi.supportsLookbehinds=()=>{let i=process.version.slice(1).split(".").map(Number);return i.length===3&&i[0]>=9||i[0]===8&&i[1]>=10};fi.isWindows=i=>i&&typeof i.windows=="boolean"?i.windows:WI===!0||YI.sep==="\\";fi.escapeLast=(i,e,t)=>{let r=i.lastIndexOf(e,t);return r===-1?i:i[r-1]==="\\"?fi.escapeLast(i,e,r-1):`${i.slice(0,r)}\\${i.slice(r)}`};fi.removePrefix=(i,e={})=>{let t=i;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};fi.wrapOutput=(i,e={},t={})=>{let r=t.contains?"":"^",n=t.contains?"":"$",o=`${r}(?:${i})${n}`;return e.negated===!0&&(o=`(?:^(?!${o}).*$)`),o}});var lD=at((uL,cD)=>{"use strict";var rD=lf(),{CHAR_ASTERISK:Hy,CHAR_AT:zI,CHAR_BACKWARD_SLASH:Fu,CHAR_COMMA:JI,CHAR_DOT:Uy,CHAR_EXCLAMATION_MARK:Yy,CHAR_FORWARD_SLASH:sD,CHAR_LEFT_CURLY_BRACE:Wy,CHAR_LEFT_PARENTHESES:$y,CHAR_LEFT_SQUARE_BRACKET:qI,CHAR_PLUS:QI,CHAR_QUESTION_MARK:iD,CHAR_RIGHT_CURLY_BRACE:XI,CHAR_RIGHT_PARENTHESES:nD,CHAR_RIGHT_SQUARE_BRACKET:ZI}=Bu(),oD=i=>i===sD||i===Fu,aD=i=>{i.isPrefix!==!0&&(i.depth=i.isGlobstar?1/0:1)},eA=(i,e)=>{let t=e||{},r=i.length-1,n=t.parts===!0||t.scanToEnd===!0,o=[],a=[],s=[],c=i,l=-1,u=0,m=0,f=!1,g=!1,p=!1,v=!1,_=!1,P=!1,w=!1,R=!1,T=!1,L=!1,W=0,$,G,Y={value:"",depth:0,isGlob:!1},H=()=>l>=r,I=()=>c.charCodeAt(l+1),ee=()=>($=G,c.charCodeAt(++l));for(;l<r;){G=ee();let Z;if(G===Fu){w=Y.backslashes=!0,G=ee(),G===Wy&&(P=!0);continue}if(P===!0||G===Wy){for(W++;H()!==!0&&(G=ee());){if(G===Fu){w=Y.backslashes=!0,ee();continue}if(G===Wy){W++;continue}if(P!==!0&&G===Uy&&(G=ee())===Uy){if(f=Y.isBrace=!0,p=Y.isGlob=!0,L=!0,n===!0)continue;break}if(P!==!0&&G===JI){if(f=Y.isBrace=!0,p=Y.isGlob=!0,L=!0,n===!0)continue;break}if(G===XI&&(W--,W===0)){P=!1,f=Y.isBrace=!0,L=!0;break}}if(n===!0)continue;break}if(G===sD){if(o.push(l),a.push(Y),Y={value:"",depth:0,isGlob:!1},L===!0)continue;if($===Uy&&l===u+1){u+=2;continue}m=l+1;continue}if(t.noext!==!0&&(G===QI||G===zI||G===Hy||G===iD||G===Yy)===!0&&I()===$y){if(p=Y.isGlob=!0,v=Y.isExtglob=!0,L=!0,G===Yy&&l===u&&(T=!0),n===!0){for(;H()!==!0&&(G=ee());){if(G===Fu){w=Y.backslashes=!0,G=ee();continue}if(G===nD){p=Y.isGlob=!0,L=!0;break}}continue}break}if(G===Hy){if($===Hy&&(_=Y.isGlobstar=!0),p=Y.isGlob=!0,L=!0,n===!0)continue;break}if(G===iD){if(p=Y.isGlob=!0,L=!0,n===!0)continue;break}if(G===qI){for(;H()!==!0&&(Z=ee());){if(Z===Fu){w=Y.backslashes=!0,ee();continue}if(Z===ZI){g=Y.isBracket=!0,p=Y.isGlob=!0,L=!0;break}}if(n===!0)continue;break}if(t.nonegate!==!0&&G===Yy&&l===u){R=Y.negated=!0,u++;continue}if(t.noparen!==!0&&G===$y){if(p=Y.isGlob=!0,n===!0){for(;H()!==!0&&(G=ee());){if(G===$y){w=Y.backslashes=!0,G=ee();continue}if(G===nD){L=!0;break}}continue}break}if(p===!0){if(L=!0,n===!0)continue;break}}t.noext===!0&&(v=!1,p=!1);let ce=c,x="",y="";u>0&&(x=c.slice(0,u),c=c.slice(u),m-=u),ce&&p===!0&&m>0?(ce=c.slice(0,m),y=c.slice(m)):p===!0?(ce="",y=c):ce=c,ce&&ce!==""&&ce!=="/"&&ce!==c&&oD(ce.charCodeAt(ce.length-1))&&(ce=ce.slice(0,-1)),t.unescape===!0&&(y&&(y=rD.removeBackslashes(y)),ce&&w===!0&&(ce=rD.removeBackslashes(ce)));let S={prefix:x,input:i,start:u,base:ce,glob:y,isBrace:f,isBracket:g,isGlob:p,isExtglob:v,isGlobstar:_,negated:R,negatedExtglob:T};if(t.tokens===!0&&(S.maxDepth=0,oD(G)||a.push(Y),S.tokens=a),t.parts===!0||t.tokens===!0){let Z;for(let k=0;k<o.length;k++){let le=Z?Z+1:u,te=o[k],Ce=i.slice(le,te);t.tokens&&(k===0&&u!==0?(a[k].isPrefix=!0,a[k].value=x):a[k].value=Ce,aD(a[k]),S.maxDepth+=a[k].depth),(k!==0||Ce!=="")&&s.push(Ce),Z=te}if(Z&&Z+1<i.length){let k=i.slice(Z+1);s.push(k),t.tokens&&(a[a.length-1].value=k,aD(a[a.length-1]),S.maxDepth+=a[a.length-1].depth)}S.slashes=o,S.parts=s}return S};cD.exports=eA});var mD=at((dL,dD)=>{"use strict";var uf=Bu(),Ni=lf(),{MAX_LENGTH:df,POSIX_REGEX_SOURCE:tA,REGEX_NON_SPECIAL_CHARS:rA,REGEX_SPECIAL_CHARS_BACKREF:iA,REPLACEMENTS:uD}=uf,nA=(i,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...i,e);i.sort();let t=`[${i.join("-")}]`;try{new RegExp(t)}catch{return i.map(n=>Ni.escapeRegex(n)).join("..")}return t},zc=(i,e)=>`Missing ${i}: "${e}" - use "\\\\${e}" to match literal characters`,Ky=(i,e)=>{if(typeof i!="string")throw new TypeError("Expected a string");i=uD[i]||i;let t={...e},r=typeof t.maxLength=="number"?Math.min(df,t.maxLength):df,n=i.length;if(n>r)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${r}`);let o={type:"bos",value:"",output:t.prepend||""},a=[o],s=t.capture?"":"?:",c=Ni.isWindows(e),l=uf.globChars(c),u=uf.extglobChars(l),{DOT_LITERAL:m,PLUS_LITERAL:f,SLASH_LITERAL:g,ONE_CHAR:p,DOTS_SLASH:v,NO_DOT:_,NO_DOT_SLASH:P,NO_DOTS_SLASH:w,QMARK:R,QMARK_NO_DOT:T,STAR:L,START_ANCHOR:W}=l,$=ae=>`(${s}(?:(?!${W}${ae.dot?v:m}).)*?)`,G=t.dot?"":_,Y=t.dot?R:T,H=t.bash===!0?$(t):L;t.capture&&(H=`(${H})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let I={input:i,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:a};i=Ni.removePrefix(i,I),n=i.length;let ee=[],ce=[],x=[],y=o,S,Z=()=>I.index===n-1,k=I.peek=(ae=1)=>i[I.index+ae],le=I.advance=()=>i[++I.index]||"",te=()=>i.slice(I.index+1),Ce=(ae="",Ye=0)=>{I.consumed+=ae,I.index+=Ye},se=ae=>{I.output+=ae.output!=null?ae.output:ae.value,Ce(ae.value)},U=()=>{let ae=1;for(;k()==="!"&&(k(2)!=="("||k(3)==="?");)le(),I.start++,ae++;return ae%2===0?!1:(I.negated=!0,I.start++,!0)},Ze=ae=>{I[ae]++,x.push(ae)},ct=ae=>{I[ae]--,x.pop()},xe=ae=>{if(y.type==="globstar"){let Ye=I.braces>0&&(ae.type==="comma"||ae.type==="brace"),re=ae.extglob===!0||ee.length&&(ae.type==="pipe"||ae.type==="paren");ae.type!=="slash"&&ae.type!=="paren"&&!Ye&&!re&&(I.output=I.output.slice(0,-y.output.length),y.type="star",y.value="*",y.output=H,I.output+=y.output)}if(ee.length&&ae.type!=="paren"&&(ee[ee.length-1].inner+=ae.value),(ae.value||ae.output)&&se(ae),y&&y.type==="text"&&ae.type==="text"){y.value+=ae.value,y.output=(y.output||"")+ae.value;return}ae.prev=y,a.push(ae),y=ae},wt=(ae,Ye)=>{let re={...u[Ye],conditions:1,inner:""};re.prev=y,re.parens=I.parens,re.output=I.output;let he=(t.capture?"(":"")+re.open;Ze("parens"),xe({type:ae,value:Ye,output:I.output?"":p}),xe({type:"paren",extglob:!0,value:le(),output:he}),ee.push(re)},ri=ae=>{let Ye=ae.close+(t.capture?")":""),re;if(ae.type==="negate"){let he=H;if(ae.inner&&ae.inner.length>1&&ae.inner.includes("/")&&(he=$(t)),(he!==H||Z()||/^\)+$/.test(te()))&&(Ye=ae.close=`)$))${he}`),ae.inner.includes("*")&&(re=te())&&/^\.[^\\/.]+$/.test(re)){let Se=Ky(re,{...e,fastpaths:!1}).output;Ye=ae.close=`)${Se})${he})`}ae.prev.type==="bos"&&(I.negatedExtglob=!0)}xe({type:"paren",extglob:!0,value:S,output:Ye}),ct("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(i)){let ae=!1,Ye=i.replace(iA,(re,he,Se,tt,He,F)=>tt==="\\"?(ae=!0,re):tt==="?"?he?he+tt+(He?R.repeat(He.length):""):F===0?Y+(He?R.repeat(He.length):""):R.repeat(Se.length):tt==="."?m.repeat(Se.length):tt==="*"?he?he+tt+(He?H:""):H:he?re:`\\${re}`);return ae===!0&&(t.unescape===!0?Ye=Ye.replace(/\\/g,""):Ye=Ye.replace(/\\+/g,re=>re.length%2===0?"\\\\":re?"\\":"")),Ye===i&&t.contains===!0?(I.output=i,I):(I.output=Ni.wrapOutput(Ye,I,e),I)}for(;!Z();){if(S=le(),S==="\0")continue;if(S==="\\"){let re=k();if(re==="/"&&t.bash!==!0||re==="."||re===";")continue;if(!re){S+="\\",xe({type:"text",value:S});continue}let he=/^\\+/.exec(te()),Se=0;if(he&&he[0].length>2&&(Se=he[0].length,I.index+=Se,Se%2!==0&&(S+="\\")),t.unescape===!0?S=le():S+=le(),I.brackets===0){xe({type:"text",value:S});continue}}if(I.brackets>0&&(S!=="]"||y.value==="["||y.value==="[^")){if(t.posix!==!1&&S===":"){let re=y.value.slice(1);if(re.includes("[")&&(y.posix=!0,re.includes(":"))){let he=y.value.lastIndexOf("["),Se=y.value.slice(0,he),tt=y.value.slice(he+2),He=tA[tt];if(He){y.value=Se+He,I.backtrack=!0,le(),!o.output&&a.indexOf(y)===1&&(o.output=p);continue}}}(S==="["&&k()!==":"||S==="-"&&k()==="]")&&(S=`\\${S}`),S==="]"&&(y.value==="["||y.value==="[^")&&(S=`\\${S}`),t.posix===!0&&S==="!"&&y.value==="["&&(S="^"),y.value+=S,se({value:S});continue}if(I.quotes===1&&S!=='"'){S=Ni.escapeRegex(S),y.value+=S,se({value:S});continue}if(S==='"'){I.quotes=I.quotes===1?0:1,t.keepQuotes===!0&&xe({type:"text",value:S});continue}if(S==="("){Ze("parens"),xe({type:"paren",value:S});continue}if(S===")"){if(I.parens===0&&t.strictBrackets===!0)throw new SyntaxError(zc("opening","("));let re=ee[ee.length-1];if(re&&I.parens===re.parens+1){ri(ee.pop());continue}xe({type:"paren",value:S,output:I.parens?")":"\\)"}),ct("parens");continue}if(S==="["){if(t.nobracket===!0||!te().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(zc("closing","]"));S=`\\${S}`}else Ze("brackets");xe({type:"bracket",value:S});continue}if(S==="]"){if(t.nobracket===!0||y&&y.type==="bracket"&&y.value.length===1){xe({type:"text",value:S,output:`\\${S}`});continue}if(I.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(zc("opening","["));xe({type:"text",value:S,output:`\\${S}`});continue}ct("brackets");let re=y.value.slice(1);if(y.posix!==!0&&re[0]==="^"&&!re.includes("/")&&(S=`/${S}`),y.value+=S,se({value:S}),t.literalBrackets===!1||Ni.hasRegexChars(re))continue;let he=Ni.escapeRegex(y.value);if(I.output=I.output.slice(0,-y.value.length),t.literalBrackets===!0){I.output+=he,y.value=he;continue}y.value=`(${s}${he}|${y.value})`,I.output+=y.value;continue}if(S==="{"&&t.nobrace!==!0){Ze("braces");let re={type:"brace",value:S,output:"(",outputIndex:I.output.length,tokensIndex:I.tokens.length};ce.push(re),xe(re);continue}if(S==="}"){let re=ce[ce.length-1];if(t.nobrace===!0||!re){xe({type:"text",value:S,output:S});continue}let he=")";if(re.dots===!0){let Se=a.slice(),tt=[];for(let He=Se.length-1;He>=0&&(a.pop(),Se[He].type!=="brace");He--)Se[He].type!=="dots"&&tt.unshift(Se[He].value);he=nA(tt,t),I.backtrack=!0}if(re.comma!==!0&&re.dots!==!0){let Se=I.output.slice(0,re.outputIndex),tt=I.tokens.slice(re.tokensIndex);re.value=re.output="\\{",S=he="\\}",I.output=Se;for(let He of tt)I.output+=He.output||He.value}xe({type:"brace",value:S,output:he}),ct("braces"),ce.pop();continue}if(S==="|"){ee.length>0&&ee[ee.length-1].conditions++,xe({type:"text",value:S});continue}if(S===","){let re=S,he=ce[ce.length-1];he&&x[x.length-1]==="braces"&&(he.comma=!0,re="|"),xe({type:"comma",value:S,output:re});continue}if(S==="/"){if(y.type==="dot"&&I.index===I.start+1){I.start=I.index+1,I.consumed="",I.output="",a.pop(),y=o;continue}xe({type:"slash",value:S,output:g});continue}if(S==="."){if(I.braces>0&&y.type==="dot"){y.value==="."&&(y.output=m);let re=ce[ce.length-1];y.type="dots",y.output+=S,y.value+=S,re.dots=!0;continue}if(I.braces+I.parens===0&&y.type!=="bos"&&y.type!=="slash"){xe({type:"text",value:S,output:m});continue}xe({type:"dot",value:S,output:m});continue}if(S==="?"){if(!(y&&y.value==="(")&&t.noextglob!==!0&&k()==="("&&k(2)!=="?"){wt("qmark",S);continue}if(y&&y.type==="paren"){let he=k(),Se=S;if(he==="<"&&!Ni.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(y.value==="("&&!/[!=<:]/.test(he)||he==="<"&&!/<([!=]|\w+>)/.test(te()))&&(Se=`\\${S}`),xe({type:"text",value:S,output:Se});continue}if(t.dot!==!0&&(y.type==="slash"||y.type==="bos")){xe({type:"qmark",value:S,output:T});continue}xe({type:"qmark",value:S,output:R});continue}if(S==="!"){if(t.noextglob!==!0&&k()==="("&&(k(2)!=="?"||!/[!=<:]/.test(k(3)))){wt("negate",S);continue}if(t.nonegate!==!0&&I.index===0){U();continue}}if(S==="+"){if(t.noextglob!==!0&&k()==="("&&k(2)!=="?"){wt("plus",S);continue}if(y&&y.value==="("||t.regex===!1){xe({type:"plus",value:S,output:f});continue}if(y&&(y.type==="bracket"||y.type==="paren"||y.type==="brace")||I.parens>0){xe({type:"plus",value:S});continue}xe({type:"plus",value:f});continue}if(S==="@"){if(t.noextglob!==!0&&k()==="("&&k(2)!=="?"){xe({type:"at",extglob:!0,value:S,output:""});continue}xe({type:"text",value:S});continue}if(S!=="*"){(S==="$"||S==="^")&&(S=`\\${S}`);let re=rA.exec(te());re&&(S+=re[0],I.index+=re[0].length),xe({type:"text",value:S});continue}if(y&&(y.type==="globstar"||y.star===!0)){y.type="star",y.star=!0,y.value+=S,y.output=H,I.backtrack=!0,I.globstar=!0,Ce(S);continue}let ae=te();if(t.noextglob!==!0&&/^\([^?]/.test(ae)){wt("star",S);continue}if(y.type==="star"){if(t.noglobstar===!0){Ce(S);continue}let re=y.prev,he=re.prev,Se=re.type==="slash"||re.type==="bos",tt=he&&(he.type==="star"||he.type==="globstar");if(t.bash===!0&&(!Se||ae[0]&&ae[0]!=="/")){xe({type:"star",value:S,output:""});continue}let He=I.braces>0&&(re.type==="comma"||re.type==="brace"),F=ee.length&&(re.type==="pipe"||re.type==="paren");if(!Se&&re.type!=="paren"&&!He&&!F){xe({type:"star",value:S,output:""});continue}for(;ae.slice(0,3)==="/**";){let ue=i[I.index+4];if(ue&&ue!=="/")break;ae=ae.slice(3),Ce("/**",3)}if(re.type==="bos"&&Z()){y.type="globstar",y.value+=S,y.output=$(t),I.output=y.output,I.globstar=!0,Ce(S);continue}if(re.type==="slash"&&re.prev.type!=="bos"&&!tt&&Z()){I.output=I.output.slice(0,-(re.output+y.output).length),re.output=`(?:${re.output}`,y.type="globstar",y.output=$(t)+(t.strictSlashes?")":"|$)"),y.value+=S,I.globstar=!0,I.output+=re.output+y.output,Ce(S);continue}if(re.type==="slash"&&re.prev.type!=="bos"&&ae[0]==="/"){let ue=ae[1]!==void 0?"|$":"";I.output=I.output.slice(0,-(re.output+y.output).length),re.output=`(?:${re.output}`,y.type="globstar",y.output=`${$(t)}${g}|${g}${ue})`,y.value+=S,I.output+=re.output+y.output,I.globstar=!0,Ce(S+le()),xe({type:"slash",value:"/",output:""});continue}if(re.type==="bos"&&ae[0]==="/"){y.type="globstar",y.value+=S,y.output=`(?:^|${g}|${$(t)}${g})`,I.output=y.output,I.globstar=!0,Ce(S+le()),xe({type:"slash",value:"/",output:""});continue}I.output=I.output.slice(0,-y.output.length),y.type="globstar",y.output=$(t),y.value+=S,I.output+=y.output,I.globstar=!0,Ce(S);continue}let Ye={type:"star",value:S,output:H};if(t.bash===!0){Ye.output=".*?",(y.type==="bos"||y.type==="slash")&&(Ye.output=G+Ye.output),xe(Ye);continue}if(y&&(y.type==="bracket"||y.type==="paren")&&t.regex===!0){Ye.output=S,xe(Ye);continue}(I.index===I.start||y.type==="slash"||y.type==="dot")&&(y.type==="dot"?(I.output+=P,y.output+=P):t.dot===!0?(I.output+=w,y.output+=w):(I.output+=G,y.output+=G),k()!=="*"&&(I.output+=p,y.output+=p)),xe(Ye)}for(;I.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(zc("closing","]"));I.output=Ni.escapeLast(I.output,"["),ct("brackets")}for(;I.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(zc("closing",")"));I.output=Ni.escapeLast(I.output,"("),ct("parens")}for(;I.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(zc("closing","}"));I.output=Ni.escapeLast(I.output,"{"),ct("braces")}if(t.strictSlashes!==!0&&(y.type==="star"||y.type==="bracket")&&xe({type:"maybe_slash",value:"",output:`${g}?`}),I.backtrack===!0){I.output="";for(let ae of I.tokens)I.output+=ae.output!=null?ae.output:ae.value,ae.suffix&&(I.output+=ae.suffix)}return I};Ky.fastpaths=(i,e)=>{let t={...e},r=typeof t.maxLength=="number"?Math.min(df,t.maxLength):df,n=i.length;if(n>r)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${r}`);i=uD[i]||i;let o=Ni.isWindows(e),{DOT_LITERAL:a,SLASH_LITERAL:s,ONE_CHAR:c,DOTS_SLASH:l,NO_DOT:u,NO_DOTS:m,NO_DOTS_SLASH:f,STAR:g,START_ANCHOR:p}=uf.globChars(o),v=t.dot?m:u,_=t.dot?f:u,P=t.capture?"":"?:",w={negated:!1,prefix:""},R=t.bash===!0?".*?":g;t.capture&&(R=`(${R})`);let T=G=>G.noglobstar===!0?R:`(${P}(?:(?!${p}${G.dot?l:a}).)*?)`,L=G=>{switch(G){case"*":return`${v}${c}${R}`;case".*":return`${a}${c}${R}`;case"*.*":return`${v}${R}${a}${c}${R}`;case"*/*":return`${v}${R}${s}${c}${_}${R}`;case"**":return v+T(t);case"**/*":return`(?:${v}${T(t)}${s})?${_}${c}${R}`;case"**/*.*":return`(?:${v}${T(t)}${s})?${_}${R}${a}${c}${R}`;case"**/.*":return`(?:${v}${T(t)}${s})?${a}${c}${R}`;default:{let Y=/^(.*?)\.(\w+)$/.exec(G);if(!Y)return;let H=L(Y[1]);return H?H+a+Y[2]:void 0}}},W=Ni.removePrefix(i,w),$=L(W);return $&&t.strictSlashes!==!0&&($+=`${s}?`),$};dD.exports=Ky});var pD=at((mL,fD)=>{"use strict";var oA=require("path"),aA=lD(),jy=mD(),Vy=lf(),sA=Bu(),cA=i=>i&&typeof i=="object"&&!Array.isArray(i),Xt=(i,e,t=!1)=>{if(Array.isArray(i)){let u=i.map(f=>Xt(f,e,t));return f=>{for(let g of u){let p=g(f);if(p)return p}return!1}}let r=cA(i)&&i.tokens&&i.input;if(i===""||typeof i!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},o=Vy.isWindows(e),a=r?Xt.compileRe(i,e):Xt.makeRe(i,e,!1,!0),s=a.state;delete a.state;let c=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};c=Xt(n.ignore,u,t)}let l=(u,m=!1)=>{let{isMatch:f,match:g,output:p}=Xt.test(u,a,e,{glob:i,posix:o}),v={glob:i,state:s,regex:a,posix:o,input:u,output:p,match:g,isMatch:f};return typeof n.onResult=="function"&&n.onResult(v),f===!1?(v.isMatch=!1,m?v:!1):c(u)?(typeof n.onIgnore=="function"&&n.onIgnore(v),v.isMatch=!1,m?v:!1):(typeof n.onMatch=="function"&&n.onMatch(v),m?v:!0)};return t&&(l.state=s),l};Xt.test=(i,e,t,{glob:r,posix:n}={})=>{if(typeof i!="string")throw new TypeError("Expected input to be a string");if(i==="")return{isMatch:!1,output:""};let o=t||{},a=o.format||(n?Vy.toPosixSlashes:null),s=i===r,c=s&&a?a(i):i;return s===!1&&(c=a?a(i):i,s=c===r),(s===!1||o.capture===!0)&&(o.matchBase===!0||o.basename===!0?s=Xt.matchBase(i,e,t,n):s=e.exec(c)),{isMatch:!!s,match:s,output:c}};Xt.matchBase=(i,e,t,r=Vy.isWindows(t))=>(e instanceof RegExp?e:Xt.makeRe(e,t)).test(oA.basename(i));Xt.isMatch=(i,e,t)=>Xt(e,t)(i);Xt.parse=(i,e)=>Array.isArray(i)?i.map(t=>Xt.parse(t,e)):jy(i,{...e,fastpaths:!1});Xt.scan=(i,e)=>aA(i,e);Xt.compileRe=(i,e,t=!1,r=!1)=>{if(t===!0)return i.output;let n=e||{},o=n.contains?"":"^",a=n.contains?"":"$",s=`${o}(?:${i.output})${a}`;i&&i.negated===!0&&(s=`^(?!${s}).*$`);let c=Xt.toRegex(s,e);return r===!0&&(c.state=i),c};Xt.makeRe=(i,e={},t=!1,r=!1)=>{if(!i||typeof i!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(i[0]==="."||i[0]==="*")&&(n.output=jy.fastpaths(i,e)),n.output||(n=jy(i,e)),Xt.compileRe(n,e,t,r)};Xt.toRegex=(i,e)=>{try{let t=e||{};return new RegExp(i,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};Xt.constants=sA;fD.exports=Xt});var hD=at((fL,gD)=>{"use strict";gD.exports=pD()});var ol,To,Gn,gn,al,Qu,Mv=z(()=>{ol="function",To="object",Gn="undefined",gn="prototype",al=Object,Qu=al[gn]});function Hn(i,e){return i||e}function Qr(i,e){return i[e]}function gr(i,e){try{return{v:i.apply(this,e)}}catch(t){return{e:t}}}function TA(i,e){var t=gr(i);return t.e?e:t.v}function ep(i){return function(e){return typeof e===i}}function YD(i){var e="[object "+i+"]";return function(t){return!!(t&&tp(t)===e)}}function tp(i){return Xv[Zf].call(i)}function Zv(i,e){return typeof i===e}function Ve(i){return typeof i===Ts||i===Ts}function IA(i){return!rp(i)}function q(i){return i===or||Ve(i)}function AA(i){return i===or||!rp(i)}function rp(i){return!!i||i!==gi}function NA(i){return!Lv&&(Lv=["string","number","boolean",Ts,"symbol","bigint"]),i!==Zu&&Lv.indexOf(i)!==-1}function Ft(i){return!i&&q(i)?!1:!!i&&typeof i===Zu}function oi(i){return!!(i&&i.then&&Ne(i.then))}function e_(i){return!i||!hn(i)}function hn(i){return!(!i||TA(function(){return!(i&&0+i)},!i))}function xr(i,e){return!!i&&Xv.hasOwnProperty[Br](i,e)}function kA(i,e){return xr(i,e)||!!np(i,e)}function we(i,e,t){if(i&&Ft(i)){for(var r in i)if(yn(i,r)&&e[Br](t||i,r,i[r])===-1)break}}function WD(i){var e={};if(e[Kf.c]=!0,e[Kf.e]=!0,i.l){e.get=function(){return i.l.v};var t=np(i.l,"v");t&&t.set&&(e.set=function(r){i.l.v=r})}return we(i,function(r,n){e[Kf[r]]=IA(n)?e[Kf[r]]:n}),e}function t_(i,e,t,r,n,o){var a={e:o,c:n};return t&&(a.g=t),r&&(a.s=r),hi(i,e,WD(a))}function vt(i,e,t){return hi(i,e,WD(t))}function KD(i,e,t,r,n){var o={};return we(i,function(a,s){qf(o,a,e?s:a,n),qf(o,s,t?s:a,n)}),r?r(o):o}function qf(i,e,t,r){hi(i,e,{value:t,enumerable:!0,writable:!!r})}function ge(i,e){var t=qv,r=Xv[Zf][Br](i);r===OA&&(i={stack:pr(i.stack),message:pr(i.message),name:pr(i.name)});try{t=JSON.stringify(i,or,e?typeof e=="number"?e:4:gi),t=(t?t.replace(/"(\w+)"\s*:\s{0,1}/g,"$1: "):or)||pr(i)}catch(n){t=" - "+ge(n,e)}return r+": "+t}function $t(i){throw new Error(i)}function Gr(i){throw new TypeError(i)}function VD(i){return i}function MA(i){return i[zv]||or}function vn(i){return jD&&we(i,function(e,t){(Ee(t)||Ft(t))&&vn(t)}),Qi(i)}function zD(i){return KD(i,1,0,Qi)}function LA(i){return KD(i,0,0,Qi)}function BA(i){var e={};return we(i,function(t,r){qf(e,t,r[1]),qf(e,r[0],r[1])}),Qi(e)}function JD(i){return BA(i)}function QD(){var i;return typeof globalThis!==Ts&&(i=globalThis),!i&&typeof self!==Ts&&(i=self),!i&&typeof window!==Ts&&(i=window),!i&&typeof global!==Ts&&(i=global),i}function XD(){if(!Bv){var i=gr(QD).v||{};Bv=i[MD]=i[MD]||{}}return Bv}function dl(i,e,t){var r=e?e[i]:or;return function(n){var o=(n?n[i]:or)||r;if(o||t){var a=arguments;return(o||t).apply(n,o?Ao[Br](a,1):a)}Gr('"'+pr(i)+'" not defined for '+ge(n))}}function FA(i){return function(e){return e[i]}}function HA(i,e,t){return q(i)&&Gr("Invalid "+ge(i)),t<0?qv:(e=e||0,e<0&&(e=GA(e+i[Is],0)),Ve(t)?LD(i,e):LD(i,e,e+t))}function ks(i,e){return hr(i,0,e)}function UA(){if(!Fv){var i=XD();Fv=i.gblSym=i.gblSym||{k:{},s:{}}}return Fv}function i_(i){var e={description:pr(i),toString:function(){return Qv+"("+i+")"}};return e[PA]=!0,e}function YA(i){var e=UA();if(!yn(e.k,i)){var t=i_(i),r=Hr(e.s).length;t[BD]=function(){return r+"_"+t[Zf]()},e.k[i]=t,e.s[t[BD]()]=pr(i)}return e.k[i]}function WA(i){!jf&&(jf={});var e,t=qD[i];return t&&(e=jf[t]=jf[t]||i_(Qv+"."+t)),e}function ya(){ar=XD()}function ZD(i){var e={};return!ar&&ya(),e.b=ar.lzy,hi(e,"v",{configurable:!0,get:function(){var t=i();return ar.lzy||hi(e,"v",{value:t}),e.b=ar.lzy,t}}),e}function Li(i){return hi({toJSON:function(){return i}},"v",{value:i})}function td(i,e){var t;return function(){return!ar&&ya(),(!t||ar.lzy)&&(t=Li(gr(i,e).v)),t.v}}function ai(i){return!ar&&ya(),(!Xu||i===!1||ar.lzy)&&(Xu=Li(gr(QD).v||or)),Xu.v}function pt(i,e){var t;if(!Xu||e===!1?t=ai(e):t=Xu.v,t&&t[i])return t[i];if(i===eR)try{return window}catch{}return or}function Os(){return!!Kt()}function ml(){return!!sr()}function rd(){return!!yr()}function n_(){return!!op()}function ap(){return cl=Li(gr(pt,[Qv]).v),cl}function $A(i){var e=(ar.lzy?0:cl)||ap();return e.v?e.v[i]:gi}function rR(){return!!KA()}function KA(){return!ar&&ya(),((ar.lzy?0:cl)||ap()).v}function id(i,e){var t=qD[i];!ar&&ya();var r=(ar.lzy?0:cl)||ap();return r.v?r.v[t||i]:e?gi:WA(i)}function fl(i,e){!ar&&ya();var t=(ar.lzy?0:cl)||ap();return t.v?t.v(i):e?or:i_(i)}function sp(i){return!ar&&ya(),Gv=(ar.lzy?0:Gv)||Li(gr($A,["for"]).v),(Gv.v||YA)(i)}function Qf(i){return!!i&&Ne(i.next)}function o_(i){return!AA(i)&&Ne(i[id(3)])}function cp(i,e,t){if(i&&(Qf(i)||(!Vf&&(Vf=Li(id(3))),i=i[Vf.v]?i[Vf.v]():or),Qf(i))){var r=gi,n=gi;try{for(var o=0;!(n=i.next()).done&&e[Br](t||i,n.value,o,i)!==-1;)o++}catch(a){r={e:a},i.throw&&(n=or,i.throw(r))}finally{try{n&&!n.done&&i.return&&i.return(n)}finally{if(r)throw r.e}}}}function sl(i,e,t){return i.apply(e,t)}function _n(i,e){return!Ve(e)&&i&&(Ee(e)?sl(i.push,i,e):Qf(e)||o_(e)?cp(e,function(t){i.push(t)}):i.push(e)),i}function V(i,e,t){if(i)for(var r=i[Is]>>>0,n=0;n<r&&!(n in i&&e[Br](t||i,i[n],n,i)===-1);n++);}function pl(i,e,t){return((i?i.slice:or)||Ao).apply(i,Ao[Br](arguments,1))}function jA(i,e,t){return ft(i,e,t)!==-1}function VA(i){if(!i)return{};var e=typeof i;e!==Zu&&e!==Xf&&Gr("Prototype must be an Object or function: "+ge(i));function t(){}return t[Io]=i,new t}function iR(i,e){var t=Mi.setPrototypeOf||function(r,n){var o;!Hv&&(Hv=Li((o={},o[zv]=[],o instanceof Array))),Hv.v?r[zv]=n:we(n,function(a,s){return r[a]=s})};return t(i,e)}function zA(i,e,t){gr(vt,[e,Jf,{v:i,c:!0,e:!1}]),e=iR(e,t);function r(){this[zf]=e,gr(vt,[this,Jf,{v:i,c:!0,e:!1}])}return e[Io]=t===or?Wn(t):(r[Io]=t[Io],new r),e}function FD(i,e){e&&(i[Jf]=e)}function s_(i,e,t){var r=t||Error,n=r[Io][Jf],o=Error.captureStackTrace;return zA(i,function(){var a=this,s=arguments;try{gr(FD,[r,i]);var c=sl(r,a,Ao[Br](s))||a;if(c!==a){var l=Jv(a);l!==Jv(c)&&iR(c,l)}return o&&o(c,a[zf]),e&&e(c,s),c}finally{gr(FD,[r,n])}},r)}function jt(){return(Date.now||JA)()}function JA(){return new Date().getTime()}function qA(i){return function(t){return q(t)&&Gr("strTrim called ["+ge(t)+"]"),t&&t.replace&&(t=t.replace(i,qv)),t}}function Ur(i){if(!i||typeof i!==Zu)return!1;Wv||(Wv=ml()?sr():!0);var e=!1;if(i!==Wv){Yv||(Uv=Function[Io][Zf],Yv=Uv[Br](Mi));try{var t=Jv(i);e=!t,e||(xr(t,zf)&&(t=t[zf]),e=!!(t&&typeof t===Xf&&Uv[Br](t)===Yv))}catch{}}return e}function XA(i){return i.value&&oR(i),!0}function ZA(i,e,t,r){var n;return V(i,function(o){if(o.k===e)return n=o,-1}),n||(n={k:e,v:e},i.push(n),r(n)),n.v}function c_(i,e,t,r){var n=t.handler,o=t.path?r?t.path.concat(r):t.path:[],a={handler:t.handler,src:t.src,path:o},s=typeof e,c=!1,l=e===or;l||(e&&s===Zu?c=Ur(e):l=NA(s));var u={type:s,isPrim:l,isPlain:c,value:e,result:e,path:o,origin:t.src,copy:function(m,f){return c_(i,m,f?a:t,f)},copyTo:function(m,f){return nR(i,m,f,a)}};return u.isPrim?n&&n[Br](t,u)?u.result:e:ZA(i,e,o,function(m){vt(u,"result",{g:function(){return m.v},s:function(p){m.v=p}});for(var f=0,g=n;!(g||(f<GD.length?GD[f++]:XA))[Br](t,u);)g=or})}function nR(i,e,t,r){if(!q(t))for(var n in t)e[n]=c_(i,t[n],r,n);return e}function eN(i,e,t){var r={handler:t,src:e,path:[]};return nR([],i,e,r)}function tN(i,e){var t={handler:e,src:i};return c_([],i,t)}function rN(i){var e=i.value;if(Ee(e)){var t=i.result=[];return t.length=e.length,i.copyTo(t,e),!0}return!1}function iN(i){var e=i.value;return ip(e)?(i.result=new Date(e.getTime()),!0):!1}function nN(i){return i.type===Xf}function oR(i){var e=i.value;if(e&&i.isPlain){var t=i.result={};return i.copyTo(t,e),!0}return!1}function oN(i,e){return V(e,function(t){eN(i,t)}),i}function l_(i,e,t,r,n,o,a){return oN(tN(i)||{},Ao[Br](arguments))}function va(){return!ar&&ya(),(!$v||ar.lzy)&&($v=Li(gr(pt,["performance"]).v)),$v.v}function od(){var i=va();return i&&i.now?i.now():jt()}function aN(i,e,t){Me(i)||Gr("'"+ge(i)+"' is not a string");var r=Me(e)?e:pr(e),n=!Ve(t)&&t<i[Is]?t:i[Is];return hr(i,n-r[Is],n)===r}function sN(i,e,t){Me(i)||Gr("'"+ge(i)+"' is not a string");var r=Me(e)?e:pr(e),n=t>0?t:0;return hr(i,n,n+r[Is])===r}function lN(i,e,t){var r=!0,n=i?e(or):or,o;function a(){return r=!1,n&&n[jv]&&n[jv](),o}function s(){n&&t(n),n=or}function c(){return n=e(n),r||a(),o}function l(u){!u&&n&&s(),u&&!n&&c()}return o={cancel:s,refresh:c},o[Vv]=function(){return n&&n[Vv]?n[Vv]():r},o[Kv]=function(){return r=!0,n&&n[Kv]&&n[Kv](),o},o[jv]=a,o=hi(o,cN,{get:function(){return!!n},set:l}),{h:o,dn:function(){n=or}}}function u_(i,e,t){var r=Ee(e),n=r?e.length:0,o=(n>0?e[0]:r?gi:e)||setTimeout,a=(n>1?e[1]:gi)||clearTimeout,s=t[0];t[0]=function(){c.dn(),sl(s,gi,Ao[Br](arguments))};var c=lN(i,function(l){if(l){if(l.refresh)return l.refresh(),l;sl(a,gi,[l])}return sl(o,gi,t)},function(l){sl(a,gi,[l])});return c.h}function Bi(i,e){return u_(!0,gi,Ao[Br](arguments))}function aR(i,e,t){return u_(!0,i,Ao[Br](arguments,1))}function sR(i,e){return u_(!1,gi,Ao[Br](arguments))}var gi,or,qv,Xf,Zu,Io,zv,Ts,zf,Qv,PA,Is,Jf,Br,Zf,Mi,Xv,HD,As,xA,UD,ed,Ao,Lv,Me,Ne,Ee,ip,Fr,Un,Ns,np,yn,Kf,hi,$D,pr,OA,jD,ll,Hr,Qi,r_,Jv,qD,MD,Bv,ul,GA,LD,hr,Yn,BD,Fv,jf,ar,eR,Xu,Kt,sr,yr,op,tR,cl,Gv,Vf,ft,No,a_,nd,Wn,Hv,QA,gt,Uv,Yv,Wv,GD,gl,$v,Ms,yi,hl,Kv,jv,Vv,cN,Le=z(()=>{gi=void 0,or=null,qv="",Xf="function",Zu="object",Io="prototype",zv="__proto__",Ts="undefined",zf="constructor",Qv="Symbol",PA="_polyfill",Is="length",Jf="name",Br="call",Zf="toString",Mi=Hn(Object),Xv=Qr(Mi,Io),HD=Hn(String),As=Qr(HD,Io),xA=Hn(Math),UD=Hn(Array),ed=Qr(UD,Io),Ao=Qr(ed,"slice");Me=ep("string"),Ne=ep(Xf);Ee=Qr(UD,"isArray"),ip=YD("Date"),Fr=ep("number"),Un=ep("boolean"),Ns=YD("Error");np=Qr(Mi,"getOwnPropertyDescriptor");yn=Hn(Qr(Mi,"hasOwn"),kA);Kf={e:"enumerable",c:"configurable",v:"value",w:"writable",g:"get",s:"set"};hi=Qr(Mi,"defineProperty"),$D=Qr(Mi,"defineProperties");pr=Hn(HD),OA="[object Error]";jD=Qr(Mi,"freeze");ll=Qr(Mi,"assign"),Hr=Qr(Mi,"keys");Qi=Hn(jD,VD),r_=Hn(Qr(Mi,"seal"),VD),Jv=Hn(Qr(Mi,"getPrototypeOf"),MA);qD=LA({asyncIterator:0,hasInstance:1,isConcatSpreadable:2,iterator:3,match:4,matchAll:5,replace:6,search:7,species:8,split:9,toPrimitive:10,toStringTag:11,unscopables:12}),MD="__tsUtils$gblCfg";ul=dl;GA=Qr(xA,"max"),LD=ul("slice",As),hr=ul("substring",As),Yn=dl("substr",As,HA);BD="_urid";eR="window";Kt=td(pt,["document"]);sr=td(pt,[eR]);yr=td(pt,["navigator"]);op=td(pt,["history"]),tR=td(function(){return!!gr(function(){return process&&(process.versions||{}).node}).v});ft=ul("indexOf",ed),No=ul("map",ed);a_=dl("includes",ed,jA),nd=ul("reduce",ed),Wn=Hn(Qr(Mi,"create"),VA);QA=qA(/^\s+|(?=\s)\s+$/g),gt=dl("trim",As,QA);GD=[rN,oR,nN,iN];gl=FA(Is);Ms=dl("endsWith",As,aN);yi=ul("indexOf",As),hl=dl("startsWith",As,sN);Kv="ref",jv="unref",Vv="hasRef",cN="enabled"});function vi(i,e){typeof e!==ol&&e!==null&&Gr("Class extends value "+String(e)+" is not a constructor or null"),d_(i,e);function t(){this.constructor=i}i[gn]=e===null?Wn(e):(t[gn]=e[gn],new t)}function lp(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i}var BU,FU,cR,dN,Xi,d_,lR=z(()=>{Le();Mv();BU=(ai()||{}).Symbol,FU=(ai()||{}).Reflect,cR="hasOwnProperty",dN=function(i){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var n in e)Qu[cR].call(e,n)&&(i[n]=e[n])}return i},Xi=ll||dN,d_=function(i,e){return d_=al.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var n in r)r[cR](n)&&(t[n]=r[n])},d_(i,e)}});var uR=z(()=>{});var _i=z(()=>{Mv();lR();uR();Le()});function fp(i){return i&&(i===__[ko]||i===Array[ko])}function b_(i){return fp(i)||i===Function[ko]}function Ls(i){var e;if(i){if(sd)return sd(i);var t=i[v_]||i[ko]||(i[pp]?i[pp][ko]:null);e=i[dp]||t,xr(i,dp)||(delete i[m_],e=i[dp]=i[m_]||i[dp],i[m_]=t)}return e}function yp(i,e){var t=[];if(fR)t=fR(i);else for(var r in i)typeof r=="string"&&xr(i,r)&&t.push(r);if(t&&t.length>0)for(var n=0;n<t.length;n++)e(t[n])}function E_(i,e,t){return e!==pp&&typeof i[e]===gp&&(t||xr(i,e))&&e!==v_&&e!==ko}function vp(i){Gr("DynamicProto: "+i)}function fN(i){var e=Wn(null);return yp(i,function(t){!e[t]&&E_(i,t,!1)&&(e[t]=i[t])}),e}function C_(i,e){for(var t=i.length-1;t>=0;t--)if(i[t]===e)return!0;return!1}function pN(i,e,t,r){function n(c,l,u){var m=l[u];if(m[p_]&&r){var f=c[hp]||{};f[ad]!==!1&&(m=(f[l[yl]]||{})[u]||m)}return function(){return m.apply(c,arguments)}}var o=Wn(null);yp(t,function(c){o[c]=n(e,t,c)});for(var a=Ls(i),s=[];a&&!b_(a)&&!C_(s,a);)yp(a,function(c){!o[c]&&E_(a,c,!sd)&&(o[c]=n(e,a,c))}),s.push(a),a=Ls(a);return o}function gN(i,e,t,r){var n=null;if(i&&xr(t,yl)){var o=i[hp]||Wn(null);if(n=(o[t[yl]]||Wn(null))[e],n||vp("Missing ["+e+"] "+gp),!n[g_]&&o[ad]!==!1){for(var a=!xr(i,e),s=Ls(i),c=[];a&&s&&!b_(s)&&!C_(c,s);){var l=s[e];if(l){a=l===r;break}c.push(s),s=Ls(s)}try{a&&(i[e]=n),n[g_]=1}catch{o[ad]=!1}}}return n}function hN(i,e,t){var r=e[i];return r===t&&(r=Ls(e)[i]),typeof r!==gp&&vp("["+i+"] is not a "+gp),r}function yN(i,e,t,r,n){function o(c,l){var u=function(){var m=gN(this,l,c,u)||hN(l,c,u);return m.apply(this,arguments)};return u[p_]=1,u}if(!fp(i)){var a=t[hp]=t[hp]||Wn(null);if(!fp(a)){var s=a[e]=a[e]||Wn(null);a[ad]!==!1&&(a[ad]=!!n),fp(s)||yp(t,function(c){E_(t,c,!1)&&t[c]!==r[c]&&(s[c]=t[c],delete t[c],(!xr(i,c)||i[c]&&!i[c][p_])&&(i[c]=o(i,c)))})}}}function vN(i,e){if(sd){for(var t=[],r=Ls(e);r&&!b_(r)&&!C_(t,r);){if(r===i)return!0;t.push(r),r=Ls(r)}return!1}return!0}function f_(i,e){return xr(i,ko)?i.name||e||dR:((i||{})[pp]||{}).name||e||dR}function rt(i,e,t,r){xr(i,ko)||vp("theClass is an invalid class definition.");var n=i[ko];vN(n,e)||vp("["+f_(i)+"] not in hierarchy of ["+f_(e)+"]");var o=null;xr(n,yl)?o=n[yl]:(o=mN+f_(i,"_")+"$"+y_.n,y_.n++,n[yl]=o);var a=rt[gR],s=!!a[mp];s&&r&&r[mp]!==void 0&&(s=!!r[mp]);var c=fN(e),l=pN(n,e,c,s);t(e,l);var u=!!sd&&!!a[h_];u&&r&&(u=!!r[h_]),yN(n,o,e,c,u!==!1)}var up,pp,ko,gp,hp,p_,yl,mN,g_,ad,gR,dR,v_,dp,mR,m_,mp,h_,__,sd,fR,pR,y_,Tr=z(()=>{Le();pp="constructor",ko="prototype",gp="function",hp="_dynInstFuncs",p_="_isDynProxy",yl="_dynClass",mN="_dynCls$",g_="_dynInstChk",ad=g_,gR="_dfOpts",dR="_unknown_",v_="__proto__",dp="_dyn"+v_,mR="__dynProto$Gbl",m_="_dynInstProto",mp="useBaseInst",h_="setInstFuncs",__=Object,sd=__.getPrototypeOf,fR=__.getOwnPropertyNames,pR=ai(),y_=pR[mR]||(pR[mR]={o:(up={},up[h_]=!0,up[mp]=!0,up),n:1e3});rt[gR]=y_.o});var w_,hR=z(()=>{"use strict";w_=100});var Vt,D_,cd=z(()=>{Le();Vt=zD,D_=JD});var bn,_N,yR=z(()=>{cd();bn=Vt({Unknown:0,NonRetryableStatus:1,InvalidEvent:2,SizeLimitExceeded:3,KillSwitch:4,QueueFull:5}),_N=Vt({Unknown:0,NonRetryableStatus:1,CleanStorage:2,MaxInStorageTimeExceeded:3})});var Fi,R_=z(()=>{cd();Fi=Vt({NONE:0,PENDING:3,INACTIVE:1,ACTIVE:2})});var bi,_a,fe,Bs,Fs,vl,Oo,En,Cn,Dt,ba,ze,$n,_p,Mo,Lo,Kn,_l,bl,Ei,S_,bp,Gs,ld,Ea,Ir,El,Ca,vr,Ep,P_,wa,x_,Ci,ud,Hs,Cp,jn,Gi,Cl,Vn,wn,wi,Da,Us,Hi,Ra,wp,dd,Zi,Dp,Dn,T_,Di,md,Ys,I_,A_,fd,Sa,Ws,Rn,Rp,N_,wl,k_,Sp,$s,O_,Dl,Rl,Pa,Pp,Et=z(()=>{bi="toLowerCase",_a="blkVal",fe="length",Bs="rdOnly",Fs="notify",vl="warnToConsole",Oo="throwInternal",En="setDf",Cn="watch",Dt="logger",ba="apply",ze="push",$n="splice",_p="hdlr",Mo="cancel",Lo="initialize",Kn="identifier",_l="removeNotificationListener",bl="addNotificationListener",Ei="isInitialized",S_="instrumentationKey",bp="INACTIVE",Gs="value",ld="getNotifyMgr",Ea="getPlugin",Ir="name",El="iKey",Ca="time",vr="processNext",Ep="getProcessTelContext",P_="pollInternalLogs",wa="enabled",x_="stopPollingInternalLogs",Ci="unload",ud="onComplete",Hs="version",Cp="loggingLevelConsole",jn="createNew",Gi="teardown",Cl="messageId",Vn="message",wn="isAsync",wi="diagLog",Da="_doTeardown",Us="update",Hi="getNext",Ra="setNextPlugin",wp="protocol",dd="userAgent",Zi="split",Dp="nodeType",Dn="replace",T_="logInternalMessage",Di="type",md="handler",Ys="status",I_="getResponseHeader",A_="getAllResponseHeaders",fd="isChildEvt",Sa="data",Ws="getCtx",Rn="setCtx",Rp="complete",N_="itemsReceived",wl="urlString",k_="sendPOST",Sp="headers",$s="timeout",O_="setRequestHeader",Dl="traceId",Rl="spanId",Pa="traceFlags",Pp="getAttribute"});function vR(i,e){M_||(M_=s_("AggregationError",function(r,n){n[fe]>1&&(r.errors=n[1])}));var t=i||"One or more errors occurred.";throw V(e,function(r,n){t+=`
`.concat(n," > ").concat(ge(r))}),new M_(t,e||[])}var M_,_R=z(()=>{Le();Et()});function Ui(i,e){return wR(i,function(t){return e?e({status:"fulfilled",rejected:!1,value:t}):t},function(t){return e?e({status:W_,rejected:!0,reason:t}):t})}function wR(i,e,t,r){var n=i;try{if(oi(i))(e||t)&&(n=i.then(e,t));else try{e&&(n=e(i))}catch(o){if(t)n=t(o);else throw o}}finally{r&&bN(n,r)}return n}function bN(i,e){var t=i;return e&&(oi(i)?i.finally?t=i.finally(e):t=i.then(function(r){return e(),r},function(r){throw e(),r}):e()),t}function EN(i,e,t,r){L_=L_||{toString:function(){return"[[PromiseState]]"}},B_=B_||{toString:function(){return"[[PromiseResult]]"}},F_=F_||{toString:function(){return"[[PromiseIsHandled]]"}};var n={};n[L_]={get:e},n[B_]={get:t},n[F_]={get:r},$D(i,n)}function CN(i){var e;return i&&i.createEvent&&(e=i.createEvent("Event")),!!e&&e.initEvent}function wN(i,e,t,r){var n=Kt();!xp&&(xp=Li(!!gr(CN,[n]).v));var o=xp.v?n.createEvent("Event"):r?new Event(e):{};if(t&&t(o),xp.v&&o.initEvent(e,!1,!0),o&&i[ER])i[ER](o);else{var a=i["on"+e];if(a)a(o);else{var s=pt("console");s&&(s.error||s.log)(e,ge(o))}}}function CR(i){return Ne(i)?i.toString():ge(i)}function SR(i,e,t){var r=pl(arguments,3),n=0,o=!1,a,s=[],c=RN++,l=pd.length>0?pd[pd.length-1]:void 0,u=!1,m=null,f;function g(L,W){try{pd.push(c),u=!0,m&&m.cancel(),m=null;var $=i(function(G,Y){s.push(function(){try{var H=n===2?L:W,I=Ve(H)?a:Ne(H)?H(a):H;oi(I)?I.then(G,Y):H?G(I):n===3?Y(I):G(I)}catch(ee){Y(ee)}}),o&&P()},r);return $}finally{pd.pop()}}function p(L){return g(void 0,L)}function v(L){var W=L,$=L;return Ne(L)&&(W=function(G){return L&&L(),G},$=function(G){throw L&&L(),G}),g(W,$)}function _(){return DR[n]}function P(){if(s.length>0){var L=s.slice();s=[],u=!0,m&&m.cancel(),m=null,e(L)}}function w(L,W){return function($){if(n===W){if(L===2&&oi($)){n=1,$.then(w(2,1),w(3,1));return}n=L,o=!0,a=$,P(),!u&&L===3&&!m&&(m=Bi(R,SN))}}}function R(){if(!u)if(u=!0,tR())process.emit(RR,a,f);else{var L=sr()||ai();!G_&&(G_=Li(gr(pt,[Tp+"RejectionEvent"]).v)),wN(L,DN,function(W){return vt(W,"promise",{g:function(){return f}}),W.reason=a,W},!!G_.v)}}f={then:g,catch:p,finally:v},hi(f,"state",{get:_}),bR&&EN(f,_,function(){return tp(a)},function(){return u}),rR()&&(f[id(11)]="IPromise");function T(){return"IPromise"+(bR?"["+c+(Ve(l)?"":":"+l)+"]":"")+" "+_()+(o?" - "+CR(a):"")}return f.toString=T,(function(){Ne(t)||Gr(Tp+": executor is not a function - "+CR(t));var W=w(3,0);try{t.call(f,w(2,0),W)}catch($){W($)}})(),f}function PN(i){return function(e){var t=pl(arguments,1);return i(function(r,n){try{var o=[],a=1;cp(e,function(s,c){s&&(a++,wR(s,function(l){o[c]=l,--a===0&&r(o)},n))}),a--,a===0&&r(o)}catch(s){n(s)}},t)}}function xN(i){return Li(function(e){var t=pl(arguments,1);return i(function(r,n){var o=[],a=1;function s(c,l){a++,Ui(c,function(u){u.rejected?o[l]={status:W_,reason:u.reason}:o[l]={status:"fulfilled",value:u.value},--a===0&&r(o)})}try{Ee(e)?V(e,s):o_(e)?cp(e,s):Gr("Input is not an iterable"),a--,a===0&&r(o)}catch(c){n(c)}},t)})}function PR(i){V(i,function(e){try{e()}catch{}})}function TN(i){var e=Fr(i)?i:0;return function(t){Bi(function(){PR(t)},e)}}function xR(i,e){return SR(xR,TN(e),i,e)}function IN(i,e){!H_&&(H_=Li(gr(pt,[Tp]).v||null));var t=H_.v;if(!t)return xR(i);Ne(i)||Gr(Tp+": executor is not a function - "+ge(i));var r=0;function n(){return DR[r]}var o=new t(function(a,s){function c(u){r=2,a(u)}function l(u){r=3,s(u)}i(c,l)});return hi(o,"state",{get:n}),o}function gd(i){return SR(gd,PR,i)}function TR(i,e){return!U_&&(U_=xN(gd)),U_.v(i,e)}function en(i,e){return!Y_&&(Y_=Li(IN)),Y_.v.call(this,i,e)}var Tp,W_,L_,B_,F_,bR,DR,ER,xp,RR,DN,pd,RN,SN,G_,H_,U_,Y_,IR,E1,Ks=z(()=>{Le();Tp="Promise",W_="rejected";bR=!1;DR=["pending","resolving","resolved",W_],ER="dispatchEvent";RR="unhandledRejection",DN=RR.toLowerCase(),pd=[],RN=0,SN=10;IR=PN(en),E1=id(11)});var Yi,Be,xa,Gt,Ip,hd,Bo,js,Ri,Vs,Sl,Ta,Pl,zn,Ap,Np,kp,xl,Op,Mp,AR,cr=z(()=>{Yi=void 0,Be="",xa="channels",Gt="core",Ip="createPerfMgr",hd="disabled",Bo="extensionConfig",js="extensions",Ri="processTelemetry",Vs="priority",Sl="eventsSent",Ta="eventsDiscarded",Pl="eventsSendRequest",zn="perfEvent",Ap="offlineEventsStored",Np="offlineBatchSent",kp="offlineBatchDrop",xl="getPerfMgr",Op="domain",Mp="path",AR="Not dynamic - "});function tn(i){return!q(i)}function zs(i){var e=i;return e&&Me(e)&&(e=e[Dn](NN,function(t,r){return r.toUpperCase()}),e=e[Dn](kN,"_"),e=e[Dn](ON,function(t,r){return"_"+r})),e}function tr(i,e){return i&&e?yi(i,e)!==-1:!1}function Wi(i){return i&&i.toISOString()||""}function Pt(i){return Ns(i)?i[Ir]:Be}function rn(i,e,t,r,n){var o=t;return i&&(o=i[e],o!==t&&(!n||n(o))&&(!r||r(t))&&(o=t,i[e]=o)),o}function yd(i,e,t){var r;return i?(r=i[e],!r&&q(r)&&(r=Ve(t)?{}:t,i[e]=r)):r=Ve(t)?{}:t,r}function kR(i,e){var t=null,r=null;return Ne(i)?t=i:r=i,function(){var n=arguments;if(t&&(r=t()),r)return r[e][ba](r,n)}}function $_(i,e,t){if(i&&e&&Ft(i)&&Ft(e)){var r=function(o){if(Me(o)){var a=e[o];Ne(a)?(!t||t(o,!0,e,i))&&(i[o]=kR(e,o)):(!t||t(o,!1,e,i))&&(yn(i,o)&&delete i[o],vt(i,o,{g:function(){return e[o]},s:function(s){e[o]=s}}))}};for(var n in e)r(n)}return i}function Fo(i,e,t,r,n){i&&e&&t&&(n!==!1||Ve(i[e]))&&(i[e]=kR(t,r))}function $i(i,e,t,r){return i&&e&&Ft(i)&&Ee(t)&&V(t,function(n){Me(n)&&Fo(i,n,e,n,r)}),i}function K_(i){return(function(){function e(){var t=this;i&&we(i,function(r,n){t[r]=n})}return e})()}function Si(i){return i&&ll&&(i=al(ll({},i))),i}function Lp(i,e,t,r,n,o){var a=arguments,s=a[0]||{},c=a[fe],l=!1,u=1;for(c>0&&Un(s)&&(l=s,s=a[u]||{},u++),Ft(s)||(s={});u<c;u++){var m=a[u],f=Ee(m),g=Ft(m);for(var p in m){var v=f&&p in m||g&&yn(m,p);if(v){var _=m[p],P=void 0;if(l&&_&&((P=Ee(_))||Ur(_))){var w=s[p];P?Ee(w)||(w=[]):Ur(w)||(w={}),_=Lp(l,w,_)}_!==void 0&&(s[p]=_)}}}return s}function Sn(i){try{return i.responseText}catch{}return null}function Js(i,e){return i?"XDomainRequest,Response:"+Sn(i)||"":e}function Go(i,e){return i?"XMLHttpRequest,Status:"+i[Ys]+",Response:"+Sn(i)||i.response||"":e}function Ho(i,e){return e&&(Fr(e)?i=[e].concat(i):Ee(e)&&(i=e.concat(i))),i}function j_(i,e,t,r,n,o){r===void 0&&(r=!1),n===void 0&&(n=!1);function a(c,l,u){try{c[l]=u}catch{}}var s=new XMLHttpRequest;return r&&a(s,MN,r),t&&a(s,NR,t),s.open(i,e,!n),t&&a(s,NR,t),!n&&o&&a(s,LN,o),s}function Bp(i){var e={};if(Me(i)){var t=gt(i)[Zi](/[\r\n]+/);V(t,function(r){if(r){var n=r.indexOf(": ");if(n!==-1){var o=gt(r.substring(0,n))[bi](),a=gt(r.substring(n+1));e[o]=a}else e[gt(r)]=1}})}return e}function Tl(i,e,t){if(!i[t]&&e&&e[I_]){var r=e[I_](t);r&&(i[t]=gt(r))}return i}function Uo(i,e){var t={};return i[A_]?t=Bp(i[A_]()):e&&(t=Tl(t,i,GN),t=Tl(t,i,BN),t=Tl(t,i,FN)),t}var AN,NN,kN,ON,x1,MN,NR,LN,BN,FN,GN,Jn=z(()=>{_i();Le();Et();cr();AN="getPrototypeOf",NN=/-([a-z])/g,kN=/([^\w\d_$])/g,ON=/^(\d+[\w\d_$])/,x1=Object[AN];MN="Microsoft_ApplicationInsights_BypassAjaxInstrumentation",NR="withCredentials",LN="timeout";BN="kill-duration",FN="kill-duration-seconds",GN="time-delta-millis"});function BR(i,e){var t=!1;if(i){try{if(t=e in i,!t){var r=i[gn];r&&(t=e in r)}}catch{}if(!t)try{var n=new i;t=!Ve(n[e])}catch{}}return t}function X_(i){LR=i}function qs(i){if(i&&LR){var e=pt("__mockLocation");if(e)return e}return typeof location===To&&location?location:pt(UN)}function vd(){return typeof console!==Gn?console:pt(YN)}function qn(){return!!(typeof JSON===To&&JSON||pt(OR)!==null)}function Yr(){return qn()?JSON||pt(OR):null}function _d(){return pt(WN)}function bd(){return pt($N)}function Ia(){var i=yr();return i&&i.product?i.product===KN:!1}function Aa(){var i=yr();if(i&&(i[dd]!==z_||V_===null)){z_=i[dd];var e=(z_||Be)[bi]();V_=tr(e,q_)||tr(e,Q_)}return V_}function Ed(i){if(i===void 0&&(i=null),!i){var e=yr()||{};i=e?(e.userAgent||Be)[bi]():Be}var t=(i||Be)[bi]();if(tr(t,q_)){var r=Kt()||{};return Math.max(parseInt(t[Zi](q_)[1]),r[HN]||0)}else if(tr(t,Q_)){var n=parseInt(t[Zi](Q_)[1]);if(n)return n+4}return null}function Pi(i){return(J_===null||i===!1)&&(J_=rd()&&!!yr().sendBeacon),J_}function Yo(i){var e=!1;try{e=!!pt("fetch");var t=pt("Request");e&&i&&t&&(e=BR(t,"keepalive"))}catch{}return e}function Cd(){return Il===null&&(Il=typeof XDomainRequest!==Gn,Il&&Al()&&(Il=Il&&!BR(pt(MR),"withCredentials"))),Il}function Al(){var i=!1;try{var e=pt(MR);i=!!e}catch{}return i}function FR(i,e){if(i)for(var t=0;t<i[fe];t++){var r=i[t];if(r[Ir]&&r[Ir]===e)return r}return{}}function Z_(i){var e=Kt();return e&&i?FR(e.querySelectorAll("meta"),i).content:null}function eb(i){var e,t=va();if(t){var r=t.getEntriesByType("navigation")||[];e=FR((r[fe]>0?r[0]:{}).serverTiming,i).description}return e}var HN,UN,YN,OR,WN,$N,KN,q_,Q_,MR,V_,z_,LR,Il,J_,Na=z(()=>{"use strict";_i();Le();Et();Jn();cr();HN="documentMode",UN="location",YN="console",OR="JSON",WN="crypto",$N="msCrypto",KN="ReactNative",q_="msie",Q_="trident/",MR="XMLHttpRequest",V_=null,z_=null,LR=!1,Il=null,J_=null});function jN(i){i<0&&(i>>>=0),wd=HR+i&ka,Dd=UR-i&ka,YR=!0}function VN(){try{var i=jt()&2147483647;jN((Math.random()*GR^i)+i)}catch{}}function Rd(i){return i>0?Math.floor(Wo()/ka*(i+1))>>>0:0}function Wo(i){var e=0,t=_d()||bd();return t&&t.getRandomValues&&(e=t.getRandomValues(new Uint32Array(1))[0]&ka),e===0&&Aa()&&(YR||VN(),e=WR()&ka),e===0&&(e=Math.floor(GR*Math.random()|0)),i||(e>>>=0),e}function WR(i){Dd=36969*(Dd&65535)+(Dd>>16)&ka,wd=18e3*(wd&65535)+(wd>>16)&ka;var e=(Dd<<16)+(wd&65535)>>>0&ka|0;return i||(e>>>=0),e}function Sd(i){i===void 0&&(i=22);for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=Wo()>>>0,r=0,n=Be;n[fe]<i;)r++,n+=e.charAt(t&63),t>>>=6,r===5&&(t=(Wo()<<2&4294967295|t&3)>>>0,r=0);return n}var GR,ka,HR,UR,YR,wd,Dd,Fp=z(()=>{Le();Et();Na();cr();GR=4294967296,ka=4294967295,HR=123456789,UR=987654321,YR=!1,wd=HR,Dd=UR});function KR(i){return i[Dp]===1||i[Dp]===9||!+i[Dp]}function qN(i,e){var t=e[i.id];if(!t){t={};try{KR(e)&&vt(e,i.id,{e:!1,v:t})}catch{}}return t}function Wr(i,e){return e===void 0&&(e=!1),zs(i+JN+++(e?"."+$R:Be)+zN)}function Gp(i){var e={id:Wr("_aiData-"+(i||Be)+"."+$R),accept:function(t){return KR(t)},get:function(t,r,n,o){var a=t[e.id];return a?a[zs(r)]:(o&&(a=qN(e,t),a[zs(r)]=n),n)},kill:function(t,r){if(t&&t[r])try{delete t[r]}catch{}}};return e}var $R,zN,JN,Nl=z(()=>{Le();Et();Jn();cr();Fp();$R="3.3.4",zN="."+Sd(6),JN=0});function Hp(i){return i&&Ft(i)&&(i.isVal||i.fb||yn(i,"v")||yn(i,"mrg")||yn(i,"ref")||i.set)}function jR(i,e,t){var r,n=t.dfVal||rp;if(e&&t.fb){var o=t.fb;Ee(o)||(o=[o]);for(var a=0;a<o[fe];a++){var s=o[a],c=e[s];if(n(c)?r=c:i&&(c=i.cfg[s],n(c)&&(r=c),i.set(i.cfg,pr(s),c)),n(r))break}}return!n(r)&&n(t.v)&&(r=t.v),r}function tb(i,e,t){var r=t;if(t&&Hp(t)&&(r=jR(i,e,t)),r){Hp(r)&&(r=tb(i,e,r));var n;Ee(r)?(n=[],n[fe]=r[fe]):Ur(r)&&(n={}),n&&(we(r,function(o,a){a&&Hp(a)&&(a=tb(i,e,a)),n[o]=a}),r=n)}return r}function Pd(i,e,t,r){var n,o,a,s=r,c,l,u,m;Hp(s)?(n=s.isVal,o=s.set,u=s[Bs],m=s[_a],c=s.mrg,l=s.ref,!l&&Ve(l)&&(l=!!c),a=jR(i,e,s)):a=r,m&&i[_a](e,t);var f,g=!0,p=e[t];(p||!q(p))&&(f=p,g=!1,n&&f!==a&&!n(f)&&(f=a,g=!0),o&&(f=o(f,a,e),g=f===a)),g?a?f=tb(i,e,a):f=a:(Ur(f)||Ee(a))&&c&&a&&(Ur(a)||Ee(a))&&we(a,function(v,_){Pd(i,f,v,_)}),i.set(e,t,f),l&&i.ref(e,t),u&&i[Bs](e,t)}var rb=z(()=>{Le();Et()});function ib(i){if(i){var e;if(Ee(i)?(e=[],e[fe]=i[fe]):Ur(i)&&(e={}),e)return we(i,function(t,r){e[t]=ib(r)}),e}return i}function xd(i){if(i){var e=i[Qn]||i;if(e.cfg&&(e.cfg===i||e.cfg[Qn]===e))return e}return null}function Td(i){if(i&&(Ur(i)||Ee(i)))try{i[VR]=!0}catch{}return i}function nb(i){if(i)try{i[zR]=!0}catch{}return i}function Up(i,e,t){var r=!1;return t&&!i[e.blkVal]&&(r=t[zR],!r&&!t[VR]&&(r=Ur(t)||Ee(t))),r}function Yp(i){Gr("InvalidAccess:"+i)}var Qn,VR,zR,Wp=z(()=>{Le();Et();Qn=sp("[[ai_dynCfg_1]]"),VR=sp("[[ai_blkDynCfg_1]]"),zR=sp("[[ai_frcDynCfg_1]]")});function XN(i,e,t){Ee(e)&&V(QN,function(r){var n=e[r];e[r]=function(){for(var o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];var s=n[ba](this,o);return Id(i,e,t,"Patching"),s}})}function $p(i,e){var t=np(i,e);return t&&t.get}function ZN(i,e,t,r){var n={n:t,h:[],trk:function(l){l&&l.fn&&(ft(n.h,l)===-1&&n.h[ze](l),i.trk(l,n))},clr:function(l){var u=ft(n.h,l);u!==-1&&n.h[$n](u,1)}},o=!0,a=!1;function s(){o&&(a=a||Up(s,i,r),r&&!r[Qn]&&a&&(r=Id(i,r,t,"Converting")),o=!1);var l=i.act;return l&&n.trk(l),r}s[i.prop]={chng:function(){i.add(n)}};function c(l){if(r!==l){s[i.ro]&&!i.upd&&Yp("["+t+"] is read-only:"+ge(e)),o&&(a=a||Up(s,i,r),o=!1);var u=a&&s[i.rf];if(a)if(u){we(r,function(f){r[f]=l?l[f]:Yi});try{we(l,function(f,g){Ad(i,r,f,g)}),l=r}catch(f){kl((i.hdlr||{})[Dt],t,"Assigning",f),a=!1}}else r&&r[Qn]&&we(r,function(f){var g=$p(r,f);if(g){var p=g[i.prop];p&&p.chng()}});if(l!==r){var m=l&&Up(s,i,l);!u&&m&&(l=Id(i,l,t,"Converting")),r=l,a=m}i.add(n)}}vt(e,n.n,{g:s,s:c})}function Ad(i,e,t,r){if(e){var n=$p(e,t),o=n&&!!n[i.prop];o?e[t]=r:ZN(i,e,t,r)}return e}function Kp(i,e,t,r){if(e){var n=$p(e,t),o=n&&!!n[i.prop],a=r&&r[0],s=r&&r[1],c=r&&r[2];if(!o){if(c)try{Td(e)}catch(l){kl((i.hdlr||{})[Dt],t,"Blocking",l)}try{Ad(i,e,t,e[t]),n=$p(e,t)}catch(l){kl((i.hdlr||{})[Dt],t,"State",l)}}a&&(n[i.rf]=a),s&&(n[i.ro]=s),c&&(n[i.blkVal]=!0)}return e}function Id(i,e,t,r){try{we(e,function(n,o){Ad(i,e,n,o)}),e[Qn]||(hi(e,Qn,{get:function(){return i[_p]}}),XN(i,e,t))}catch(n){kl((i.hdlr||{})[Dt],t,r,n)}return e}var QN,kl,JR=z(()=>{Le();cr();Et();Wp();QN=["push","pop","shift","unshift","splice"],kl=function(i,e,t,r){i&&i[Oo](3,108,"".concat(t," [").concat(e,"] failed - ")+ge(r))}});function qR(i){var e,t=fl(Nd+"get"+i.uid+kd),r=fl(Nd+"ro"+i.uid+kd),n=fl(Nd+"rf"+i.uid+kd),o=fl(Nd+"blkVal"+i.uid+kd),a=fl(Nd+"dtl"+i.uid+kd),s=null,c=null,l;function u(p,v){var _=l.act;try{l.act=p,p&&p[a]&&(V(p[a],function(w){w.clr(p)}),p[a]=[]),v({cfg:i.cfg,set:i.set.bind(i),setDf:i[En].bind(i),ref:i.ref.bind(i),rdOnly:i[Bs].bind(i)})}catch(w){var P=i[Dt];throw P&&P[Oo](1,107,ge(w)),w}finally{l.act=_||null}}function m(){if(s){var p=s;s=null,c&&c[Mo](),c=null;var v=[];if(V(p,function(_){if(_&&(_[a]&&(V(_[a],function(P){P.clr(_)}),_[a]=null),_.fn))try{u(_,_.fn)}catch(P){v[ze](P)}}),s)try{m()}catch(_){v[ze](_)}v[fe]>0&&vR("Watcher error(s): ",v)}}function f(p){if(p&&p.h[fe]>0){s||(s=[]),c||(c=Bi(function(){c=null,m()},0));for(var v=0;v<p.h[fe];v++){var _=p.h[v];_&&ft(s,_)===-1&&s[ze](_)}}}function g(p,v){if(p){var _=p[a]=p[a]||[];ft(_,v)===-1&&_[ze](v)}}return l=(e={prop:t,ro:r,rf:n},e[_a]=o,e[_p]=i,e.add=f,e[Fs]=m,e.use=u,e.trk=g,e),l}var Nd,kd,QR=z(()=>{Le();_R();Et();Nd="[[ai_",kd="]]"});function ek(i,e){var t={fn:e,rm:function(){t.fn=null,i=null,e=null}};return vt(t,"toJSON",{v:function(){return"WatcherHandler"+(t.fn?"":"[X]")}}),i.use(t,e),t}function tk(i,e,t){var r,n=xd(e);if(n)return n;var o=Wr("dyncfg",!0),a=e&&t!==!1?e:ib(e),s;function c(){s[Fs]()}function l(P,w,R){try{P=Ad(s,P,w,R)}catch(T){kl(i,w,"Setting value",T)}return P[w]}function u(P){return ek(s,P)}function m(P,w){s.use(null,function(R){var T=s.upd;try{Ve(w)||(s.upd=w),P(R)}finally{s.upd=T}})}function f(P,w){var R;return Kp(s,P,w,(R={},R[0]=!0,R))[w]}function g(P,w){var R;return Kp(s,P,w,(R={},R[1]=!0,R))[w]}function p(P,w){var R;return Kp(s,P,w,(R={},R[2]=!0,R))[w]}function v(P,w){return w&&we(w,function(R,T){Pd(_,P,R,T)}),P}var _=(r={uid:null,cfg:a},r[Dt]=i,r[Fs]=c,r.set=l,r[En]=v,r[Cn]=u,r.ref=f,r[Bs]=g,r[_a]=p,r._block=m,r);return vt(_,"uid",{c:!1,e:!1,w:!1,v:o}),s=qR(_),Id(s,a,"config","Creating"),_}function rk(i,e){i?(i[vl](e),i[Oo](2,108,e)):Yp(e)}function Mt(i,e,t,r){var n=tk(t,i||{},r);return e&&n[En](n.cfg,e),n}function lr(i,e,t){var r=i[Qn]||i;return r.cfg&&(r.cfg===i||r.cfg[Qn]===r)?r[Cn](e):(rk(t,AR+ge(i)),Mt(i,null,t)[Cn](e))}var Oa=z(()=>{Le();Nl();cr();Et();rb();JR();QR();Wp()});function $o(i,e){if(i&&i[Ci])return i[Ci](e)}function jp(i,e,t){var r;return t||(r=en(function(n){t=n})),i&&gl(i)>0?Ui($o(i[0],e),function(){jp(pl(i,1),e,t)}):t(),r}var ob=z(()=>{Ks();Le();Et()});var XR,ab,sb=z(()=>{XR=500,ab="Microsoft_ApplicationInsights_BypassAjaxInstrumentation"});function ik(i,e,t){return!i&&q(i)?e:Un(i)?i:pr(i)[bi]()==="true"}function cb(i){return{mrg:!0,v:i}}function Ol(i,e,t){return{fb:t,isVal:i,v:e}}function nn(i,e){return{fb:e,set:ik,v:!!i}}var lb=z(()=>{Le();Et()});function nk(i,e){return function(){var t=arguments,r=db(e);if(r){var n=r.listener;n&&n[i]&&n[i][ba](n,t)}}}function ok(){var i=pt("Microsoft");return i&&(zp=i.ApplicationInsights),zp}function db(i){var e=zp;return!e&&i.disableDbgExt!==!0&&(e=zp||ok()),e?e.ChromeDbgExt:null}function ZR(i){if(!Vp){Vp={};for(var e=0;e<ub[fe];e++)Vp[ub[e]]=nk(ub[e],i)}return Vp}var ub,zp,Vp,mb=z(()=>{Le();Et();cr();ub=[Sl,Ta,Pl,zn],zp=null});function eS(i){return i?'"'+i[Dn](/\"/g,Be)+'"':Be}function fb(i,e){var t=vd();if(t){var r="log";t[i]&&(r=i),Ne(t[r])&&t[r](e)}}function Pn(i,e){return(i||{})[Dt]||new Ma(e)}function pb(i){return i||new Ma}function ne(i,e,t,r,n,o){o===void 0&&(o=!1),pb(i)[Oo](e,t,r,n,o)}function si(i,e){pb(i)[vl](e)}function gb(i,e,t){pb(i)[T_](e,t)}var Ml,tS,ak,sk,ck,lk,uk,Qs,Ma,xn=z(()=>{"use strict";Tr();Le();Oa();Et();mb();Na();cr();tS="warnToConsole",ak="AI (Internal): ",sk="AI: ",ck="AITR_",lk={loggingLevelConsole:0,loggingLevelTelemetry:1,maxMessageLimit:25,enableDebug:!1},uk=(Ml={},Ml[0]=null,Ml[1]="errorToConsole",Ml[2]=tS,Ml[3]="debugToConsole",Ml);Qs=(function(){function i(e,t,r,n){r===void 0&&(r=!1);var o=this;o[Cl]=e,o[Vn]=(r?sk:ak)+e;var a=Be;qn()&&(a=Yr().stringify(n));var s=(t?" message:"+eS(t):Be)+(n?" props:"+eS(a):Be);o[Vn]+=s}return i.dataType="MessageData",i})();Ma=(function(){function i(e){this.identifier="DiagnosticLogger",this.queue=[];var t=0,r={},n,o,a,s,c;rt(i,this,function(l){c=m(e||{}),l.consoleLoggingLevel=function(){return n},l[Oo]=function(p,v,_,P,w){w===void 0&&(w=!1);var R=new Qs(v,_,w,P);if(s)throw ge(R);var T=uk[p]||tS;if(Ve(R[Vn]))g("throw"+(p===1?"Critical":"Warning"),R);else{if(w){var L=+R[Cl];!r[L]&&n>=p&&(l[T](R[Vn]),r[L]=!0)}else n>=p&&l[T](R[Vn]);u(p,R)}},l.debugToConsole=function(p){fb("debug",p),g("warning",p)},l[vl]=function(p){fb("warn",p),g("warning",p)},l.errorToConsole=function(p){fb("error",p),g("error",p)},l.resetInternalMessageCount=function(){t=0,r={}},l[T_]=u,l[Ci]=function(p){c&&c.rm(),c=null};function u(p,v){if(!f()){var _=!0,P=ck+v[Cl];if(r[P]?_=!1:r[P]=!0,_&&(p<=o&&(l.queue[ze](v),t++,g(p===1?"error":"warn",v)),t===a)){var w="Internal events throttle limit per PageView reached for this app.",R=new Qs(23,w,!1);l.queue[ze](R),p===1?l.errorToConsole(w):l[vl](w)}}}function m(p){return lr(Mt(p,lk,l).cfg,function(v){var _=v.cfg;n=_[Cp],o=_.loggingLevelTelemetry,a=_.maxMessageLimit,s=_.enableDebug})}function f(){return t>=a}function g(p,v){var _=db(e||{});_&&_[wi]&&_[wi](p,v)}})}return i.__ieDyn=1,i})()});function Eb(){!Xn&&(Xn=ZD(function(){return Kt()}))}function mk(i,e){var t=Ko[La]||Qp[La];return t||(t=Ko[La]=Ko(i,e),Qp[La]=t),t}function qp(i){return i?i.isEnabled():!0}function dS(i,e){return e&&i&&Ee(i.ignoreCookies)?ft(i.ignoreCookies,e)!==-1:!1}function fk(i,e){return e&&i&&Ee(i.blockedCookies)&&ft(i.blockedCookies,e)!==-1?!0:dS(i,e)}function sS(i,e){var t=e[wa];if(q(t)){var r=void 0;Ve(i[nS])||(r=!i[nS]),Ve(i[_b])||(r=!i[_b]),t=r}return t}function Cb(i,e){var t;if(i)t=i.getCookieMgr();else if(e){var r=e.cookieCfg;r&&r[La]?t=r[La]:t=Ko(e)}return t||(t=mk(e,(i||{})[Dt])),t}function Ko(i,e){var t,r,n,o,a,s,c,l,u;i=Mt(i||Qp,null,e).cfg,a=lr(i,function(f){f[En](f.cfg,dk),r=f.ref(f.cfg,"cookieCfg"),n=r[Mp]||"/",o=r[Op],s=sS(i,r)!==!1,c=r.getCookie||pk,l=r.setCookie||uS,u=r.delCookie||uS},e);var m=(t={isEnabled:function(){var f=sS(i,r)!==!1&&s&&Ll(e),g=Qp[La];return f&&g&&m!==g&&(f=qp(g)),f},setEnabled:function(f){s=f!==!1,r[wa]=f},set:function(f,g,p,v,_){var P=!1;if(qp(m)&&!fk(r,f)){var w={},R=gt(g||Be),T=yi(R,";");if(T!==-1&&(R=gt(ks(g,T)),w=mS(hr(g,T+1))),rn(w,Op,v||o,hn,Ve),!q(p)){var L=Aa();if(Ve(w[yb])){var W=jt(),$=W+p*1e3;if($>0){var G=new Date;G.setTime($),rn(w,yb,cS(G,L?rS:iS)||cS(G,L?rS:iS)||Be,hn)}}L||rn(w,"max-age",Be+p,null,Ve)}var Y=qs();Y&&Y[wp]==="https:"&&(rn(w,"secure",null,null,Ve),vb===null&&(vb=!Xp((yr()||{})[dd])),vb&&rn(w,"SameSite","None",null,Ve)),rn(w,Mp,_||n,null,Ve),l(f,lS(R,w)),P=!0}return P},get:function(f){var g=Be;return qp(m)&&!dS(r,f)&&(g=c(f)),g},del:function(f,g){var p=!1;return qp(m)&&(p=m.purge(f,g)),p},purge:function(f,g){var p,v=!1;if(Ll(e)){var _=(p={},p[Mp]=g||"/",p[yb]="Thu, 01 Jan 1970 00:00:01 GMT",p);Aa()||(_["max-age"]="0"),u(f,lS(Be,_)),v=!0}return v}},t[Ci]=function(f){a&&a.rm(),a=null},t);return m[La]=m,m}function Ll(i){if(Jp===null){Jp=!1,!Xn&&Eb();try{var e=Xn.v||{};Jp=e[bb]!==void 0}catch(t){ne(i,2,68,"Cannot access document.cookie - "+Pt(t),{exception:ge(t)})}}return Jp}function mS(i){var e={};if(i&&i[fe]){var t=gt(i)[Zi](";");V(t,function(r){if(r=gt(r||Be),r){var n=yi(r,"=");n===-1?e[r]=null:e[gt(ks(r,n))]=gt(hr(r,n+1))}})}return e}function cS(i,e){return Ne(i[e])?i[e]():null}function lS(i,e){var t=i||Be;return we(e,function(r,n){t+="; "+r+(q(n)?Be:"="+n)}),t}function pk(i){var e=Be;if(!Xn&&Eb(),Xn.v){var t=Xn.v[bb]||Be;oS!==t&&(aS=mS(t),oS=t),e=gt(aS[i]||Be)}return e}function uS(i,e){!Xn&&Eb(),Xn.v&&(Xn.v[bb]=i+"="+e)}function Xp(i){return Me(i)?!!(tr(i,"CPU iPhone OS 12")||tr(i,"iPad; CPU OS 12")||tr(i,"Macintosh; Intel Mac OS X 10_14")&&tr(i,"Version/")&&tr(i,"Safari")||tr(i,"Macintosh; Intel Mac OS X 10_14")&&Ms(i,"AppleWebKit/605.1.15 (KHTML, like Gecko)")||tr(i,"Chrome/5")||tr(i,"Chrome/6")||tr(i,"UnrealEngine")&&!tr(i,"Chrome")||tr(i,"UCBrowser/12")||tr(i,"UCBrowser/11")):!1}var hb,Xs,rS,iS,bb,yb,nS,_b,La,Jp,vb,oS,Xn,aS,Qp,dk,wb=z(()=>{Le();lb();Oa();Et();xn();Na();Jn();cr();rS="toGMTString",iS="toUTCString",bb="cookie",yb="expires",nS="isCookieUseDisabled",_b="disableCookiesUsage",La="_ckMgr",Jp=null,vb=null,oS=null,aS={},Qp={},dk=(hb={cookieCfg:cb((Xs={},Xs[Op]={fb:"cookieDomain",dfVal:tn},Xs.path={fb:"cookiePath",dfVal:tn},Xs.enabled=Yi,Xs.ignoreCookies=Yi,Xs.blockedCookies=Yi,Xs)),cookieDomain:Yi,cookiePath:Yi},hb[_b]=Yi,hb)});function hk(i){i.h=null;var e=i.cb;i.cb=[],V(e,function(t){gr(t.fn,[t.arg])})}function Ba(i,e,t,r){V(i,function(n){n&&n[e]&&(t?(t.cb[ze]({fn:r,arg:n}),t.h=t.h||Bi(hk,0,t)):gr(r,[n]))})}var gk,Od,Db=z(()=>{Tr();Ks();Le();Oa();Et();cr();gk={perfEvtsSendAll:!1};Od=(function(){function i(e){this.listeners=[];var t,r,n=[],o={h:null,cb:[]},a=Mt(e,gk);r=a[Cn](function(s){t=!!s.cfg.perfEvtsSendAll}),rt(i,this,function(s){vt(s,"listeners",{g:function(){return n}}),s[bl]=function(c){n[ze](c)},s[_l]=function(c){for(var l=ft(n,c);l>-1;)n[$n](l,1),l=ft(n,c)},s[Sl]=function(c){Ba(n,Sl,o,function(l){l[Sl](c)})},s[Ta]=function(c,l){Ba(n,Ta,o,function(u){u[Ta](c,l)})},s[Pl]=function(c,l){Ba(n,Pl,l?o:null,function(u){u[Pl](c,l)})},s[zn]=function(c){c&&(t||!c[fd]())&&Ba(n,zn,null,function(l){c[wn]?Bi(function(){return l[zn](c)},0):l[zn](c)})},s[Ap]=function(c){c&&c[fe]&&Ba(n,Ap,o,function(l){l[Ap](c)})},s[Np]=function(c){c&&c[Sa]&&Ba(n,Np,o,function(l){l[Np](c)})},s[kp]=function(c,l){if(c>0){var u=l||0;Ba(n,kp,o,function(m){m[kp](c,u)})}},s[Ci]=function(c){var l=function(){r&&r.rm(),r=null,n=[],o.h&&o.h[Mo](),o.h=null,o.cb=[]},u;if(Ba(n,"unload",null,function(m){var f=m[Ci](c);f&&(u||(u=[]),u[ze](f))}),u)return en(function(m){return Ui(IR(u),function(){l(),m()})});l()}})}return i.__ieDyn=1,i})()});function zt(i,e,t,r,n){if(i){var o=i;if(o[xl]&&(o=o[xl]()),o){var a=void 0,s=o[Ws](Rb);try{if(a=o.create(e(),r,n),a){if(s&&a[Rn]&&(a[Rn](Zs[Sb],s),s[Ws]&&s[Rn])){var c=s[Ws](Zs[Md]);c||(c=[],s[Rn](Zs[Md],c)),c[ze](a)}return o[Rn](Rb,a),t(a)}}catch(l){a&&a[Rn]&&a[Rn]("exception",l)}finally{a&&o.fire(a),o[Rn](Rb,s)}}}return t()}function Pb(){return yk}var Bl,Sb,Md,yk,Zs,Ld,Rb,Zp=z(()=>{Tr();Le();Et();cr();Bl="ctx",Sb="ParentContextKey",Md="ChildrenContextKey",yk=null,Zs=(function(){function i(e,t,r){var n=this;if(n.start=jt(),n[Ir]=e,n[wn]=r,n[fd]=function(){return!1},Ne(t)){var o;vt(n,"payload",{g:function(){return!o&&Ne(t)&&(o=t(),t=null),o}})}n[Ws]=function(a){return a?a===i[Sb]||a===i[Md]?n[a]:(n[Bl]||{})[a]:null},n[Rn]=function(a,s){if(a)if(a===i[Sb])n[a]||(n[fd]=function(){return!0}),n[a]=s;else if(a===i[Md])n[a]=s;else{var c=n[Bl]=n[Bl]||{};c[a]=s}},n[Rp]=function(){var a=0,s=n[Ws](i[Md]);if(Ee(s))for(var c=0;c<s[fe];c++){var l=s[c];l&&(a+=l[Ca])}n[Ca]=jt()-n.start,n.exTime=n[Ca]-a,n[Rp]=function(){}}}return i.ParentContextKey="parent",i.ChildrenContextKey="childEvts",i})(),Ld=(function(){function i(e){this.ctx={},rt(i,this,function(t){t.create=function(r,n,o){return new Zs(r,n,o)},t.fire=function(r){r&&(r[Rp](),e&&Ne(e[zn])&&e[zn](r))},t[Rn]=function(r,n){if(r){var o=t[Bl]=t[Bl]||{};o[r]=n}},t[Ws]=function(r){return(t[Bl]||{})[r]}})}return i.__ieDyn=1,i})(),Rb="CoreUtils.doPerf"});function Bd(){var i=ec();return hr(i,0,8)+"-"+hr(i,8,12)+"-"+hr(i,12,16)+"-"+hr(i,16,20)+"-"+hr(i,20)}function ec(){for(var i=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],e=Be,t,r=0;r<4;r++)t=Wo(),e+=i[t&15]+i[t>>4&15]+i[t>>8&15]+i[t>>12&15]+i[t>>16&15]+i[t>>20&15]+i[t>>24&15]+i[t>>28&15];var n=i[8+(Wo()&3)|0];return Yn(e,0,8)+Yn(e,9,4)+"4"+Yn(e,13,3)+n+Yn(e,16,3)+Yn(e,19,12)}var xb=z(()=>{"use strict";Le();cr();Fp()});function jo(i,e,t){return i&&i[fe]===e&&i!==t?!!i.match(/^[\da-f]*$/i):!1}function pS(i,e,t){return jo(i,e)?i:t}function gS(i){(isNaN(i)||i<0||i>255)&&(i=1);for(var e=i.toString(16);e[fe]<2;)e="0"+e;return e}function Fd(i,e,t,r){var n;return n={},n[Hs]=jo(r,2,Ib)?r:Tb,n[Dl]=Zn(i)?i:ec(),n[Rl]=eo(e)?e:ks(ec(),16),n.traceFlags=t>=0&&t<=255?t:1,n}function tc(i,e){var t;if(!i||(Ee(i)&&(i=i[0]||""),!i||!Me(i)||i[fe]>8192))return null;if(i.indexOf(",")!==-1){var r=i[Zi](",");i=r[e>0&&r[fe]>e?e:0]}var n=vk.exec(gt(i));return!n||n[1]===Ib||n[2]===eg||n[3]===tg?null:(t={version:(n[1]||Be)[bi](),traceId:(n[2]||Be)[bi](),spanId:(n[3]||Be)[bi]()},t[Pa]=parseInt(n[4],16),t)}function Zn(i){return jo(i,32,eg)}function eo(i){return jo(i,16,tg)}function Fl(i){return!(!i||!jo(i[Hs],2,Ib)||!jo(i[Dl],32,eg)||!jo(i[Rl],16,tg)||!jo(gS(i[Pa]),2))}function Gd(i){return Fl(i)?(i[Pa]&fS)===fS:!1}function Hd(i){if(i){var e=gS(i[Pa]);jo(e,2)||(e="01");var t=i[Hs]||Tb;return t!=="00"&&t!=="ff"&&(t=Tb),"".concat(t.toLowerCase(),"-").concat(pS(i.traceId,32,eg).toLowerCase(),"-").concat(pS(i.spanId,16,tg).toLowerCase(),"-").concat(e.toLowerCase())}return""}function Ud(i){var e="traceparent",t=tc(Z_(e),i);return t||(t=tc(eb(e),i)),t}function Ab(i){var e=i.getElementsByTagName("script"),t=[];return V(e,function(r){var n=r[Pp]("src");if(n){var o=r[Pp]("crossorigin"),a=r.hasAttribute("async")===!0,s=r.hasAttribute("defer")===!0,c=r[Pp]("referrerpolicy"),l={url:n};o&&(l.crossOrigin=o),a&&(l.async=a),s&&(l.defer=s),c&&(l.referrerPolicy=c),t[ze](l)}}),t}var vk,Tb,Ib,eg,tg,fS,Nb=z(()=>{Le();Et();xb();Na();cr();vk=/^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]{1,64})?$/i,Tb="00",Ib="ff",eg="00000000000000000000000000000000",tg="0000000000000000",fS=1});function Vo(i){return _k.get(i,"state",{},!0)}function kb(i,e){for(var t=[],r=null,n=i[Hi](),o;n;){var a=n[Ea]();if(a){r&&r[Ra]&&a[Ri]&&r[Ra](a),o=Vo(a);var s=!!o[Ei];a[Ei]&&(s=a[Ei]()),s||t[ze](a),r=a,n=n[Hi]()}}V(t,function(c){var l=i[Gt]();c[Lo](i.getCfg(),l,e,i[Hi]()),o=Vo(c),!c[Gt]&&!o[Gt]&&(o[Gt]=l),o[Ei]=!0,delete o[Gi]})}function rg(i){return i.sort(function(e,t){var r=0;if(t){var n=t[Ri];e[Ri]?r=n?e[Vs]-t[Vs]:1:n&&(r=-1)}else r=e?1:-1;return r})}function hS(i){var e={};return{getName:function(){return e[Ir]},setName:function(t){i&&i.setName(t),e[Ir]=t},getTraceId:function(){return e[Dl]},setTraceId:function(t){i&&i.setTraceId(t),Zn(t)&&(e[Dl]=t)},getSpanId:function(){return e[Rl]},setSpanId:function(t){i&&i.setSpanId(t),eo(t)&&(e[Rl]=t)},getTraceFlags:function(){return e[Pa]},setTraceFlags:function(t){i&&i.setTraceFlags(t),e[Pa]=t}}}var _k,Ob=z(()=>{"use strict";Le();Et();Nl();cr();Nb();_k=Gp("plugin")});function Ek(i,e,t){for(;i;){if(i[Ea]()===t)return i;i=i[Hi]()}return Fa([t],e.config||{},e)}function Mb(i,e,t,r){var n=null,o=[];e||(e=Mt({},null,t[Dt])),r!==null&&(n=r?Ek(i,t,r):i);var a={_next:c,ctx:{core:function(){return t},diagLog:function(){return Pn(t,e.cfg)},getCfg:function(){return e.cfg},getExtCfg:u,getConfig:m,hasNext:function(){return!!n},getNext:function(){return n},setNext:function(g){n=g},iterate:f,onComplete:s}};function s(g,p){for(var v=[],_=2;_<arguments.length;_++)v[_-2]=arguments[_];g&&o[ze]({func:g,self:Ve(p)?a.ctx:p,args:v})}function c(){var g=n;if(n=g?g[Hi]():null,!g){var p=o;p&&p[fe]>0&&(V(p,function(v){try{v.func.call(v.self,v.args)}catch(_){ne(t[Dt],2,73,"Unexpected Exception during onComplete - "+ge(_))}}),o=[])}return g}function l(g,p){var v=null,_=e.cfg;if(_&&g){var P=_[Bo];!P&&p&&(P={}),_[Bo]=P,P=e.ref(_,Bo),P&&(v=P[g],!v&&p&&(v={}),P[g]=v,v=e.ref(P,g))}return v}function u(g,p){var v=l(g,!0);return p&&we(p,function(_,P){if(q(v[_])){var w=e.cfg[_];(w||!q(w))&&(v[_]=w)}Pd(e,v,_,P)}),e[En](v,p)}function m(g,p,v){v===void 0&&(v=!1);var _,P=l(g,!1),w=e.cfg;return P&&(P[p]||!q(P[p]))?_=P[p]:(w[p]||!q(w[p]))&&(_=w[p]),_||!q(_)?_:v}function f(g){for(var p;p=a._next();){var v=p[Ea]();v&&g(v)}}return a}function ci(i,e,t,r){var n=Mt(e),o=Mb(i,n,t,r),a=o.ctx;function s(l){var u=o._next();return u&&u[Ri](l,a),!u}function c(l,u){return l===void 0&&(l=null),Ee(l)&&(l=Fa(l,n.cfg,t,u)),ci(l||a[Hi](),n.cfg,t,u)}return a[vr]=s,a[jn]=c,a}function Gl(i,e,t){var r=Mt(e.config),n=Mb(i,r,e,t),o=n.ctx;function a(c){var l=n._next();return l&&l[Ci](o,c),!l}function s(c,l){return c===void 0&&(c=null),Ee(c)&&(c=Fa(c,r.cfg,e,l)),Gl(c||o[Hi](),e,l)}return o[vr]=a,o[jn]=s,o}function Yd(i,e,t){var r=Mt(e.config),n=Mb(i,r,e,t),o=n.ctx;function a(c){return o.iterate(function(l){Ne(l[Us])&&l[Us](o,c)})}function s(c,l){return c===void 0&&(c=null),Ee(c)&&(c=Fa(c,r.cfg,e,l)),Yd(c||o[Hi](),e,l)}return o[vr]=a,o[jn]=s,o}function Fa(i,e,t,r){var n=null,o=!r;if(Ee(i)&&i[fe]>0){var a=null;V(i,function(s){if(!o&&r===s&&(o=!0),o&&s&&Ne(s[Ri])){var c=Ck(s,e,t);n||(n=c),a&&a._setNext(c),a=c}})}return r&&!n?Fa([r],e,t):n}function Ck(i,e,t){var r=null,n=Ne(i[Ri]),o=Ne(i[Ra]),a;i?a=i[Kn]+"-"+i[Vs]+"-"+_S++:a="Unknown-0-"+_S++;var s={getPlugin:function(){return i},getNext:function(){return r},processTelemetry:u,unload:m,update:f,_id:a,_setNext:function(g){r=g}};function c(){var g;return i&&Ne(i[vS])&&(g=i[vS]()),g||(g=ci(s,e,t)),g}function l(g,p,v,_,P){var w=!1,R=i?i[Kn]:bk,T=g[yS];return T||(T=g[yS]={}),g.setNext(r),i&&zt(g[Gt](),function(){return R+":"+v},function(){T[a]=!0;try{var L=r?r._id:Be;L&&(T[L]=!1),w=p(g)}catch($){var W=r?T[r._id]:!0;W&&(w=!0),(!r||!W)&&ne(g[wi](),1,73,"Plugin ["+R+"] failed during "+v+" - "+ge($)+", run flags: "+ge(T))}},_,P),w}function u(g,p){p=p||c();function v(_){if(!i||!n)return!1;var P=Vo(i);return P[Gi]||P[hd]?!1:(o&&i[Ra](r),i[Ri](g,_),!0)}l(p,v,"processTelemetry",function(){return{item:g}},!g.sync)||p[vr](g)}function m(g,p){function v(){var _=!1;if(i){var P=Vo(i),w=i[Gt]||P[Gt];i&&(!w||w===g.core())&&!P[Gi]&&(P[Gt]=null,P[Gi]=!0,P[Ei]=!1,i[Gi]&&i[Gi](g,p)===!0&&(_=!0))}return _}l(g,v,"unload",function(){},p[wn])||g[vr](p)}function f(g,p){function v(){var _=!1;if(i){var P=Vo(i),w=i[Gt]||P[Gt];i&&(!w||w===g.core())&&!P[Gi]&&i[Us]&&i[Us](g,p)===!0&&(_=!0)}return _}l(g,v,"update",function(){},!1)||g[vr](p)}return Qi(s)}var bk,yS,vS,_S,Lb,ig=z(()=>{"use strict";Le();rb();Oa();Et();xn();Jn();cr();Zp();Ob();bk="TelemetryPluginChain",yS="_hasRun",vS="_getTelCtx",_S=0;Lb=(function(){function i(e,t,r,n){var o=this,a=ci(e,t,r,n);$i(o,a,Hr(a))}return i})()});function rc(){var i=[];function e(r){r&&i[ze](r)}function t(r,n){V(i,function(o){try{o(r,n)}catch(a){ne(r[wi](),2,73,"Unexpected error calling unload handler - "+ge(a))}}),i=[]}return{add:e,run:t}}var ng=z(()=>{Le();Et();xn()});function Bb(i,e){Wd=i,$d=e}function Kd(){var i=[];function e(r){var n=i;i=[],V(n,function(o){try{(o.rm||o.remove).call(o)}catch(a){ne(r,2,73,"Unloading:"+ge(a))}}),Wd&&n[fe]>Wd&&($d?$d("doUnload",n):ne(null,1,48,"Max unload hooks exceeded. An excessive number of unload hooks has been detected."))}function t(r){r&&(_n(i,r),Wd&&i[fe]>Wd&&($d?$d("Add",i):ne(null,1,48,"Max unload hooks exceeded. An excessive number of unload hooks has been detected.")))}return{run:e,add:t}}var Wd,$d,og=z(()=>{Le();Et();xn()});var Fb,Ga,wk,zo,Gb=z(()=>{"use strict";Tr();Le();Oa();Et();xn();Jn();cr();ig();ng();og();Ga="getPlugin",wk=(Fb={},Fb[Bo]={isVal:tn,v:{}},Fb),zo=(function(){function i(){var e=this,t,r,n,o,a;l(),rt(i,e,function(u){u[Lo]=function(m,f,g,p){c(m,f,p),t=!0},u[Gi]=function(m,f){var g,p=u[Gt];if(!p||m&&p!==m[Gt]())return;var v,_=!1,P=m||Gl(null,p,n&&n[Ga]?n[Ga]():n),w=f||(g={reason:0},g[wn]=!1,g);function R(){_||(_=!0,o.run(P,f),a.run(P[wi]()),v===!0&&P[vr](w),l())}return!u[Da]||u[Da](P,w,R)!==!0?R():v=!0,v},u[Us]=function(m,f){var g=u[Gt];if(!g||m&&g!==m[Gt]())return;var p,v=!1,_=m||Yd(null,g,n&&n[Ga]?n[Ga]():n),P=f||{reason:0};function w(){v||(v=!0,c(_.getCfg(),_.core(),_[Hi]()))}return!u._doUpdate||u._doUpdate(_,P,w)!==!0?w():p=!0,p},Fo(u,"_addUnloadCb",function(){return o},"add"),Fo(u,"_addHook",function(){return a},"add"),vt(u,"_unloadHooks",{g:function(){return a}})}),e[wi]=function(u){return s(u)[wi]()},e[Ei]=function(){return t},e.setInitialized=function(u){t=u},e[Ra]=function(u){n=u},e[vr]=function(u,m){m?m[vr](u):n&&Ne(n[Ri])&&n[Ri](u,null)},e._getTelCtx=s;function s(u){u===void 0&&(u=null);var m=u;if(!m){var f=r||ci(null,{},e[Gt]);n&&n[Ga]?m=f[jn](null,n[Ga]):m=f[jn](null,n)}return m}function c(u,m,f){Mt(u,wk,Pn(m)),!f&&m&&(f=m[Ep]()[Hi]());var g=n;n&&n[Ga]&&(g=n[Ga]()),e[Gt]=m,r=ci(f,u,m,g)}function l(){t=!1,e[Gt]=null,r=null,n=null,a=Kd(),o=rc()}}return i.__ieDyn=1,i})()});function Dk(i,e,t){var r={id:e,fn:t};_n(i,r);var n={remove:function(){V(i,function(o,a){if(o.id===r.id)return i[$n](a,1),-1})}};return n}function Rk(i,e,t){for(var r=!1,n=i[fe],o=0;o<n;++o){var a=i[o];if(a)try{if(a.fn[ba](null,[e])===!1){r=!0;break}}catch(s){ne(t,2,64,"Telemetry initializer failed: "+Pt(s),{exception:ge(s)},!0)}}return!r}var bS,ES=z(()=>{_i();Tr();Le();Et();Gb();xn();Jn();cr();bS=(function(i){vi(e,i);function e(){var t=i.call(this)||this;t.identifier="TelemetryInitializerPlugin",t.priority=199;var r,n;o(),rt(e,t,function(a,s){a.addTelemetryInitializer=function(c){return Dk(n,r++,c)},a[Ri]=function(c,l){Rk(n,c,l?l[wi]():a[wi]())&&a[vr](c,l)},a[Da]=function(){o()}});function o(){r=0,n=[]}return t}return e.__ieDyn=1,e})(zo)});function Ik(i,e){return new Ld(e)}function Ak(i,e,t){var r,n=[],o=[],a={};return V(t,function(s){(q(s)||q(s[Lo]))&&$t(RS);var c=s[Vs],l=s[Kn];s&&c&&(q(a[c])?a[c]=l:si(i,"Two extensions have same priority #"+c+" - "+a[c]+", "+l)),!c||c<e?n[ze](s):o[ze](s)}),r={},r[Gt]=n,r[xa]=o,r}function wS(i,e){var t=!1;return V(e,function(r){if(r===i)return t=!0,-1}),t}function Ub(i,e,t,r){t&&we(t,function(n,o){r&&Ur(o)&&Ur(e[n])&&Ub(i,e[n],o,r),r&&Ur(o)&&Ur(e[n])?Ub(i,e[n],o,r):i.set(e,n,o)})}function DS(i,e){var t=null,r=-1;return V(i,function(n,o){if(n.w===e)return t=n,r=o,-1}),{i:r,l:t}}function Nk(i,e){var t=DS(i,e).l;return t||(t={w:e,rm:function(){var r=DS(i,e);r.i!==-1&&i[$n](r.i,1)}},i[ze](t)),t}function kk(i,e,t){V(e,function(r){var n=lr(i,r.w,t);delete r.w,r.rm=function(){n.rm()}})}function Ok(i,e,t,r){return e.add(i[Cn](function(n){var o=n.cfg.disableDbgExt;o===!0&&r&&(t[_l](r),r=null),t&&!r&&o!==!0&&(r=ZR(n.cfg),t[bl](r))})),r}function Mk(i){return vt({rm:function(){i.rm()}},"toJSON",{v:function(){return"aicore::onCfgChange<"+JSON.stringify(i)+">"}})}var Ha,RS,Sk,CS,Pk,xk,Tk,Hb,Jo,SS=z(()=>{"use strict";_i();Tr();Ks();Le();Oa();R_();Et();ob();sb();wb();Nl();mb();xn();Jn();cr();Db();Zp();ig();Ob();ES();ng();og();RS="Plugins must provide initialize method",Sk="_notificationManager",CS="SDK is still unloading...",Pk="SDK is not initialized",xk=100,Tk=5e4,Hb=vn((Ha={cookieCfg:{}},Ha[js]={rdOnly:!0,ref:!0,v:[]},Ha[xa]={rdOnly:!0,ref:!0,v:[]},Ha[Bo]={ref:!0,v:{}},Ha[Ip]=Yi,Ha.loggingLevelConsole=0,Ha.diagnosticLogInterval=Yi,Ha));Jo=(function(){function i(){var e,t,r,n,o,a,s,c,l,u,m,f,g,p,v,_,P,w,R,T,L,W,$,G,Y,H,I,ee,ce,x,y,S,Z;rt(i,this,function(k){U(),k._getDbgPlgTargets=function(){return[$,n]},k[Ei]=function(){return t},k.activeStatus=function(){return H},k._setPendingStatus=function(){H=3},k[Lo]=function(F,ue,De,pe){g&&$t(CS),k[Ei]()&&$t("Core cannot be initialized more than once"),e=Mt(F,Hb,De||k[Dt],!1),F=e.cfg,He(e[Cn](function(it){var ht=it.cfg,At=H===3;if(!At){ee=ht.initInMemoMaxSize||xk;var Ht=ht[S_],Vr=ht.endpointUrl;if(q(Ht)){L=null,H=Fi[bp];var zr="Please provide instrumentation key";t?(ne(r,1,100,zr),te()):$t(zr);return}var Ji=[];if(oi(Ht)?(Ji[ze](Ht),L=null):L=Ht,oi(Vr)?(Ji[ze](Vr),I=null):I=Vr,Ji[fe]){ce=!1,H=3;var wr=tn(ht.initTimeOut)?ht.initTimeOut:Tk,bo=TR(Ji);x=Bi(function(){x=null,ce||le()},wr),Ui(bo,function(J){try{if(ce)return;if(!J.rejected){var ie=J[Gs];if(ie&&ie[fe]){var ye=ie[0];if(L=ye&&ye[Gs],ie[fe]>1){var Ae=ie[1];I=Ae&&Ae[Gs]}}L&&(F[S_]=L,F.endpointUrl=I)}le()}catch{ce||le()}})}else le();var O=it.ref(it.cfg,Bo);we(O,function(J){it.ref(O,J)})}})),o=pe,R=Ok(e,w,o&&k[ld](),R),re(),k[Dt]=De;var Re=F[js];if(u=[],u[ze].apply(u,lp(lp([],ue,!1),Re,!1)),m=F[xa],ct(null),(!f||f[fe]===0)&&$t("No "+xa+" available"),m&&m[fe]>1){var lt=k[Ea]("TeeChannelController");(!lt||!lt.plugin)&&ne(r,1,28,"TeeChannel required")}kk(F,W,r),W=null,t=!0,H===Fi.ACTIVE&&te()},k.getChannels=function(){var F=[];return f&&V(f,function(ue){F[ze](ue)}),Qi(F)},k.track=function(F){zt(k[xl](),function(){return"AppInsightsCore:track"},function(){F===null&&(tt(F),$t("Invalid telemetry item")),!F[Ir]&&q(F[Ir])&&(tt(F),$t("telemetry name required")),F[El]=F[El]||L,F[Ca]=F[Ca]||Wi(new Date),F.ver=F.ver||"4.0",!g&&k[Ei]()&&H===Fi.ACTIVE?Ze()[vr](F):H!==Fi[bp]&&n[fe]<=ee&&n[ze](F)},function(){return{item:F}},!F.sync)},k[Ep]=Ze,k[ld]=function(){return o||(o=new Od(e.cfg),k[Sk]=o),o},k[bl]=function(F){k.getNotifyMgr()[bl](F)},k[_l]=function(F){o&&o[_l](F)},k.getCookieMgr=function(){return c||(c=Ko(e.cfg,k[Dt])),c},k.setCookieMgr=function(F){c!==F&&($o(c,!1),c=F)},k[xl]=function(){return a||s||Pb()},k.setPerfMgr=function(F){a=F},k.eventCnt=function(){return n[fe]},k.releaseQueue=function(){if(t&&n[fe]>0){var F=n;n=[],H===2?V(F,function(ue){ue[El]=ue[El]||L,Ze()[vr](ue)}):ne(r,2,20,"core init status is not active")}},k[P_]=function(F){return v=F||null,Z=!1,y&&y[Mo](),Ce(!0)};function le(){ce=!0,q(L)?(H=Fi[bp],ne(r,1,112,"ikey can't be resolved from promises")):H=Fi.ACTIVE,te()}function te(){t&&(k.releaseQueue(),k[P_]())}function Ce(F){if((!y||!y[wa])&&!Z){var ue=F||r&&r.queue[fe]>0;ue&&(S||(S=!0,He(e[Cn](function(De){var pe=De.cfg.diagnosticLogInterval;(!pe||!(pe>0))&&(pe=1e4);var Re=!1;y&&(Re=y[wa],y[Mo]()),y=sR(ae,pe),y.unref(),y[wa]=Re}))),y[wa]=!0)}return y}k[x_]=function(){Z=!0,y&&y[Mo](),ae()},$i(k,function(){return p},["addTelemetryInitializer"]),k[Ci]=function(F,ue,De){var pe;F===void 0&&(F=!0),t||$t(Pk),g&&$t(CS);var Re=(pe={reason:50},pe[wn]=F,pe.flushComplete=!1,pe),lt;F&&!ue&&(lt=en(function(At){ue=At}));var it=Gl(wt(),k);it[ud](function(){w.run(k[Dt]),jp([c,o,r],F,function(){U(),ue&&ue(Re)})},k);function ht(At){Re.flushComplete=At,g=!0,P.run(it,Re),k[x_](),it[vr](Re)}return ae(),Ye(F,ht,6,De)||ht(!1),lt},k[Ea]=xe,k.addPlugin=function(F,ue,De,pe){if(!F){pe&&pe(!1),Se(RS);return}var Re=xe(F[Kn]);if(Re&&!ue){pe&&pe(!1),Se("Plugin ["+F[Kn]+"] is already loaded!");return}var lt={reason:16};function it(Ht){u[ze](F),lt.added=[F],ct(lt),pe&&pe(!0)}if(Re){var ht=[Re.plugin],At={reason:2,isAsync:!!De};ri(ht,At,function(Ht){Ht?(lt.removed=ht,lt.reason|=32,it(!0)):pe&&pe(!1)})}else it(!1)},k.updateCfg=function(F,ue){ue===void 0&&(ue=!0);var De;if(k[Ei]()){De={reason:1,cfg:e.cfg,oldCfg:l_({},e.cfg),newConfig:l_({},F),merge:ue},F=De.newConfig;var pe=e.cfg;F[js]=pe[js],F[xa]=pe[xa]}e._block(function(Re){var lt=Re.cfg;Ub(Re,lt,F,ue),ue||we(lt,function(it){yn(F,it)||Re.set(lt,it,Yi)}),Re[En](lt,Hb)},!0),e[Fs](),De&&he(De)},k.evtNamespace=function(){return _},k.flush=Ye,k.getTraceCtx=function(F){return T||(T=hS()),T},k.setTraceCtx=function(F){T=F||null},k.addUnloadHook=He,Fo(k,"addUnloadCb",function(){return P},"add"),k.onCfgChange=function(F){var ue;return t?ue=lr(e.cfg,F,k[Dt]):ue=Nk(W,F),Mk(ue)},k.getWParam=function(){return Os()||e.cfg.enableWParam?0:-1};function se(){var F={};G=[];var ue=function(De){De&&V(De,function(pe){if(pe[Kn]&&pe[Hs]&&!F[pe.identifier]){var Re=pe[Kn]+"="+pe[Hs];G[ze](Re),F[pe.identifier]=pe}})};ue(f),m&&V(m,function(De){ue(De)}),ue(u)}function U(){t=!1,e=Mt({},Hb,k[Dt]),e.cfg[Cp]=1,vt(k,"config",{g:function(){return e.cfg},s:function(ue){k.updateCfg(ue,!1)}}),vt(k,"pluginVersionStringArr",{g:function(){return G||se(),G}}),vt(k,"pluginVersionString",{g:function(){return Y||(G||se(),Y=G.join(";")),Y||Be}}),vt(k,"logger",{g:function(){return r||(r=new Ma(e.cfg),e[Dt]=r),r},s:function(ue){e[Dt]=ue,r!==ue&&($o(r,!1),r=ue)}}),k[Dt]=new Ma(e.cfg),$=[];var F=k.config[js]||[];F.splice(0,F[fe]),_n(F,$),p=new bS,n=[],$o(o,!1),o=null,a=null,s=null,$o(c,!1),c=null,l=null,u=[],m=null,f=null,g=!1,v=null,_=Wr("AIBaseCore",!0),P=rc(),T=null,L=null,w=Kd(),W=[],Y=null,G=null,Z=!1,y=null,S=!1,H=0,I=null,ee=null,ce=!1,x=null}function Ze(){var F=ci(wt(),e.cfg,k);return F[ud](Ce),F}function ct(F){var ue=Ak(k[Dt],XR,u);l=null,Y=null,G=null,f=(m||[])[0]||[],f=rg(_n(f,ue[xa]));var De=_n(rg(ue[Gt]),f);$=Qi(De);var pe=k.config[js]||[];pe.splice(0,pe[fe]),_n(pe,$);var Re=Ze();f&&f[fe]>0&&kb(Re[jn](f),De),kb(Re,De),F&&he(F)}function xe(F){var ue=null,De=null,pe=[];return V($,function(Re){if(Re[Kn]===F&&Re!==p)return De=Re,-1;Re.getChannel&&pe[ze](Re)}),!De&&pe[fe]>0&&V(pe,function(Re){if(De=Re.getChannel(F),!De)return-1}),De&&(ue={plugin:De,setEnabled:function(Re){Vo(De)[hd]=!Re},isEnabled:function(){var Re=Vo(De);return!Re[Gi]&&!Re[hd]},remove:function(Re,lt){var it;Re===void 0&&(Re=!0);var ht=[De],At=(it={reason:1},it[wn]=Re,it);ri(ht,At,function(Ht){Ht&&ct({reason:32,removed:ht}),lt&&lt(Ht)})}}),ue}function wt(){if(!l){var F=($||[]).slice();ft(F,p)===-1&&F[ze](p),l=Fa(rg(F),e.cfg,k)}return l}function ri(F,ue,De){if(F&&F[fe]>0){var pe=Fa(F,e.cfg,k),Re=Gl(pe,k);Re[ud](function(){var lt=!1,it=[];V(u,function(At,Ht){wS(At,F)?lt=!0:it[ze](At)}),u=it,Y=null,G=null;var ht=[];m&&(V(m,function(At,Ht){var Vr=[];V(At,function(zr){wS(zr,F)?lt=!0:Vr[ze](zr)}),ht[ze](Vr)}),m=ht),De&&De(lt),Ce()}),Re[vr](ue)}else De(!1)}function ae(){if(r&&r.queue){var F=r.queue.slice(0);r.queue[fe]=0,V(F,function(ue){var De,pe=(De={},De[Ir]=v||"InternalMessageId: "+ue[Cl],De[El]=L,De[Ca]=Wi(new Date),De.baseType=Qs.dataType,De.baseData={message:ue[Vn]},De);k.track(pe)})}}function Ye(F,ue,De,pe){var Re=1,lt=!1,it=null;pe=pe||5e3;function ht(){Re--,lt&&Re===0&&(it&&it[Mo](),it=null,ue&&ue(lt),ue=null)}if(f&&f[fe]>0){var At=Ze()[jn](f);At.iterate(function(Ht){if(Ht.flush){Re++;var Vr=!1;Ht.flush(F,function(){Vr=!0,ht()},De)||Vr||(F&&it==null?it=Bi(function(){it=null,ht()},pe):ht())}})}return lt=!0,ht(),!0}function re(){var F;He(e[Cn](function(ue){var De=ue.cfg.enablePerfMgr;if(De){var pe=ue.cfg[Ip];(F!==pe||!F)&&(pe||(pe=Ik),yd(ue.cfg,Ip,pe),F=pe,s=null),!a&&!s&&Ne(pe)&&(s=pe(k,k[ld]()))}else s=null,F=null}))}function he(F){var ue=Yd(wt(),k);ue[ud](Ce),(!k._updateHook||k._updateHook(ue,F)!==!0)&&ue[vr](F)}function Se(F){var ue=k[Dt];ue?(ne(ue,2,73,F),Ce()):$t(F)}function tt(F){var ue=k[ld]();ue&&ue[Ta]([F],2)}function He(F){w.add(F)}})}return i.__ieDyn=1,i})()});function ic(i,e){try{if(i&&i!==""){var t=Yr().parse(i);if(t&&t[N_]&&t[N_]>=t.itemsAccepted&&t.itemsReceived-t.itemsAccepted===t.errors[fe])return t}}catch(r){ne(e,1,43,"Cannot parse the response. "+(r[Ir]||ge(r)),{response:i})}return null}var PS=z(()=>{Le();Et();xn();Na()});var to,Lk,xS,Yb,nc,TS=z(()=>{Tr();Ks();Le();Et();sb();xn();Na();Jn();to="",Lk="NoResponseBody",xS="&"+Lk+"=true",Yb="POST",nc=(function(){function i(){var e=0,t,r,n,o,a,s,c,l,u,m,f,g,p,v;rt(i,this,function(_,P){var w=!0;ce(),_[Lo]=function(x,y){n=y,r&&ne(n,1,28,"Sender is already initialized"),_.SetConfig(x),r=!0},_._getDbgPlgTargets=function(){return[r,o,s,t]},_.SetConfig=function(x){try{if(a=x.senderOnCompleteCallBack||{},s=!!x.disableCredentials,c=x.fetchCredentials,o=!!x.isOneDs,t=!!x.enableSendPromise,u=!!x.disableXhr,m=!!x.disableBeacon,f=!!x.disableBeaconSync,v=x.timeWrapper,p=!!x.addNoResponse,g=!!x.disableFetchKeepAlive,l={sendPOST:H},o||(w=!1),s){var y=qs();y&&y.protocol&&y.protocol[bi]()==="file:"&&(w=!1)}return!0}catch{}return!1},_.getSyncFetchPayload=function(){return e},_.getSenderInst=function(x,y){return x&&x[fe]?W(x,y):null},_.getFallbackInst=function(){return l},_[Da]=function(x,y){ce()};function R(x,y){$(y,200,{},x)}function T(x,y){ne(n,2,26,"Failed to send telemetry.",{message:x}),$(y,400,{})}function L(x){T("No endpoint url is provided for the batch",x)}function W(x,y){for(var S,Z=0,k=null,le=0;k==null&&le<x[fe];)Z=x[le],!u&&Z===1?Cd()?k=ee:Al()&&(k=H):Z===2&&Yo(y)&&(!y||!g)?k=I:Z===3&&Pi()&&(y?!f:!m)&&(k=Y),le++;return k?(S={_transport:Z,_isSync:y},S[k_]=k,S):null}function $(x,y,S,Z){try{x&&x(y,S,Z)}catch{}}function G(x,y){var S=yr(),Z=x[wl];if(!Z)return L(y),!0;Z=x[wl]+(p?xS:to);var k=x[Sa],le=o?k:new Blob([k],{type:"text/plain;charset=UTF-8"}),te=S.sendBeacon(Z,le);return te}function Y(x,y,S){var Z=x[Sa];try{if(Z)if(G(x,y))R(to,y);else{var k=a&&a.beaconOnRetry;k&&Ne(k)?k(x,y,G):(l&&l[k_](x,y,!0),ne(n,2,40,". Failed to send telemetry with Beacon API, retried with normal sender."))}}catch(le){o&&si(n,"Failed to send telemetry using sendBeacon API. Ex:"+ge(le)),$(y,o?0:400,{},to)}}function H(x,y,S){var Z,k,le,te=x[Sp]||{};!S&&t&&(Z=en(function(Ze,ct){k=Ze,le=ct})),o&&S&&x.disableXhrSync&&(S=!1);var Ce=x[wl];if(!Ce){L(y),k&&k(!1);return}var se=j_(Yb,Ce,w,!0,S,x[$s]);o||se[O_]("Content-type","application/json"),V(Hr(te),function(Ze){se[O_](Ze,te[Ze])}),se.onreadystatechange=function(){o||(U(se),se.readyState===4&&k&&k(!0))},se.onload=function(){o&&U(se)};function U(Ze){var ct=a&&a.xhrOnComplete,xe=ct&&Ne(ct);if(xe)ct(Ze,y,x);else{var wt=Sn(Ze);$(y,Ze[Ys],Uo(Ze,o),wt)}}return se.onerror=function(Ze){$(y,o?se[Ys]:400,Uo(se,o),o?to:Go(se)),le&&le(Ze)},se.ontimeout=function(){$(y,o?se[Ys]:500,Uo(se,o),o?to:Go(se)),k&&k(!1)},se.send(x[Sa]),Z}function I(x,y,S){var Z,k=x[wl],le=x[Sa],te=o?le:new Blob([le],{type:"application/json"}),Ce,se,U,Ze=new Headers,ct=le[fe],xe=!1,wt=!1,ri=x[Sp]||{},ae=(Z={method:Yb,body:te},Z[ab]=!0,Z);x.headers&&Hr(x.headers)[fe]>0&&(V(Hr(ri),function(Se){Ze.append(Se,ri[Se])}),ae[Sp]=Ze),c?ae.credentials=c:w&&o&&(ae.credentials="include"),S&&(ae.keepalive=!0,e+=ct,o?x._sendReason===2&&(xe=!0,p&&(k+=xS)):xe=!0);var Ye=new Request(k,ae);try{Ye[ab]=!0}catch{}if(!S&&t&&(Ce=en(function(Se,tt){se=Se,U=tt})),!k){L(y),se&&se(!1);return}function re(Se){$(y,o?0:400,{},o?to:Se)}function he(Se,tt,He){var F=Se[Ys],ue=a.fetchOnComplete;ue&&Ne(ue)?ue(Se,y,He||to,tt):$(y,F,{},He||to)}try{Ui(fetch(o?k:Ye,o?ae:null),function(Se){if(S&&(e-=ct,ct=0),!wt)if(wt=!0,Se.rejected)re(Se.reason&&Se.reason[Vn]),U&&U(Se.reason);else{var tt=Se[Gs];try{!o&&!tt.ok?(re(tt.statusText),se&&se(!1)):o&&!tt.body?(he(tt,null,to),se&&se(!0)):Ui(tt.text(),function(He){he(tt,x,He[Gs]),se&&se(!0)})}catch(He){re(ge(He)),U&&U(He)}}})}catch(Se){wt||(re(ge(Se)),U&&U(Se))}return xe&&!wt&&(wt=!0,$(y,200,{}),se&&se(!0)),o&&!wt&&x[$s]>0&&v&&v.set(function(){wt||(wt=!0,$(y,500,{}),se&&se(!0))},x[$s]),Ce}function ee(x,y,S){var Z=sr(),k=new XDomainRequest,le=x[Sa];k.onload=function(){var Ze=Sn(k),ct=a&&a.xdrOnComplete;ct&&Ne(ct)?ct(k,y,x):$(y,200,{},Ze)},k.onerror=function(){$(y,400,{},o?to:Js(k))},k.ontimeout=function(){$(y,500,{})},k.onprogress=function(){};var te=Z&&Z.location&&Z.location[wp]||"",Ce=x[wl];if(!Ce){L(y);return}if(!o&&Ce.lastIndexOf(te,0)!==0){var se="Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";ne(n,2,40,". "+se),T(se,y);return}var U=o?Ce:Ce[Dn](/^(https?:)/,"");k.open(Yb,U),x[$s]&&(k[$s]=x[$s]),k.send(le),o&&S?v&&v.set(function(){k.send(le)},0):k.send(le)}function ce(){e=0,r=!1,t=!1,n=null,o=null,a=null,s=null,c=null,l=null,u=!1,m=!1,f=!1,g=!1,p=!1,v=null}})}return i.__ieDyn=1,i})()});function OS(i){return i&&i[Dn]?i[Dn](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g,Be):i}function cg(i,e){var t;if(e){var r=Be;Ee(e)?(r=Be,V(e,function(o){o=OS(o),o&&(o[0]!=="."&&(o="."+o),r+=o)})):r=OS(e),r&&(r[0]!=="."&&(r="."+r),i=(i||Be)+r)}var n=Hk.exec(i||Be)||[];return t={},t[Di]=n[1],t.ns=(n[2]||Be).replace(Bk,".").replace(Fk,Be)[Zi](".").sort().join("."),t}function Wb(i,e,t){var r=[],n=Vd.get(i,ag,{},!1),o=cg(e,t);return we(n,function(a,s){V(s,function(c){var l;(!o[Di]||o[Di]===c.evtName[Di])&&(!o.ns||o.ns===o.ns)&&r[ze]((l={},l[Ir]=c.evtName[Di]+(c.evtName.ns?"."+c.evtName.ns:Be),l.handler=c[md],l))})}),r}function YS(i,e,t){t===void 0&&(t=!0);var r=Vd.get(i,ag,{},t),n=r[e];return n||(n=r[e]=[]),n}function WS(i,e,t,r){i&&e&&e[Di]&&(i[kS]?i[kS](e[Di],t,r):i[NS]&&i[NS](LS+e[Di],t))}function Uk(i,e,t,r){var n=!1;return i&&e&&e[Di]&&t&&(i[AS]?(i[AS](e[Di],t,r),n=!0):i[IS]&&(i[IS](LS+e[Di],t),n=!0)),n}function MS(i,e,t,r){for(var n=e[fe];n--;){var o=e[n];o&&(!t.ns||t.ns===o.evtName.ns)&&(!r||r(o))&&(WS(i,o.evtName,o[md],o.capture),e[$n](n,1))}}function Yk(i,e,t){if(e[Di])MS(i,YS(i,e[Di]),e,t);else{var r=Vd.get(i,ag,{});we(r,function(n,o){MS(i,o,e,t)}),Hr(r)[fe]===0&&Vd.kill(i,ag)}}function Ki(i,e){var t;return e?(Ee(e)?t=[i].concat(e):t=[i,e],t=cg("xx",t).ns[Zi](".")):t=i,t}function ro(i,e,t,r,n){var o;n===void 0&&(n=!1);var a=!1;if(i)try{var s=cg(e,r);if(a=Uk(i,s,t,n),a&&Vd.accept(i)){var c=(o={guid:Gk++,evtName:s},o[md]=t,o.capture=n,o);YS(i,s.type)[ze](c)}}catch{}return a}function qo(i,e,t,r,n){if(n===void 0&&(n=!1),i)try{var o=cg(e,r),a=!1;Yk(i,o,function(s){return o.ns&&!t||s[md]===t?(a=!0,!0):!1}),a||WS(i,o,t,n)}catch{}}function $b(i,e,t,r){return r===void 0&&(r=!1),ro(i,e,t,null,r)}function Kb(i,e,t,r){r===void 0&&(r=!1),qo(i,e,t,null,r)}function lg(i,e,t){var r=!1,n=sr();n&&(r=ro(n,i,e,t),r=ro(n.body,i,e,t)||r);var o=Kt();return o&&(r=ro(o,i,e,t)||r),r}function ug(i,e,t){var r=sr();r&&(qo(r,i,e,t),qo(r.body,i,e,t));var n=Kt();n&&qo(n,i,e,t)}function Hl(i,e,t,r){var n=!1;return e&&i&&i[fe]>0&&V(i,function(o){o&&(!t||ft(t,o)===-1)&&(n=lg(o,e,r)||n)}),n}function dg(i,e,t,r){var n=!1;return e&&i&&Ee(i)&&(n=Hl(i,e,t,r),!n&&t&&t[fe]>0&&(n=Hl(i,e,null,r))),n}function Ua(i,e,t){i&&Ee(i)&&V(i,function(r){r&&ug(r,e,t)})}function zd(i,e,t){return dg([GS,FS,sg],i,e,t)}function Jd(i,e){Ua([GS,FS,sg],i,e)}function Ul(i,e,t){function r(a){var s=Kt();i&&s&&s.visibilityState==="hidden"&&i(a)}var n=Ki(HS,t),o=Hl([sg],i,e,n);return(!e||ft(e,jd)===-1)&&(o=Hl([jd],r,e,n)||o),!o&&e&&(o=Ul(i,null,t)),o}function qd(i,e){var t=Ki(HS,e);Ua([sg],i,t),Ua([jd],null,t)}function Yl(i,e,t){function r(a){var s=Kt();i&&s&&s.visibilityState==="visible"&&i(a)}var n=Ki(US,t),o=Hl([BS],i,e,n);return o=Hl([jd],r,e,n)||o,!o&&e&&(o=Yl(i,null,t)),o}function Qd(i,e){var t=Ki(US,e);Ua([BS],i,t),Ua([jd],null,t)}var LS,IS,AS,NS,kS,ag,jd,sg,BS,FS,GS,HS,US,Bk,Fk,Gk,Vd,Hk,$S=z(()=>{Le();Et();Nl();cr();LS="on",IS="attachEvent",AS="addEventListener",NS="detachEvent",kS="removeEventListener",ag="events",jd="visibilitychange",sg="pagehide",BS="pageshow",FS="unload",GS="beforeunload",HS=Wr("aiEvtPageHide"),US=Wr("aiEvtPageShow"),Bk=/\.[\.]+/g,Fk=/[\.]+$/,Gk=1,Vd=Gp("events"),Hk=/^([^.]*)(?:\.(.+)|)/});var jb,KS=z(()=>{cd();jb=Vt({DISABLED:0,CRITICAL:1,WARNING:2,DEBUG:3})});var _t=z(()=>{hR();yR();R_();SS();Gb();Fp();xb();ob();Jn();PS();TS();Le();cd();$S();Na();_i();Db();Zp();xn();ig();KS();wb();Nl();ng();og();Nb();Oa();Wp();lb()});var io,jS,Vb,mg,fg=z(()=>{io="",jS="https://browser.events.data.microsoft.com/OneCollector/1.0/",Vb="version",mg="properties"});var zb,Jb,Wl,no,qb,Lt,oc,Qo,pg,gg,hg,yg,Xd,vg=z(()=>{zb="initialize",Jb="logger",Wl="indexOf",no="timings",qb="pollInternalLogs",Lt="value",oc="kind",Qo="length",pg="processTelemetryStart",gg="handleField",hg="rmSanitizer",yg="rmFieldSanitizer",Xd="canHandle"});function Ar(i){return!(i===io||q(i))}function _g(i){if(i){var e=yi(i,"-");if(e>-1)return ks(i,e)}return io}function QS(){return Qb===null&&(Qb=!Ve(Uint8Array)&&!Vk()&&!Ia()),Qb}function bg(i){return!!(i&&Fr(i)&&i>=1&&i<=4)}function Eg(i,e,t){if(!e&&!Ar(e)||typeof i!="string")return null;var r=typeof e;if(r==="string"||r==="number"||r==="boolean"||Ee(e))e={value:e};else if(r==="object"&&!zS.call(e,"value"))e={value:t?JSON.stringify(e):e};else if(q(e[Lt])||e[Lt]===io||!Me(e[Lt])&&!Fr(e[Lt])&&!Un(e[Lt])&&!Ee(e[Lt]))return null;if(Ee(e[Lt])&&!Zb(e[Lt]))return null;if(!q(e[oc])){if(Ee(e[Lt])||!Zd(e[oc]))return null;e[Lt]=e[Lt].toString()}return e}function Kl(i,e,t){var r=-1;if(!Ve(i))if(e>0&&(e===32?r=8192:e<=13&&(r=e<<5)),jk(t))r===-1&&(r=0),r|=t;else{var n=Kk[oo(i)]||-1;r!==-1&&n!==-1?r|=n:n===6&&(r=n)}return r}function XS(i,e,t){t===void 0&&(t=!0);var r;return i&&(r=i.get(e),t&&r&&decodeURIComponent&&(r=decodeURIComponent(r))),r||io}function ZS(i){i===void 0&&(i="D");var e=Bd();return i==="B"?e="{"+e+"}":i==="P"?e="("+e+")":i==="N"&&(e=e.replace(/-/g,io)),e}function ac(i,e,t,r,n){var o={},a=!1,s=0,c=arguments[Qo],l=arguments;for(Un(l[0])&&(a=l[0],s++);s<c;s++){var i=l[s];we(i,function(m,f){a&&f&&Ft(f)?Ee(f)?(o[m]=o[m]||[],V(f,function(g,p){g&&Ft(g)?o[m][p]=ac(!0,o[m][p],g):o[m][p]=g})):o[m]=ac(!0,o[m],f):o[m]=f})}return o}function Zd(i){return i===0||i>0&&i<=13||i===32}function jk(i){return i>=0&&i<=9}function Vk(){var i=yr();if(!Ve(i)&&i.userAgent){var e=i.userAgent.toLowerCase();if((e[Wl]("safari")>=0||e[Wl]("firefox")>=0)&&e[Wl]("chrome")<0)return!0}return!1}function Zb(i){return i[Qo]>0}function em(i,e){var t=i;t[no]=t[no]||{},t[no][pg]=t[no][pg]||{},t[no][pg][e]=xi()}function oo(i){var e=0;if(i!=null){var t=typeof i;t==="string"?e=1:t==="number"?e=2:t==="boolean"?e=3:t===To&&(e=4,Ee(i)?(e=4096,i[Qo]>0&&(e|=oo(i[0]))):zS.call(i,"value")&&(e=8192|oo(i[Lt])))}return e}function Cg(){return!!pt("chrome")}function eP(i,e,t,r,n,o){r===void 0&&(r=!1),n===void 0&&(n=!1);function a(c,l,u){try{c[l]=u}catch{}}var s=new XMLHttpRequest;return r&&a(s,Wk,r),t&&a(s,VS,t),s.open(i,e,!n),t&&a(s,VS,t),!n&&o&&a(s,$k,o),s}function Ya(i){return i>0}var Xo,Xb,$l,zS,Wk,VS,$k,Kk,Qb,JS,qS,xi,wg=z(()=>{_t();_i();Le();fg();vg();Xb="4.3.4",$l="1DS-Web-JS-"+Xb,zS=Qu.hasOwnProperty,Wk="Microsoft_ApplicationInsights_BypassAjaxInstrumentation",VS="withCredentials",$k="timeout",Kk=(Xo={},Xo[0]=0,Xo[2]=6,Xo[1]=1,Xo[3]=7,Xo[4098]=6,Xo[4097]=1,Xo[4099]=7,Xo),Qb=null,JS=Os(),qS=ml();xi=od});function Jk(i){return i&&(!i.getProperty||!i.setProperty)&&$t("Invalid property storage override passed."),!0}var zk,tP,rP=z(()=>{_i();Tr();_t();Le();fg();wg();vg();zk=vn({endpointUrl:jS,propertyStorageOverride:{isVal:Jk}});tP=(function(i){vi(e,i);function e(){var t=i.call(this)||this;return rt(e,t,function(r,n){r[zb]=function(o,a,s,c){zt(r,function(){return"AppInsightsCore.initialize"},function(){try{n[zb](Mt(o,zk,s||r[Jb],!1).cfg,a,s,c)}catch(m){var l=r[Jb],u=ge(m);u[Wl]("channels")!==-1&&(u+=`
 - Channels must be provided through config.channels only!`),ne(l,1,514,"SDK Initialization Failed - no telemetry will be sent: "+u)}},function(){return{config:o,extensions:a,logger:s,notificationManager:c}})},r.track=function(o){zt(r,function(){return"AppInsightsCore.track"},function(){var a=o;if(a){a[no]=a[no]||{},a[no].trackStart=xi(),bg(a.latency)||(a.latency=1);var s=a.ext=a.ext||{};s.sdk=s.sdk||{},s.sdk.ver=$l;var c=a.baseData=a.baseData||{};c[mg]=c[mg]||{};var l=c[mg];l[Vb]=l[Vb]||r.pluginVersionString||io}n.track(a)},function(){return{item:o}},!o.sync)},r[qb]=function(o){return n[qb](o||"InternalLog")}}),t}return e.__ieDyn=1,e})(Jo)});var iP,nP,oP,aP,sP,cP=z(()=>{_t();iP=Vt({NotSet:0,Pii_DistinguishedName:1,Pii_GenericData:2,Pii_IPV4Address:3,Pii_IPv6Address:4,Pii_MailSubject:5,Pii_PhoneNumber:6,Pii_QueryString:7,Pii_SipAddress:8,Pii_SmtpAddress:9,Pii_Identity:10,Pii_Uri:11,Pii_Fqdn:12,Pii_IPV4AddressLegacy:13,Pii_IPv6ScrubLastHextets:14,Pii_DropValue:15,CustomerContent_GenericContent:32}),nP=Vt({Normal:1,CostDeferred:2,RealTime:3,Immediate:4}),oP=Vt({Unspecified:0,String:1,Int32:2,UInt32:3,Int64:4,UInt64:5,Double:6,Bool:7,Guid:8,DateTime:9}),aP=Vt({Normal:1,Critical:2}),sP=Vt({NONE:0,ERROR:1,WARNING:2,INFORMATION:3})});var lP,uP=z(()=>{_t();Le();fg();wg();vg();lP=(function(){function i(e){var t=this,r={},n=[],o=[];e&&o.push(e);function a(u,m){var f,g=r[u];if(g&&(f=g[m]),!f&&f!==null){if(Me(u)&&Me(m))if(o[Qo]>0){for(var p=0;p<o[Qo];p++)if(o[p][gg](u,m)){f={canHandle:!0,fieldHandler:o[p]};break}}else n[Qo]===0&&(f={canHandle:!0});if(!f&&f!==null){f=null;for(var p=0;p<n[Qo];p++)if(n[p][gg](u,m)){f={canHandle:!0,handler:n[p],fieldHandler:null};break}}g||(g=r[u]={}),g[m]=f}return f}t.clearCache=function(){r={}},t.addSanitizer=function(u){u&&(a_(n,u)||n.push(u),r={})},t.addFieldSanitizer=function(u){u&&(a_(o,u)||o.push(u),r={})},t[hg]=function(u){if(u){var m=ft(n,u);m!==-1&&(n.splice(m,1),r={}),V(n,function(f){f&&f[hg]&&f[hg](u)})}},t[yg]=function(u){if(u){var m=ft(o,u);m!==-1&&(o.splice(m,1),r={}),V(n,function(f){f&&f[yg]&&f[yg](u)})}},t.isEmpty=function(){return gl(n)+gl(o)===0},t[gg]=function(u,m){var f=a(u,m);return f?f[Xd]:!1},t[Lt]=function(u,m,f,g){var p=a(u,m);if(p&&p[Xd]){if(!p||!p[Xd])return null;if(p.handler)return p.handler[Lt](u,m,f,g);if(!Me(m)||q(f)||f===io)return null;var v=null,_=oo(f);if((_&8192)===8192){var P=_&-8193;if(v=f,!Ar(v[Lt])||P!==1&&P!==2&&P!==3&&(P&4096)!==4096)return null}else _===1||_===2||_===3||(_&4096)===4096?v=c(u,m,f):_===4&&(v=c(u,m,g?JSON.stringify(f):f));if(v)return s(p,u,m,_,v,g)}return null},t.property=function(u,m,f,g){var p=a(u,m);if(!p||!p[Xd]||!Me(m)||q(f)||!Ar(f[Lt]))return null;var v=oo(f[Lt]);return v===0?null:s(p,u,m,v,f,g)};function s(u,m,f,g,p,v){if(u.handler)return u.handler.property(m,f,p,v);if(!q(p[oc])){if((g&4096)===4096||!Zd(p[oc]))return null;p[Lt]=p[Lt].toString()}return l(u.fieldHandler,m,f,g,p)}function c(u,m,f){return Ar(f)?{value:f}:null}function l(u,m,f,g,p){if(p&&u){var v=u.getSanitizer(m,f,g,p[oc],p.propertyType);if(v)if(g===4){var _={},P=p[Lt];we(P,function(R,T){var L=m+"."+f;if(Ar(T)){var W=c(L,R,T);W=l(u,L,R,oo(T),W),W&&(_[R]=W[Lt])}}),p[Lt]=_}else{var w={path:m,name:f,type:g,prop:p,sanitizer:t};p=v.call(t,w)}}return p}}return i.getFieldType=oo,i})()});var dP={};Pu(dP,{ActiveStatus:()=>Fi,AppInsightsCore:()=>tP,BaseTelemetryPlugin:()=>zo,DiagnosticLogger:()=>Ma,EventLatency:()=>nP,EventPersistence:()=>aP,EventPropertyType:()=>oP,EventsDiscardedReason:()=>bn,FullVersionString:()=>$l,InternalAppInsightsCore:()=>Jo,LoggingSeverity:()=>jb,MinChannelPriorty:()=>w_,NotificationManager:()=>Od,PerfEvent:()=>Zs,PerfManager:()=>Ld,ProcessTelemetryContext:()=>Lb,SenderPostManager:()=>nc,TraceLevel:()=>sP,Undefined:()=>Gn,ValueKind:()=>iP,ValueSanitizer:()=>lP,Version:()=>Xb,_InternalLogMessage:()=>Qs,__getRegisteredEvents:()=>Wb,_appendHeader:()=>Tl,_getAllResponseHeaders:()=>Uo,_logInternalMessage:()=>gb,_testHookMaxUnloadHooksCb:()=>Bb,_throwInternal:()=>ne,_warnToConsole:()=>si,addEventHandler:()=>lg,addEventListeners:()=>dg,addPageHideEventListener:()=>Ul,addPageShowEventListener:()=>Yl,addPageUnloadEventListener:()=>zd,areCookiesSupported:()=>Ll,arrForEach:()=>V,arrIndexOf:()=>ft,arrMap:()=>No,arrReduce:()=>nd,attachEvent:()=>$b,blockDynamicConversion:()=>Td,convertAllHeadersToMap:()=>Bp,cookieAvailable:()=>Ll,createCookieMgr:()=>Ko,createDynamicConfig:()=>Mt,createEnumStyle:()=>Vt,createGuid:()=>ZS,createProcessTelemetryContext:()=>ci,createTraceParent:()=>Fd,createUniqueNamespace:()=>Wr,createUnloadHandlerContainer:()=>rc,dateNow:()=>jt,detachEvent:()=>Kb,disallowsSameSiteNone:()=>Xp,doPerf:()=>zt,dumpObj:()=>ge,eventOff:()=>qo,eventOn:()=>ro,extend:()=>ac,findW3cTraceParent:()=>Ud,forceDynamicConversion:()=>nb,formatErrorMessageXdr:()=>Js,formatErrorMessageXhr:()=>Go,formatTraceParent:()=>Hd,generateW3CId:()=>ec,getCommonSchemaMetaData:()=>Kl,getConsole:()=>vd,getCookieValue:()=>XS,getCrypto:()=>_d,getDocument:()=>Kt,getDynamicConfigHandler:()=>xd,getExceptionName:()=>Pt,getFieldValueType:()=>oo,getGlobal:()=>ai,getGlobalInst:()=>pt,getHistory:()=>op,getIEVersion:()=>Ed,getISOString:()=>Wi,getJSON:()=>Yr,getLocation:()=>qs,getMsCrypto:()=>bd,getNavigator:()=>yr,getPerformance:()=>va,getResponseText:()=>Sn,getSetValue:()=>yd,getTenantId:()=>_g,getTime:()=>xi,getWindow:()=>sr,hasDocument:()=>Os,hasHistory:()=>n_,hasJSON:()=>qn,hasNavigator:()=>rd,hasOwnProperty:()=>xr,hasWindow:()=>ml,isArray:()=>Ee,isArrayValid:()=>Zb,isBeaconsSupported:()=>Pi,isBoolean:()=>Un,isChromium:()=>Cg,isDate:()=>ip,isDocumentObjectAvailable:()=>JS,isError:()=>Ns,isFetchSupported:()=>Yo,isFunction:()=>Ne,isGreaterThanZero:()=>Ya,isIE:()=>Aa,isLatency:()=>bg,isNotTruthy:()=>e_,isNullOrUndefined:()=>q,isNumber:()=>Fr,isObject:()=>Ft,isReactNative:()=>Ia,isSampledFlag:()=>Gd,isString:()=>Me,isTruthy:()=>hn,isTypeof:()=>Zv,isUint8ArrayAvailable:()=>QS,isUndefined:()=>Ve,isValidSpanId:()=>eo,isValidTraceId:()=>Zn,isValidTraceParent:()=>Fl,isValueAssigned:()=>Ar,isValueKind:()=>Zd,isWindowObjectAvailable:()=>qS,isXhrSupported:()=>Al,mergeEvtNamespace:()=>Ki,newGuid:()=>Bd,newId:()=>Sd,normalizeJsName:()=>zs,objDefineAccessors:()=>t_,objForEachKey:()=>we,objFreeze:()=>Qi,objKeys:()=>Hr,objSeal:()=>r_,onConfigChange:()=>lr,openXhr:()=>eP,optimizeObject:()=>Si,parseResponse:()=>ic,parseTraceParent:()=>tc,perfNow:()=>od,prependTransports:()=>Ho,proxyAssign:()=>$_,proxyFunctionAs:()=>Fo,proxyFunctions:()=>$i,random32:()=>Wo,randomValue:()=>Rd,removeEventHandler:()=>ug,removeEventListeners:()=>Ua,removePageHideEventListener:()=>qd,removePageShowEventListener:()=>Qd,removePageUnloadEventListener:()=>Jd,safeGetCookieMgr:()=>Cb,safeGetLogger:()=>Pn,sanitizeProperty:()=>Eg,setEnableEnvMocks:()=>X_,setProcessTelemetryTimings:()=>em,setValue:()=>rn,strContains:()=>tr,strEndsWith:()=>Ms,strFunction:()=>ol,strObject:()=>To,strPrototype:()=>gn,strStartsWith:()=>hl,strTrim:()=>gt,strUndefined:()=>Gn,throwError:()=>$t,toISOString:()=>Wi,useXDomainRequest:()=>Cd});var sc=z(()=>{rP();cP();uP();_t();wg()});var cc,Dg,Rg,eE=z(()=>{cc="REAL_TIME",Dg="NEAR_REAL_TIME",Rg="BEST_EFFORT"});var Tn,Sg,mP,tE,fP,pP,rE,Pg,tm,jl,gP,hP,yP,xg,iE,Tg,Ig,Ag,rm,nE,oE,vP,Vl,aE,Ng,im=z(()=>{Tn="",Sg="drop",mP="send",tE="requeue",fP="rspFail",pP="oth",rE="no-cache, no-store",Pg="application/x-json-stream",tm="cache-control",jl="content-type",gP="kill-tokens",hP="kill-duration",yP="time-delta-millis",xg="client-version",iE="client-id",Tg="time-delta-to-apply-millis",Ig="upload-time",Ag="apikey",rm="AuthMsaDeviceTicket",nE="WebAuthToken",oE="AuthXToken",vP="NoResponseBody",Vl="msfpc",aE="trace",Ng="user"});var nm,kg,Og,Mg,om,Xe,ao,ji,Jt,so,_r,co,lc,Lg,uc,Bg,dc,Fg,Gg,_P,sE,cE,bP,EP,Hg,lE,uE,CP,wP,dE,mE,fE,DP,Ug,Yg,Wg,am,pE,In,zl,gE,Xr,Ti,sm,cm,Jl,$g,lm,RP,ql,Kg,jg,Ql,hE,um,Vg,zg,Xl,SP,Jg,qg,Qg,dm,PP,xP,yE,vE,TP,IP,AP,Xg,mm,Wa,mc,Zl=z(()=>{nm="allowRequestSending",kg="firstRequestSent",Og="shouldAddClockSkewHeaders",Mg="getClockSkewHeaderValue",om="setClockSkew",Xe="length",ao="concat",ji="iKey",Jt="count",so="events",_r="push",co="split",lc="splice",Lg="toLowerCase",uc="hdrs",Bg="useHdrs",dc="initialize",Fg="setTimeoutOverride",Gg="clearTimeoutOverride",_P="payloadPreprocessor",sE="overrideEndpointUrl",cE="avoidOptions",bP="disableEventTimings",EP="stringifyObjects",Hg="enableCompoundKey",lE="disableXhrSync",uE="disableFetchKeepAlive",CP="addNoResponse",wP="excludeCsMetaData",dE="useSendBeacon",mE="fetchCredentials",fE="alwaysUseXhrOverride",DP="unloadTransports",Ug="serializeOfflineEvt",Yg="getOfflineRequestDetails",Wg="createPayload",am="createOneDSPayload",pE="payloadBlob",In="headers",zl="_thePayload",gE="urlString",Xr="batches",Ti="sendType",sm="addHeader",cm="canSendRequest",Jl="sendQueuedRequests",$g="isCompletelyIdle",lm="setUnloading",RP="isTenantKilled",ql="resume",Kg="sendSynchronousBatch",jg="_transport",Ql="getWParam",hE="isBeacon",um="timings",Vg="isTeardown",zg="isSync",Xl="data",SP="timeout",Jg="_sendReason",qg="setKillSwitchTenants",Qg="_backOffTransmission",dm="identifier",PP="disableOptimizeObj",xP="ignoreMc1Ms0CookieProcessing",yE="eventsLimitInMem",vE="autoFlushEventsLimit",TP="disableAutoBatchFlushLimit",IP="overrideInstrumentationKey",AP="disableTelemetry",Xg="baseData",mm="sendAttempt",Wa="latency",mc="sync"});function kP(i){var e=(i.ext||{}).intweb;return e&&Ar(e[Vl])?e[Vl]:null}function NP(i){for(var e=null,t=0;e===null&&t<i[Xe];t++)e=kP(i[t]);return e}var $a,Zg=z(()=>{sc();im();Zl();$a=(function(){function i(e,t){var r=t?[][ao](t):[],n=this,o=NP(r);n[ji]=function(){return e},n.Msfpc=function(){return o||Tn},n[Jt]=function(){return r[Xe]},n[so]=function(){return r},n.addEvent=function(a){return a?(r[_r](a),o||(o=kP(a)),!0):!1},n[co]=function(a,s){var c;if(a<r[Xe]){var l=r[Xe]-a;q(s)||(l=s<l?s:l),c=r[lc](a,l),o=NP(r)}return new i(e,c)}}return i.create=function(e,t){return new i(e,t)},i})()});var OP,MP=z(()=>{Tr();Zl();OP=(function(){function i(){var e=!0,t=!0,r=!0,n="use-collector-delta",o=!1;rt(i,this,function(a){a[nm]=function(){return e},a[kg]=function(){r&&(r=!1,o||(e=!1))},a[Og]=function(){return t},a[Mg]=function(){return n},a[om]=function(s){o||(s?(n=s,t=!0,o=!0):t=!1,e=!0)}})}return i.__ieDyn=1,i})()});var qk,LP,BP=z(()=>{Tr();sc();Zl();qk=1e3,LP=(function(){function i(){var e={};function t(r){var n=[];return r&&V(r,function(o){n[_r](gt(o))}),n}rt(i,this,function(r){r[qg]=function(n,o){if(n&&o)try{var a=t(n[co](","));if(o==="this-request-only")return a;for(var s=parseInt(o,10)*qk,c=0;c<a[Xe];++c)e[a[c]]=jt()+s}catch{return[]}return[]},r[RP]=function(n){var o=e,a=gt(n);return o[a]!==void 0&&o[a]>jt()?!0:(delete o[a],!1)}})}return i.__ieDyn=1,i})()});function GP(i){return!(i>=300&&i<500&&i!=429||i==501||i==505)}function eh(i){var e=0,t=FP*Qk,r=FP*Xk,n=Math.floor(Math.random()*(r-t))+t;return e=Math.pow(2,i)*n,Math.min(e,Zk)}var Qk,Xk,FP,Zk,_E=z(()=>{Qk=.8,Xk=1.2,FP=3e3,Zk=6e5});function nO(i,e,t,r,n){if(n&&e){var o=i(n.value,n.kind,n.propertyType);if(o>-1){var a=e[HP];a||(a=e[HP]={f:{}});var s=a[th];if(s||(s=a[th]={}),t)for(var c=0;c<t.length;c++){var l=t[c];s[l]||(s[l]={f:{}});var u=s[l][th];u||(u=s[l][th]={}),s=u}s=s[r]={},Ee(n.value)?s.a={t:o}:s.t=o}}}var eO,tO,UP,YP,rO,HP,th,iO,WP,$P=z(()=>{Tr();sc();Zg();im();Le();eO=20,tO=3984588,UP=65e3,YP=2e6,rO=Math.min(YP,UP),HP="metadata",th="f",iO=/\./,WP=(function(){function i(e,t,r,n,o,a){var s="data",c="baseData",l="ext",u=!!n,m=!0,f=t,g={},p=!!a,v=o||Kl;rt(i,this,function(_){_.createPayload=function(R,T,L,W,$,G){return{apiKeys:[],payloadBlob:Tn,overflow:null,sizeExceed:[],failedEvts:[],batches:[],numEvents:0,retryCnt:R,isTeardown:T,isSync:L,isBeacon:W,sendType:G,sendReason:$}},_.appendPayload=function(R,T,L){var W=R&&T&&!R.overflow;return W&&zt(e,function(){return"Serializer:appendPayload"},function(){for(var $=T.events(),G=R.payloadBlob,Y=R.numEvents,H=!1,I=[],ee=[],ce=R.isBeacon,x=ce?UP:tO,y=ce?rO:YP,S=0,Z=0;S<$.length;){var k=$[S];if(k){if(Y>=L){R.overflow=T.split(S);break}var le=_.getEventBlob(k);if(le&&le.length<=y){var te=le.length,Ce=G.length;if(Ce+te>x){R.overflow=T.split(S);break}G&&(G+=`
`),G+=le,Z++,Z>eO&&(Yn(G,0,1),Z=0),H=!0,Y++}else le?I.push(k):ee.push(k),$.splice(S,1),S--}S++}if(I.length>0&&R.sizeExceed.push($a.create(T.iKey(),I)),ee.length>0&&R.failedEvts.push($a.create(T.iKey(),ee)),H){R.batches.push(T),R.payloadBlob=G,R.numEvents=Y;var se=T.iKey();ft(R.apiKeys,se)===-1&&R.apiKeys.push(se)}},function(){return{payload:R,theBatch:{iKey:T.iKey(),evts:T.events()},max:L}}),W},_.getEventBlob=function(R){try{return zt(e,function(){return"Serializer.getEventBlob"},function(){var T={};T.name=R.name,T.time=R.time,T.ver=R.ver,T.iKey="o:"+_g(R.iKey);var L={},W;p||(W=function(H,I,ee){nO(v,L,H,I,ee)});var $=R[l];$&&(T[l]=L,we($,function(H,I){var ee=L[H]={};w(I,ee,"ext."+H,!0,null,null,!0)}));var G=T[s]={};G.baseType=R.baseType;var Y=G[c]={};return w(R.baseData,Y,c,!1,[c],W,m),w(R.data,G,s,!1,[],W,m),JSON.stringify(T)},function(){return{item:R}})}catch{return null}};function P(R,T){var L=g[R];return L===void 0&&(R.length>=7&&(L=hl(R,"ext.metadata")||hl(R,"ext.web")),g[R]=L),L}function w(R,T,L,W,$,G,Y){we(R,function(H,I){var ee=null;if(I||Ar(I)){var ce=L,x=H,y=$,S=T;if(u&&!W&&iO.test(H)){var Z=H.split("."),k=Z.length;if(k>1){y&&(y=y.slice());for(var le=0;le<k-1;le++){var te=Z[le];S=S[te]=S[te]||{},ce+="."+te,y&&y.push(te)}x=Z[k-1]}}var Ce=W&&P(ce,x);if(!Ce&&f&&f.handleField(ce,x)?ee=f.value(ce,x,I,r):ee=Eg(x,I,r),ee){var se=ee.value;if(S[x]=se,G&&G(y,x,ee),Y&&typeof se=="object"&&!Ee(se)){var U=y;U&&(U=U.slice(),U.push(x)),w(I,se,ce+"."+x,W,U,G,Y)}}}})}})}return i.__ieDyn=1,i})()});function eu(i,e){return{set:function(t,r){for(var n=[],o=2;o<arguments.length;o++)n[o-2]=arguments[o];return aR([i,e],t,r,n)}}}var bE=z(()=>{Le()});function pc(i,e,t){CE[i]=e,t!==!1&&(wE[e]=i)}function rh(i,e){var t=!1;if(i&&e){var r=Hr(i);if(r&&r[Xe]>0)for(var n=e[Lg](),o=0;o<r[Xe];o++){var a=r[o];if(a&&xr(e,a)&&a[Lg]()===n){t=!0;break}}}return t}function tu(i,e,t,r){e&&t&&t[Xe]>0&&(r&&CE[e]?(i[uc][CE[e]]=t,i[Bg]=!0):i.url+="&"+e+"="+t)}function cO(i,e,t){for(var r=0;r<i[Xe];r++)if(i[r].name===e){i[r].value=t;return}i[_r]({name:e,value:t})}function lO(i,e){for(var t=0;t<i[Xe];t++)if(i[t].name===e){i[lc](t,1);return}}var fc,EE,oO,aO,sO,CE,wE,KP,jP=z(()=>{Tr();sc();Le();MP();Zg();im();BP();_E();$P();bE();Zl();EE="sendAttempt",oO="&"+vP+"=true",aO="?cors=true&"+jl[Lg]()+"="+Pg,sO=(fc={},fc[1]=tE,fc[100]=tE,fc[200]="sent",fc[8004]=Sg,fc[8003]=Sg,fc),CE={},wE={};pc(rm,rm,!1);pc(xg,xg);pc(iE,"Client-Id");pc(Ag,Ag);pc(Tg,Tg);pc(Ig,Ig);pc(oE,oE);KP=(function(){function i(e,t,r,n){var o,a,s,c,l=!1,u,m,f,g,p,v,_,P,w,R,T,L,W,$,G,Y,H,I,ee,ce,x,y,S,Z,k,le,te,Ce;rt(i,this,function(se){wt();var U=!0;se[dc]=function(O,J,ie){Z||(p=J,L=J.getCookieMgr(),m=ie,f=m.diagLog(),_n(ce,lr(O,function(ye){var Ae,qe=ye.cfg,ve=ye.cfg.extensionConfig[ie.identifier];k=eu(ve[Fg],ve[Gg]),Ar(qe.anonCookieName)?cO(_,"anoncknm",qe.anonCookieName):lO(_,"anoncknm"),x=ve[_P],y=ve.payloadListener;var h=ve.httpXHROverride,E=ve[sE]?ve[sE]:qe.endpointUrl;o=E+aO,$=Ve(ve[cE])?!0:!ve[cE],T=!ve[bP];var M=ve.valueSanitizer,B=ve[EP],j=!!qe[Hg];Ve(ve[Hg])||(j=!!ve[Hg]),G=ve.xhrTimeout,Y=!!ve[lE],H=!!ve[uE],ee=ve[CP]!==!1,le=!!ve[wP],J.getPlugin("LocalStorage")&&(H=!0),l=!Ia(),R=new WP(p,M,B,j,Kl,le),q(ve[dE])||(l=!!ve[dE]),ve[mE]&&(Ce=ve[mE]);var Q=ct();te?te.SetConfig(Q):(te=new nc,te[dc](Q,f));var me=h,Oe=ve[fE]?h:null,nt=ve[fE]?h:null,Te=[3,2];if(!h){v=!1;var li=[];Ia()?(li=[2,1],Te=[2,1,3]):li=[1,2,3],li=Ho(li,ve.transports),h=Ze(li,!1),h||si(f,"No available transport to send events"),me=Ze(li,!0)}Oe||(Te=Ho(Te,ve[DP]),Oe=Ze(Te,!0)),I=!v&&(l&&Pi()||!H&&Yo(!0)),g=(Ae={},Ae[0]=h,Ae[1]=me||Ze([1,2,3],!0),Ae[2]=Oe||me||Ze([1],!0),Ae[3]=nt||Ze([2,3],!0)||me||Ze([1],!0),Ae)})),Z=!0)},se.addResponseHandler=function(O){return S[_r](O),{rm:function(){var J=S.indexOf(O);J>=0&&S[lc](J,1)}}},se[Ug]=function(O){try{if(R)return R.getEventBlob(O)}catch{}return Tn},se[Yg]=function(){try{var O=R&&R[Wg](0,!1,!1,!1,1,0);return pe(O,$)}catch{}return null},se[am]=function(O,J){try{var ie=[];V(O,function(h){J&&(h=Si(h));var E=$a.create(h[ji],[h]);ie[_r](E)});for(var ye=null;ie[Xe]>0&&R;){var Ae=ie.shift();Ae&&Ae[Jt]()>0&&(ye=ye||R[Wg](0,!1,!1,!1,1,0),R.appendPayload(ye,Ae,e))}var qe=pe(ye,$),ve={data:ye[pE],urlString:qe.url,headers:qe[uc],timeout:G,disableXhrSync:Y,disableFetchKeepAlive:H};return $&&(rh(ve[In],tm)||(ve[In][tm]=rE),rh(ve[In],jl)||(ve[In][jl]=Pg)),ve}catch{}return null};function Ze(O,J){try{return te&&te.getSenderInst(O,J)}catch{}return null}se._getDbgPlgTargets=function(){return[g[0],a,R,g,ct(),o]};function ct(){try{var O={xdrOnComplete:xe,fetchOnComplete:ri,xhrOnComplete:ae,beaconOnRetry:re},J={enableSendPromise:!1,isOneDs:!0,disableCredentials:!U,fetchCredentials:Ce,disableXhr:!1,disableBeacon:!l,disableBeaconSync:!l,disableFetchKeepAlive:H,timeWrapper:k,addNoResponse:ee,senderOnCompleteCallBack:O};return J}catch{}return null}function xe(O,J,ie){var ye=Sn(O);Ye(J,200,{},ye),Ji(ye)}function wt(){var O;o=null,a=new LP,s=!1,c=new OP,l=!1,u=0,m=null,f=null,g=null,p=null,v=!0,_=[],P={},w=[],R=null,T=!1,L=null,W=!1,$=!1,G=O,Y=O,H=O,I=O,ee=O,ce=[],x=O,y=O,S=[],Z=!1,k=eu(),le=!1,te=null}function ri(O,J,ie,ye){var Ae=function(h,E,M){Ye(J,h,E,M),Ji(M)},qe={},ve=O[In];ve&&ve.forEach(function(h,E){qe[E]=h}),Ae(O.status,qe,ie||Tn)}function ae(O,J,ie){var ye=Sn(O);Ye(J,O.status,Uo(O,!0),ye),Ji(ye)}function Ye(O,J,ie,ye){try{O(J,ie,ye)}catch(Ae){ne(f,2,518,ge(Ae))}}function re(O,J,ie){var ye=O,Ae=200,qe=ye[zl],ve=O[gE]+(ee?oO:Tn);try{var h=yr();if(qe){var E=!!p.getPlugin("LocalStorage"),M=[],B=[];V(qe[Xr],function(j){if(M&&j&&j[Jt]()>0)for(var Q=j[so](),me=0;me<Q[Xe];me++)if(h.sendBeacon(ve,R.getEventBlob(Q[me])))B[_r](j[me]);else{M[_r](j[co](me));break}else M[_r](j[co](0))}),B[Xe]>0&&(qe.sentEvts=B),E||wr(M,8003,qe[Ti],!0)}else Ae=0}catch(j){si(f,"Failed to send telemetry using sendBeacon API. Ex:"+ge(j)),Ae=0}finally{Ye(J,Ae,{},Tn)}}function he(O){return O===2||O===3}function Se(O){return W&&he(O)&&(O=2),O}se[sm]=function(O,J){P[O]=J},se.removeHeader=function(O){delete P[O]},se[cm]=function(){return tt()&&c[nm]()},se[Jl]=function(O,J){Ve(O)&&(O=0),W&&(O=Se(O),J=2),F(w,O,0)&&De(He(),0,!1,O,J||0)},se[$g]=function(){return!s&&u===0&&w[Xe]===0},se[lm]=function(O){W=O},se.addBatch=function(O){if(O&&O[Jt]()>0){if(a.isTenantKilled(O[ji]()))return!1;w[_r](O)}return!0},se.teardown=function(){w[Xe]>0&&De(He(),0,!0,2,2),V(ce,function(O){O&&O.rm&&O.rm()}),ce=[]},se.pause=function(){s=!0},se[ql]=function(){s=!1,se[Jl](0,4)},se[Kg]=function(O,J,ie){O&&O[Jt]()>0&&(q(J)&&(J=1),W&&(J=Se(J),ie=2),De([O],0,!1,J,ie||0))};function tt(){return!s&&u<t}function He(){var O=w;return w=[],O}function F(O,J,ie){var ye=!1;return O&&O[Xe]>0&&!s&&g[J]&&R&&(ye=J!==0||tt()&&(ie>0||c[nm]())),ye}function ue(O){var J={};return O&&V(O,function(ie,ye){J[ye]={iKey:ie[ji](),evts:ie[so]()}}),J}function De(O,J,ie,ye,Ae){if(!(!O||O[Xe]===0)){if(s){wr(O,1,ye);return}ye=Se(ye);try{var qe=O,ve=ye!==0;zt(p,function(){return"HttpManager:_sendBatches"},function(h){h&&(O=O.slice(0));for(var E=[],M=null,B=xi(),j=g[ye]||(ve?g[1]:g[0]),Q=j&&j[jg],me=I&&(W||he(ye)||Q===3||j._isSync&&Q===2);F(O,ye,J);){var Oe=O.shift();Oe&&Oe[Jt]()>0&&(a.isTenantKilled(Oe[ji]())?E[_r](Oe):(M=M||R[Wg](J,ie,ve,me,Ae,ye),R.appendPayload(M,Oe,e)?M.overflow!==null&&(O=[M.overflow][ao](O),M.overflow=null,lt(M,B,xi(),Ae),B=xi(),M=null):(lt(M,B,xi(),Ae),B=xi(),O=[Oe][ao](O),M=null)))}M&&lt(M,B,xi(),Ae),O[Xe]>0&&(w=O[ao](w)),wr(E,8004,ye)},function(){return{batches:ue(qe),retryCount:J,isTeardown:ie,isSynchronous:ve,sendReason:Ae,useSendBeacon:he(ye),sendType:ye}},!ve)}catch(h){ne(f,2,48,"Unexpected Exception sending batch: "+ge(h))}}}function pe(O,J){var ie={url:o,hdrs:{},useHdrs:!1};J?(ie[uc]=ac(ie[uc],P),ie.useHdrs=Hr(ie.hdrs)[Xe]>0):we(P,function(h,E){wE[h]?tu(ie,wE[h],E,!1):(ie[uc][h]=E,ie[Bg]=!0)}),tu(ie,iE,"NO_AUTH",J),tu(ie,xg,$l,J);var ye=Tn;V(O.apiKeys,function(h){ye[Xe]>0&&(ye+=","),ye+=h}),tu(ie,Ag,ye,J),tu(ie,Ig,jt().toString(),J);var Ae=zr(O);if(Ar(Ae)&&(ie.url+="&ext.intweb.msfpc="+Ae),c[Og]()&&tu(ie,Tg,c[Mg](),J),p[Ql]){var qe=p[Ql]();qe>=0&&(ie.url+="&w="+qe)}for(var ve=0;ve<_[Xe];ve++)ie.url+="&"+_[ve].name+"="+_[ve].value;return ie}function Re(O,J,ie){O[J]=O[J]||{},O[J][m.identifier]=ie}function lt(O,J,ie,ye){if(O&&O.payloadBlob&&O.payloadBlob[Xe]>0){var Ae=!!x,qe=g[O.sendType];!he(O[Ti])&&O[hE]&&O.sendReason===2&&(qe=g[2]||g[3]||qe);var ve=$;(O.isBeacon||qe[jg]===3)&&(ve=!1);var h=pe(O,ve);ve=ve||h[Bg];var E=xi();zt(p,function(){return"HttpManager:_doPayloadSend"},function(){for(var M=0;M<O.batches[Xe];M++)for(var B=O[Xr][M],j=B[so](),Q=0;Q<j[Xe];Q++){var me=j[Q];if(T){var Oe=me[um]=me[um]||{};Re(Oe,"sendEventStart",E),Re(Oe,"serializationStart",J),Re(Oe,"serializationCompleted",ie)}me[EE]>0?me[EE]++:me[EE]=1}wr(O[Xr],1e3+(ye||0),O[Ti],!0);var nt={data:O[pE],urlString:h.url,headers:h[uc],_thePayload:O,_sendReason:ye,timeout:G,disableXhrSync:Y,disableFetchKeepAlive:H};ve&&(rh(nt[In],tm)||(nt[In][tm]=rE),rh(nt[In],jl)||(nt[In][jl]=Pg));var Te=null;qe&&(Te=function(li){c[kg]();var Eo=function(kn,Am){ht(kn,Am,O,ye)},ui=O[Vg]||O[zg];try{qe.sendPOST(li,Eo,ui),y&&y(nt,li,ui,O[hE])}catch(kn){si(f,"Unexpected exception sending payload. Ex:"+ge(kn)),Ye(Eo,0,{})}}),zt(p,function(){return"HttpManager:_doPayloadSend.sender"},function(){if(Te)if(O[Ti]===0&&u++,Ae&&!O.isBeacon&&qe[jg]!==3){var li={data:nt[Xl],urlString:nt[gE],headers:ac({},nt[In]),timeout:nt[SP],disableXhrSync:nt[lE],disableFetchKeepAlive:nt[uE]},Eo=!1;zt(p,function(){return"HttpManager:_doPayloadSend.sendHook"},function(){try{x(li,function(ui){Eo=!0,!v&&!ui[zl]&&(ui[zl]=ui[zl]||nt[zl],ui[Jg]=ui[Jg]||nt[Jg]),Te(ui)},O.isSync||O[Vg])}catch{Eo||Te(nt)}})}else Te(nt)})},function(){return{thePayload:O,serializationStart:J,serializationCompleted:ie,sendReason:ye}},O[zg])}O.sizeExceed&&O.sizeExceed[Xe]>0&&wr(O.sizeExceed,8003,O[Ti]),O.failedEvts&&O.failedEvts[Xe]>0&&wr(O.failedEvts,8002,O[Ti])}function it(O,J){T&&V(O,function(ie){var ye=ie[um]=ie[um]||{};Re(ye,"sendEventCompleted",J)})}function ht(O,J,ie,ye){var Ae=9e3,qe=null,ve=!1,h=!1;try{var E=!0;if(typeof O!==Gn){if(J){c[om](J[yP]);var M=J[hP]||J["kill-duration-seconds"];V(a[qg](J[gP],M),function(j){V(ie[Xr],function(Q){if(Q[ji]()===j){qe=qe||[];var me=Q[co](0);ie.numEvents-=me[Jt](),qe[_r](me)}})})}if(O==200||O==204){Ae=200;return}(!GP(O)||ie.numEvents<=0)&&(E=!1),Ae=9e3+O%1e3}if(E){Ae=100;var B=ie.retryCnt;ie[Ti]===0&&(B<r?(ve=!0,Vr(function(){ie[Ti]===0&&u--,De(ie[Xr],B+1,ie[Vg],W?2:ie[Ti],5)},W,eh(B))):(h=!0,W&&(Ae=8001)))}}finally{ve||(c[om](),At(ie,Ae,ye,h)),wr(qe,8004,ie[Ti])}}function At(O,J,ie,ye){try{ye&&m[Qg]();var Ae=O[Xr];J===200&&(Ae=O.sentEvts||O[Xr],!ye&&!O[zg]&&m._clearBackOff(),Ht(Ae)),wr(Ae,J,O[Ti],!0)}finally{O[Ti]===0&&(u--,ie!==5&&se.sendQueuedRequests(O[Ti],ie))}}function Ht(O){if(T){var J=xi();V(O,function(ie){ie&&ie[Jt]()>0&&it(ie[so](),J)})}}function Vr(O,J,ie){J?O():k.set(O,ie)}function zr(O){for(var J=0;J<O.batches[Xe];J++){var ie=O[Xr][J].Msfpc();if(ie)return encodeURIComponent(ie)}return Tn}function Ji(O){var J=S;try{for(var ie=0;ie<J[Xe];ie++)try{J[ie](O)}catch(Ae){ne(f,1,519,"Response handler failed: "+Ae)}if(O){var ye=JSON.parse(O);Ar(ye.webResult)&&Ar(ye.webResult[Vl])&&L.set("MSFPC",ye.webResult[Vl],365*86400)}}catch{}}function wr(O,J,ie,ye){if(O&&O[Xe]>0&&n){var Ae=n[bo(J)];if(Ae){var qe=ie!==0;zt(p,function(){return"HttpManager:_sendBatchesNotification"},function(){Vr(function(){try{Ae.call(n,O,J,qe,ie)}catch(ve){ne(f,1,74,"send request notification failed: "+ve)}},ye||qe,0)},function(){return{batches:ue(O),reason:J,isSync:qe,sendSync:ye,sendType:ie}},!qe)}}}function bo(O){var J=sO[O];return Ar(J)||(J=pP,O>=9e3&&O<=9999?J=fP:O>=8e3&&O<=8999?J=Sg:O>=1e3&&O<=1999&&(J=mP)),J}})}return i.__ieDyn=1,i})()});function gO(i){return i&&i.sendPOST}var uO,VP,dO,qP,QP,mO,zP,fO,DE,gc,JP,ur,pO,XP,ZP=z(()=>{_i();Tr();sc();Ks();Le();eE();Zg();jP();im();_E();bE();Zl();uO=.25,VP=500,dO=20,qP=6,QP=2,mO=4,zP=2,fO=1,DE=1e4,gc="eventsDiscarded",JP="",ur=void 0,pO=vn({eventsLimitInMem:{isVal:Ya,v:DE},immediateEventLimit:{isVal:Ya,v:500},autoFlushEventsLimit:{isVal:Ya,v:0},disableAutoBatchFlushLimit:!1,httpXHROverride:{isVal:gO,v:ur},overrideInstrumentationKey:ur,overrideEndpointUrl:ur,disableTelemetry:!1,ignoreMc1Ms0CookieProcessing:!1,setTimeoutOverride:ur,clearTimeoutOverride:ur,payloadPreprocessor:ur,payloadListener:ur,disableEventTimings:ur,valueSanitizer:ur,stringifyObjects:ur,enableCompoundKey:ur,disableOptimizeObj:!1,fetchCredentials:ur,transports:ur,unloadTransports:ur,useSendBeacon:ur,disableFetchKeepAlive:ur,avoidOptions:!1,xhrTimeout:ur,disableXhrSync:ur,alwaysUseXhrOverride:!1,maxEventRetryAttempts:{isVal:Fr,v:qP},maxUnloadEventRetryAttempts:{isVal:Fr,v:QP},addNoResponse:ur,excludeCsMetaData:ur});XP=(function(i){vi(e,i);function e(){var t=i.call(this)||this;t.identifier="PostChannel",t.priority=1011,t.version="4.3.4";var r,n=!1,o=[],a,s=!1,c=0,l,u=0,m,f={},g=cc,p,v,_,P,w,R,T,L,W,$,G,Y,H,I,ee,ce,x,y,S,Z,k,le;return rt(e,t,function(te,Ce){Se(),te._getDbgPlgTargets=function(){return[w,r]},te[dc]=function(h,E,M){zt(E,function(){return"PostChannel:initialize"},function(){Ce[dc](h,E,M),S=E.getNotifyMgr();try{ee=Ki(Wr(te[dm]),E.evtNamespace&&E.evtNamespace()),te._addHook(lr(h,function(B){var j=B.cfg,Q=ci(null,j,E);r=Q.getExtCfg(te[dm],pO),ce=eu(r[Fg],r[Gg]),G=!r[PP]&&Cg(),x=r[xP],U(E),m=r[yE],l=r.immediateEventLimit,T=r[vE],H=r.maxEventRetryAttempts,I=r.maxUnloadEventRetryAttempts,y=r[TP],oi(j.endpointUrl)?te.pause():s&&te[ql](),ve(),k=r[IP],le=!!r[AP],Z&&se();var me=j.disablePageUnloadEvents||[];Z=zd(xe,me,ee),Z=Ul(xe,me,ee)||Z,Z=Yl(wt,j.disablePageShowEvents,ee)||Z})),w[dc](h,te.core,te)}catch(B){throw te.setInitialized(!1),B}},function(){return{theConfig:h,core:E,extensions:M}})},te.processTelemetry=function(h,E){em(h,te[dm]),E=E||te._getTelCtx(E);var M=h;!le&&!n&&(k&&(M[ji]=k),ae(M,!0),Y?F(2,2):he()),te.processNext(M,E)},te.getOfflineSupport=function(){try{var h=w&&w[Yg]();if(w)return{getUrl:function(){return h?h.url:null},serialize:ct,batch:Ze,shouldProcess:function(E){return!le},createPayload:function(E){return null},createOneDSPayload:function(E){if(w[am])return w[am](E,G)}}}catch{}return null},te._doTeardown=function(h,E){F(2,2),n=!0,w.teardown(),se(),Se()};function se(){Jd(null,ee),qd(null,ee),Qd(null,ee)}function U(h){var E=h[Ql];h[Ql]=function(){var M=0;return x&&(M=M|2),M|E.call(h)}}function Ze(h){var E=JP;return h&&h[Xe]&&V(h,function(M){E&&(E+=`
`),E+=M}),E}function ct(h){var E=JP;try{ri(h),E=w[Ug](h)}catch{}return E}function xe(h){var E=h||sr().event;E.type!=="beforeunload"&&(Y=!0,w[lm](Y)),F(2,2)}function wt(h){Y=!1,w[lm](Y)}function ri(h){h.ext&&h.ext[aE]&&delete h.ext[aE],h.ext&&h.ext[Ng]&&h.ext[Ng].id&&delete h.ext[Ng].id,G&&(h.ext=Si(h.ext),h[Xg]&&(h[Xg]=Si(h[Xg])),h[Xl]&&(h[Xl]=Si(h[Xl])))}function ae(h,E){if(h[mm]||(h[mm]=0),h[Wa]||(h[Wa]=1),ri(h),h[mc]){if(_||s)h[Wa]=3,h[mc]=!1;else if(w){G&&(h=Si(h)),w[Kg]($a.create(h[ji],[h]),h[mc]===!0?1:h[mc],3);return}}var M=h[Wa],B=u,j=m;M===4&&(B=c,j=l);var Q=!1;if(B<j)Q=!Re(h,E);else{var me=1,Oe=dO;M===4&&(me=4,Oe=1),Q=!0,lt(h[ji],h[Wa],me,Oe)&&(Q=!Re(h,E))}Q&&bo(gc,[h],bn.QueueFull)}te.setEventQueueLimits=function(h,E){r[yE]=m=Ya(h)?h:DE,r[vE]=T=Ya(E)?E:0,ve();var M=u>h;if(!M&&L>0)for(var B=1;!M&&B<=3;B++){var j=R[B];j&&j[Xr]&&V(j[Xr],function(Q){Q&&Q[Jt]()>=L&&(M=!0)})}pe(!0,M)},te.pause=function(){He(),s=!0,w&&w.pause()},te[ql]=function(){s=!1,w&&w[ql](),he()},te._loadTransmitProfiles=function(h){Vr(),we(h,function(E,M){var B=M[Xe];if(B>=2){var j=B>2?M[2]:0;if(M[lc](0,B-2),M[1]<0&&(M[0]=-1),M[1]>0&&M[0]>0){var Q=M[0]/M[1];M[0]=Math.ceil(Q)*M[1]}j>=0&&M[1]>=0&&j>M[1]&&(j=M[1]),M[_r](j),f[E]=M}})},te.flush=function(h,E,M){h===void 0&&(h=!0);var B;if(!s)if(M=M||1,h)E||(B=en(function(Q){E=Q})),a==null?(He(),ht(1,0,M),a=tt(function(){a=null,At(E,M)},0)):o[_r](E);else{var j=He();Ye(1,1,M),E&&E(),j&&he()}return B},te.setMsaAuthTicket=function(h){w[sm](rm,h)},te.setAuthPluginHeader=function(h){w[sm](nE,h)},te.removeAuthPluginHeader=function(){w.removeHeader(nE)},te.hasEvents=re,te._setTransmitProfile=function(h){g!==h&&f[h]!==void 0&&(He(),g=h,he())},$i(te,function(){return w},["addResponseHandler"]);function Ye(h,E,M){var B=ht(h,E,M);return w[Jl](E,M),B}function re(){return u>0}function he(){if(W>=0&&ht(W,0,$)&&w[Jl](0,$),c>0&&!v&&!s){var h=f[g][2];h>=0&&(v=tt(function(){v=null,Ye(4,0,1),he()},h))}var E=f[g][1];!p&&!a&&E>=0&&!s&&(re()?p=tt(function(){p=null,Ye(P===0?3:1,0,1),P++,P%=2,he()},E):P=0)}te[Qg]=function(){_<mO&&(_++,He(),he())},te._clearBackOff=function(){_&&(_=0,He(),he())};function Se(){r=null,n=!1,o=[],a=null,s=!1,c=0,l=500,u=0,m=DE,f={},g=cc,p=null,v=null,_=0,P=0,R={},T=0,Z=!1,L=0,W=-1,$=null,G=!0,Y=!1,H=qP,I=QP,ee=null,k=null,le=!1,ce=eu(),w=new KP(VP,zP,fO,{requeue:Ji,send:J,sent:ie,drop:ye,rspFail:Ae,oth:qe}),zr(),ue(),ve()}function tt(h,E){E===0&&_&&(E=1);var M=1e3;return _&&(M=eh(_-1)),ce.set(h,E*M)}function He(){return p!==null?(p.cancel(),p=null,P=0,!0):!1}function F(h,E){He(),a&&(a.cancel(),a=null),s||Ye(1,h,E)}function ue(){R[4]={batches:[],iKeyMap:{}},R[3]={batches:[],iKeyMap:{}},R[2]={batches:[],iKeyMap:{}},R[1]={batches:[],iKeyMap:{}}}function De(h,E,M){var B=R[E];B||(E=1,B=R[E]);var j=B.iKeyMap[h];return!j&&M&&(j=$a.create(h),B.batches[_r](j),B.iKeyMap[h]=j),j}function pe(h,E){w[cm]()&&!_&&(T>0&&u>T&&(E=!0),E&&a==null&&te.flush(h,function(){},20))}function Re(h,E){G&&(h=Si(h));var M=h[Wa],B=De(h[ji],M,!0);return B.addEvent(h)?(M!==4?(u++,E&&h[mm]===0&&pe(!h.sync,L>0&&B[Jt]()>=L)):c++,!0):!1}function lt(h,E,M,B){for(;M<=E;){var j=De(h,E,!0);if(j&&j[Jt]()>0){var Q=j[co](0,B),me=Q[Jt]();if(me>0)return M===4?c-=me:u-=me,O(gc,[Q],bn.QueueFull),!0}M++}return it(),!1}function it(){for(var h=0,E=0,M=function(j){var Q=R[j];Q&&Q[Xr]&&V(Q[Xr],function(me){j===4?h+=me[Jt]():E+=me[Jt]()})},B=1;B<=4;B++)M(B);u=E,c=h}function ht(h,E,M){var B=!1,j=E===0;return!j||w[cm]()?zt(te.core,function(){return"PostChannel._queueBatches"},function(){for(var Q=[],me=4;me>=h;){var Oe=R[me];Oe&&Oe.batches&&Oe.batches[Xe]>0&&(V(Oe[Xr],function(nt){w.addBatch(nt)?B=B||nt&&nt[Jt]()>0:Q=Q[ao](nt[so]()),me===4?c-=nt[Jt]():u-=nt[Jt]()}),Oe[Xr]=[],Oe.iKeyMap={}),me--}Q[Xe]>0&&bo(gc,Q,bn.KillSwitch),B&&W>=h&&(W=-1,$=0)},function(){return{latency:h,sendType:E,sendReason:M}},!j):(W=W>=0?Math.min(W,h):h,$=Math.max($,M)),B}function At(h,E){Ye(1,0,E),it(),Ht(function(){h&&h(),o[Xe]>0?a=tt(function(){a=null,At(o.shift(),E)},0):(a=null,he())})}function Ht(h){w[$g]()?h():a=tt(function(){a=null,Ht(h)},uO)}function Vr(){He(),zr(),g=cc,he()}function zr(){f={},f[cc]=[2,1,0],f[Dg]=[6,3,0],f[Rg]=[18,9,0]}function Ji(h,E){var M=[],B=H;Y&&(B=I),V(h,function(j){j&&j[Jt]()>0&&V(j[so](),function(Q){Q&&(Q[mc]&&(Q[Wa]=4,Q[mc]=!1),Q[mm]<B?(em(Q,te[dm]),ae(Q,!1)):M[_r](Q))})}),M[Xe]>0&&bo(gc,M,bn.NonRetryableStatus),Y&&F(2,2)}function wr(h,E){var M=S||{},B=M[h];if(B)try{B.apply(M,E)}catch(j){ne(te.diagLog(),1,74,h+" notification failed: "+j)}}function bo(h,E){for(var M=[],B=2;B<arguments.length;B++)M[B-2]=arguments[B];E&&E[Xe]>0&&wr(h,[E][ao](M))}function O(h,E){for(var M=[],B=2;B<arguments.length;B++)M[B-2]=arguments[B];E&&E[Xe]>0&&V(E,function(j){j&&j[Jt]()>0&&wr(h,[j.events()][ao](M))})}function J(h,E,M){h&&h[Xe]>0&&wr("eventsSendRequest",[E>=1e3&&E<=1999?E-1e3:0,M!==!0])}function ie(h,E){O("eventsSent",h,E),he()}function ye(h,E){O(gc,h,E>=8e3&&E<=8999?E-8e3:bn.Unknown)}function Ae(h){O(gc,h,bn.NonRetryableStatus),he()}function qe(h,E){O(gc,h,bn.Unknown),he()}function ve(){y?L=0:L=Math.max(VP*(zP+1),m/6)}}),t}return e.__ieDyn=1,e})(zo)});var ex={};Pu(ex,{BE_PROFILE:()=>Rg,NRT_PROFILE:()=>Dg,PostChannel:()=>XP,RT_PROFILE:()=>cc});var tx=z(()=>{eE();ZP()});var ix=at(lo=>{"use strict";var hO=lo&&lo.__createBinding||(Object.create?(function(i,e,t,r){r===void 0&&(r=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,r,n)}):(function(i,e,t,r){r===void 0&&(r=t),i[r]=e[t]})),yO=lo&&lo.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),rx=lo&&lo.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&hO(e,i,t);return yO(e,i),e};Object.defineProperty(lo,"__esModule",{value:!0});lo.oneDataSystemClientFactory=void 0;var vO=async(i,e,t)=>{let r=await Promise.resolve().then(()=>rx((sc(),xu(dP)))),n=await Promise.resolve().then(()=>rx((tx(),xu(ex)))),o=new r.AppInsightsCore,a=new n.PostChannel,s={instrumentationKey:i,endpointUrl:"https://mobile.events.data.microsoft.com/OneCollector/1.0",loggingLevelTelemetry:0,loggingLevelConsole:0,disableCookiesUsage:!0,disableDbgExt:!0,disableInstrumentationKeyValidation:!0,channels:[[a]]};if(t){s.extensionConfig={};let u={alwaysUseXhrOverride:!0,httpXHROverride:t};s.extensionConfig[a.identifier]=u}let l=e.workspace.getConfiguration("telemetry").get("internalTesting");return o.initialize(s,[]),o.addTelemetryInitializer(u=>{u.ext=u.ext??{},u.ext.web=u.ext.web??{},u.ext.web.consentDetails='{"GPC_DataSharingOptIn":false}',l&&(u.ext.utc=u.ext.utc??{},u.ext.utc.flags=8462029)}),o},_O=async(i,e,t)=>{let r=await vO(i,e,t);return{logEvent:(a,s)=>{try{r?.track({name:a,baseData:{name:a,properties:s?.properties,measurements:s?.measurements}})}catch(c){throw new Error(`Failed to log event to app insights!
`+c.message)}},flush:async()=>{try{return new Promise((s,c)=>{if(!r){s();return}r.flush(!0,l=>{if(!l){c("Failed to flush app 1DS!");return}})})}catch(a){throw new Error(`Failed to flush 1DS!
`+a.message)}},dispose:async()=>new Promise(s=>{if(!r){s();return}r.unload(!1,()=>{s(),r=void 0},1e3)})}};lo.oneDataSystemClientFactory=_O});var nx,ru,iu,fm,Ka,An,br,ih,on=z(()=>{nx="Microsoft_ApplicationInsights_BypassAjaxInstrumentation",ru="sampleRate",iu="ProcessLegacy",fm="http.method",Ka="https://dc.services.visualstudio.com",An="/v2/track",br="not_specified",ih="iKey"});var hc,RE=z(()=>{_t();hc=D_({requestContextHeader:[0,"Request-Context"],requestContextTargetKey:[1,"appId"],requestContextAppIdFormat:[2,"appId=cid-v1:"],requestIdHeader:[3,"Request-Id"],traceParentHeader:[4,"traceparent"],traceStateHeader:[5,"tracestate"],sdkContextHeader:[6,"Sdk-Context"],sdkContextHeaderAppIdRequest:[7,"appId"],requestContextHeaderLowerCase:[8,"request-context"]})});var Zo,Fe,uo,ja,ea,ta,nh,dr,Nn,Va,oh,ah,sh,SE,ch,lh,yc,nu,PE,pm,vc,an,$r,Zr,_c,mo,bc,uh,dh,xE,Ec,za,gm,hm,Cc,ou,wc,TE,Er=z(()=>{Zo="split",Fe="length",uo="toLowerCase",ja="ingestionendpoint",ea="toString",ta="push",nh="removeItem",dr="name",Nn="message",Va="count",oh="preTriggerDate",ah="disabled",sh="interval",SE="daysOfMonth",ch="date",lh="getUTCDate",yc="stringify",nu="pathname",PE="correlationHeaderExcludePatterns",pm="extensionConfig",vc="exceptions",an="parsedStack",$r="properties",Zr="measurements",_c="sizeInBytes",mo="typeName",bc="severityLevel",uh="problemGroup",dh="isManual",xE="CreateFromInterface",Ec="assembly",za="fileName",gm="hasFullStack",hm="level",Cc="method",ou="line",wc="duration",TE="receivedResponse"});function mh(i,e,t){var r=e[Fe],n=IE(i,e);if(n[Fe]!==r){for(var o=0,a=n;t[a]!==void 0;)o++,a=hr(n,0,147)+AE(o);n=a}return n}function IE(i,e){var t;return e&&(e=gt(pr(e)),e[Fe]>150&&(t=hr(e,0,150),ne(i,2,57,"name is too long.  It has been truncated to 150 characters.",{name:e},!0))),t||e}function Ct(i,e,t){t===void 0&&(t=1024);var r;return e&&(t=t||1024,e=gt(pr(e)),e[Fe]>t&&(r=hr(e,0,t),ne(i,2,61,"string value is too long. It has been truncated to "+t+" characters.",{value:e},!0))),r||e}function Ja(i,e){return gh(i,e,2048,66)}function au(i,e){var t;return e&&e[Fe]>32768&&(t=hr(e,0,32768),ne(i,2,56,"message is too long, it has been truncated to 32768 characters.",{message:e},!0)),t||e}function fh(i,e){var t;if(e){var r=""+e;r[Fe]>32768&&(t=hr(r,0,32768),ne(i,2,52,"exception is too long, it has been truncated to 32768 characters.",{exception:e},!0))}return t||e}function ei(i,e){if(e){var t={};we(e,function(r,n){if(Ft(n)&&qn())try{n=Yr()[yc](n)}catch(o){ne(i,2,49,"custom property is not valid",{exception:o},!0)}n=Ct(i,n,8192),r=mh(i,r,t),t[r]=n}),e=t}return e}function ti(i,e){if(e){var t={};we(e,function(r,n){r=mh(i,r,t),t[r]=n}),e=t}return e}function ph(i,e){return e&&gh(i,e,128,69)[ea]()}function gh(i,e,t,r){var n;return e&&(e=gt(pr(e)),e[Fe]>t&&(n=hr(e,0,t),ne(i,2,r,"input is too long, it has been truncated to "+t+" characters.",{data:e},!0))),n||e}function AE(i){var e="00"+i;return Yn(e,e[Fe]-3)}var sn=z(()=>{_t();Le();Er()});function Dc(i){var e=ax,t=bO,r=t[e];return ox.createElement?t[e]||(r=t[e]=ox.createElement("a")):r={host:NE(i,!0)},r.href=i,e++,e>=t[Fe]&&(e=0),ax=e,r}function sx(i){var e,t=Dc(i);return t&&(e=t.href),e}function cx(i){var e,t=Dc(i);return t&&(e=t[nu]),e}function lx(i,e){return i?i.toUpperCase()+" "+e:e}function NE(i,e){var t=ym(i,e)||"";if(t){var r=t.match(/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);if(r!=null&&r[Fe]>3&&Me(r[2])&&r[2][Fe]>0)return r[2]+(r[3]||"")}return t}function ym(i,e){var t=null;if(i){var r=i.match(/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);if(r!=null&&r[Fe]>2&&Me(r[2])&&r[2][Fe]>0&&(t=r[2]||"",e&&r[Fe]>2)){var n=(r[1]||"")[uo](),o=r[3]||"";(n==="http"&&o===":80"||n==="https"&&o===":443")&&(o=""),t+=o}}return t}var ox,ax,bO,kE=z(()=>{_t();Er();ox=Kt()||{},ax=0,bO=[null,null,null,null,null]});function vm(i){return ft(EO,i[uo]())!==-1}function ux(i){OE=i}function dx(){return OE}function mx(i,e,t){if(!e||i&&i.disableCorrelationHeaders)return!1;if(i&&i[PE]){for(var r=0;r<i.correlationHeaderExcludePatterns[Fe];r++)if(i[PE][r].test(e))return!1}var n=Dc(e).host[uo]();if(n&&(yi(n,":443")!==-1||yi(n,":80")!==-1)&&(n=(ym(e,!0)||"")[uo]()),(!i||!i.enableCorsCorrelation)&&n&&n!==t)return!1;var o=i&&i.correlationHeaderDomains;if(o){var a;if(V(o,function(l){var u=new RegExp(l.toLowerCase().replace(/\\/g,"\\\\").replace(/\./g,"\\.").replace(/\*/g,".*"));a=a||u.test(n)}),!a)return!1}var s=i&&i.correlationHeaderExcludedDomains;if(!s||s[Fe]===0)return!0;for(var r=0;r<s[Fe];r++){var c=new RegExp(s[r].toLowerCase().replace(/\\/g,"\\\\").replace(/\./g,"\\.").replace(/\*/g,".*"));if(c.test(n))return!1}return n&&n[Fe]>0}function fx(i){if(i){var e=ME(i,hc[1]);if(e&&e!==OE)return e}}function ME(i,e){if(i)for(var t=i[Zo](","),r=0;r<t[Fe];++r){var n=t[r][Zo]("=");if(n[Fe]===2&&n[0]===e)return n[1]}}function px(i,e,t,r){var n,o=r,a=r;if(e&&e[Fe]>0){var s=Dc(e);if(n=s.host,!o)if(s[nu]!=null){var c=s.pathname[Fe]===0?"/":s[nu];c.charAt(0)!=="/"&&(c="/"+c),a=s[nu],o=Ct(i,t?t+" "+c:c)}else o=Ct(i,e)}else n=r,o=r;return{target:n,name:o,data:a}}function gx(){var i=va();if(i&&i.now&&i.timing){var e=i.now()+i.timing.navigationStart;if(e>0)return e}return jt()}function hx(i,e){var t=null;return i!==0&&e!==0&&!q(i)&&!q(e)&&(t=e-i),t}function yx(i,e){var t=i||{};return{getName:function(){return t[dr]},setName:function(r){e&&e.setName(r),t[dr]=r},getTraceId:function(){return t.traceID},setTraceId:function(r){e&&e.setTraceId(r),Zn(r)&&(t.traceID=r)},getSpanId:function(){return t.parentID},setSpanId:function(r){e&&e.setSpanId(r),eo(r)&&(t.parentID=r)},getTraceFlags:function(){return t.traceFlags},setTraceFlags:function(r){e&&e.setTraceFlags(r),t.traceFlags=r}}}var EO,OE,LE=z(()=>{_t();Le();on();RE();sn();kE();Er();EO=[Ka+An,"https://breeze.aimon.applicationinsights.io"+An,"https://dc-int.services.visualstudio.com"+An],OE="cid-v1:"});var su,vx,_x,BE=z(()=>{_t();su=Vt({LocalStorage:0,SessionStorage:1}),vx=Vt({AI:0,AI_AND_W3C:1,W3C:2}),_x=Vt({Normal:1,Critical:2})});function FE(){return cu()?hh(su.LocalStorage):null}function hh(i){try{if(q(ai()))return null;var e=new Date()[ea](),t=pt(i===su.LocalStorage?"localStorage":"sessionStorage"),r=bx+e;t.setItem(r,e);var n=t.getItem(r)!==e;if(t[nh](r),!n)return t}catch{}return null}function GE(){return Rc()?hh(su.SessionStorage):null}function Ex(){qa=!1,Qa=!1}function yh(i){bx=i||""}function Cx(){qa=cu(!0),Qa=Rc(!0)}function cu(i){return(i||qa===void 0)&&(qa=!!hh(su.LocalStorage)),qa}function vh(i,e){var t=FE();if(t!==null)try{return t.getItem(e)}catch(r){qa=!1,ne(i,2,1,"Browser failed read of local storage. "+Pt(r),{exception:ge(r)})}return null}function _h(i,e,t){var r=FE();if(r!==null)try{return r.setItem(e,t),!0}catch(n){qa=!1,ne(i,2,3,"Browser failed write to local storage. "+Pt(n),{exception:ge(n)})}return!1}function wx(i,e){var t=FE();if(t!==null)try{return t[nh](e),!0}catch(r){qa=!1,ne(i,2,5,"Browser failed removal of local storage item. "+Pt(r),{exception:ge(r)})}return!1}function Rc(i){return(i||Qa===void 0)&&(Qa=!!hh(su.SessionStorage)),Qa}function Dx(){var i=[];return Rc()&&we(pt("sessionStorage"),function(e){i[ta](e)}),i}function bh(i,e){var t=GE();if(t!==null)try{return t.getItem(e)}catch(r){Qa=!1,ne(i,2,2,"Browser failed read of session storage. "+Pt(r),{exception:ge(r)})}return null}function Eh(i,e,t){var r=GE();if(r!==null)try{return r.setItem(e,t),!0}catch(n){Qa=!1,ne(i,2,4,"Browser failed write to session storage. "+Pt(n),{exception:ge(n)})}return!1}function Ch(i,e){var t=GE();if(t!==null)try{return t[nh](e),!0}catch(r){Qa=!1,ne(i,2,6,"Browser failed removal of session storage item. "+Pt(r),{exception:ge(r)})}return!1}var qa,Qa,bx,HE=z(()=>{_t();BE();Er();qa=void 0,Qa=void 0,bx=""});var CO,Rx,Sx=z(()=>{_t();Le();HE();Er();CO="appInsightsThrottle",Rx=(function(){function i(e,t){var r=this,n,o,a,s,c,l,u,m=!1,f=!1;p(),r._getDbgPlgTargets=function(){return[u]},r.getConfig=function(){return a},r.canThrottle=function(x){var y=I(x),S=v(x);return w(S,n,y)},r.isTriggered=function(x){return ee(x)},r.isReady=function(){return m},r.flush=function(x){try{var y=ce(x);if(y&&y[Fe]>0){var S=y.slice(0);return u[x]=[],V(S,function(Z){g(Z.msgID,Z[Nn],Z.severity,!1)}),!0}}catch{}return!1},r.flushAll=function(){try{if(u){var x=!0;return we(u,function(y){var S=r.flush(parseInt(y));x=x&&S}),x}}catch{}return!1},r.onReadyState=function(x,y){return y===void 0&&(y=!0),m=q(x)?!0:x,m&&y?r.flushAll():null},r.sendMessage=function(x,y,S){return g(x,y,S,!0)};function g(x,y,S,Z){if(m){var k=H(x);if(!k)return;var le=v(x),te=I(x),Ce=w(le,n,te),se=!1,U=0,Ze=ee(x);try{Ce&&!Ze?(U=Math.min(le.limit.maxSendNumber,te[Va]+1),te[Va]=0,se=!0,c[x]=!0,te[oh]=new Date):(c[x]=Ce,te[Va]+=1);var ct=R(x);$(o,ct,te);for(var xe=0;xe<U;xe++)Y(x,o,y,S)}catch{}return{isThrottled:se,throttleNum:U}}else if(Z){var wt=ce(x);wt[ta]({msgID:x,message:y,severity:S})}return null}function p(){o=Pn(e),c={},s={},u={},a={},_(109),l=tn(t)?t:"",e.addUnloadHook(lr(e.config,function(x){var y=x.cfg;n=cu();var S=y.throttleMgrCfg||{};we(S,function(Z,k){_(parseInt(Z),k)})}))}function v(x){return a[x]||a[109]}function _(x,y){var S,Z;try{var k=y||{},le={};le[ah]=!!k[ah];var te=k[sh]||{};f=te?.daysOfMonth&&te?.daysOfMonth[Fe]>0,le[sh]=P(te);var Ce={samplingRate:((S=k.limit)===null||S===void 0?void 0:S.samplingRate)||100,maxSendNumber:((Z=k.limit)===null||Z===void 0?void 0:Z.maxSendNumber)||1};le.limit=Ce,a[x]=le}catch{}}function P(x){x=x||{};var y=x?.monthInterval,S=x?.dayInterval;return q(y)&&q(S)&&(x.monthInterval=3,f||(x[SE]=[28],f=!0)),x={monthInterval:x?.monthInterval,dayInterval:x?.dayInterval,daysOfMonth:x?.daysOfMonth},x}function w(x,y,S){if(x&&!x[ah]&&y&&tn(S)){var Z=W(),k=S[ch],le=x[sh],te=1;if(le?.monthInterval){var Ce=(Z.getUTCFullYear()-k.getUTCFullYear())*12+Z.getUTCMonth()-k.getUTCMonth();te=G(le.monthInterval,0,Ce)}var se=1;if(f)se=ft(le[SE],Z[lh]());else if(le?.dayInterval){var U=Math.floor((Z.getTime()-k.getTime())/864e5);se=G(le.dayInterval,0,U)}return te>=0&&se>=0}return!1}function R(x,y){var S=tn(y)?y:"";return x?CO+S+"-"+x:null}function T(x){try{if(x){var y=new Date;return x.getUTCFullYear()===y.getUTCFullYear()&&x.getUTCMonth()===y.getUTCMonth()&&x[lh]()===y[lh]()}}catch{}return!1}function L(x,y,S){try{var Z={date:W(),count:0};if(x){var k=JSON.parse(x),le={date:W(k[ch])||Z[ch],count:k[Va]||Z[Va],preTriggerDate:k.preTriggerDate?W(k[oh]):void 0};return le}else return $(y,S,Z),Z}catch{}return null}function W(x){try{if(x){var y=new Date(x);if(!isNaN(y.getDate()))return y}else return new Date}catch{}return null}function $(x,y,S){try{return _h(x,y,gt(JSON[yc](S)))}catch{}return!1}function G(x,y,S){return x<=0?1:S>=y&&(S-y)%x==0?Math.floor((S-y)/x)+1:-1}function Y(x,y,S,Z){ne(y,Z||1,x,S)}function H(x){try{var y=v(x);return Rd(1e6)<=y.limit.samplingRate}catch{}return!1}function I(x){try{var y=s[x];if(!y){var S=R(x,l);y=L(vh(o,S),o,S),s[x]=y}return s[x]}catch{}return null}function ee(x){var y=c[x];if(q(y)){y=!1;var S=I(x);S&&(y=T(S[oh])),c[x]=y}return c[x]}function ce(x){return u=u||{},q(u[x])&&(u[x]=[]),u[x]}}return i})()});function Sc(i){if(!i)return{};var e=i[Zo](wO),t=nd(e,function(n,o){var a=o[Zo](DO);if(a[Fe]===2){var s=a[0][uo](),c=a[1];n[s]=c}return n},{});if(Hr(t)[Fe]>0){if(t.endpointsuffix){var r=t.location?t.location+".":"";t[ja]=t[ja]||"https://"+r+"dc."+t.endpointsuffix}t[ja]=t[ja]||Ka,Ms(t[ja],"/")&&(t[ja]=t[ja].slice(0,-1))}return t}var wO,DO,Px,xx=z(()=>{_t();on();Er();wO=";",DO="=";Px={parse:Sc}});var wh,Tx=z(()=>{_t();on();Er();sn();wh=(function(){function i(e,t,r){var n=this,o=this;o.ver=1,o.sampleRate=100,o.tags={},o[dr]=Ct(e,r)||br,o.data=t,o.time=Wi(new Date),o.aiDataContract={time:1,iKey:1,name:1,sampleRate:function(){return n.sampleRate===100?4:1},tags:1,data:1}}return i})()});var fo,Ix=z(()=>{on();Er();sn();fo=(function(){function i(e,t,r,n){this.aiDataContract={ver:1,name:1,properties:0,measurements:0};var o=this;o.ver=2,o[dr]=Ct(e,t)||br,o[$r]=ei(e,r),o[Zr]=ti(e,n)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Event",i.dataType="EventData",i})()});function $E(i,e){var t=i;return t&&!Me(t)&&(JSON&&JSON[yc]?(t=JSON[yc](i),e&&(!t||t==="{}")&&(Ne(i[ea])?t=i[ea]():t=""+i)):t=""+i+" - (Missing JSON.stringify)"),t||""}function Mx(i,e){var t=i;return i&&(t&&!Me(t)&&(t=i[WE]||i[Ox]||t),t&&!Me(t)&&(t=$E(t,!0)),i.filename&&(t=t+" @"+(i.filename||"")+":"+(i.lineno||"?")+":"+(i.colno||"?"))),e&&e!=="String"&&e!=="Object"&&e!=="Error"&&yi(t||"",e)===-1&&(t=e+": "+t),t||""}function SO(i){try{if(Ft(i))return"hasFullStack"in i&&"typeName"in i}catch{}return!1}function PO(i){try{if(Ft(i))return"ver"in i&&"exceptions"in i&&"properties"in i}catch{}return!1}function Nx(i){return i&&i.src&&Me(i.src)&&i.obj&&Ee(i.obj)}function Pc(i){var e=i||"";Me(e)||(Me(e[Ii])?e=e[Ii]:e=""+e);var t=e[Zo](`
`);return{src:e,obj:t}}function xO(i){for(var e=[],t=i[Zo](`
`),r=0;r<t[Fe];r++){var n=t[r];t[r+1]&&(n+="@"+t[r+1],r++),e[ta](n)}return{src:i,obj:e}}function Lx(i){var e=null;if(i)try{if(i[Ii])e=Pc(i[Ii]);else if(i[lu]&&i[lu][Ii])e=Pc(i[lu][Ii]);else if(i.exception&&i.exception[Ii])e=Pc(i.exception[Ii]);else if(Nx(i))e=i;else if(Nx(i[YE]))e=i[YE];else if(sr()&&sr().opera&&i[WE])e=xO(i[Nn]);else if(i.reason&&i.reason[Ii])e=Pc(i.reason[Ii]);else if(Me(i))e=Pc(i);else{var t=i[WE]||i[Ox]||"";Me(i[Ax])&&(t&&(t+=`
`),t+=" from "+i[Ax]),t&&(e=Pc(t))}}catch(r){e=Pc(r)}return e||{src:"",obj:null}}function TO(i){var e="";return i&&(i.obj?V(i.obj,function(t){e+=t+`
`}):e=i.src||""),e}function IO(i){var e,t=i.obj;if(t&&t[Fe]>0){e=[];var r=0,n=0;V(t,function(p){var v=p[ea]();if(KE.regex.test(v)){var _=new KE(v,r++);n+=_[_c],e[ta](_)}});var o=32*1024;if(n>o)for(var a=0,s=e[Fe]-1,c=0,l=a,u=s;a<s;){var m=e[a][_c],f=e[s][_c];if(c+=m+f,c>o){var g=u-l+1;e.splice(l,g);break}l=a,u=s,a++,s--}}return e}function Dh(i){var e="";if(i&&(e=i.typeName||i[dr]||"",!e))try{var t=/function (.{1,200})\(/,r=t.exec(i.constructor[ea]());e=r&&r[Fe]>1?r[1]:""}catch{}return e}function UE(i){if(i)try{if(!Me(i)){var e=Dh(i),t=$E(i,!1);return(!t||t==="{}")&&(i[lu]&&(i=i[lu],e=Dh(i)),t=$E(i,!0)),yi(t,e)!==0&&e!=="String"?e+":"+t:t}}catch{}return""+(i||"")}var RO,lu,Ii,YE,Ax,WE,Ox,Xa,kx,KE,Bx=z(()=>{_i();_t();Le();on();Er();sn();RO="<no_method>",lu="error",Ii="stack",YE="stackDetails",Ax="errorSrc",WE="message",Ox="description";Xa=(function(){function i(e,t,r,n,o,a){this.aiDataContract={ver:1,exceptions:1,severityLevel:0,properties:0,measurements:0};var s=this;s.ver=2,PO(t)?(s[vc]=t[vc]||[],s[$r]=t[$r],s[Zr]=t[Zr],t[bc]&&(s[bc]=t[bc]),t.id&&(s.id=t.id,t[$r].id=t.id),t[uh]&&(s[uh]=t[uh]),q(t[dh])||(s[dh]=t[dh])):(r||(r={}),a&&(r.id=a),s[vc]=[new kx(e,t,r)],s[$r]=ei(e,r),s[Zr]=ti(e,n),o&&(s[bc]=o),a&&(s.id=a))}return i.CreateAutoException=function(e,t,r,n,o,a,s,c){var l,u=Dh(o||a||e);return l={},l[Nn]=Mx(e,u),l.url=t,l.lineNumber=r,l.columnNumber=n,l.error=UE(o||a||e),l.evt=UE(a||e),l[mo]=u,l.stackDetails=Lx(s||o||a),l.errorSrc=c,l},i.CreateFromInterface=function(e,t,r,n){var o=t[vc]&&No(t[vc],function(s){return kx[xE](e,s)}),a=new i(e,Xi(Xi({},t),{exceptions:o}),r,n);return a},i.prototype.toInterface=function(){var e,t=this,r=t.exceptions,n=t.properties,o=t.measurements,a=t.severityLevel,s=t.problemGroup,c=t.id,l=t.isManual,u=r instanceof Array&&No(r,function(m){return m.toInterface()})||void 0;return e={ver:"4.0"},e[vc]=u,e.severityLevel=a,e.properties=n,e.measurements=o,e.problemGroup=s,e.id=c,e.isManual=l,e},i.CreateSimpleException=function(e,t,r,n,o,a){var s;return{exceptions:[(s={},s[gm]=!0,s.message=e,s.stack=o,s.typeName=t,s)]}},i.envelopeType="Microsoft.ApplicationInsights.{0}.Exception",i.dataType="ExceptionData",i.formatError=UE,i})(),kx=(function(){function i(e,t,r){this.aiDataContract={id:0,outerId:0,typeName:1,message:1,hasFullStack:0,stack:0,parsedStack:2};var n=this;if(SO(t))n[mo]=t[mo],n[Nn]=t[Nn],n[Ii]=t[Ii],n[an]=t[an]||[],n[gm]=t[gm];else{var o=t,a=o&&o.evt;Ns(o)||(o=o[lu]||a||o),n[mo]=Ct(e,Dh(o))||br,n[Nn]=au(e,Mx(t||o,n[mo]))||br;var s=t[YE]||Lx(t);n[an]=IO(s),Ee(n[an])&&No(n[an],function(c){c[Ec]=Ct(e,c[Ec]),c[za]=Ct(e,c[za])}),n[Ii]=fh(e,TO(s)),n.hasFullStack=Ee(n.parsedStack)&&n.parsedStack[Fe]>0,r&&(r[mo]=r[mo]||n[mo])}}return i.prototype.toInterface=function(){var e,t=this,r=t[an]instanceof Array&&No(t[an],function(o){return o.toInterface()}),n=(e={id:t.id,outerId:t.outerId,typeName:t[mo],message:t[Nn],hasFullStack:t[gm],stack:t[Ii]},e[an]=r||void 0,e);return n},i.CreateFromInterface=function(e,t){var r=t[an]instanceof Array&&No(t[an],function(o){return KE[xE](o)})||t[an],n=new i(e,Xi(Xi({},t),{parsedStack:r}));return n},i})(),KE=(function(){function i(e,t){this.aiDataContract={level:1,method:1,assembly:0,fileName:0,line:0};var r=this;if(r[_c]=0,typeof e=="string"){var n=e;r[hm]=t,r[Cc]=RO,r[Ec]=gt(n),r[za]="",r[ou]=0;var o=n.match(i.regex);o&&o[Fe]>=5&&(r[Cc]=gt(o[2])||r[Cc],r[za]=gt(o[4]),r[ou]=parseInt(o[5])||0)}else r[hm]=e[hm],r[Cc]=e[Cc],r[Ec]=e[Ec],r[za]=e[za],r[ou]=e[ou],r[_c]=0;r.sizeInBytes+=r.method[Fe],r.sizeInBytes+=r.fileName[Fe],r.sizeInBytes+=r.assembly[Fe],r[_c]+=i.baseSize,r.sizeInBytes+=r.level.toString()[Fe],r.sizeInBytes+=r.line.toString()[Fe]}return i.CreateFromInterface=function(e){return new i(e,null)},i.prototype.toInterface=function(){var e=this;return{level:e[hm],method:e[Cc],assembly:e[Ec],fileName:e[za],line:e[ou]}},i.regex=/^([\s]+at)?[\s]{0,50}([^\@\()]+?)[\s]{0,50}(\@|\()([^\(\n]+):([0-9]+):([0-9]+)(\)?)$/,i.baseSize=58,i})()});var Fx,Gx=z(()=>{Fx=(function(){function i(){this.aiDataContract={name:1,kind:0,value:1,count:0,min:0,max:0,stdDev:0},this.kind=0}return i})()});var po,Hx=z(()=>{on();Er();Gx();sn();po=(function(){function i(e,t,r,n,o,a,s,c,l){this.aiDataContract={ver:1,metrics:1,properties:0};var u=this;u.ver=2;var m=new Fx;m[Va]=n>0?n:void 0,m.max=isNaN(a)||a===null?void 0:a,m.min=isNaN(o)||o===null?void 0:o,m[dr]=Ct(e,t)||br,m.value=r,m.stdDev=isNaN(s)||s===null?void 0:s,u.metrics=[m],u[$r]=ei(e,c),u[Zr]=ti(e,l)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Metric",i.dataType="MetricData",i})()});function Ux(i,e){return e===void 0&&(e=!1),i==null?e:i.toString()[uo]()==="true"}function uu(i){(isNaN(i)||i<0)&&(i=0),i=Math.round(i);var e=_m+i%1e3,t=_m+Math.floor(i/1e3)%60,r=_m+Math.floor(i/(1e3*60))%60,n=_m+Math.floor(i/(1e3*60*60))%24,o=Math.floor(i/(1e3*60*60*24));return e=e[Fe]===1?"00"+e:e[Fe]===2?"0"+e:e,t=t[Fe]<2?"0"+t:t,r=r[Fe]<2?"0"+r:r,n=n[Fe]<2?"0"+n:n,(o>0?o+".":_m)+n+":"+r+":"+t+"."+e}function Yx(i,e){var t=null;return V(i,function(r){if(r.identifier===e)return t=r,-1}),t}function Wx(i,e,t,r,n){return!n&&Me(i)&&(i==="Script error."||i==="Script error")}var _m,Rh=z(()=>{_t();Er();_m=""});var Za,$x=z(()=>{on();Rh();Er();sn();Za=(function(){function i(e,t,r,n,o,a,s){this.aiDataContract={ver:1,name:0,url:0,duration:0,properties:0,measurements:0,id:0};var c=this;c.ver=2,c.id=ph(e,s),c.url=Ja(e,r),c[dr]=Ct(e,t)||br,isNaN(n)||(c[wc]=uu(n)),c[$r]=ei(e,o),c[Zr]=ti(e,a)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Pageview",i.dataType="PageviewData",i})()});var es,Kx=z(()=>{Rh();LE();Er();sn();es=(function(){function i(e,t,r,n,o,a,s,c,l,u,m,f){l===void 0&&(l="Ajax"),this.aiDataContract={id:1,ver:1,name:0,resultCode:0,duration:0,success:0,data:0,target:0,type:0,properties:0,measurements:0,kind:0,value:0,count:0,min:0,max:0,stdDev:0,dependencyKind:0,dependencySource:0,commandName:0,dependencyTypeName:0};var g=this;g.ver=2,g.id=t,g[wc]=uu(o),g.success=a,g.resultCode=s+"",g.type=Ct(e,l);var p=px(e,r,c,n);g.data=Ja(e,n)||p.data,g.target=Ct(e,p.target),u&&(g.target="".concat(g.target," | ").concat(u)),g[dr]=Ct(e,p[dr]),g[$r]=ei(e,m),g[Zr]=ti(e,f)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.RemoteDependency",i.dataType="RemoteDependencyData",i})()});var ts,jx=z(()=>{on();Er();sn();ts=(function(){function i(e,t,r,n,o){this.aiDataContract={ver:1,message:1,severityLevel:0,properties:0};var a=this;a.ver=2,t=t||br,a[Nn]=au(e,t),a[$r]=ei(e,n),a[Zr]=ti(e,o),r&&(a[bc]=r)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Message",i.dataType="MessageData",i})()});var rs,Vx=z(()=>{on();Er();sn();rs=(function(){function i(e,t,r,n,o,a,s){this.aiDataContract={ver:1,name:0,url:0,duration:0,perfTotal:0,networkConnect:0,sentRequest:0,receivedResponse:0,domProcessing:0,properties:0,measurements:0};var c=this;c.ver=2,c.url=Ja(e,r),c[dr]=Ct(e,t)||br,c[$r]=ei(e,o),c[Zr]=ti(e,a),s&&(c.domProcessing=s.domProcessing,c[wc]=s[wc],c.networkConnect=s.networkConnect,c.perfTotal=s.perfTotal,c[TE]=s[TE],c.sentRequest=s.sentRequest)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.PageviewPerformance",i.dataType="PageviewPerformanceData",i})()});var go,zx=z(()=>{go=(function(){function i(e,t){this.aiDataContract={baseType:1,baseData:1},this.baseType=e,this.baseData=t}return i})()});var Sh,Jx=z(()=>{_t();Sh=Vt({Verbose:0,Information:1,Warning:2,Error:3,Critical:4})});var qx,Qx=z(()=>{_t();Er();qx=(function(){function i(){}return i.getConfig=function(e,t,r,n){n===void 0&&(n=!1);var o;return r&&e[pm]&&e[pm][r]&&!q(e[pm][r][t])?o=e[pm][r][t]:o=e[t],q(o)?n:o},i})()});function ns(i){var e="ai."+i+".";return function(t){return e+t}}var bm,Cr,Ph,du,jE,is,xc,Em,mu,VE=z(()=>{_i();_t();bm=ns("application"),Cr=ns("device"),Ph=ns("location"),du=ns("operation"),jE=ns("session"),is=ns("user"),xc=ns("cloud"),Em=ns("internal"),mu=(function(i){vi(e,i);function e(){return i.call(this)||this}return e})(K_({applicationVersion:bm("ver"),applicationBuild:bm("build"),applicationTypeId:bm("typeId"),applicationId:bm("applicationId"),applicationLayer:bm("layer"),deviceId:Cr("id"),deviceIp:Cr("ip"),deviceLanguage:Cr("language"),deviceLocale:Cr("locale"),deviceModel:Cr("model"),deviceFriendlyName:Cr("friendlyName"),deviceNetwork:Cr("network"),deviceNetworkName:Cr("networkName"),deviceOEMName:Cr("oemName"),deviceOS:Cr("os"),deviceOSVersion:Cr("osVersion"),deviceRoleInstance:Cr("roleInstance"),deviceRoleName:Cr("roleName"),deviceScreenResolution:Cr("screenResolution"),deviceType:Cr("type"),deviceMachineName:Cr("machineName"),deviceVMName:Cr("vmName"),deviceBrowser:Cr("browser"),deviceBrowserVersion:Cr("browserVersion"),locationIp:Ph("ip"),locationCountry:Ph("country"),locationProvince:Ph("province"),locationCity:Ph("city"),operationId:du("id"),operationName:du("name"),operationParentId:du("parentId"),operationRootId:du("rootId"),operationSyntheticSource:du("syntheticSource"),operationCorrelationVector:du("correlationVector"),sessionId:jE("id"),sessionIsFirst:jE("isFirst"),sessionIsNew:jE("isNew"),userAccountAcquisitionDate:is("accountAcquisitionDate"),userAccountId:is("accountId"),userAgent:is("userAgent"),userId:is("id"),userStoreRegion:is("storeRegion"),userAuthUserId:is("authUserId"),userAnonymousUserAcquisitionDate:is("anonUserAcquisitionDate"),userAuthenticatedUserAcquisitionDate:is("authUserAcquisitionDate"),cloudName:xc("name"),cloudRole:xc("role"),cloudRoleVer:xc("roleVer"),cloudRoleInstance:xc("roleInstance"),cloudEnvironment:xc("environment"),cloudLocation:xc("location"),cloudDeploymentUnit:xc("deploymentUnit"),internalNodeName:Em("nodeName"),internalSdkVersion:Em("sdkVersion"),internalAgentVersion:Em("agentVersion"),internalSnippet:Em("snippet"),internalSdkSrc:Em("sdkSrc")}))});function zE(i,e,t,r,n,o){var a;t=Ct(r,t)||br,(q(i)||q(e)||q(t))&&$t("Input doesn't contain all required fields");var s="";i[ih]&&(s=i[ih],delete i[ih]);var c=(a={},a[dr]=t,a.time=Wi(new Date),a.iKey=s,a.ext=o||{},a.tags=[],a.data={},a.baseType=e,a.baseData=i,a);return q(n)||we(n,function(l,u){c.data[l]=u}),c}var Xx,Zx=z(()=>{_t();on();sn();Er();Xx=(function(){function i(){}return i.create=zE,i})()});var eT,rr,tT=z(()=>{VE();eT={UserExt:"user",DeviceExt:"device",TraceExt:"trace",WebExt:"web",AppExt:"app",OSExt:"os",SessionExt:"ses",SDKExt:"sdk"},rr=new mu});function rT(i){var e=null;if(Ne(Event))e=new Event(i);else{var t=Kt();t&&t.createEvent&&(e=t.createEvent("Event"),e.initEvent(i,!0,!0))}return e}var iT=z(()=>{_t()});function nT(i,e){qo(i,null,null,e)}function xh(i){var e=Kt(),t=yr(),r=!1,n=[],o=1;t&&!q(t.onLine)&&!t.onLine&&(o=2);var a=0,s=f(),c=Ki(Wr("OfflineListener"),i);try{if(u(sr())&&(r=!0),e){var l=e.body||e;l.ononline&&u(l)&&(r=!0)}}catch{r=!1}function u(R){var T=!1;return R&&(T=ro(R,"online",v,c),T&&ro(R,"offline",_,c)),T}function m(){return s}function f(){return!(a===2||o===2)}function g(){var R=f();s!==R&&(s=R,V(n,function(T){var L={isOnline:s,rState:o,uState:a};try{T(L)}catch{}}))}function p(R){a=R,g()}function v(){o=1,g()}function _(){o=2,g()}function P(){var R=sr();if(R&&r){if(nT(R,c),e){var T=e.body||e;Ve(T.ononline)||nT(T,c)}r=!1}}function w(R){return n[ta](R),{rm:function(){var T=n.indexOf(R);if(T>-1)return n.splice(T,1)}}}return{isOnline:m,isListening:function(){return r},unload:P,addListener:w,setOnlineState:p}}var oT=z(()=>{_t();Er()});var aT={};Pu(aT,{AnalyticsPluginIdentifier:()=>NO,BreezeChannelIdentifier:()=>JE,ConfigurationManager:()=>qx,ConnectionStringParser:()=>Px,ContextTagKeys:()=>mu,CtxTagKeys:()=>rr,DEFAULT_BREEZE_ENDPOINT:()=>Ka,DEFAULT_BREEZE_PATH:()=>An,Data:()=>go,DisabledPropertyName:()=>nx,DistributedTracingModes:()=>vx,Envelope:()=>wh,Event:()=>fo,EventPersistence:()=>_x,Exception:()=>Xa,Extensions:()=>eT,HttpMethod:()=>fm,Metric:()=>po,PageView:()=>Za,PageViewPerformance:()=>rs,ProcessLegacy:()=>iu,PropertiesPluginIdentifier:()=>AO,RemoteDependencyData:()=>es,RequestHeaders:()=>hc,SampleRate:()=>ru,SeverityLevel:()=>Sh,TelemetryItemCreator:()=>Xx,ThrottleMgr:()=>Rx,Trace:()=>ts,correlationIdCanIncludeCorrelationHeader:()=>mx,correlationIdGetCorrelationContext:()=>fx,correlationIdGetCorrelationContextValue:()=>ME,correlationIdGetPrefix:()=>dx,correlationIdSetPrefix:()=>ux,createDistributedTraceContextFromTrace:()=>yx,createDomEvent:()=>rT,createOfflineListener:()=>xh,createTelemetryItem:()=>zE,createTraceParent:()=>Fd,dataSanitizeException:()=>fh,dataSanitizeId:()=>ph,dataSanitizeInput:()=>gh,dataSanitizeKey:()=>IE,dataSanitizeKeyAndAddUniqueness:()=>mh,dataSanitizeMeasurements:()=>ti,dataSanitizeMessage:()=>au,dataSanitizeProperties:()=>ei,dataSanitizeString:()=>Ct,dataSanitizeUrl:()=>Ja,dateTimeUtilsDuration:()=>hx,dateTimeUtilsNow:()=>gx,dsPadNumber:()=>AE,findAllScripts:()=>Ab,findW3cTraceParent:()=>Ud,formatTraceParent:()=>Hd,getExtensionByName:()=>Yx,isBeaconApiSupported:()=>Pi,isCrossOriginError:()=>Wx,isInternalApplicationInsightsEndpoint:()=>vm,isSampledFlag:()=>Gd,isValidSpanId:()=>eo,isValidTraceId:()=>Zn,isValidTraceParent:()=>Fl,msToTimeSpan:()=>uu,parseConnectionString:()=>Sc,parseTraceParent:()=>tc,strNotSpecified:()=>br,stringToBoolOrDefault:()=>Ux,urlGetAbsoluteUrl:()=>sx,urlGetCompleteUrl:()=>lx,urlGetPathName:()=>cx,urlParseFullHost:()=>ym,urlParseHost:()=>NE,urlParseUrl:()=>Dc,utlCanUseLocalStorage:()=>cu,utlCanUseSessionStorage:()=>Rc,utlDisableStorage:()=>Ex,utlEnableStorage:()=>Cx,utlGetLocalStorage:()=>vh,utlGetSessionStorage:()=>bh,utlGetSessionStorageKeys:()=>Dx,utlRemoveSessionStorage:()=>Ch,utlRemoveStorage:()=>wx,utlSetLocalStorage:()=>_h,utlSetSessionStorage:()=>Eh,utlSetStoragePrefix:()=>yh});var AO,JE,NO,ra=z(()=>{LE();Sx();xx();RE();on();Tx();Ix();Bx();Hx();$x();Kx();jx();Vx();zx();Jx();Qx();VE();sn();Zx();tT();BE();Rh();_t();iT();HE();kE();oT();AO="AppInsightsPropertiesPlugin",JE="AppInsightsChannelPlugin",NO="ApplicationInsightsAnalytics"});var QE=at(Th=>{"use strict";Object.defineProperty(Th,"__esModule",{value:!0});Th.TelemetryUtil=void 0;var qE=class i{static applyReplacements(e,t){for(let r of Object.keys(e))for(let n of t)n.lookup.test(r)&&(n.replacementString!==void 0?e[r]=n.replacementString:delete e[r])}static shouldUseOneDataSystemSDK(e){return e.length===74&&e[32]==="-"&&e[41]==="-"&&e[46]==="-"&&e[51]==="-"&&e[56]==="-"&&e[69]==="-"}static getAdditionalCommonProperties(e){return{"common.os":e.platform,"common.nodeArch":e.architecture,"common.platformversion":(e.release||"").replace(/^(\d+)(\.\d+)?(\.\d+)?(.*)/,"$1$2$3"),"common.telemetryclientversion":"0.9.8"}}static getInstance(){return i._instance||(i._instance=new i),i._instance}};Th.TelemetryUtil=qE});var os,sT=z(()=>{os="duration"});var mr,Ih,Kr,ho,Tc,Je,as,ss,cn,cs,ia,fu,na,oa,Ah,ln,pu,Cm,ls,wm,gu,Ic,Dm,Nh,aa,us,hu,yu,jr,kh,vu,_u,bu,Oh,XE,Mh,Lh,ZE,Bh,eC,sa,tC,rC,iC,Rm,nC,oC,aC,Eu,ds,Fh,Sm,Gh,Hh,Uh,Yh,Cu,sC,Wh,cT,ms=z(()=>{mr="tags",Ih="deviceType",Kr="data",ho="name",Tc="traceID",Je="length",as="stringify",ss="measurements",cn="dataType",cs="envelopeType",ia="toString",fu="_get",na="enqueue",oa="count",Ah="eventsLimitInMem",ln="push",pu="item",Cm="emitLineDelimitedJson",ls="clear",wm="createNew",gu="markAsSent",Ic="clearSent",Dm="bufferOverride",Nh="BUFFER_KEY",aa="SENT_BUFFER_KEY",us="concat",hu="MAX_BUFFER_SIZE",yu="triggerSend",jr="diagLog",kh="initialize",vu="_sender",_u="endpointUrl",bu="instrumentationKey",Oh="customHeaders",XE="maxBatchSizeInBytes",Mh="onunloadDisableBeacon",Lh="isBeaconApiDisabled",ZE="alwaysUseXhrOverride",Bh="disableXhr",eC="enableSessionStorageBuffer",sa="_buffer",tC="onunloadDisableFetch",rC="disableSendBeaconSplit",iC="enableSendPromise",Rm="getSenderInst",nC="unloadTransports",oC="convertUndefined",aC="maxBatchInterval",Eu="serialize",ds="_onError",Fh="_onPartialSuccess",Sm="_onSuccess",Gh="itemsReceived",Hh="itemsAccepted",Uh="oriPayload",Yh="baseType",Cu="sampleRate",sC="eventsSendRequest",Wh="getSamplingScore",cT="getHashCodeScore"});function ir(i,e,t){return rn(i,e,t,hn)}function kO(i,e,t){var r=t[mr]=t[mr]||{},n=e.ext=e.ext||{},o=e[mr]=e[mr]||[],a=n.user;a&&(ir(r,rr.userAuthUserId,a.authId),ir(r,rr.userId,a.id||a.localId));var s=n.app;s&&ir(r,rr.sessionId,s.sesId);var c=n.device;c&&(ir(r,rr.deviceId,c.id||c.localId),ir(r,rr[Ih],c.deviceClass),ir(r,rr.deviceIp,c.ip),ir(r,rr.deviceModel,c.model),ir(r,rr[Ih],c[Ih]));var l=e.ext.web;if(l){ir(r,rr.deviceLanguage,l.browserLang),ir(r,rr.deviceBrowserVersion,l.browserVer),ir(r,rr.deviceBrowser,l.browser);var u=t[Kr]=t[Kr]||{},m=u[Bt]=u[Bt]||{},f=m[Nr]=m[Nr]||{};ir(f,"domain",l.domain),ir(f,"isManual",l.isManual?lT:null),ir(f,"screenRes",l.screenRes),ir(f,"userConsent",l.userConsent?lT:null)}var g=n.os;g&&(ir(r,rr.deviceOS,g[ho]),ir(r,rr.deviceOSVersion,g.osVer));var p=n.trace;p&&(ir(r,rr.operationParentId,p.parentID),ir(r,rr.operationName,Ct(i,p[ho])),ir(r,rr.operationId,p[Tc]));for(var v={},_=o[Je]-1;_>=0;_--){var P=o[_];we(P,function(R,T){v[R]=T}),o.splice(_,1)}we(o,function(R,T){v[R]=T});var w=Xi(Xi({},r),v);w[rr.internalSdkVersion]||(w[rr.internalSdkVersion]=Ct(i,"javascript:".concat(OO.Version),64)),t[mr]=Si(w)}function fs(i,e,t){q(i)||we(i,function(r,n){Fr(n)?t[r]=n:Me(n)?e[r]=n:qn()&&(e[r]=Yr()[as](n))})}function Ac(i,e){q(i)||we(i,function(t,r){i[t]=r||e})}function Nc(i,e,t,r){var n=new wh(i,r,e);ir(n,"sampleRate",t[ru]),(t[Bt]||{}).startTime&&(n.time=Wi(t[Bt].startTime)),n.iKey=t.iKey;var o=t.iKey.replace(/-/g,"");return n[ho]=n[ho].replace("{0}",o),kO(i,t,n),t[mr]=t[mr]||[],Si(n)}function kc(i,e){q(e[Bt])&&ne(i,1,46,"telemetryItem.baseData cannot be null.")}function uT(i,e,t){kc(i,e);var r=e[Bt][ss]||{},n=e[Bt][Nr]||{};fs(e[Kr],n,r),q(t)||Ac(n,t);var o=e[Bt];if(q(o))return si(i,"Invalid input for dependency data"),null;var a=o[Nr]&&o[Nr][fm]?o[Nr][fm]:"GET",s=new es(i,o.id,o.target,o[ho],o[os],o.success,o.responseCode,a,o.type,o.correlationContext,n,r),c=new go(es[cn],s);return Nc(i,es[cs],e,c)}function lC(i,e,t){kc(i,e);var r={},n={};e[cC]!==fo[cn]&&(r.baseTypeSource=e[cC]),e[cC]===fo[cn]?(r=e[Bt][Nr]||{},n=e[Bt][ss]||{}):e[Bt]&&fs(e[Bt],r,n),fs(e[Kr],r,n),q(t)||Ac(r,t);var o=e[Bt][ho],a=new fo(i,o,r,n),s=new go(fo[cn],a);return Nc(i,fo[cs],e,s)}function dT(i,e,t){kc(i,e);var r=e[Bt][ss]||{},n=e[Bt][Nr]||{};fs(e[Kr],n,r),q(t)||Ac(n,t);var o=e[Bt],a=Xa.CreateFromInterface(i,o,n,r),s=new go(Xa[cn],a);return Nc(i,Xa[cs],e,s)}function mT(i,e,t){kc(i,e);var r=e[Bt],n=r[Nr]||{},o=r[ss]||{};fs(e[Kr],n,o),q(t)||Ac(n,t);var a=new po(i,r[ho],r.average,r.sampleCount,r.min,r.max,r.stdDev,n,o),s=new go(po[cn],a);return Nc(i,po[cs],e,s)}function fT(i,e,t){kc(i,e);var r,n=e[Bt];!q(n)&&!q(n[Nr])&&!q(n[Nr][os])?(r=n[Nr][os],delete n[Nr][os]):!q(e[Kr])&&!q(e[Kr][os])&&(r=e[Kr][os],delete e[Kr][os]);var o=e[Bt],a;((e.ext||{}).trace||{})[Tc]&&(a=e.ext.trace[Tc]);var s=o.id||a,c=o[ho],l=o.uri,u=o[Nr]||{},m=o[ss]||{};if(q(o.refUri)||(u.refUri=o.refUri),q(o.pageType)||(u.pageType=o.pageType),q(o.isLoggedIn)||(u.isLoggedIn=o.isLoggedIn[ia]()),!q(o[Nr])){var f=o[Nr];we(f,function(v,_){u[v]=_})}fs(e[Kr],u,m),q(t)||Ac(u,t);var g=new Za(i,c,l,r,u,m,s),p=new go(Za[cn],g);return Nc(i,Za[cs],e,p)}function pT(i,e,t){kc(i,e);var r=e[Bt],n=r[ho],o=r.uri||r.url,a=r[Nr]||{},s=r[ss]||{};fs(e[Kr],a,s),q(t)||Ac(a,t);var c=new rs(i,n,o,void 0,a,s,r),l=new go(rs[cn],c);return Nc(i,rs[cs],e,l)}function gT(i,e,t){kc(i,e);var r=e[Bt].message,n=e[Bt].severityLevel,o=e[Bt][Nr]||{},a=e[Bt][ss]||{};fs(e[Kr],o,a),q(t)||Ac(o,t);var s=new ts(i,r,n,o,a),c=new go(ts[cn],s);return Nc(i,ts[cs],e,c)}var cC,Bt,Nr,lT,OO,hT=z(()=>{_i();ra();_t();sT();ms();cC="baseType",Bt="baseData",Nr="properties",lT="true";OO={Version:"3.3.4"}});var yT,$h,MO,uC,vT=z(()=>{_i();Tr();ra();_t();ms();yT=(function(){function i(e,t){var r=[],n=!1,o=t.maxRetryCnt;this[fu]=function(){return r},this._set=function(a){return r=a,r},rt(i,this,function(a){a[na]=function(s){if(a[oa]()>=t[Ah]){n||(ne(e,2,105,"Maximum in-memory buffer size reached: "+a[oa](),!0),n=!0);return}s.cnt=s.cnt||0,!(!q(o)&&s.cnt>o)&&r[ln](s)},a[oa]=function(){return r[Je]},a.size=function(){for(var s=r[Je],c=0;c<r[Je];c++)s+=r[c].item[Je];return t[Cm]||(s+=2),s},a[ls]=function(){r=[],n=!1},a.getItems=function(){return r.slice(0)},a.batchPayloads=function(s){if(s&&s[Je]>0){var c=[];V(s,function(u){c[ln](u[pu])});var l=t[Cm]?c.join(`
`):"["+c.join(",")+"]";return l}return null},a[wm]=function(s,c,l){var u=r.slice(0);s=s||e,c=c||{};var m=l?new uC(s,c):new $h(s,c);return V(u,function(f){m[na](f)}),m}})}return i.__ieDyn=1,i})(),$h=(function(i){vi(e,i);function e(t,r){var n=i.call(this,t,r)||this;return rt(e,n,function(o,a){o[gu]=function(s){a[ls]()},o[Ic]=function(s){}}),n}return e.__ieDyn=1,e})(yT),MO=["AI_buffer","AI_sentBuffer"],uC=(function(i){vi(e,i);function e(r,n){var o=i.call(this,r,n)||this,a=!1,s=n?.namePrefix,c=n[Dm]||{getItem:bh,setItem:Eh},l=c.getItem,u=c.setItem,m=n.maxRetryCnt;return rt(e,o,function(f,g){var p=T(e[Nh]),v=T(e[aa]),_=$(),P=v[us](_),w=f._set(p[us](P));w[Je]>e[hu]&&(w[Je]=e[hu]),W(e[aa],[]),W(e[Nh],w),f[na]=function(Y){if(f[oa]()>=e[hu]){a||(ne(r,2,67,"Maximum buffer size reached: "+f[oa](),!0),a=!0);return}Y.cnt=Y.cnt||0,!(!q(m)&&Y.cnt>m)&&(g[na](Y),W(e.BUFFER_KEY,f[fu]()))},f[ls]=function(){g[ls](),W(e.BUFFER_KEY,f[fu]()),W(e[aa],[]),a=!1},f[gu]=function(Y){W(e[Nh],f._set(R(Y,f[fu]())));var H=T(e[aa]);H instanceof Array&&Y instanceof Array&&(H=H[us](Y),H[Je]>e[hu]&&(ne(r,1,67,"Sent buffer reached its maximum size: "+H[Je],!0),H[Je]=e[hu]),W(e[aa],H))},f[Ic]=function(Y){var H=T(e[aa]);H=R(Y,H),W(e[aa],H)},f[wm]=function(Y,H,I){I=!!I;var ee=f[fu]().slice(0),ce=T(e[aa]).slice(0);Y=Y||r,H=H||{},f[ls]();var x=I?new e(Y,H):new $h(Y,H);return V(ee,function(y){x[na](y)}),I&&x[gu](ce),x};function R(Y,H){var I=[],ee=[];return V(Y,function(ce){ee[ln](ce[pu])}),V(H,function(ce){!Ne(ce)&&ft(ee,ce[pu])===-1&&I[ln](ce)}),I}function T(Y){var H=Y;return H=s?s+"_"+H:H,L(H)}function L(Y){try{var H=l(r,Y);if(H){var I=Yr().parse(H);if(Me(I)&&(I=Yr().parse(I)),I&&Ee(I))return I}}catch(ee){ne(r,1,42," storage key: "+Y+", "+Pt(ee),{exception:ge(ee)})}return[]}function W(Y,H){var I=Y;try{I=s?s+"_"+I:I;var ee=JSON[as](H);u(r,I,ee)}catch(ce){u(r,I,JSON[as]([])),ne(r,2,41," storage key: "+I+", "+Pt(ce)+". Buffer cleared",{exception:ge(ce)})}}function $(){var Y=[];try{return V(MO,function(H){var I=G(H);if(Y=Y[us](I),s){var ee=s+"_"+H,ce=G(ee);Y=Y[us](ce)}}),Y}catch(H){ne(r,2,41,"Transfer events from previous buffers: "+Pt(H)+". previous Buffer items can not be removed",{exception:ge(H)})}return[]}function G(Y){try{var H=L(Y),I=[];return V(H,function(ee){var ce={item:ee,cnt:0};I[ln](ce)}),Ch(r,Y),I}catch{}return[]}}),o}var t;return t=e,e.VERSION="_1",e.BUFFER_KEY="AI_buffer"+t.VERSION,e.SENT_BUFFER_KEY="AI_sentBuffer"+t.VERSION,e.MAX_BUFFER_SIZE=2e3,e})(yT)});var _T,bT=z(()=>{Tr();_t();ms();_T=(function(){function i(e){rt(i,this,function(t){t[Eu]=function(a){var s=r(a,"root");try{return Yr()[as](s)}catch(c){ne(e,1,48,c&&Ne(c[ia])?c[ia]():"Error serializing object",null,!0)}};function r(a,s){var c="__aiCircularRefCheck",l={};if(!a)return ne(e,1,48,"cannot serialize object because it is null or undefined",{name:s},!0),l;if(a[c])return ne(e,2,50,"Circular reference detected while serializing object",{name:s},!0),l;if(!a.aiDataContract){if(s==="measurements")l=o(a,"number",s);else if(s==="properties")l=o(a,"string",s);else if(s==="tags")l=o(a,"string",s);else if(Ee(a))l=n(a,s);else{ne(e,2,49,"Attempting to serialize an object which does not implement ISerializable",{name:s},!0);try{Yr()[as](a),l=a}catch(u){ne(e,1,48,u&&Ne(u[ia])?u[ia]():"Error serializing object",null,!0)}}return l}return a[c]=!0,we(a.aiDataContract,function(u,m){var f=Ne(m)?m()&1:m&1,g=Ne(m)?m()&4:m&4,p=m&2,v=a[u]!==void 0,_=Ft(a[u])&&a[u]!==null;if(f&&!v&&!p)ne(e,1,24,"Missing required field specification. The field is required but not present on source",{field:u,name:s});else if(!g){var P=void 0;_?p?P=n(a[u],u):P=r(a[u],u):P=a[u],P!==void 0&&(l[u]=P)}}),delete a[c],l}function n(a,s){var c;if(a)if(!Ee(a))ne(e,1,54,`This field was specified as an array in the contract but the item is not an array.\r
`,{name:s},!0);else{c=[];for(var l=0;l<a[Je];l++){var u=a[l],m=r(u,s+"["+l+"]");c[ln](m)}}return c}function o(a,s,c){var l;return a&&(l={},we(a,function(u,m){if(s==="string")m===void 0?l[u]="undefined":m===null?l[u]="null":m[ia]?l[u]=m[ia]():l[u]="invalid field: toString() is not defined.";else if(s==="number")if(m===void 0)l[u]="undefined";else if(m===null)l[u]="null";else{var f=parseFloat(m);l[u]=f}else l[u]="invalid field: "+c+" is of unknown type.",ne(e,1,l[u],null,!0)})),l}})}return i.__ieDyn=1,i})()});var LO,ET,CT=z(()=>{ms();LO=8,ET=(function(){function i(){}return i.prototype.getHashCodeScore=function(e){var t=this.getHashCode(e)/i.INT_MAX_VALUE;return t*100},i.prototype.getHashCode=function(e){if(e==="")return 0;for(;e[Je]<LO;)e=e[us](e);for(var t=5381,r=0;r<e[Je];++r)t=(t<<5)+t+e.charCodeAt(r),t=t&t;return Math.abs(t)},i.INT_MAX_VALUE=2147483647,i})()});var wT,DT=z(()=>{ra();ms();CT();wT=(function(){function i(){var e=this,t=new ET,r=new mu;e[Wh]=function(n){var o=0;return n[mr]&&n[mr][r.userId]?o=t.getHashCodeScore(n[mr][r.userId]):n.ext&&n.ext.user&&n.ext.user.id?o=t[cT](n.ext.user.id):n[mr]&&n[mr][r.operationId]?o=t.getHashCodeScore(n[mr][r.operationId]):n.ext&&n.ext.telemetryTrace&&n.ext.telemetryTrace[Tc]?o=t.getHashCodeScore(n.ext.telemetryTrace[Tc]):o=Math.random()*100,o}}return i})()});var RT,ST=z(()=>{ra();_t();ms();DT();RT=(function(){function i(e,t){this.INT_MAX_VALUE=2147483647;var r=t||Pn(null);(e>100||e<0)&&(r.throwInternal(2,58,"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.",{samplingRate:e},!0),e=100),this[Cu]=e,this.samplingScoreGenerator=new wT}return i.prototype.isSampledIn=function(e){var t=this[Cu],r=!1;return t==null||t>=100||e.baseType===po[cn]?!0:(r=this.samplingScoreGenerator[Wh](e)<t,r)},i})()});function xT(i){try{return i.responseText}catch{}return null}function FO(i){return i&&i.sendPOST}function GO(i){return!isNaN(i)&&i>0&&i<=100}var It,ca,yo,PT,BO,TT,HO,Pm,IT=z(()=>{_i();Tr();ra();_t();Le();hT();vT();bT();ST();ms();yo=void 0,PT="",BO=65e3;TT=vn((It={endpointUrl:Ol(hn,Ka+An)},It[Cm]=nn(),It[aC]=15e3,It[XE]=102400,It.disableTelemetry=nn(),It[eC]=nn(!0),It.isRetryDisabled=nn(),It[Lh]=nn(!0),It[rC]=nn(!0),It[Bh]=nn(),It[tC]=nn(),It[Mh]=nn(),It[bu]=yo,It.namePrefix=yo,It.samplingPercentage=Ol(GO,100),It[Oh]=yo,It[oC]=yo,It[Ah]=1e4,It[Dm]=!1,It.httpXHROverride={isVal:FO,v:yo},It[ZE]=nn(),It.transports=yo,It.retryCodes=yo,It.maxRetryCnt={isVal:Fr,v:10},It));HO=(ca={},ca[fo.dataType]=lC,ca[ts.dataType]=gT,ca[Za.dataType]=fT,ca[rs.dataType]=pT,ca[Xa.dataType]=dT,ca[po.dataType]=mT,ca[es.dataType]=uT,ca),Pm=(function(i){vi(e,i);function e(){var t=i.call(this)||this;t.priority=1001,t.identifier=JE;var r,n,o,a,s,c,l,u,m=0,f,g,p,v,_,P,w,R,T,L,W,$,G,Y,H,I,ee,ce,x,y,S,Z,k,le,te,Ce,se;return rt(e,t,function(U,Ze){ve(),U.pause=function(){J(),a=!0},U.resume=function(){a&&(a=!1,n=null,it(),O())},U.flush=function(h,E,M){if(h===void 0&&(h=!0),!a){J();try{return U[yu](h,null,M||1)}catch(B){ne(U[jr](),1,22,"flush failed, telemetry will not be collected: "+Pt(B),{exception:ge(B)})}}},U.onunloadFlush=function(){if(!a)if(w||y)try{return U[yu](!0,Ht,2)}catch(h){ne(U[jr](),1,20,"failed to flush with beacon sender on page unload, telemetry will not be collected: "+Pt(h),{exception:ge(h)})}else U.flush(!1)},U.addHeader=function(h,E){u[h]=E},U[kh]=function(h,E,M,B){U.isInitialized()&&ne(U[jr](),1,28,"Sender is already initialized"),Ze[kh](h,E,M,B);var j=U.identifier;c=new _T(E.logger),r=0,n=null,o=0,U[vu]=null,l=0;var Q=U[jr]();p=Ki(Wr("Sender"),E.evtNamespace&&E.evtNamespace()),g=xh(p),U._addHook(lr(h,function(me){var Oe=me.cfg;Oe.storagePrefix&&yh(Oe.storagePrefix);var nt=ci(null,Oe,E),Te=nt.getExtCfg(j,TT),li=Te[_u];if(v&&li===v){var Eo=Oe[_u];Eo&&Eo!==li&&(Te[_u]=Eo)}oi(Te[bu])&&(Te[bu]=Oe[bu]),vt(U,"_senderConfig",{g:function(){return Te}}),_!==Te[_u]&&(v=_=Te[_u]),E.activeStatus()===Fi.PENDING?U.pause():E.activeStatus()===Fi.ACTIVE&&U.resume(),L&&L!==Te[Oh]&&V(L,function(Or){delete u[Or.header]}),P=Te[XE],w=(Te[Mh]===!1||Te[Lh]===!1)&&Pi(),R=Te[Mh]===!1&&Pi(),T=Te[Lh]===!1&&Pi(),y=Te[ZE],S=!!Te[Bh],se=Te.retryCodes;var ui=Te[Dm],kn=!!Te[eC]&&(!!ui||Rc()),Am=Te.namePrefix,u0=kn!==I||kn&&ce!==Am||kn&&ee!==ui;if(U[sa]){if(u0)try{U._buffer=U._buffer[wm](Q,Te,kn)}catch(Or){ne(U[jr](),1,12,"failed to transfer telemetry to different buffer storage, telemetry will be lost: "+Pt(Or),{exception:ge(Or)})}it()}else U[sa]=kn?new uC(Q,Te):new $h(Q,Te);ce=Am,I=kn,ee=ui,Z=!Te[tC]&&Yo(!0),te=!!Te[rC],U._sample=new RT(Te.samplingPercentage,Q),$=Te[bu],!oi($)&&!qe($,Oe)&&ne(Q,1,100,"Invalid Instrumentation key "+$),L=Te[Oh],Me(v)&&!vm(v)&&L&&L[Je]>0?V(L,function(Or){t.addHeader(Or.header,Or.value)}):L=null,x=Te[iC];var xC=xe();Ce?Ce.SetConfig(xC):(Ce=new nc,Ce[kh](xC,Q));var Nm=Te.httpXHROverride,km=null,Ru=null,d0=Ho([3,1,2],Te.transports);km=Ce&&Ce[Rm](d0,!1);var sy=Ce&&Ce.getFallbackInst();k=function(Or,gs){return pe(sy,Or,gs)},le=function(Or,gs){return pe(sy,Or,gs,!1)},km=y?Nm:km||Nm||sy,U[vu]=function(Or,gs){return pe(km,Or,gs)},Z&&(f=Ji);var cy=Ho([3,1],Te[nC]);Z||(cy=cy.filter(function(Or){return Or!==2})),Ru=Ce&&Ce[Rm](cy,!0),Ru=y?Nm:Ru||Nm,(y||Te[nC]||!f)&&Ru&&(f=function(Or,gs){return pe(Ru,Or,gs)}),f||(f=k),W=Te.disableTelemetry,G=Te[oC]||yo,Y=Te.isRetryDisabled,H=Te[aC]}))},U.processTelemetry=function(h,E){var M;E=U._getTelCtx(E);var B=E[jr]();try{var j=he(h,B);if(!j)return;var Q=Se(h,B);if(!Q)return;var me=c[Eu](Q),Oe=U[sa];it(me);var nt=(M={},M[pu]=me,M.cnt=0,M);Oe[na](nt),O()}catch(Te){ne(B,2,12,"Failed adding telemetry to the sender's buffer, some telemetry will be lost: "+Pt(Te),{exception:ge(Te)})}U.processNext(h,E)},U.isCompletelyIdle=function(){return!a&&m===0&&U._buffer[oa]()===0},U.getOfflineListener=function(){return g},U._xhrReadyStateChange=function(h,E,M){if(!zr(E))return wt(h,E,M)},U[yu]=function(h,E,M){h===void 0&&(h=!0);var B;if(!a)try{var j=U[sa];if(W)j[ls]();else{if(j[oa]()>0){var Q=j.getItems();Ae(M||0,h),E?B=E.call(U,Q,h):B=U[vu](Q,h)}o=+new Date}J()}catch(Oe){var me=Ed();(!me||me>9)&&ne(U[jr](),1,40,"Telemetry transmission failed, some telemetry will be lost: "+Pt(Oe),{exception:ge(Oe)})}return B},U.getOfflineSupport=function(){var h;return h={getUrl:function(){return v},createPayload:F},h[Eu]=tt,h.batch=He,h.shouldProcess=function(E){return!!he(E)},h},U._doTeardown=function(h,E){U.onunloadFlush(),$o(g,!1),ve()},U[ds]=function(h,E,M){if(!zr(h))return ri(h,E,M)},U[Fh]=function(h,E){if(!zr(h))return ae(h,E)},U[Sm]=function(h,E){if(!zr(h))return Ye(h,E)},U._xdrOnLoad=function(h,E){if(!zr(E))return ct(h,E)};function ct(h,E){var M=xT(h);if(h&&(M+""=="200"||M===""))r=0,U[Sm](E,0);else{var B=ic(M);B&&B[Gh]&&B[Gh]>B[Hh]&&!Y?U[Fh](E,B):U[ds](E,Js(h))}}function xe(){var h;try{var E={xdrOnComplete:function(B,j,Q){var me=re(Q);if(me)return ct(B,me)},fetchOnComplete:function(B,j,Q,me){var Oe=re(me);if(Oe)return ht(B.status,Oe,B.url,Oe[Je],B.statusText,Q||"")},xhrOnComplete:function(B,j,Q){var me=re(Q);if(me)return wt(B,me,me[Je])},beaconOnRetry:function(B,j,Q){return Vr(B,j,Q)}},M=(h={},h[iC]=x,h.isOneDs=!1,h.disableCredentials=!1,h[Bh]=S,h.disableBeacon=!T,h.disableBeaconSync=!R,h.senderOnCompleteCallBack=E,h);return M}catch{}return null}function wt(h,E,M){h.readyState===4&&ht(h.status,E,h.responseURL,M,Go(h),xT(h)||h.response)}function ri(h,E,M){ne(U[jr](),2,26,"Failed to send telemetry.",{message:E}),U._buffer&&U._buffer[Ic](h)}function ae(h,E){for(var M=[],B=[],j=E.errors.reverse(),Q=0,me=j;Q<me.length;Q++){var Oe=me[Q],nt=h.splice(Oe.index,1)[0];ie(Oe.statusCode)?B[ln](nt):M[ln](nt)}h[Je]>0&&U[Sm](h,E[Hh]),M[Je]>0&&U[ds](M,Go(null,["partial success",E[Hh],"of",E.itemsReceived].join(" "))),B[Je]>0&&(wr(B),ne(U[jr](),2,40,"Partial success. Delivered: "+h[Je]+", Failed: "+M[Je]+". Will retry to send "+B[Je]+" our of "+E[Gh]+" items"))}function Ye(h,E){U._buffer&&U._buffer[Ic](h)}function re(h){try{if(h){var E=h,M=E[Uh];return M&&M[Je]?M:null}}catch{}return null}function he(h,E){if(W)return!1;if(!h)return E&&ne(E,1,7,"Cannot send empty telemetry"),!1;if(h.baseData&&!h[Yh])return E&&ne(E,1,70,"Cannot send telemetry without baseData and baseType"),!1;if(h[Yh]||(h[Yh]="EventData"),!U[vu])return E&&ne(E,1,28,"Sender was not initialized"),!1;if(ue(h))h[ru]=U._sample[Cu];else return E&&ne(E,2,33,"Telemetry item was sampled out and not sent",{SampleRate:U._sample[Cu]}),!1;return!0}function Se(h,E){var M=h.iKey||$,B=e.constructEnvelope(h,M,E,G);if(!B){ne(E,1,47,"Unable to create an AppInsights envelope");return}var j=!1;if(h[mr]&&h[mr][iu]&&(V(h[mr][iu],function(Q){try{Q&&Q(B)===!1&&(j=!0,si(E,"Telemetry processor check returns false"))}catch(me){ne(E,1,64,"One of telemetry initializers failed, telemetry item will not be sent: "+Pt(me),{exception:ge(me)},!0)}}),delete h[mr][iu]),!j)return B}function tt(h){var E=PT,M=U[jr]();try{var B=he(h,M),j=null;B&&(j=Se(h,M)),j&&(E=c[Eu](j))}catch{}return E}function He(h){var E=PT;return h&&h[Je]&&(E="["+h.join(",")+"]"),E}function F(h){var E,M=lt();return E={urlString:v},E[Kr]=h,E.headers=M,E}function ue(h){return U._sample.isSampledIn(h)}function De(h,E,M,B){E===200&&h?U._onSuccess(h,h[Je]):B&&U[ds](h,B)}function pe(h,E,M,B){B===void 0&&(B=!0);var j=function(Oe,nt,Te){return De(E,Oe,nt,Te)},Q=Re(E),me=h&&h.sendPOST;return me&&Q?(B&&U._buffer[gu](E),me(Q,j,!M)):null}function Re(h){var E;if(Ee(h)&&h[Je]>0){var M=U[sa].batchPayloads(h),B=lt(),j=(E={},E[Kr]=M,E.urlString=v,E.headers=B,E.disableXhrSync=S,E.disableFetchKeepAlive=!Z,E[Uh]=h,E);return j}return null}function lt(){try{var h=u||{};return vm(v)&&(h[hc[6]]=hc[7]),h}catch{}return null}function it(h){var E=h?h[Je]:0;return U[sa].size()+E>P?((!g||g.isOnline())&&U[yu](!0,null,10),!0):!1}function ht(h,E,M,B,j,Q){var me=null;if(U._appId||(me=ic(Q),me&&me.appId&&(U._appId=me.appId)),(h<200||h>=300)&&h!==0){if((h===301||h===307||h===308)&&!At(M)){U[ds](E,j);return}if(g&&!g.isOnline()){if(!Y){var Oe=10;wr(E,Oe),ne(U[jr](),2,40,". Offline - Response Code: ".concat(h,". Offline status: ").concat(!g.isOnline(),". Will retry to send ").concat(E.length," items."))}return}!Y&&ie(h)?(wr(E),ne(U[jr](),2,40,". Response code "+h+". Will retry to send "+E[Je]+" items.")):U[ds](E,j)}else At(M),h===206?(me||(me=ic(Q)),me&&!Y?U[Fh](E,me):U[ds](E,j)):(r=0,U[Sm](E,B))}function At(h){return l>=10?!1:!q(h)&&h!==""&&h!==v?(v=h,++l,!0):!1}function Ht(h,E){if(f)f(h,!1);else{var M=Ce&&Ce[Rm]([3],!0);return pe(M,h,E)}}function Vr(h,E,M){var B=h,j=B&&B[Uh];if(te)le&&le(j,!0),ne(U[jr](),2,40,". Failed to send telemetry with Beacon API, retried with normal sender.");else{for(var Q=[],me=0;me<j[Je];me++){var Oe=j[me],nt=[Oe],Te=Re(nt);M(Te,E)?U._onSuccess(nt,nt[Je]):Q[ln](Oe)}Q[Je]>0&&(le&&le(Q,!0),ne(U[jr](),2,40,". Failed to send telemetry with Beacon API, retried with normal sender."))}}function zr(h){try{if(h&&h[Je])return Me(h[0])}catch{}return null}function Ji(h,E){var M=null;if(Ee(h)){for(var B=h[Je],j=0;j<h[Je];j++)B+=h[j].item[Je];var Q=Ce.getSyncFetchPayload();Q+B<=BO?M=2:Pi()?M=3:(M=1,ne(U[jr](),2,40,". Failed to send telemetry with Beacon API, retried with xhrSender."));var me=Ce&&Ce[Rm]([M],!0);return pe(me,h,E)}return null}function wr(h,E){if(E===void 0&&(E=1),!(!h||h[Je]===0)){var M=U[sa];M[Ic](h),r++;for(var B=0,j=h;B<j.length;B++){var Q=j[B];Q.cnt=Q.cnt||0,Q.cnt++,M[na](Q)}bo(E),O()}}function bo(h){var E=10,M;if(r<=1)M=E;else{var B=(Math.pow(2,r)-1)/2,j=Math.floor(Math.random()*B*E)+1;j=h*j,M=Math.max(Math.min(j,3600),E)}var Q=jt()+M*1e3;n=Q}function O(){if(!s&&!a){var h=n?Math.max(0,n-jt()):0,E=Math.max(H,h);s=Bi(function(){s=null,U[yu](!0,null,1)},E)}}function J(){s&&s.cancel(),s=null,n=null}function ie(h){return q(se)?h===401||h===408||h===429||h===500||h===502||h===503||h===504:se[Je]&&se.indexOf(h)>-1}function ye(){var h="getNotifyMgr";return U.core[h]?U.core[h]():U.core._notificationManager}function Ae(h,E){var M=ye();if(M&&M[sC])try{M[sC](h,E)}catch(B){ne(U[jr](),1,74,"send request notification failed: "+Pt(B),{exception:ge(B)})}}function qe(h,E){var M=E.disableInstrumentationKeyValidation,B=q(M)?!1:M;if(B)return!0;var j="^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",Q=new RegExp(j);return Q.test(h)}function ve(){U[vu]=null,U[sa]=null,U._appId=null,U._sample=null,u={},g=null,r=0,n=null,o=null,a=!1,s=null,c=null,l=0,m=0,f=null,p=null,v=null,_=null,P=0,w=!1,L=null,W=!1,$=null,G=yo,Y=!1,I=null,ce=yo,S=!1,Z=!1,te=!1,k=null,le=null,Ce=null,vt(U,"_senderConfig",{g:function(){return Lp({},TT)}})}}),t}return e.constructEnvelope=function(t,r,n,o){var a;r!==t.iKey&&!q(r)?a=Xi(Xi({},t),{iKey:r}):a=t;var s=HO[a.baseType]||lC;return s(n,a,o)},e})(zo)});var dC=z(()=>{IT()});var Oc,xm,mC,Mc,fC,wu,AT=z(()=>{Oc="instrumentationKey",xm="connectionString",mC="instrumentationkey",Mc="endpointUrl",fC="ingestionendpoint",wu="userOverrideEndpointUrl"});var NT={};Pu(NT,{AppInsightsCore:()=>Jo,ApplicationInsights:()=>WO,Sender:()=>Pm,SeverityLevel:()=>Sh,arrForEach:()=>V,isNullOrUndefined:()=>q,proxyFunctions:()=>$i,throwError:()=>$t});function YO(i){return i&&i>0}var Du,pC,UO,WO,kT=z(()=>{Tr();dC();ra();_t();Ks();Le();AT();_t();ra();dC();pC=void 0,UO=(Du={diagnosticLogInterval:Ol(YO,1e4)},Du[xm]=pC,Du[Mc]=pC,Du[Oc]=pC,Du.extensionConfig={},Du);WO=(function(){function i(e){var t=new Jo,r;(q(e)||q(e[Oc])&&q(e[xm]))&&$t("Invalid input configuration"),rt(i,this,function(o){vt(o,"config",{g:function(){return r}}),a(),o.initialize=a,o.track=n,$i(o,t,["flush","pollInternalLogs","stopPollingInternalLogs","unload","getPlugin","addPlugin","evtNamespace","addUnloadCb","onCfgChange","getTraceCtx","updateCfg","addTelemetryInitializer"]);function a(){var s=Mt(e||{},UO);r=s.cfg,t.addUnloadHook(lr(s,function(){var c=r[xm];if(oi(c)){var l=gd(function(g,p){Ui(c,function(v){var _=v.value,P=r[Oc];if(!v.rejected&&_){r[xm]=_;var w=Sc(_);P=w[mC]||P}g(P)})}),u=gd(function(g,p){Ui(c,function(v){var _=v.value,P=r[Mc];if(!v.rejected&&_){var w=Sc(_),R=w[fC];P=R?R+An:P}g(P)})});r[Oc]=l,r[Mc]=r[wu]||u}if(Me(c)){var m=Sc(c),f=m[fC];r[Mc]=r[wu]?r[wu]:f+An,r[Oc]=m[mC]||r[Oc]}r[Mc]=r[wu]?r[wu]:r[Mc]})),t.initialize(r,[new Pm])}});function n(o){o&&(o.baseData=o.baseData||{},o.baseType=o.baseType||"EventData"),t.track(o)}}return i.__ieDyn=1,i})()});var OT=at(vo=>{"use strict";var $O=vo&&vo.__createBinding||(Object.create?(function(i,e,t,r){r===void 0&&(r=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,r,n)}):(function(i,e,t,r){r===void 0&&(r=t),i[r]=e[t]})),KO=vo&&vo.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),jO=vo&&vo.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&$O(e,i,t);return KO(e,i),e};Object.defineProperty(vo,"__esModule",{value:!0});vo.appInsightsClientFactory=void 0;var VO=(ra(),xu(aT)),zO=QE(),JO=async(i,e,t,r,n)=>{let o;try{let s=await Promise.resolve().then(()=>jO((kT(),xu(NT)))),c={};if(r){let m={alwaysUseXhrOverride:!0,httpXHROverride:r};c[VO.BreezeChannelIdentifier]=m}let l;i.startsWith("InstrumentationKey=")||(l=i);let u=l?{instrumentationKey:l}:{connectionString:i};o=new s.ApplicationInsights({...u,disableAjaxTracking:!0,disableExceptionTracking:!0,disableFetchTracking:!0,disableCorrelationHeaders:!0,disableCookiesUsage:!0,autoTrackPageVisitTime:!1,emitLineDelimitedJson:!1,disableInstrumentationKeyValidation:!0,extensionConfig:c})}catch(s){return Promise.reject(s)}return{logEvent:(s,c)=>{let l={...c?.properties,...c?.measurements};n?.length&&zO.TelemetryUtil.applyReplacements(l,n),o?.track({name:s,data:l,baseType:"EventData",ext:{user:{id:e,authId:e},app:{sesId:t}},baseData:{name:s,properties:c?.properties,measurements:c?.measurements}})},flush:async()=>{o?.flush(!1)},dispose:async()=>new Promise(c=>{o?.unload(!0,()=>{c(),o=void 0},1e3)})}};vo.appInsightsClientFactory=JO});var MT=at(Kh=>{"use strict";Object.defineProperty(Kh,"__esModule",{value:!0});Kh.BaseTelemetryReporter=void 0;var gC=class{constructor(e,t,r){this.telemetrySender=e,this.vscodeAPI=t,this.userOptIn=!1,this.errorOptIn=!1,this.disposables=[],this._onDidChangeTelemetryLevel=new this.vscodeAPI.EventEmitter,this.onDidChangeTelemetryLevel=this._onDidChangeTelemetryLevel.event,this.telemetryLogger=this.vscodeAPI.env.createTelemetryLogger(this.telemetrySender,r),this.updateUserOptIn(),this.telemetryLogger.onDidChangeEnableStates(()=>{this.updateUserOptIn()})}updateUserOptIn(){this.errorOptIn=this.telemetryLogger.isErrorsEnabled,this.userOptIn=this.telemetryLogger.isUsageEnabled,(this.telemetryLogger.isErrorsEnabled||this.telemetryLogger.isUsageEnabled)&&this.telemetrySender.instantiateSender(),this._onDidChangeTelemetryLevel.fire(this.telemetryLevel)}get telemetryLevel(){return this.errorOptIn&&this.userOptIn?"all":this.errorOptIn?"error":"off"}internalSendTelemetryEvent(e,t,r,n){n?this.telemetrySender.sendEventData(e,{properties:t,measurements:r}):this.telemetryLogger.logUsage(e,{properties:t,measurements:r})}sendTelemetryEvent(e,t,r){this.internalSendTelemetryEvent(e,t,r,!1)}sendRawTelemetryEvent(e,t,r){let n={...t};for(let o of Object.keys(n??{})){let a=n[o];typeof o=="string"&&a!==void 0&&(n[o]=new this.vscodeAPI.TelemetryTrustedValue(typeof a=="string"?a:a.value))}this.sendTelemetryEvent(e,n,r)}sendDangerousTelemetryEvent(e,t,r){this.telemetrySender.instantiateSender(),this.internalSendTelemetryEvent(e,t,r,!0)}internalSendTelemetryErrorEvent(e,t,r,n){n?this.telemetrySender.sendEventData(e,{properties:t,measurements:r}):this.telemetryLogger.logError(e,{properties:t,measurements:r})}sendTelemetryErrorEvent(e,t,r){this.internalSendTelemetryErrorEvent(e,t,r,!1)}sendDangerousTelemetryErrorEvent(e,t,r){this.telemetrySender.instantiateSender(),this.internalSendTelemetryErrorEvent(e,t,r,!0)}async dispose(){return await this.telemetrySender.dispose(),this.telemetryLogger.dispose(),Promise.all(this.disposables.map(e=>e.dispose()))}};Kh.BaseTelemetryReporter=gC});var LT=at(jh=>{"use strict";Object.defineProperty(jh,"__esModule",{value:!0});jh.BaseTelemetrySender=void 0;var la;(function(i){i[i.NOT_INSTANTIATED=0]="NOT_INSTANTIATED",i[i.INSTANTIATING=1]="INSTANTIATING",i[i.INSTANTIATED=2]="INSTANTIATED"})(la||(la={}));var hC=class{constructor(e,t){this._instantiationStatus=la.NOT_INSTANTIATED,this._eventQueue=[],this._exceptionQueue=[],this._clientFactory=t,this._key=e}sendEventData(e,t){if(!this._telemetryClient){this._instantiationStatus!==la.INSTANTIATED&&this._eventQueue.push({eventName:e,data:t});return}this._telemetryClient.logEvent(e,t)}sendErrorData(e,t){if(!this._telemetryClient){this._instantiationStatus!==la.INSTANTIATED&&this._exceptionQueue.push({exception:e,data:t});return}let r={stack:e.stack,message:e.message,name:e.name};if(t){let n=t.properties||t;t.properties={...n,...r}}else t={properties:r};this._telemetryClient.logEvent("unhandlederror",t)}async flush(){return this._telemetryClient?.flush()}async dispose(){this._telemetryClient&&(await this._telemetryClient.dispose(),this._telemetryClient=void 0)}_flushQueues(){this._eventQueue.forEach(({eventName:e,data:t})=>this.sendEventData(e,t)),this._eventQueue=[],this._exceptionQueue.forEach(({exception:e,data:t})=>this.sendErrorData(e,t)),this._exceptionQueue=[]}instantiateSender(){this._instantiationStatus===la.NOT_INSTANTIATED&&(this._instantiationStatus=la.INSTANTIATING,this._clientFactory(this._key).then(e=>{this._telemetryClient=e,this._instantiationStatus=la.INSTANTIATED,this._flushQueues()}).catch(e=>{console.error(e),this._instantiationStatus=la.INSTANTIATED}))}};jh.BaseTelemetrySender=hC});var GT=at(ua=>{"use strict";var qO=ua&&ua.__createBinding||(Object.create?(function(i,e,t,r){r===void 0&&(r=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,r,n)}):(function(i,e,t,r){r===void 0&&(r=t),i[r]=e[t]})),QO=ua&&ua.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),_C=ua&&ua.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&qO(e,i,t);return QO(e,i),e};Object.defineProperty(ua,"__esModule",{value:!0});var XO=_C(require("https")),yC=_C(require("os")),Vh=_C(require("vscode")),ZO=ix(),eM=OT(),tM=MT(),rM=LT(),BT=QE();function FT(){return{sendPOST:(e,t)=>{let r={method:"POST",headers:{...e.headers,"Content-Type":"application/json","Content-Length":Buffer.byteLength(e.data)}};try{let n=XO.request(e.urlString,r,o=>{o.on("data",function(a){t(o.statusCode??200,o.headers,a.toString())}),o.on("error",function(){t(0,{})})});n.write(e.data,o=>{o&&t(0,{})}),n.end()}catch{t(0,{})}}}}var vC=class extends tM.BaseTelemetryReporter{constructor(e,t){let r=a=>(0,eM.appInsightsClientFactory)(a,Vh.env.machineId,Vh.env.sessionId,FT(),t);BT.TelemetryUtil.shouldUseOneDataSystemSDK(e)&&(r=a=>(0,ZO.oneDataSystemClientFactory)(a,Vh,FT()));let n={release:yC.release(),platform:yC.platform(),architecture:yC.arch()},o=new rM.BaseTelemetrySender(e,r);if(e&&e.indexOf("AIF-")===0)throw new Error("AIF keys are no longer supported. Please switch to 1DS keys for 1st party extensions");super(o,Vh,{additionalCommonProperties:BT.TelemetryUtil.getAdditionalCommonProperties(n)})}};ua.default=vC});var i0=at((F3,mM)=>{mM.exports={name:"git",displayName:"%displayName%",description:"%description%",publisher:"vscode",license:"MIT",version:"10.0.0",engines:{vscode:"^1.5.0"},aiKey:"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255",enabledApiProposals:["agentSessionsWorkspace","canonicalUriProvider","contribEditSessions","contribEditorContentMenu","contribMergeEditorMenus","contribMultiDiffEditorMenus","contribDiffEditorGutterToolBarMenus","contribSourceControlArtifactGroupMenu","contribSourceControlArtifactMenu","contribSourceControlHistoryItemMenu","contribSourceControlHistoryTitleMenu","contribSourceControlInputBoxMenu","contribSourceControlTitleMenu","contribViewsWelcome","editSessionIdentityProvider","envIsConnectionMetered","findFiles2","quickDiffProvider","quickPickSortByLabel","scmActionButton","scmArtifactProvider","scmHistoryProvider","scmMultiDiffEditor","scmProviderOptions","scmSelectedProvider","scmTextDocument","scmValidation","statusBarItemTooltip","tabInputMultiDiff","tabInputTextMerge","textEditorDiffInformation","timeline","workspaceTrust"],categories:["Other"],activationEvents:["*","onEditSession:file","onFileSystem:git","onFileSystem:git-show"],extensionDependencies:["vscode.git-base"],main:"./out/main",icon:"resources/icons/git.png",scripts:{compile:"gulp compile-extension:git",watch:"gulp watch-extension:git","update-emoji":"node ./build/update-emoji.js",test:"node ../../node_modules/mocha/bin/mocha"},capabilities:{virtualWorkspaces:!0,untrustedWorkspaces:{supported:!1}},contributes:{commands:[{command:"git.continueInLocalClone",title:"%command.continueInLocalClone%",category:"Git",icon:"$(repo-clone)",enablement:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && remoteName"},{command:"git.clone",title:"%command.clone%",category:"Git",enablement:"!operationInProgress"},{command:"git.cloneRecursive",title:"%command.cloneRecursive%",category:"Git",enablement:"!operationInProgress"},{command:"git.init",title:"%command.init%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.openRepository",title:"%command.openRepository%",category:"Git",enablement:"!operationInProgress"},{command:"git.reopenClosedRepositories",title:"%command.reopenClosedRepositories%",icon:"$(repo)",category:"Git",enablement:"!operationInProgress && git.closedRepositoryCount != 0"},{command:"git.close",title:"%command.close%",category:"Git",enablement:"!operationInProgress"},{command:"git.closeOtherRepositories",title:"%command.closeOtherRepositories%",category:"Git",enablement:"!operationInProgress"},{command:"git.openWorktree",title:"%command.openWorktree%",category:"Git",enablement:"!operationInProgress"},{command:"git.openWorktreeInNewWindow",title:"%command.openWorktreeInNewWindow%",category:"Git",enablement:"!operationInProgress"},{command:"git.refresh",title:"%command.refresh%",category:"Git",icon:"$(refresh)",enablement:"!operationInProgress"},{command:"git.compareWithWorkspace",title:"%command.compareWithWorkspace%",category:"Git"},{command:"git.openChange",title:"%command.openChange%",category:"Git",icon:"$(compare-changes)"},{command:"git.openAllChanges",title:"%command.openAllChanges%",category:"Git"},{command:"git.openFile",title:"%command.openFile%",category:"Git",icon:"$(go-to-file)"},{command:"git.openFile2",title:"%command.openFile%",category:"Git",icon:"$(go-to-file)"},{command:"git.openHEADFile",title:"%command.openHEADFile%",category:"Git"},{command:"git.stage",title:"%command.stage%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageAll",title:"%command.stageAll%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageAllTracked",title:"%command.stageAllTracked%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageAllUntracked",title:"%command.stageAllUntracked%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageAllMerge",title:"%command.stageAllMerge%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageSelectedRanges",title:"%command.stageSelectedRanges%",category:"Git",enablement:"!operationInProgress"},{command:"git.diff.stageHunk",title:"%command.stageBlock%",category:"Git",icon:"$(plus)"},{command:"git.diff.stageSelection",title:"%command.stageSelection%",category:"Git",icon:"$(plus)"},{command:"git.revertSelectedRanges",title:"%command.revertSelectedRanges%",category:"Git",enablement:"!operationInProgress"},{command:"git.stageChange",title:"%command.stageChange%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageFile",title:"%command.stage%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.revertChange",title:"%command.revertChange%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.unstage",title:"%command.unstage%",category:"Git",icon:"$(remove)",enablement:"!operationInProgress"},{command:"git.unstageAll",title:"%command.unstageAll%",category:"Git",icon:"$(remove)",enablement:"!operationInProgress"},{command:"git.unstageSelectedRanges",title:"%command.unstageSelectedRanges%",category:"Git",enablement:"!operationInProgress"},{command:"git.unstageChange",title:"%command.unstageChange%",category:"Git",icon:"$(remove)",enablement:"!operationInProgress"},{command:"git.unstageFile",title:"%command.unstage%",category:"Git",icon:"$(remove)",enablement:"!operationInProgress"},{command:"git.clean",title:"%command.clean%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.cleanAll",title:"%command.cleanAll%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.cleanAllTracked",title:"%command.cleanAllTracked%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.cleanAllUntracked",title:"%command.cleanAllUntracked%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.rename",title:"%command.rename%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.delete",title:"%command.delete%",category:"Git",icon:"$(trash)",enablement:"!operationInProgress"},{command:"git.commit",title:"%command.commit%",category:"Git",icon:"$(check)",enablement:"!operationInProgress"},{command:"git.commitAmend",title:"%command.commitAmend%",category:"Git",icon:"$(check)",enablement:"!operationInProgress"},{command:"git.commitSigned",title:"%command.commitSigned%",category:"Git",icon:"$(check)",enablement:"!operationInProgress"},{command:"git.commitStaged",title:"%command.commitStaged%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitEmpty",title:"%command.commitEmpty%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitStagedSigned",title:"%command.commitStagedSigned%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitStagedAmend",title:"%command.commitStagedAmend%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAll",title:"%command.commitAll%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAllSigned",title:"%command.commitAllSigned%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAllAmend",title:"%command.commitAllAmend%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitNoVerify",title:"%command.commitNoVerify%",category:"Git",icon:"$(check)",enablement:"!operationInProgress"},{command:"git.commitStagedNoVerify",title:"%command.commitStagedNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitEmptyNoVerify",title:"%command.commitEmptyNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitStagedSignedNoVerify",title:"%command.commitStagedSignedNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAmendNoVerify",title:"%command.commitAmendNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitSignedNoVerify",title:"%command.commitSignedNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitStagedAmendNoVerify",title:"%command.commitStagedAmendNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAllNoVerify",title:"%command.commitAllNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAllSignedNoVerify",title:"%command.commitAllSignedNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAllAmendNoVerify",title:"%command.commitAllAmendNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitMessageAccept",title:"%command.commitMessageAccept%",category:"Git"},{command:"git.commitMessageDiscard",title:"%command.commitMessageDiscard%",icon:"$(close)",category:"Git"},{command:"git.restoreCommitTemplate",title:"%command.restoreCommitTemplate%",category:"Git",enablement:"!operationInProgress"},{command:"git.undoCommit",title:"%command.undoCommit%",category:"Git",enablement:"!operationInProgress"},{command:"git.checkout",title:"%command.checkout%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.checkout",title:"%command.graphCheckout%",category:"Git",enablement:"!operationInProgress"},{command:"git.checkoutDetached",title:"%command.checkoutDetached%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.checkoutDetached",title:"%command.graphCheckoutDetached%",category:"Git",enablement:"!operationInProgress"},{command:"git.branch",title:"%command.branch%",category:"Git",enablement:"!operationInProgress"},{command:"git.branchFrom",title:"%command.branchFrom%",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteBranch",title:"%command.deleteBranch%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.deleteBranch",title:"%command.graphDeleteBranch%",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteRemoteBranch",title:"%command.deleteRemoteBranch%",category:"Git",enablement:"!operationInProgress"},{command:"git.renameBranch",title:"%command.renameBranch%",category:"Git",enablement:"!operationInProgress"},{command:"git.merge",title:"%command.merge%",category:"Git",enablement:"!operationInProgress"},{command:"git.mergeAbort",title:"%command.mergeAbort%",category:"Git",enablement:"gitMergeInProgress"},{command:"git.rebase",title:"%command.rebase%",category:"Git",enablement:"!operationInProgress"},{command:"git.createTag",title:"%command.createTag%",icon:"$(plus)",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteTag",title:"%command.deleteTag%",category:"Git",enablement:"!operationInProgress"},{command:"git.migrateWorktreeChanges",title:"%command.migrateWorktreeChanges%",category:"Git",enablement:"!operationInProgress"},{command:"git.createWorktree",title:"%command.createWorktree%",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteWorktree",title:"%command.deleteWorktree%",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteWorktree2",title:"%command.deleteWorktree2%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.deleteTag",title:"%command.graphDeleteTag%",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteRemoteTag",title:"%command.deleteRemoteTag%",category:"Git",enablement:"!operationInProgress"},{command:"git.fetch",title:"%command.fetch%",category:"Git",enablement:"!operationInProgress"},{command:"git.fetchPrune",title:"%command.fetchPrune%",category:"Git",enablement:"!operationInProgress"},{command:"git.fetchAll",title:"%command.fetchAll%",icon:"$(git-fetch)",category:"Git",enablement:"!operationInProgress"},{command:"git.fetchRef",title:"%command.fetch%",icon:"$(git-fetch)",category:"Git",enablement:"!operationInProgress"},{command:"git.pull",title:"%command.pull%",category:"Git",enablement:"!operationInProgress"},{command:"git.pullRebase",title:"%command.pullRebase%",category:"Git",enablement:"!operationInProgress"},{command:"git.pullFrom",title:"%command.pullFrom%",category:"Git",enablement:"!operationInProgress"},{command:"git.pullRef",title:"%command.pull%",icon:"$(repo-pull)",category:"Git",enablement:"!operationInProgress && scmCurrentHistoryItemRefInFilter && scmCurrentHistoryItemRefHasRemote"},{command:"git.push",title:"%command.push%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushForce",title:"%command.pushForce%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushTo",title:"%command.pushTo%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushToForce",title:"%command.pushToForce%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushTags",title:"%command.pushTags%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushWithTags",title:"%command.pushFollowTags%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushWithTagsForce",title:"%command.pushFollowTagsForce%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushRef",title:"%command.push%",icon:"$(repo-push)",category:"Git",enablement:"!operationInProgress && scmCurrentHistoryItemRefInFilter && scmCurrentHistoryItemRefHasRemote"},{command:"git.cherryPick",title:"%command.cherryPick%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.cherryPick",title:"%command.graphCherryPick%",category:"Git",enablement:"!operationInProgress"},{command:"git.cherryPickAbort",title:"%command.cherryPickAbort%",category:"Git",enablement:"!operationInProgress"},{command:"git.addRemote",title:"%command.addRemote%",category:"Git",enablement:"!operationInProgress"},{command:"git.removeRemote",title:"%command.removeRemote%",category:"Git",enablement:"!operationInProgress"},{command:"git.sync",title:"%command.sync%",category:"Git",enablement:"!operationInProgress"},{command:"git.syncRebase",title:"%command.syncRebase%",category:"Git",enablement:"!operationInProgress"},{command:"git.publish",title:"%command.publish%",category:"Git",icon:"$(cloud-upload)",enablement:"!operationInProgress"},{command:"git.showOutput",title:"%command.showOutput%",category:"Git"},{command:"git.ignore",title:"%command.ignore%",category:"Git",enablement:"!operationInProgress"},{command:"git.revealInExplorer",title:"%command.revealInExplorer%",category:"Git"},{command:"git.revealFileInOS.linux",title:"%command.revealFileInOS.linux%",category:"Git"},{command:"git.revealFileInOS.mac",title:"%command.revealFileInOS.mac%",category:"Git"},{command:"git.revealFileInOS.windows",title:"%command.revealFileInOS.windows%",category:"Git"},{command:"git.stashIncludeUntracked",title:"%command.stashIncludeUntracked%",category:"Git",enablement:"!operationInProgress"},{command:"git.stash",title:"%command.stash%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashStaged",title:"%command.stashStaged%",category:"Git",enablement:"!operationInProgress && gitVersion2.35"},{command:"git.stashPop",title:"%command.stashPop%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashPopLatest",title:"%command.stashPopLatest%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashPopEditor",title:"%command.stashPopEditor%",icon:"$(git-stash-pop)",category:"Git",enablement:"!operationInProgress"},{command:"git.stashApply",title:"%command.stashApply%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashApplyLatest",title:"%command.stashApplyLatest%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashApplyEditor",title:"%command.stashApplyEditor%",icon:"$(git-stash-apply)",category:"Git",enablement:"!operationInProgress"},{command:"git.stashDrop",title:"%command.stashDrop%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashDropAll",title:"%command.stashDropAll%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashDropEditor",title:"%command.stashDropEditor%",icon:"$(trash)",category:"Git",enablement:"!operationInProgress"},{command:"git.stashView",title:"%command.stashView%",category:"Git",enablement:"!operationInProgress"},{command:"git.timeline.openDiff",title:"%command.timelineOpenDiff%",icon:"$(compare-changes)",category:"Git"},{command:"git.timeline.copyCommitId",title:"%command.timelineCopyCommitId%",category:"Git"},{command:"git.timeline.copyCommitMessage",title:"%command.timelineCopyCommitMessage%",category:"Git"},{command:"git.timeline.selectForCompare",title:"%command.timelineSelectForCompare%",category:"Git"},{command:"git.timeline.compareWithSelected",title:"%command.timelineCompareWithSelected%",category:"Git"},{command:"git.timeline.viewCommit",title:"%command.viewCommit%",icon:"$(diff-multiple)",category:"Git"},{command:"git.rebaseAbort",title:"%command.rebaseAbort%",category:"Git",enablement:"gitRebaseInProgress"},{command:"git.closeAllDiffEditors",title:"%command.closeAllDiffEditors%",category:"Git",enablement:"!operationInProgress"},{command:"git.closeAllUnmodifiedEditors",title:"%command.closeAllUnmodifiedEditors%",category:"Git",enablement:"!operationInProgress"},{command:"git.api.getRepositories",title:"%command.api.getRepositories%",category:"Git API"},{command:"git.api.getRepositoryState",title:"%command.api.getRepositoryState%",category:"Git API"},{command:"git.api.getRemoteSources",title:"%command.api.getRemoteSources%",category:"Git API"},{command:"git.acceptMerge",title:"%command.git.acceptMerge%",category:"Git",enablement:"isMergeEditor && mergeEditorResultUri in git.mergeChanges"},{command:"git.openMergeEditor",title:"%command.git.openMergeEditor%",category:"Git"},{command:"git.runGitMerge",title:"%command.git.runGitMerge%",category:"Git",enablement:"isMergeEditor"},{command:"git.runGitMergeDiff3",title:"%command.git.runGitMergeDiff3%",category:"Git",enablement:"isMergeEditor"},{command:"git.manageUnsafeRepositories",title:"%command.manageUnsafeRepositories%",category:"Git"},{command:"git.openRepositoriesInParentFolders",title:"%command.openRepositoriesInParentFolders%",category:"Git"},{command:"git.viewChanges",title:"%command.viewChanges%",icon:"$(diff-multiple)",category:"Git",enablement:"!operationInProgress"},{command:"git.viewStagedChanges",title:"%command.viewStagedChanges%",icon:"$(diff-multiple)",category:"Git",enablement:"!operationInProgress"},{command:"git.viewUntrackedChanges",title:"%command.viewUntrackedChanges%",icon:"$(diff-multiple)",category:"Git",enablement:"!operationInProgress"},{command:"git.viewCommit",title:"%command.viewCommit%",icon:"$(diff-multiple)",category:"Git",enablement:"!operationInProgress"},{command:"git.copyCommitId",title:"%command.timelineCopyCommitId%",category:"Git"},{command:"git.copyCommitMessage",title:"%command.timelineCopyCommitMessage%",category:"Git"},{command:"git.blame.toggleEditorDecoration",title:"%command.blameToggleEditorDecoration%",category:"Git"},{command:"git.blame.toggleStatusBarItem",title:"%command.blameToggleStatusBarItem%",category:"Git"},{command:"git.graph.compareRef",title:"%command.graphCompareRef%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.compareWithRemote",title:"%command.graphCompareWithRemote%",category:"Git",enablement:"!operationInProgress && scmCurrentHistoryItemRefHasRemote"},{command:"git.graph.compareWithMergeBase",title:"%command.graphCompareWithMergeBase%",category:"Git",enablement:"!operationInProgress && scmCurrentHistoryItemRefHasBase"},{command:"git.repositories.checkout",title:"%command.graphCheckout%",icon:"$(target)",category:"Git",enablement:"!operationInProgress && !scmArtifactIsHistoryItemRef"},{command:"git.repositories.checkoutDetached",title:"%command.graphCheckoutDetached%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.compareRef",title:"%command.graphCompareRef%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.createBranch",title:"%command.branch%",icon:"$(plus)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.createTag",title:"%command.createTag%",icon:"$(plus)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.merge",title:"%command.merge2%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.rebase",title:"%command.rebase2%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.deleteBranch",title:"%command.deleteRef%",category:"Git",enablement:"!operationInProgress && !scmArtifactIsHistoryItemRef"},{command:"git.repositories.deleteTag",title:"%command.deleteRef%",category:"Git",enablement:"!operationInProgress && !scmArtifactIsHistoryItemRef"},{command:"git.repositories.createFrom",title:"%command.createFrom%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.stashView",title:"%command.stashView2%",icon:"$(diff-multiple)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.stashApply",title:"%command.stashApplyEditor%",icon:"$(git-stash-apply)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.stashPop",title:"%command.stashPopEditor%",icon:"$(git-stash-pop)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.stashDrop",title:"%command.stashDropEditor%",icon:"$(trash)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.createWorktree",title:"%command.createWorktree%",icon:"$(plus)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.openWorktree",title:"%command.openWorktree2%",icon:"$(folder-opened)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.openWorktreeInNewWindow",title:"%command.openWorktreeInNewWindow2%",icon:"$(folder-opened)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.deleteWorktree",title:"%command.deleteRef%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.worktreeCopyBranchName",title:"%command.artifactCopyBranchName%",category:"Git"},{command:"git.repositories.worktreeCopyCommitHash",title:"%command.artifactCopyCommitHash%",category:"Git"},{command:"git.repositories.worktreeCopyPath",title:"%command.artifactCopyWorktreePath%",category:"Git"},{command:"git.repositories.copyCommitHash",title:"%command.artifactCopyCommitHash%",category:"Git"},{command:"git.repositories.copyBranchName",title:"%command.artifactCopyBranchName%",category:"Git"},{command:"git.repositories.copyTagName",title:"%command.artifactCopyTagName%",category:"Git"},{command:"git.repositories.copyStashName",title:"%command.artifactCopyStashName%",category:"Git"},{command:"git.repositories.stashCopyBranchName",title:"%command.artifactCopyBranchName%",category:"Git"}],continueEditSession:[{command:"git.continueInLocalClone",qualifiedName:"%command.continueInLocalClone.qualifiedName%",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && remoteName",remoteGroup:"remote_42_git_0_local@0"}],keybindings:[{command:"git.stageSelectedRanges",key:"ctrl+k ctrl+alt+s",mac:"cmd+k cmd+alt+s",when:"editorTextFocus && resourceScheme == file"},{command:"git.unstageSelectedRanges",key:"ctrl+k ctrl+n",mac:"cmd+k cmd+n",when:"editorTextFocus && isInDiffEditor && isInDiffRightEditor && resourceScheme == git"},{command:"git.revertSelectedRanges",key:"ctrl+k ctrl+r",mac:"cmd+k cmd+r",when:"editorTextFocus && resourceScheme == file"}],menus:{commandPalette:[{command:"git.continueInLocalClone",when:"false"},{command:"git.clone",when:"config.git.enabled && !git.missing"},{command:"git.cloneRecursive",when:"config.git.enabled && !git.missing"},{command:"git.init",when:"config.git.enabled && !git.missing && remoteName != 'codespaces'"},{command:"git.openRepository",when:"config.git.enabled && !git.missing"},{command:"git.close",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.closeOtherRepositories",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{command:"git.openWorktree",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{command:"git.openWorktreeInNewWindow",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{command:"git.refresh",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.openFile",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceHasChanges"},{command:"git.openHEADFile",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceHasChanges"},{command:"git.openChange",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stage",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stageAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stageAllTracked",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stageAllUntracked",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stageAllMerge",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stageSelectedRanges",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{command:"git.stageChange",when:"false"},{command:"git.revertSelectedRanges",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{command:"git.revertChange",when:"false"},{command:"git.openFile2",when:"false"},{command:"git.unstage",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.unstageAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.unstageSelectedRanges",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == git"},{command:"git.unstageChange",when:"false"},{command:"git.clean",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.cleanAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.cleanAllTracked",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.cleanAllUntracked",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.rename",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceRepository"},{command:"git.delete",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{command:"git.commit",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitAmend",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitSigned",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitStaged",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitEmpty",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitStagedSigned",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitStagedAmend",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitAllSigned",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitAllAmend",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.rebaseAbort",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitRebaseInProgress"},{command:"git.commitNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitStagedNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitEmptyNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitStagedSignedNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitAmendNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitSignedNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitStagedAmendNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitAllNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitAllSignedNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitAllAmendNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.restoreCommitTemplate",when:"false"},{command:"git.commitMessageAccept",when:"false"},{command:"git.commitMessageDiscard",when:"false"},{command:"git.revealInExplorer",when:"false"},{command:"git.revealFileInOS.linux",when:"false"},{command:"git.revealFileInOS.mac",when:"false"},{command:"git.revealFileInOS.windows",when:"false"},{command:"git.undoCommit",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.checkout",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.branch",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.branchFrom",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.deleteBranch",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.deleteRemoteBranch",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.renameBranch",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.cherryPick",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.cherryPickAbort",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitCherryPickInProgress"},{command:"git.pull",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.pullFrom",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.pullRebase",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.merge",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.mergeAbort",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitMergeInProgress"},{command:"git.rebase",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.createTag",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.deleteTag",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.migrateWorktreeChanges",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.createWorktree",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.openWorktree",when:"false"},{command:"git.openWorktreeInNewWindow",when:"false"},{command:"git.deleteWorktree",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.deleteWorktree2",when:"false"},{command:"git.deleteRemoteTag",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.fetch",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.fetchPrune",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.fetchAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.push",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.pushForce",when:"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{command:"git.pushTo",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.pushToForce",when:"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{command:"git.pushWithTags",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.pushWithTagsForce",when:"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{command:"git.pushTags",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.addRemote",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.removeRemote",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.sync",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.syncRebase",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.publish",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.showOutput",when:"config.git.enabled"},{command:"git.ignore",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceRepository"},{command:"git.stashIncludeUntracked",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stash",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashStaged",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitVersion2.35"},{command:"git.stashPop",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashPopLatest",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashPopEditor",when:"false"},{command:"git.stashApply",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashApplyLatest",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashApplyEditor",when:"false"},{command:"git.stashDrop",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashDropAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashDropEditor",when:"false"},{command:"git.timeline.openDiff",when:"false"},{command:"git.timeline.copyCommitId",when:"false"},{command:"git.timeline.copyCommitMessage",when:"false"},{command:"git.timeline.selectForCompare",when:"false"},{command:"git.timeline.compareWithSelected",when:"false"},{command:"git.timeline.viewCommit",when:"false"},{command:"git.closeAllDiffEditors",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.api.getRepositories",when:"false"},{command:"git.api.getRepositoryState",when:"false"},{command:"git.api.getRemoteSources",when:"false"},{command:"git.openMergeEditor",when:"false"},{command:"git.manageUnsafeRepositories",when:"config.git.enabled && !git.missing && git.unsafeRepositoryCount != 0"},{command:"git.openRepositoriesInParentFolders",when:"config.git.enabled && !git.missing && git.parentRepositoryCount != 0"},{command:"git.stashView",when:"config.git.enabled && !git.missing"},{command:"git.viewChanges",when:"config.git.enabled && !git.missing"},{command:"git.viewStagedChanges",when:"config.git.enabled && !git.missing"},{command:"git.viewUntrackedChanges",when:"config.git.enabled && !git.missing && config.git.untrackedChanges == separate"},{command:"git.viewCommit",when:"false"},{command:"git.stageFile",when:"false"},{command:"git.unstageFile",when:"false"},{command:"git.fetchRef",when:"false"},{command:"git.pullRef",when:"false"},{command:"git.pushRef",when:"false"},{command:"git.copyCommitId",when:"false"},{command:"git.copyCommitMessage",when:"false"},{command:"git.graph.checkout",when:"false"},{command:"git.graph.checkoutDetached",when:"false"},{command:"git.graph.deleteBranch",when:"false"},{command:"git.graph.compareRef",when:"false"},{command:"git.graph.deleteTag",when:"false"},{command:"git.graph.cherryPick",when:"false"},{command:"git.graph.compareWithMergeBase",when:"false"},{command:"git.graph.compareWithRemote",when:"false"},{command:"git.diff.stageHunk",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"},{command:"git.diff.stageSelection",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"},{command:"git.repositories.checkout",when:"false"},{command:"git.repositories.checkoutDetached",when:"false"},{command:"git.repositories.compareRef",when:"false"},{command:"git.repositories.createBranch",when:"false"},{command:"git.repositories.createTag",when:"false"},{command:"git.repositories.merge",when:"false"},{command:"git.repositories.rebase",when:"false"},{command:"git.repositories.deleteBranch",when:"false"},{command:"git.repositories.deleteTag",when:"false"},{command:"git.repositories.createFrom",when:"false"},{command:"git.repositories.stashView",when:"false"},{command:"git.repositories.stashApply",when:"false"},{command:"git.repositories.stashPop",when:"false"},{command:"git.repositories.stashDrop",when:"false"},{command:"git.repositories.createWorktree",when:"false"},{command:"git.repositories.openWorktree",when:"false"},{command:"git.repositories.openWorktreeInNewWindow",when:"false"},{command:"git.repositories.deleteWorktree",when:"false"},{command:"git.repositories.worktreeCopyBranchName",when:"false"},{command:"git.repositories.worktreeCopyCommitHash",when:"false"},{command:"git.repositories.worktreeCopyPath",when:"false"},{command:"git.repositories.copyCommitHash",when:"false"},{command:"git.repositories.copyBranchName",when:"false"},{command:"git.repositories.copyTagName",when:"false"},{command:"git.repositories.copyStashName",when:"false"},{command:"git.repositories.stashCopyBranchName",when:"false"}],"scm/title":[{command:"git.commit",group:"navigation",when:"scmProvider == git"},{command:"git.refresh",group:"navigation",when:"scmProvider == git"},{command:"git.pull",group:"1_header@1",when:"scmProvider == git"},{command:"git.push",group:"1_header@2",when:"scmProvider == git"},{command:"git.clone",group:"1_header@3",when:"scmProvider == git"},{command:"git.checkout",group:"1_header@4",when:"scmProvider == git"},{command:"git.fetch",group:"1_header@5",when:"scmProvider == git"},{submenu:"git.commit",group:"2_main@1",when:"scmProvider == git"},{submenu:"git.changes",group:"2_main@2",when:"scmProvider == git"},{submenu:"git.pullpush",group:"2_main@3",when:"scmProvider == git"},{submenu:"git.branch",group:"2_main@4",when:"scmProvider == git"},{submenu:"git.remotes",group:"2_main@5",when:"scmProvider == git"},{submenu:"git.stash",group:"2_main@6",when:"scmProvider == git"},{submenu:"git.tags",group:"2_main@7",when:"scmProvider == git"},{submenu:"git.worktrees",group:"2_main@8",when:"scmProvider == git"},{command:"git.showOutput",group:"3_footer",when:"scmProvider == git"}],"scm/repositories/title":[{command:"git.reopenClosedRepositories",group:"navigation@1",when:"git.closedRepositoryCount > 0"}],"scm/repository":[{command:"git.pull",group:"1_header@1",when:"scmProvider == git"},{command:"git.push",group:"1_header@2",when:"scmProvider == git"},{command:"git.clone",group:"1_header@3",when:"scmProvider == git"},{command:"git.checkout",group:"1_header@4",when:"scmProvider == git"},{command:"git.fetch",group:"1_header@5",when:"scmProvider == git"},{submenu:"git.commit",group:"2_main@1",when:"scmProvider == git"},{submenu:"git.changes",group:"2_main@2",when:"scmProvider == git"},{submenu:"git.pullpush",group:"2_main@3",when:"scmProvider == git"},{submenu:"git.branch",group:"2_main@4",when:"scmProvider == git"},{submenu:"git.remotes",group:"2_main@5",when:"scmProvider == git"},{submenu:"git.stash",group:"2_main@6",when:"scmProvider == git"},{submenu:"git.tags",group:"2_main@7",when:"scmProvider == git"},{submenu:"git.worktrees",group:"2_main@8",when:"scmProvider == git"},{command:"git.showOutput",group:"3_footer",when:"scmProvider == git"}],"scm/sourceControl":[{command:"git.close",group:"navigation@1",when:"scmProvider == git"},{command:"git.closeOtherRepositories",group:"navigation@2",when:"scmProvider == git && gitOpenRepositoryCount > 1"},{command:"git.openWorktree",group:"1_worktree@1",when:"scmProvider == git && scmProviderContext == worktree"},{command:"git.openWorktreeInNewWindow",group:"1_worktree@2",when:"scmProvider == git && scmProviderContext == worktree"},{command:"git.deleteWorktree2",group:"2_worktree@1",when:"scmProvider == git && scmProviderContext == worktree"}],"scm/artifactGroup/context":[{command:"git.repositories.createBranch",group:"inline@1",when:"scmProvider == git && scmArtifactGroup == branches"},{command:"git.repositories.createTag",group:"inline@1",when:"scmProvider == git && scmArtifactGroup == tags"},{submenu:"git.repositories.stash",group:"inline@1",when:"scmProvider == git && scmArtifactGroup == stashes"},{command:"git.repositories.createWorktree",group:"inline@1",when:"scmProvider == git && scmArtifactGroup == worktrees"}],"scm/artifact/context":[{command:"git.repositories.checkout",group:"inline@1",when:"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{command:"git.repositories.stashApply",alt:"git.repositories.stashPop",group:"inline@1",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.stashView",group:"1_view@1",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.stashApply",group:"2_apply@1",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.stashPop",group:"2_apply@2",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.stashDrop",group:"3_drop@3",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.stashCopyBranchName",group:"4_copy@1",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.copyStashName",group:"4_copy@2",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.checkout",group:"1_checkout@1",when:"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{command:"git.repositories.checkoutDetached",group:"1_checkout@2",when:"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{command:"git.repositories.merge",group:"2_modify@1",when:"scmProvider == git && scmArtifactGroupId == branches"},{command:"git.repositories.rebase",group:"2_modify@2",when:"scmProvider == git && scmArtifactGroupId == branches"},{command:"git.repositories.createFrom",group:"3_modify@1",when:"scmProvider == git && scmArtifactGroupId == branches"},{command:"git.repositories.deleteBranch",group:"3_modify@2",when:"scmProvider == git && scmArtifactGroupId == branches"},{command:"git.repositories.deleteTag",group:"3_modify@1",when:"scmProvider == git && scmArtifactGroupId == tags"},{command:"git.repositories.compareRef",group:"4_compare@1",when:"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{command:"git.repositories.copyCommitHash",group:"5_copy@2",when:"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{command:"git.repositories.copyBranchName",group:"5_copy@1",when:"scmProvider == git && scmArtifactGroupId == branches"},{command:"git.repositories.copyTagName",group:"5_copy@2",when:"scmProvider == git && scmArtifactGroupId == tags"},{command:"git.repositories.openWorktreeInNewWindow",group:"inline@1",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.openWorktree",group:"1_open@1",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.openWorktreeInNewWindow",group:"1_open@2",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.deleteWorktree",group:"2_modify@1",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.worktreeCopyCommitHash",group:"3_copy@2",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.worktreeCopyBranchName",group:"3_copy@1",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.worktreeCopyPath",group:"3_copy@3",when:"scmProvider == git && scmArtifactGroupId == worktrees"}],"scm/resourceGroup/context":[{command:"git.stageAllMerge",when:"scmProvider == git && scmResourceGroup == merge",group:"1_modification"},{command:"git.stageAllMerge",when:"scmProvider == git && scmResourceGroup == merge",group:"inline@2"},{command:"git.unstageAll",when:"scmProvider == git && scmResourceGroup == index",group:"1_modification"},{command:"git.unstageAll",when:"scmProvider == git && scmResourceGroup == index",group:"inline@2"},{command:"git.viewStagedChanges",when:"scmProvider == git && scmResourceGroup == index",group:"inline@1"},{command:"git.viewChanges",when:"scmProvider == git && scmResourceGroup == workingTree",group:"inline@1"},{command:"git.cleanAll",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed",group:"1_modification"},{command:"git.stageAll",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed",group:"1_modification"},{command:"git.cleanAll",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed",group:"inline@2"},{command:"git.stageAll",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed",group:"inline@2"},{command:"git.cleanAllTracked",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed",group:"1_modification"},{command:"git.stageAllTracked",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed",group:"1_modification"},{command:"git.cleanAllTracked",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed",group:"inline@2"},{command:"git.stageAllTracked",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed",group:"inline@2"},{command:"git.cleanAllUntracked",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification"},{command:"git.stageAllUntracked",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification"},{command:"git.viewUntrackedChanges",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@1"},{command:"git.cleanAllUntracked",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@2"},{command:"git.stageAllUntracked",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@2"}],"scm/resourceFolder/context":[{command:"git.stage",when:"scmProvider == git && scmResourceGroup == merge",group:"1_modification"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == merge",group:"inline@2"},{command:"git.unstage",when:"scmProvider == git && scmResourceGroup == index",group:"1_modification"},{command:"git.unstage",when:"scmProvider == git && scmResourceGroup == index",group:"inline@2"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == workingTree",group:"inline@2"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == workingTree",group:"inline@2"},{command:"git.ignore",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification@3"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@2"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@2"},{command:"git.ignore",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification@3"}],"scm/resourceState/context":[{command:"git.stage",when:"scmProvider == git && scmResourceGroup == merge",group:"1_modification"},{command:"git.openFile",when:"scmProvider == git && scmResourceGroup == merge",group:"navigation"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == merge",group:"inline@2"},{command:"git.revealFileInOS.linux",when:"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isLinux",group:"2_view@1"},{command:"git.revealFileInOS.mac",when:"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isMac",group:"2_view@1"},{command:"git.revealFileInOS.windows",when:"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isWindows",group:"2_view@1"},{command:"git.revealInExplorer",when:"scmProvider == git && scmResourceGroup == merge",group:"2_view@2"},{command:"git.openFile2",when:"scmProvider == git && scmResourceGroup == merge && config.git.showInlineOpenFileAction && config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == merge && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == index",group:"navigation"},{command:"git.openFile",when:"scmProvider == git && scmResourceGroup == index",group:"navigation"},{command:"git.openHEADFile",when:"scmProvider == git && scmResourceGroup == index",group:"navigation"},{command:"git.unstage",when:"scmProvider == git && scmResourceGroup == index",group:"1_modification"},{command:"git.unstage",when:"scmProvider == git && scmResourceGroup == index",group:"inline@2"},{command:"git.revealFileInOS.linux",when:"scmProvider == git && scmResourceGroup == index && remoteName == '' && isLinux",group:"2_view@1"},{command:"git.revealFileInOS.mac",when:"scmProvider == git && scmResourceGroup == index && remoteName == '' && isMac",group:"2_view@1"},{command:"git.revealFileInOS.windows",when:"scmProvider == git && scmResourceGroup == index && remoteName == '' && isWindows",group:"2_view@1"},{command:"git.revealInExplorer",when:"scmProvider == git && scmResourceGroup == index",group:"2_view@2"},{command:"git.compareWithWorkspace",when:"scmProvider == git && scmResourceGroup == index && scmResourceState == worktree",group:"worktree_diff"},{command:"git.openFile2",when:"scmProvider == git && scmResourceGroup == index && config.git.showInlineOpenFileAction && config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == index && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == workingTree",group:"navigation"},{command:"git.openHEADFile",when:"scmProvider == git && scmResourceGroup == workingTree",group:"navigation"},{command:"git.openFile",when:"scmProvider == git && scmResourceGroup == workingTree",group:"navigation"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == workingTree",group:"inline@2"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == workingTree",group:"inline@2"},{command:"git.compareWithWorkspace",when:"scmProvider == git && scmResourceGroup == workingTree && scmResourceState == worktree",group:"worktree_diff"},{command:"git.openFile2",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.showInlineOpenFileAction && config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick",group:"inline@1"},{command:"git.ignore",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification@3"},{command:"git.revealFileInOS.linux",when:"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isLinux",group:"2_view@1"},{command:"git.revealFileInOS.mac",when:"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isMac",group:"2_view@1"},{command:"git.revealFileInOS.windows",when:"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isWindows",group:"2_view@1"},{command:"git.revealInExplorer",when:"scmProvider == git && scmResourceGroup == workingTree",group:"2_view@2"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == untracked",group:"navigation"},{command:"git.openHEADFile",when:"scmProvider == git && scmResourceGroup == untracked",group:"navigation"},{command:"git.openFile",when:"scmProvider == git && scmResourceGroup == untracked",group:"navigation"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == untracked && !gitFreshRepository",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == untracked && !gitFreshRepository",group:"inline@2"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@2"},{command:"git.openFile2",when:"scmProvider == git && scmResourceGroup == untracked && config.git.showInlineOpenFileAction && config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == untracked && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick",group:"inline@1"},{command:"git.ignore",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification@3"}],"scm/history/title":[{command:"git.fetchAll",group:"navigation@900",when:"scmProvider == git"},{command:"git.pullRef",group:"navigation@901",when:"scmProvider == git"},{command:"git.pushRef",when:"scmProvider == git && scmCurrentHistoryItemRefHasRemote",group:"navigation@902"},{command:"git.publish",when:"scmProvider == git && !scmCurrentHistoryItemRefHasRemote",group:"navigation@903"}],"scm/historyItem/context":[{command:"git.graph.checkoutDetached",when:"scmProvider == git",group:"1_checkout@2"},{command:"git.branch",when:"scmProvider == git",group:"2_branch@2"},{command:"git.createTag",when:"scmProvider == git",group:"3_tag@1"},{command:"git.graph.cherryPick",when:"scmProvider == git",group:"4_modify@1"},{command:"git.graph.compareWithRemote",when:"scmProvider == git",group:"5_compare@1"},{command:"git.graph.compareWithMergeBase",when:"scmProvider == git",group:"5_compare@2"},{command:"git.graph.compareRef",when:"scmProvider == git",group:"5_compare@3"},{command:"git.copyCommitId",when:"scmProvider == git && !listMultiSelection",group:"9_copy@1"},{command:"git.copyCommitMessage",when:"scmProvider == git && !listMultiSelection",group:"9_copy@2"}],"scm/historyItemRef/context":[{command:"git.graph.checkout",when:"scmProvider == git",group:"1_checkout@1"},{command:"git.graph.deleteBranch",when:"scmProvider == git && scmHistoryItemRef =~ /^refs\\/heads\\/|^refs\\/remotes\\//",group:"2_branch@2"},{command:"git.graph.deleteTag",when:"scmProvider == git && scmHistoryItemRef =~ /^refs\\/tags\\//",group:"3_tag@2"}],"editor/title":[{command:"git.openFile",group:"navigation",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && resourceScheme =~ /^git$|^file$/"},{command:"git.openFile",group:"navigation",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInNotebookTextDiffEditor && resourceScheme =~ /^git$|^file$/"},{command:"git.openFile",group:"navigation",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isInNotebookTextDiffEditor && resourceScheme == git"},{command:"git.openChange",group:"navigation@2",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && scmActiveResourceHasChanges"},{command:"git.stashApplyEditor",alt:"git.stashPopEditor",group:"navigation@1",when:"config.git.enabled && !git.missing && resourceScheme == git-stash"},{command:"git.stashDropEditor",group:"navigation@2",when:"config.git.enabled && !git.missing && resourceScheme == git-stash"},{command:"git.stage",group:"2_git@1",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasUnstagedChanges"},{command:"git.unstage",group:"2_git@2",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasStagedChanges"},{command:"git.stage",group:"2_git@1",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{command:"git.stageSelectedRanges",group:"2_git@2",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{command:"git.unstage",group:"2_git@3",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{command:"git.unstageSelectedRanges",group:"2_git@4",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{command:"git.revertSelectedRanges",group:"2_git@5",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"}],"editor/context":[{command:"git.stageSelectedRanges",group:"2_git@1",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{command:"git.unstageSelectedRanges",group:"2_git@2",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{command:"git.revertSelectedRanges",group:"2_git@3",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"}],"editor/content":[{command:"git.acceptMerge",when:"isMergeResultEditor && mergeEditorBaseUri =~ /^(git|file):/ && mergeEditorResultUri in git.mergeChanges"},{command:"git.openMergeEditor",group:"navigation@-10",when:"config.git.enabled && !git.missing && !isInDiffEditor && !isMergeEditor && resource in git.mergeChanges && git.activeResourceHasMergeConflicts"},{command:"git.commitMessageAccept",group:"navigation",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && editorLangId == git-commit"},{command:"git.commitMessageDiscard",group:"secondary",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && editorLangId == git-commit"}],"multiDiffEditor/resource/title":[{command:"git.stageFile",group:"navigation",when:"scmProvider == git && scmResourceGroup == workingTree"},{command:"git.stageFile",group:"navigation",when:"scmProvider == git && scmResourceGroup == untracked"},{command:"git.unstageFile",group:"navigation",when:"scmProvider == git && scmResourceGroup == index"}],"diffEditor/gutter/hunk":[{command:"git.diff.stageHunk",group:"primary@10",when:"diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"diffEditor/gutter/selection":[{command:"git.diff.stageSelection",group:"primary@10",when:"diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"scm/change/title":[{command:"git.stageChange",when:"config.git.enabled && !git.missing && originalResource =~ /^git\\:.*%22ref%22%3A%22%22%7D$/"},{command:"git.revertChange",when:"config.git.enabled && !git.missing && originalResource =~ /^git\\:.*%22ref%22%3A%22%22%7D$/"},{command:"git.unstageChange",when:"false"}],"timeline/item/context":[{command:"git.timeline.viewCommit",group:"inline",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{command:"git.timeline.openDiff",group:"1_actions@1",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{command:"git.timeline.viewCommit",group:"1_actions@2",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{command:"git.timeline.compareWithSelected",group:"3_compare@1",when:"config.git.enabled && !git.missing && git.timeline.selectedForCompare && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{command:"git.timeline.selectForCompare",group:"3_compare@2",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{command:"git.timeline.copyCommitId",group:"5_copy@1",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{command:"git.timeline.copyCommitMessage",group:"5_copy@2",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"}],"git.commit":[{command:"git.commit",group:"1_commit@1"},{command:"git.commitStaged",group:"1_commit@2"},{command:"git.commitAll",group:"1_commit@3"},{command:"git.undoCommit",group:"1_commit@4"},{command:"git.rebaseAbort",group:"1_commit@5"},{command:"git.commitNoVerify",group:"2_commit_noverify@1",when:"config.git.allowNoVerifyCommit"},{command:"git.commitStagedNoVerify",group:"2_commit_noverify@2",when:"config.git.allowNoVerifyCommit"},{command:"git.commitAllNoVerify",group:"2_commit_noverify@3",when:"config.git.allowNoVerifyCommit"},{command:"git.commitAmend",group:"3_amend@1"},{command:"git.commitStagedAmend",group:"3_amend@2"},{command:"git.commitAllAmend",group:"3_amend@3"},{command:"git.commitAmendNoVerify",group:"4_amend_noverify@1",when:"config.git.allowNoVerifyCommit"},{command:"git.commitStagedAmendNoVerify",group:"4_amend_noverify@2",when:"config.git.allowNoVerifyCommit"},{command:"git.commitAllAmendNoVerify",group:"4_amend_noverify@3",when:"config.git.allowNoVerifyCommit"},{command:"git.commitSigned",group:"5_signoff@1"},{command:"git.commitStagedSigned",group:"5_signoff@2"},{command:"git.commitAllSigned",group:"5_signoff@3"},{command:"git.commitSignedNoVerify",group:"6_signoff_noverify@1",when:"config.git.allowNoVerifyCommit"},{command:"git.commitStagedSignedNoVerify",group:"6_signoff_noverify@2",when:"config.git.allowNoVerifyCommit"},{command:"git.commitAllSignedNoVerify",group:"6_signoff_noverify@3",when:"config.git.allowNoVerifyCommit"}],"git.changes":[{command:"git.stageAll",group:"changes@1"},{command:"git.unstageAll",group:"changes@2"},{command:"git.cleanAll",group:"changes@3"}],"git.pullpush":[{command:"git.sync",group:"1_sync@1"},{command:"git.syncRebase",when:"gitState == idle",group:"1_sync@2"},{command:"git.pull",group:"2_pull@1"},{command:"git.pullRebase",group:"2_pull@2"},{command:"git.pullFrom",group:"2_pull@3"},{command:"git.push",group:"3_push@1"},{command:"git.pushForce",when:"config.git.allowForcePush",group:"3_push@2"},{command:"git.pushTo",group:"3_push@3"},{command:"git.pushToForce",when:"config.git.allowForcePush",group:"3_push@4"},{command:"git.fetch",group:"4_fetch@1"},{command:"git.fetchPrune",group:"4_fetch@2"},{command:"git.fetchAll",group:"4_fetch@3"}],"git.branch":[{command:"git.merge",group:"1_merge@1"},{command:"git.rebase",group:"1_merge@2"},{command:"git.branch",group:"2_branch@1"},{command:"git.branchFrom",group:"2_branch@2"},{command:"git.renameBranch",group:"3_modify@1"},{command:"git.deleteBranch",group:"3_modify@2"},{command:"git.deleteRemoteBranch",group:"3_modify@3"},{command:"git.publish",group:"4_publish@1"}],"git.remotes":[{command:"git.addRemote",group:"remote@1"},{command:"git.removeRemote",group:"remote@2"}],"git.stash":[{command:"git.stash",group:"1_stash@1"},{command:"git.stashIncludeUntracked",group:"1_stash@2"},{command:"git.stashStaged",when:"gitVersion2.35",group:"1_stash@3"},{command:"git.stashApplyLatest",group:"2_apply@1"},{command:"git.stashApply",group:"2_apply@2"},{command:"git.stashPopLatest",group:"3_pop@1"},{command:"git.stashPop",group:"3_pop@2"},{command:"git.stashDrop",group:"4_drop@1"},{command:"git.stashDropAll",group:"4_drop@2"},{command:"git.stashView",group:"5_preview@1"}],"git.repositories.stash":[{command:"git.stash",group:"1_stash@1"},{command:"git.stashStaged",when:"gitVersion2.35",group:"2_stash@1"},{command:"git.stashIncludeUntracked",group:"2_stash@2"}],"git.tags":[{command:"git.createTag",group:"1_tags@1"},{command:"git.deleteTag",group:"1_tags@2"},{command:"git.deleteRemoteTag",group:"1_tags@3"},{command:"git.pushTags",group:"2_tags@1"}],"git.worktrees":[{when:"scmProviderContext == worktree",command:"git.openWorktree",group:"openWorktrees@1"},{when:"scmProviderContext == worktree",command:"git.openWorktreeInNewWindow",group:"openWorktrees@2"},{when:"scmProviderContext == repository",command:"git.createWorktree",group:"worktrees@1"},{when:"scmProviderContext == worktree",command:"git.deleteWorktree2",group:"worktrees@2"}]},submenus:[{id:"git.commit",label:"%submenu.commit%"},{id:"git.changes",label:"%submenu.changes%"},{id:"git.pullpush",label:"%submenu.pullpush%"},{id:"git.branch",label:"%submenu.branch%"},{id:"git.remotes",label:"%submenu.remotes%"},{id:"git.stash",label:"%submenu.stash%"},{id:"git.tags",label:"%submenu.tags%"},{id:"git.worktrees",label:"%submenu.worktrees%"},{id:"git.repositories.stash",label:"%submenu.stash%",icon:"$(plus)"}],configuration:{title:"Git",properties:{"git.enabled":{type:"boolean",scope:"resource",description:"%config.enabled%",default:!0},"git.path":{type:["string","null","array"],markdownDescription:"%config.path%",default:null,scope:"machine"},"git.autoRepositoryDetection":{type:["boolean","string"],enum:[!0,!1,"subFolders","openEditors"],enumDescriptions:["%config.autoRepositoryDetection.true%","%config.autoRepositoryDetection.false%","%config.autoRepositoryDetection.subFolders%","%config.autoRepositoryDetection.openEditors%"],description:"%config.autoRepositoryDetection%",default:!0},"git.autorefresh":{type:"boolean",description:"%config.autorefresh%",default:!0},"git.autofetch":{type:["boolean","string"],enum:[!0,!1,"all"],scope:"resource",markdownDescription:"%config.autofetch%",default:!1,tags:["usesOnlineServices"]},"git.autofetchPeriod":{type:"number",scope:"resource",markdownDescription:"%config.autofetchPeriod%",default:180},"git.defaultBranchName":{type:"string",markdownDescription:"%config.defaultBranchName%",default:"main",scope:"resource"},"git.branchPrefix":{type:"string",description:"%config.branchPrefix%",default:"",scope:"resource"},"git.branchProtection":{type:"array",markdownDescription:"%config.branchProtection%",items:{type:"string"},default:[],scope:"resource"},"git.branchProtectionPrompt":{type:"string",description:"%config.branchProtectionPrompt%",enum:["alwaysCommit","alwaysCommitToNewBranch","alwaysPrompt"],enumDescriptions:["%config.branchProtectionPrompt.alwaysCommit%","%config.branchProtectionPrompt.alwaysCommitToNewBranch%","%config.branchProtectionPrompt.alwaysPrompt%"],default:"alwaysPrompt",scope:"resource"},"git.branchValidationRegex":{type:"string",description:"%config.branchValidationRegex%",default:""},"git.branchWhitespaceChar":{type:"string",description:"%config.branchWhitespaceChar%",default:"-"},"git.branchRandomName.enable":{type:"boolean",description:"%config.branchRandomNameEnable%",default:!1,scope:"resource"},"git.branchRandomName.dictionary":{type:"array",markdownDescription:"%config.branchRandomNameDictionary%",items:{type:"string",enum:["adjectives","animals","colors","numbers"],enumDescriptions:["%config.branchRandomNameDictionary.adjectives%","%config.branchRandomNameDictionary.animals%","%config.branchRandomNameDictionary.colors%","%config.branchRandomNameDictionary.numbers%"]},minItems:1,maxItems:5,default:["adjectives","animals"],scope:"resource"},"git.confirmSync":{type:"boolean",description:"%config.confirmSync%",default:!0},"git.confirmCommittedDelete":{type:"boolean",description:"%config.confirmCommittedDelete%",default:!0},"git.countBadge":{type:"string",enum:["all","tracked","off"],enumDescriptions:["%config.countBadge.all%","%config.countBadge.tracked%","%config.countBadge.off%"],description:"%config.countBadge%",default:"all",scope:"resource"},"git.checkoutType":{type:"array",items:{type:"string",enum:["local","tags","remote"],enumDescriptions:["%config.checkoutType.local%","%config.checkoutType.tags%","%config.checkoutType.remote%"]},uniqueItems:!0,markdownDescription:"%config.checkoutType%",default:["local","remote","tags"]},"git.ignoreLegacyWarning":{type:"boolean",description:"%config.ignoreLegacyWarning%",default:!1},"git.ignoreMissingGitWarning":{type:"boolean",description:"%config.ignoreMissingGitWarning%",default:!1},"git.ignoreWindowsGit27Warning":{type:"boolean",description:"%config.ignoreWindowsGit27Warning%",default:!1},"git.ignoreLimitWarning":{type:"boolean",description:"%config.ignoreLimitWarning%",default:!1},"git.ignoreRebaseWarning":{type:"boolean",description:"%config.ignoreRebaseWarning%",default:!1},"git.defaultCloneDirectory":{type:["string","null"],default:null,scope:"machine",description:"%config.defaultCloneDirectory%"},"git.useEditorAsCommitInput":{type:"boolean",description:"%config.useEditorAsCommitInput%",default:!0},"git.verboseCommit":{type:"boolean",scope:"resource",markdownDescription:"%config.verboseCommit%",default:!1},"git.enableSmartCommit":{type:"boolean",scope:"resource",description:"%config.enableSmartCommit%",default:!1},"git.smartCommitChanges":{type:"string",enum:["all","tracked"],enumDescriptions:["%config.smartCommitChanges.all%","%config.smartCommitChanges.tracked%"],scope:"resource",description:"%config.smartCommitChanges%",default:"all"},"git.suggestSmartCommit":{type:"boolean",scope:"resource",description:"%config.suggestSmartCommit%",default:!0},"git.enableCommitSigning":{type:"boolean",scope:"resource",description:"%config.enableCommitSigning%",default:!1},"git.confirmEmptyCommits":{type:"boolean",scope:"resource",description:"%config.confirmEmptyCommits%",default:!0},"git.decorations.enabled":{type:"boolean",default:!0,description:"%config.decorations.enabled%"},"git.enableStatusBarSync":{type:"boolean",default:!0,description:"%config.enableStatusBarSync%",scope:"resource"},"git.followTagsWhenSync":{type:"boolean",scope:"resource",default:!1,description:"%config.followTagsWhenSync%"},"git.replaceTagsWhenPull":{type:"boolean",scope:"resource",default:!1,description:"%config.replaceTagsWhenPull%"},"git.promptToSaveFilesBeforeStash":{type:"string",enum:["always","staged","never"],enumDescriptions:["%config.promptToSaveFilesBeforeStash.always%","%config.promptToSaveFilesBeforeStash.staged%","%config.promptToSaveFilesBeforeStash.never%"],scope:"resource",default:"always",description:"%config.promptToSaveFilesBeforeStash%"},"git.promptToSaveFilesBeforeCommit":{type:"string",enum:["always","staged","never"],enumDescriptions:["%config.promptToSaveFilesBeforeCommit.always%","%config.promptToSaveFilesBeforeCommit.staged%","%config.promptToSaveFilesBeforeCommit.never%"],scope:"resource",default:"always",description:"%config.promptToSaveFilesBeforeCommit%"},"git.postCommitCommand":{type:"string",enum:["none","push","sync"],enumDescriptions:["%config.postCommitCommand.none%","%config.postCommitCommand.push%","%config.postCommitCommand.sync%"],markdownDescription:"%config.postCommitCommand%",scope:"resource",default:"none"},"git.rememberPostCommitCommand":{type:"boolean",description:"%config.rememberPostCommitCommand%",scope:"resource",default:!1},"git.openAfterClone":{type:"string",enum:["always","alwaysNewWindow","whenNoFolderOpen","prompt"],enumDescriptions:["%config.openAfterClone.always%","%config.openAfterClone.alwaysNewWindow%","%config.openAfterClone.whenNoFolderOpen%","%config.openAfterClone.prompt%"],default:"prompt",description:"%config.openAfterClone%"},"git.showInlineOpenFileAction":{type:"boolean",default:!0,description:"%config.showInlineOpenFileAction%"},"git.showPushSuccessNotification":{type:"boolean",description:"%config.showPushSuccessNotification%",default:!1},"git.inputValidation":{type:"boolean",default:!1,description:"%config.inputValidation%"},"git.inputValidationLength":{type:"number",default:72,description:"%config.inputValidationLength%"},"git.inputValidationSubjectLength":{type:["number","null"],default:50,markdownDescription:"%config.inputValidationSubjectLength%"},"git.detectSubmodules":{type:"boolean",scope:"resource",default:!0,description:"%config.detectSubmodules%"},"git.detectSubmodulesLimit":{type:"number",scope:"resource",default:10,description:"%config.detectSubmodulesLimit%"},"git.detectWorktrees":{type:"boolean",scope:"resource",default:!0,description:"%config.detectWorktrees%"},"git.detectWorktreesLimit":{type:"number",scope:"resource",default:50,description:"%config.detectWorktreesLimit%"},"git.worktreeIncludeFiles":{type:"array",items:{type:"string"},default:[],markdownDescription:"%config.worktreeIncludeFiles%",scope:"resource",tags:["experimental"]},"git.alwaysShowStagedChangesResourceGroup":{type:"boolean",scope:"resource",default:!1,description:"%config.alwaysShowStagedChangesResourceGroup%"},"git.alwaysSignOff":{type:"boolean",scope:"resource",default:!1,description:"%config.alwaysSignOff%"},"git.addAICoAuthor":{type:"string",enum:["off","chatAndAgent","all"],enumDescriptions:["%config.addAICoAuthor.off%","%config.addAICoAuthor.chatAndAgent%","%config.addAICoAuthor.all%"],scope:"resource",default:"off",description:"%config.addAICoAuthor%"},"git.ignoreSubmodules":{type:"boolean",scope:"resource",default:!1,description:"%config.ignoreSubmodules%"},"git.ignoredRepositories":{type:"array",items:{type:"string"},default:[],scope:"window",description:"%config.ignoredRepositories%"},"git.scanRepositories":{type:"array",items:{type:"string"},default:[],scope:"resource",description:"%config.scanRepositories%"},"git.showProgress":{type:"boolean",description:"%config.showProgress%",default:!0,scope:"resource"},"git.rebaseWhenSync":{type:"boolean",scope:"resource",default:!1,description:"%config.rebaseWhenSync%"},"git.pullBeforeCheckout":{type:"boolean",scope:"resource",default:!1,description:"%config.pullBeforeCheckout%"},"git.fetchOnPull":{type:"boolean",scope:"resource",default:!1,description:"%config.fetchOnPull%"},"git.pruneOnFetch":{type:"boolean",scope:"resource",default:!1,description:"%config.pruneOnFetch%"},"git.pullTags":{type:"boolean",scope:"resource",default:!0,description:"%config.pullTags%"},"git.autoStash":{type:"boolean",scope:"resource",default:!1,description:"%config.autoStash%"},"git.allowForcePush":{type:"boolean",default:!1,description:"%config.allowForcePush%"},"git.useForcePushWithLease":{type:"boolean",default:!0,description:"%config.useForcePushWithLease%"},"git.useForcePushIfIncludes":{type:"boolean",default:!0,markdownDescription:"%config.useForcePushIfIncludes%"},"git.confirmForcePush":{type:"boolean",default:!0,description:"%config.confirmForcePush%"},"git.allowNoVerifyCommit":{type:"boolean",default:!1,description:"%config.allowNoVerifyCommit%"},"git.confirmNoVerifyCommit":{type:"boolean",default:!0,description:"%config.confirmNoVerifyCommit%"},"git.closeDiffOnOperation":{type:"boolean",scope:"resource",default:!1,description:"%config.closeDiffOnOperation%"},"git.openDiffOnClick":{type:"boolean",scope:"resource",default:!0,description:"%config.openDiffOnClick%"},"git.supportCancellation":{type:"boolean",scope:"resource",default:!1,description:"%config.supportCancellation%"},"git.branchSortOrder":{type:"string",enum:["committerdate","alphabetically"],default:"committerdate",description:"%config.branchSortOrder%"},"git.untrackedChanges":{type:"string",enum:["mixed","separate","hidden"],enumDescriptions:["%config.untrackedChanges.mixed%","%config.untrackedChanges.separate%","%config.untrackedChanges.hidden%"],default:"mixed",description:"%config.untrackedChanges%",scope:"resource"},"git.requireGitUserConfig":{type:"boolean",description:"%config.requireGitUserConfig%",default:!0,scope:"resource"},"git.showCommitInput":{type:"boolean",scope:"resource",default:!0,description:"%config.showCommitInput%"},"git.terminalAuthentication":{type:"boolean",default:!0,description:"%config.terminalAuthentication%"},"git.terminalGitEditor":{type:"boolean",default:!1,description:"%config.terminalGitEditor%"},"git.useCommitInputAsStashMessage":{type:"boolean",scope:"resource",default:!1,description:"%config.useCommitInputAsStashMessage%"},"git.useIntegratedAskPass":{type:"boolean",default:!0,description:"%config.useIntegratedAskPass%"},"git.githubAuthentication":{markdownDeprecationMessage:"This setting is now deprecated, please use `#github.gitAuthentication#` instead."},"git.timeline.date":{type:"string",enum:["committed","authored"],enumDescriptions:["%config.timeline.date.committed%","%config.timeline.date.authored%"],default:"committed",description:"%config.timeline.date%",scope:"window"},"git.timeline.showAuthor":{type:"boolean",default:!0,description:"%config.timeline.showAuthor%",scope:"window"},"git.timeline.showUncommitted":{type:"boolean",default:!1,description:"%config.timeline.showUncommitted%",scope:"window"},"git.showActionButton":{type:"object",additionalProperties:!1,description:"%config.showActionButton%",properties:{commit:{type:"boolean",description:"%config.showActionButton.commit%"},publish:{type:"boolean",description:"%config.showActionButton.publish%"},sync:{type:"boolean",description:"%config.showActionButton.sync%"}},default:{commit:!0,publish:!0,sync:!0},scope:"resource"},"git.statusLimit":{type:"number",scope:"resource",default:1e4,description:"%config.statusLimit%"},"git.repositoryScanIgnoredFolders":{type:"array",items:{type:"string"},default:["node_modules"],scope:"resource",markdownDescription:"%config.repositoryScanIgnoredFolders%"},"git.repositoryScanMaxDepth":{type:"number",scope:"resource",default:1,markdownDescription:"%config.repositoryScanMaxDepth%"},"git.commandsToLog":{type:"array",items:{type:"string"},default:[],markdownDescription:"%config.commandsToLog%"},"git.mergeEditor":{type:"boolean",default:!1,markdownDescription:"%config.mergeEditor%",scope:"window"},"git.optimisticUpdate":{type:"boolean",default:!0,markdownDescription:"%config.optimisticUpdate%",scope:"resource",tags:["experimental"]},"git.openRepositoryInParentFolders":{type:"string",enum:["always","never","prompt"],enumDescriptions:["%config.openRepositoryInParentFolders.always%","%config.openRepositoryInParentFolders.never%","%config.openRepositoryInParentFolders.prompt%"],default:"prompt",markdownDescription:"%config.openRepositoryInParentFolders%",scope:"resource"},"git.similarityThreshold":{type:"number",default:50,minimum:0,maximum:100,markdownDescription:"%config.similarityThreshold%",scope:"resource"},"git.blame.editorDecoration.enabled":{type:"boolean",default:!1,markdownDescription:"%config.blameEditorDecoration.enabled%"},"git.blame.editorDecoration.template":{type:"string",default:"${subject}, ${authorName} (${authorDateAgo})",markdownDescription:"%config.blameEditorDecoration.template%"},"git.blame.editorDecoration.disableHover":{type:"boolean",default:!1,markdownDescription:"%config.blameEditorDecoration.disableHover%"},"git.blame.statusBarItem.enabled":{type:"boolean",default:!0,markdownDescription:"%config.blameStatusBarItem.enabled%"},"git.blame.statusBarItem.template":{type:"string",default:"${authorName} (${authorDateAgo})",markdownDescription:"%config.blameStatusBarItem.template%"},"git.blame.ignoreWhitespace":{type:"boolean",default:!1,markdownDescription:"%config.blameIgnoreWhitespace%"},"git.commitShortHashLength":{type:"number",default:7,minimum:7,maximum:40,markdownDescription:"%config.commitShortHashLength%",scope:"resource"},"git.diagnosticsCommitHook.enabled":{type:"boolean",default:!1,markdownDescription:"%config.diagnosticsCommitHook.enabled%",scope:"resource"},"git.diagnosticsCommitHook.sources":{type:"object",additionalProperties:{type:"string",enum:["error","warning","information","hint","none"]},default:{"*":"error"},markdownDescription:"%config.diagnosticsCommitHook.sources%",scope:"resource"},"git.discardUntrackedChangesToTrash":{type:"boolean",default:!0,markdownDescription:"%config.discardUntrackedChangesToTrash%"},"git.showReferenceDetails":{type:"boolean",default:!0,markdownDescription:"%config.showReferenceDetails%"}}},colors:[{id:"gitDecoration.addedResourceForeground",description:"%colors.added%",defaults:{light:"#587c0c",dark:"#81b88b",highContrast:"#a1e3ad",highContrastLight:"#374e06"}},{id:"gitDecoration.modifiedResourceForeground",description:"%colors.modified%",defaults:{light:"#895503",dark:"#E2C08D",highContrast:"#E2C08D",highContrastLight:"#895503"}},{id:"gitDecoration.deletedResourceForeground",description:"%colors.deleted%",defaults:{light:"#ad0707",dark:"#c74e39",highContrast:"#c74e39",highContrastLight:"#ad0707"}},{id:"gitDecoration.renamedResourceForeground",description:"%colors.renamed%",defaults:{light:"#007100",dark:"#73C991",highContrast:"#73C991",highContrastLight:"#007100"}},{id:"gitDecoration.untrackedResourceForeground",description:"%colors.untracked%",defaults:{light:"#007100",dark:"#73C991",highContrast:"#73C991",highContrastLight:"#007100"}},{id:"gitDecoration.ignoredResourceForeground",description:"%colors.ignored%",defaults:{light:"#8E8E90",dark:"#8C8C8C",highContrast:"#A7A8A9",highContrastLight:"#8e8e90"}},{id:"gitDecoration.stageModifiedResourceForeground",description:"%colors.stageModified%",defaults:{light:"#895503",dark:"#E2C08D",highContrast:"#E2C08D",highContrastLight:"#895503"}},{id:"gitDecoration.stageDeletedResourceForeground",description:"%colors.stageDeleted%",defaults:{light:"#ad0707",dark:"#c74e39",highContrast:"#c74e39",highContrastLight:"#ad0707"}},{id:"gitDecoration.conflictingResourceForeground",description:"%colors.conflict%",defaults:{light:"#ad0707",dark:"#e4676b",highContrast:"#c74e39",highContrastLight:"#ad0707"}},{id:"gitDecoration.submoduleResourceForeground",description:"%colors.submodule%",defaults:{light:"#1258a7",dark:"#8db9e2",highContrast:"#8db9e2",highContrastLight:"#1258a7"}},{id:"git.blame.editorDecorationForeground",description:"%colors.blameEditorDecoration%",defaults:{dark:"editorInlayHint.foreground",light:"editorInlayHint.foreground",highContrast:"editorInlayHint.foreground",highContrastLight:"editorInlayHint.foreground"}}],configurationDefaults:{"[git-commit]":{"editor.rulers":[50,72],"editor.wordWrap":"off","workbench.editor.restoreViewState":!1},"[git-rebase]":{"workbench.editor.restoreViewState":!1}},viewsWelcome:[{view:"scm",contents:"%view.workbench.scm.disabled%",when:"!config.git.enabled"},{view:"scm",contents:"%view.workbench.scm.missing%",when:"config.git.enabled && git.missing && remoteName != ''"},{view:"scm",contents:"%view.workbench.scm.missing.mac%",when:"config.git.enabled && git.missing && remoteName == '' && isMac"},{view:"scm",contents:"%view.workbench.scm.missing.windows%",when:"config.git.enabled && git.missing && remoteName == '' && isWindows"},{view:"scm",contents:"%view.workbench.scm.missing.linux%",when:"config.git.enabled && git.missing && remoteName == '' && isLinux"},{view:"scm",contents:"%view.workbench.scm.empty%",when:"config.git.enabled && !git.missing && workbenchState == empty && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0",enablement:"git.state == initialized",group:"2_open@1"},{view:"scm",contents:"%view.workbench.scm.emptyWorkspace%",when:"config.git.enabled && !git.missing && workbenchState == workspace && workspaceFolderCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0",enablement:"git.state == initialized",group:"2_open@1"},{view:"scm",contents:"%view.workbench.scm.scanFolderForRepositories%",when:"config.git.enabled && !git.missing && workbenchState == folder && workspaceFolderCount != 0 && git.state != initialized"},{view:"scm",contents:"%view.workbench.scm.scanWorkspaceForRepositories%",when:"config.git.enabled && !git.missing && workbenchState == workspace && workspaceFolderCount != 0 && git.state != initialized"},{view:"scm",contents:"%view.workbench.scm.folder%",when:"config.git.enabled && !git.missing && git.state == initialized && workbenchState == folder && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'",group:"5_scm@1"},{view:"scm",contents:"%view.workbench.scm.workspace%",when:"config.git.enabled && !git.missing && git.state == initialized && workbenchState == workspace && workspaceFolderCount != 0 && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'",group:"5_scm@1"},{view:"scm",contents:"%view.workbench.scm.repositoryInParentFolders%",when:"config.git.enabled && !git.missing && git.state == initialized && git.parentRepositoryCount == 1"},{view:"scm",contents:"%view.workbench.scm.repositoriesInParentFolders%",when:"config.git.enabled && !git.missing && git.state == initialized && git.parentRepositoryCount > 1"},{view:"scm",contents:"%view.workbench.scm.unsafeRepository%",when:"config.git.enabled && !git.missing && git.state == initialized && git.unsafeRepositoryCount == 1"},{view:"scm",contents:"%view.workbench.scm.unsafeRepositories%",when:"config.git.enabled && !git.missing && git.state == initialized && git.unsafeRepositoryCount > 1"},{view:"scm",contents:"%view.workbench.scm.closedRepository%",when:"config.git.enabled && !git.missing && git.state == initialized && git.closedRepositoryCount == 1"},{view:"scm",contents:"%view.workbench.scm.closedRepositories%",when:"config.git.enabled && !git.missing && git.state == initialized && git.closedRepositoryCount > 1"},{view:"explorer",contents:"%view.workbench.cloneRepository%",when:"config.git.enabled && git.state == initialized && scm.providerCount == 0",group:"5_scm@1"},{view:"explorer",contents:"%view.workbench.learnMore%",when:"config.git.enabled && git.state == initialized && scm.providerCount == 0",group:"5_scm@10"}]},dependencies:{"@joaomoreno/unique-names-generator":"^5.2.0","@vscode/extension-telemetry":"^0.9.8",byline:"^5.0.0","file-type":"16.5.4",picomatch:"2.3.1","vscode-uri":"^2.0.0",which:"4.0.0"},devDependencies:{"@types/byline":"4.2.31","@types/mocha":"^10.0.10","@types/node":"22.x","@types/picomatch":"2.3.0","@types/which":"3.0.0"},repository:{type:"git",url:"https://github.com/microsoft/vscode.git"}}});var bM={};Pu(bM,{_activate:()=>c0,activate:()=>hM,deactivate:()=>fM,getExtensionContext:()=>ev});module.exports=xu(bM);var ke=require("vscode");var Lr=require("fs"),Pe=st(require("path")),nf=st(require("os")),bs=st(require("child_process")),kw=require("url"),Ow=st(XC()),Mw=require("events"),Lw=st(gw());var be=require("vscode"),di=require("path"),Iu=require("fs"),bw=st(Cy()),Ry=process.platform==="darwin",un=process.platform==="win32",qm=be.env.remoteName!==void 0,mI=process.platform==="linux",Qm=mI&&!!process.env.SNAP&&!!process.env.SNAP_REVISION;function Ge(i){return i.forEach(e=>e.dispose()),[]}function Mr(i){return{dispose:i}}function vs(i){return Mr(()=>Ge(i))}var dn=Mr(()=>null);function pa(i,e){return(t,r,n)=>i(o=>t.call(r,e(o)),null,n)}function Ue(i,e){return(t,r,n)=>i(o=>e(o)&&t.call(r,o),null,n)}function Sy(i,e,t){return e(t),i(r=>e(r))}function ii(...i){return(e,t,r)=>{let n=vs(i.map(o=>o(a=>e.call(t,a))));return r?.push(n),n}}function Py(i){return i.then(()=>{})}function wo(i){return(e,t,r)=>{let n=i(o=>(n.dispose(),e.call(t,o)),null,r);return n}}function Ew(i,e){return(t,r,n)=>{let o;return i(a=>{clearTimeout(o),o=setTimeout(()=>t.call(r,a),e)},null,n)}}function Ai(i){return new Promise(e=>wo(i)(e))}function Xm(i,...e){for(let t of e)Object.keys(t).forEach(r=>i[r]=t[r]);return i}function Cw(i,e){return i.reduce((t,r)=>{let n=e(r);return t[n]=[...t[n]||[],r],t},Object.create(null))}function Kc(i){return i.filter(e=>!!e)}async function xy(i,e){let t=async()=>{try{await Iu.promises.mkdir(i,e)}catch(r){if(r.code==="EEXIST"){if((await Iu.promises.stat(i)).isDirectory())return;throw new Error(`'${i}' exists and is not a directory.`)}throw r}};if(i===(0,di.dirname)(i))return!0;try{await t()}catch(r){if(r.code!=="ENOENT")throw r;await xy((0,di.dirname)(i),e),await t()}return!0}function ww(i,e){let t;return i.some(r=>e(r)?(t=r,!0):!1),t}async function Dw(i,e){return new Promise((t,r)=>{let n=(0,Iu.createReadStream)(i,{encoding:"utf8"}),o=(0,bw.default)(n);o.on("data",a=>{e.test(a)&&(n.close(),t(!0))}),o.on("error",r),o.on("end",()=>t(!1))})}function Rw(i,e){return new Promise((t,r)=>{let n=!1,o=Buffer.allocUnsafe(e),a=0;i.on("data",s=>{let c=Math.min(e-a,s.length);s.copy(o,a,0,c),a+=c,a===e&&i.destroy()}),i.on("error",s=>{n||(n=!0,r(s))}),i.on("close",()=>{n||(n=!0,t(o.slice(0,a)))})})}function Sw(i){if(i.length<2)return null;let e=i.readUInt8(0),t=i.readUInt8(1);if(e===254&&t===255)return"utf16be";if(e===255&&t===254)return"utf16le";if(i.length<3)return null;let r=i.readUInt8(2);return e===239&&t===187&&r===191?"utf8":null}function mi(i,e=20,t=!0){return i.length<=e?i:`${i.substring(0,e)}${t?"\u2026":""}`}function Nu(i){let e=i.indexOf(`
`);return e===-1?i:mi(i,e,!1)}function zm(i){return(un||Ry)&&(i=i.toLowerCase()),/[/\\]$/.test(i)&&(i=i.substring(0,i.length-1)),(0,di.normalize)(i)}function Qt(i,e){return i===e?!0:(i=zm(i),e=zm(e),i.charAt(i.length-1)!==di.sep&&(i+=di.sep),e.startsWith(i))}function et(i,e){return zm(i)===zm(e)}function jc(i,e){return Zm(i,e)??(0,di.relative)(i,e)}function Zm(i,e){if(i.charAt(i.length-1)!==di.sep&&(i+=di.sep),Qt(i,e)&&i.length<e.length)return e.substring(i.length)}function*Vc(i,e){let t=[],r=0;for(let n of i){let o=r+n.length;o>e&&t.length>0&&(yield t,t=[],o=n.length),t.push(n),r=o}t.length>0&&(yield t)}function Ty(i){return!fI(i)}function fI(i){return pI(i)||i===null}function pI(i){return typeof i>"u"}var ys=class{runningPromises;maxDegreeOfParalellism;outstandingPromises;constructor(e){this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0}queue(e){return new Promise((t,r)=>{this.outstandingPromises.push({factory:e,c:t,e:r}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){let e=this.outstandingPromises.shift();this.runningPromises++;let t=e.factory();t.then(e.c,e.e),t.then(()=>this.consumed(),()=>this.consumed())}}consumed(){this.runningPromises--,this.outstandingPromises.length>0&&this.consume()}},Jm=class{_onDidComplete=new be.EventEmitter;_promise;get promise(){return this._promise?this._promise:Ai(this._onDidComplete.event).then(e=>{if(e.success)return e.value;throw e.err})}resolve(e){this._promise||(this._promise=Promise.resolve(e),this._onDidComplete.fire({success:!0,value:e}))}reject(e){this._promise||(this._promise=Promise.reject(e),this._onDidComplete.fire({success:!1,err:e}))}},ku;(r=>{function i(n,o){return typeof n=="string"&&(n=t(n)),typeof o=="string"&&(o=t(o)),n.major>o.major?1:n.major<o.major?-1:n.minor>o.minor?1:n.minor<o.minor?-1:n.patch>o.patch?1:n.patch<o.patch?-1:n.pre===void 0&&o.pre!==void 0?1:n.pre!==void 0&&o.pre===void 0?-1:n.pre!==void 0&&o.pre!==void 0?n.pre.localeCompare(o.pre):0}r.compare=i;function e(n,o,a,s){return{major:typeof n=="string"?parseInt(n,10):n,minor:typeof o=="string"?parseInt(o,10):o,patch:a==null?0:typeof a=="string"?parseInt(a,10):a,pre:s}}r.from=e;function t(n){let[o,a]=n.split("-"),[s,c,l]=o.split(".");return e(s,c,l,a)}r.fromString=t})(ku||={});function Pw(i,e){if(i.length===0)return{added:e,modified:[],removed:[]};let t=[],r=[],n=[],o=0,a=0;for(;;){if(o===i.length){t.push(...e.slice(a));break}if(a===e.length){n.push(...i.slice(o));break}let s=i[o],c=e[a],l=s.id.localeCompare(c.id);l===0?(s.revision!==c.revision&&r.push(c),o+=1,a+=1):l<0?(n.push(s),o+=1):l>0&&(t.push(c),a+=1)}return{added:t,modified:r,removed:n}}var wy=60,Dy=wy*60,Au=Dy*24,yw=Au*7,vw=Au*30,_w=Au*365;function Do(i,e,t,r){typeof i!="number"&&(i=i.getTime());let n=Math.round((new Date().getTime()-i)/1e3);if(n<-30)return be.l10n.t("in {0}",Do(new Date().getTime()+n*1e3,!1));if(!r&&n<30)return be.l10n.t("now");let o;return n<wy?(o=n,e?o===1?t?be.l10n.t("{0} second ago",o):be.l10n.t("{0} sec ago",o):t?be.l10n.t("{0} seconds ago",o):be.l10n.t("{0} secs ago",o):o===1?t?be.l10n.t("{0} second",o):be.l10n.t("{0} sec",o):t?be.l10n.t("{0} seconds",o):be.l10n.t("{0} secs",o)):n<Dy?(o=Math.floor(n/wy),e?o===1?t?be.l10n.t("{0} minute ago",o):be.l10n.t("{0} min ago",o):t?be.l10n.t("{0} minutes ago",o):be.l10n.t("{0} mins ago",o):o===1?t?be.l10n.t("{0} minute",o):be.l10n.t("{0} min",o):t?be.l10n.t("{0} minutes",o):be.l10n.t("{0} mins",o)):n<Au?(o=Math.floor(n/Dy),e?o===1?t?be.l10n.t("{0} hour ago",o):be.l10n.t("{0} hr ago",o):t?be.l10n.t("{0} hours ago",o):be.l10n.t("{0} hrs ago",o):o===1?t?be.l10n.t("{0} hour",o):be.l10n.t("{0} hr",o):t?be.l10n.t("{0} hours",o):be.l10n.t("{0} hrs",o)):n<yw?(o=Math.floor(n/Au),e?o===1?be.l10n.t("{0} day ago",o):be.l10n.t("{0} days ago",o):o===1?be.l10n.t("{0} day",o):be.l10n.t("{0} days",o)):n<vw?(o=Math.floor(n/yw),e?o===1?t?be.l10n.t("{0} week ago",o):be.l10n.t("{0} wk ago",o):t?be.l10n.t("{0} weeks ago",o):be.l10n.t("{0} wks ago",o):o===1?t?be.l10n.t("{0} week",o):be.l10n.t("{0} wk",o):t?be.l10n.t("{0} weeks",o):be.l10n.t("{0} wks",o)):n<_w?(o=Math.floor(n/vw),e?o===1?t?be.l10n.t("{0} month ago",o):be.l10n.t("{0} mo ago",o):t?be.l10n.t("{0} months ago",o):be.l10n.t("{0} mos ago",o):o===1?t?be.l10n.t("{0} month",o):be.l10n.t("{0} mo",o):t?be.l10n.t("{0} months",o):be.l10n.t("{0} mos",o)):(o=Math.floor(n/_w),e?o===1?t?be.l10n.t("{0} year ago",o):be.l10n.t("{0} yr ago",o):t?be.l10n.t("{0} years ago",o):be.l10n.t("{0} yrs ago",o):o===1?t?be.l10n.t("{0} year",o):be.l10n.t("{0} yr",o):t?be.l10n.t("{0} years",o):be.l10n.t("{0} yrs",o))}function _s(i,e){let r=be.workspace.getConfiguration("git",i).get("commitShortHashLength",7);return e.substring(0,r)}function ef(i){return i.references?.length?i.references[0].name:i.displayId??i.id}function Iy(i){return i==="error"?be.DiagnosticSeverity.Error:i==="warning"?be.DiagnosticSeverity.Warning:i==="information"?be.DiagnosticSeverity.Information:be.DiagnosticSeverity.Hint}function Ay(i,e){let t=i[e];if(!t.match(/^["']/))return t.replace(/^["']+|["':]+$/g,"");let r=t[0];if(t.endsWith(r)&&t.length>1)return t.slice(1,-1);let n=t;for(let o=e+1;o<i.length;o++)if(n=`${n} ${i[o]}`,i[o].endsWith(r))return n.slice(1,-1);return n.slice(1)}function xw(i){if(!i.commitDate&&!i.branchName)return;let e=[];return i.commitDate&&e.push(Do(i.commitDate)),i.branchName&&e.push(i.branchName),e.join(" \u2022 ")}function Ou(i){return(0,di.basename)(i).startsWith("copilot-")}var Dr=require("vscode");var mn=Object.freeze({Force:0,ForceWithLease:1,ForceWithLeaseIfIncludes:2}),de=Object.freeze({Head:0,RemoteHead:1,Tag:2}),C=Object.freeze({INDEX_MODIFIED:0,INDEX_ADDED:1,INDEX_DELETED:2,INDEX_RENAMED:3,INDEX_COPIED:4,MODIFIED:5,DELETED:6,UNTRACKED:7,IGNORED:8,INTENT_TO_ADD:9,INTENT_TO_RENAME:10,TYPE_CHANGED:11,ADDED_BY_US:12,ADDED_BY_THEM:13,DELETED_BY_US:14,DELETED_BY_THEM:15,BOTH_ADDED:16,BOTH_DELETED:17,BOTH_MODIFIED:18}),X=Object.freeze({BadConfigFile:"BadConfigFile",BadRevision:"BadRevision",AuthenticationFailed:"AuthenticationFailed",NoUserNameConfigured:"NoUserNameConfigured",NoUserEmailConfigured:"NoUserEmailConfigured",NoRemoteRepositorySpecified:"NoRemoteRepositorySpecified",NotAGitRepository:"NotAGitRepository",NotASafeGitRepository:"NotASafeGitRepository",NotAtRepositoryRoot:"NotAtRepositoryRoot",Conflict:"Conflict",StashConflict:"StashConflict",UnmergedChanges:"UnmergedChanges",PushRejected:"PushRejected",ForcePushWithLeaseRejected:"ForcePushWithLeaseRejected",ForcePushWithLeaseIfIncludesRejected:"ForcePushWithLeaseIfIncludesRejected",RemoteConnectionError:"RemoteConnectionError",DirtyWorkTree:"DirtyWorkTree",CantOpenResource:"CantOpenResource",GitNotFound:"GitNotFound",CantCreatePipe:"CantCreatePipe",PermissionDenied:"PermissionDenied",CantAccessRemote:"CantAccessRemote",RepositoryNotFound:"RepositoryNotFound",RepositoryIsLocked:"RepositoryIsLocked",BranchNotFullyMerged:"BranchNotFullyMerged",NoRemoteReference:"NoRemoteReference",InvalidBranchName:"InvalidBranchName",BranchAlreadyExists:"BranchAlreadyExists",NoLocalChanges:"NoLocalChanges",NoStashFound:"NoStashFound",LocalChangesOverwritten:"LocalChangesOverwritten",NoUpstreamBranch:"NoUpstreamBranch",IsInSubmodule:"IsInSubmodule",WrongCase:"WrongCase",CantLockRef:"CantLockRef",CantRebaseMultipleBranches:"CantRebaseMultipleBranches",PatchDoesNotApply:"PatchDoesNotApply",NoPathFound:"NoPathFound",UnknownPath:"UnknownPath",EmptyCommitMessage:"EmptyCommitMessage",BranchFastForwardRejected:"BranchFastForwardRejected",BranchNotYetBorn:"BranchNotYetBorn",TagConflict:"TagConflict",CherryPickEmpty:"CherryPickEmpty",CherryPickConflict:"CherryPickConflict",WorktreeContainsChanges:"WorktreeContainsChanges",WorktreeAlreadyExists:"WorktreeAlreadyExists",WorktreeBranchAlreadyUsed:"WorktreeBranchAlreadyUsed"});var Bw=st(Cy()),Fw=require("string_decoder"),Mu=3e4;function Gw(i){return i.replace(/^git version /,"")}function of(i,e){return new Promise((t,r)=>{if(!e(i))return r(new Error(`Path "${i}" is invalid.`));let n=[],o=bs.spawn(i,["--version"]);o.stdout.on("data",a=>n.push(a)),o.on("error",Ly(r)),o.on("close",a=>a?r(new Error(`Not found. Code: ${a}`)):t({path:i,version:Gw(Buffer.concat(n).toString("utf8").trim())}))})}function gI(i){return new Promise((e,t)=>{bs.exec("which git",(r,n)=>{if(r)return t(new Error(`Executing "which git" failed: ${r.message}`));let o=n.toString().trim();function a(s){if(!i(s))return t(new Error(`Path "${s}" is invalid.`));bs.exec("git --version",(c,l)=>c?t(new Error(`Executing "git --version" failed: ${c.message}`)):e({path:s,version:Gw(l.trim())}))}if(o!=="/usr/bin/git")return a(o);bs.exec("xcode-select -p",s=>{if(s&&s.code===2)return t(new Error('Executing "xcode-select -p" failed with error code 2.'));a(o)})})})}function tf(i,e){return i?of(Pe.join(i,"Git","cmd","git.exe"),e):Promise.reject("Not found")}async function hI(i){let e=await(0,Ow.default)("git.exe");return of(e,i)}function yI(i){return tf(process.env.ProgramW6432,i).then(void 0,()=>tf(process.env["ProgramFiles(x86)"],i)).then(void 0,()=>tf(process.env.ProgramFiles,i)).then(void 0,()=>tf(Pe.join(process.env.LocalAppData,"Programs"),i)).then(void 0,()=>hI(i))}async function Hw(i,e,t){for(let r of i)try{return await of(r,e)}catch(n){t.info(`Unable to find git on the PATH: "${r}". Error: ${n.message}`)}try{switch(process.platform){case"darwin":return await gI(e);case"win32":return await yI(e);default:return await of("git",e)}}catch(r){t.warn(`Unable to find git. Error: ${r.message}`)}throw new Error("Git installation not found.")}function Ly(i){return e=>{/ENOENT/.test(e.message)&&(e=new Ut({error:e,message:"Failed to execute git (ENOENT)",gitErrorCode:X.NotAGitRepository})),i(e)}}async function Oy(i,e){if(!i.stdout||!i.stderr)throw new Ut({message:"Failed to get stdout or stderr from git process."});if(e&&e.isCancellationRequested)throw new Dr.CancellationError;let t=[],r=(a,s,c)=>{a.once(s,c),t.push(Mr(()=>a.removeListener(s,c)))},n=(a,s,c)=>{a.on(s,c),t.push(Mr(()=>a.removeListener(s,c)))},o=Promise.all([new Promise((a,s)=>{r(i,"error",Ly(s)),r(i,"exit",a)}),new Promise(a=>{let s=[];n(i.stdout,"data",c=>s.push(c)),r(i.stdout,"close",()=>a(Buffer.concat(s)))}),new Promise(a=>{let s=[];n(i.stderr,"data",c=>s.push(c)),r(i.stderr,"close",()=>a(Buffer.concat(s).toString("utf8")))})]);if(e){let a=new Promise((s,c)=>{wo(e.onCancellationRequested)(()=>{try{i.kill()}catch{}c(new Dr.CancellationError)})});o=Promise.race([o,a])}try{let[a,s,c]=await o;return{exitCode:a,stdout:s,stderr:c}}finally{Ge(t)}}var Ut=class extends Error{error;stdout;stderr;exitCode;gitErrorCode;gitCommand;gitArgs;constructor(e){super(e.error?.message||e.message||"Git error"),this.error=e.error,this.stdout=e.stdout,this.stderr=e.stderr,this.exitCode=e.exitCode,this.gitErrorCode=e.gitErrorCode,this.gitCommand=e.gitCommand,this.gitArgs=e.gitArgs}toString(){let e=this.message+" "+JSON.stringify({exitCode:this.exitCode,gitErrorCode:this.gitErrorCode,gitCommand:this.gitCommand,stdout:this.stdout,stderr:this.stderr},null,2);return this.error?.stack&&(e+=this.error.stack),e}};function Uw(i){if(/Another git process seems to be running in this repository|If no other git process is currently running/.test(i))return X.RepositoryIsLocked;if(/Authentication failed/i.test(i))return X.AuthenticationFailed;if(/Not a git repository/i.test(i))return X.NotAGitRepository;if(/bad config file/.test(i))return X.BadConfigFile;if(/cannot make pipe for command substitution|cannot create standard input pipe/.test(i))return X.CantCreatePipe;if(/Repository not found/.test(i))return X.RepositoryNotFound;if(/unable to access/.test(i))return X.CantAccessRemote;if(/branch '.+' is not fully merged/.test(i))return X.BranchNotFullyMerged;if(/Couldn\'t find remote ref/.test(i))return X.NoRemoteReference;if(/A branch named '.+' already exists/.test(i))return X.BranchAlreadyExists;if(/'.+' is not a valid branch name/.test(i))return X.InvalidBranchName;if(/Please,? commit your changes or stash them/.test(i))return X.DirtyWorkTree;if(/detected dubious ownership in repository at/.test(i))return X.NotASafeGitRepository;if(/contains modified or untracked files|use --force to delete it/.test(i))return X.WorktreeContainsChanges;if(/fatal: '[^']+' already exists/.test(i))return X.WorktreeAlreadyExists;if(/is already used by worktree at/.test(i))return X.WorktreeBranchAlreadyUsed}function Yw(i){return i.replace(/^([a-z]):\\/i,(e,t)=>`${t.toUpperCase()}:\\`)}function rf(i){return i.replace(/\\/g,"/")}var Ny="%H%n%aN%n%aE%n%at%n%ct%n%P%n%D%n%B",vI="%H%n%P%n%gd%n%gs%n%at%n%ct",af=class{path;userAgent;version;env;commandsToLog=[];_onOutput=new Mw.EventEmitter;get onOutput(){return this._onOutput}constructor(e){this.path=e.gitPath,this.version=e.version,this.userAgent=e.userAgent,this.env=e.env||{};let t=r=>{if(r!==void 0&&!r.affectsConfiguration("git.commandsToLog"))return;let n=Dr.workspace.getConfiguration("git");this.commandsToLog=n.get("commandsToLog",[])};Dr.workspace.onDidChangeConfiguration(t,this),t()}compareGitVersionTo(e){return ku.compare(ku.fromString(this.version),ku.fromString(e))}open(e,t,r,n){return new ga(this,e,t,r,n)}async init(e,t={}){let r=["init"];t.defaultBranch&&t.defaultBranch!==""&&this.compareGitVersionTo("2.28.0")!==-1&&r.push("-b",t.defaultBranch),await this.exec(e,r)}async clone(e,t,r){let n=t.targetName||decodeURI(e).replace(/[\/]+$/,"").replace(/^.*[\/\\]/,"").replace(/\.git$/,"")||"repository",o=n,a=Pe.join(t.parentPath,o),s=1;if(!t.targetName)for(;s<20&&await new Promise(l=>(0,Lr.exists)(a,l));)o=`${n}-${s++}`,a=Pe.join(t.parentPath,o);await xy(t.parentPath);let c=l=>{let u=new Fw.StringDecoder("utf8"),m=new Bw.LineStream({encoding:"utf8"});l.stderr.on("data",p=>m.write(u.write(p)));let f=0,g=0;m.on("data",p=>{let v=null;(v=/Counting objects:\s*(\d+)%/i.exec(p))?f=Math.floor(parseInt(v[1])*.1):(v=/Compressing objects:\s*(\d+)%/i.exec(p))?f=10+Math.floor(parseInt(v[1])*.1):(v=/Receiving objects:\s*(\d+)%/i.exec(p))?f=20+Math.floor(parseInt(v[1])*.4):(v=/Resolving deltas:\s*(\d+)%/i.exec(p))&&(f=60+Math.floor(parseInt(v[1])*.4)),f!==g&&(t.progress.report({increment:f-g}),g=f)})};try{let l=["clone",e.includes(" ")?encodeURI(e):e,a,"--progress"];t.recursive&&l.push("--recursive"),t.ref&&l.push("--branch",t.ref),await this.exec(t.parentPath,l,{cancellationToken:r,env:{GIT_HTTP_USER_AGENT:this.userAgent},onSpawn:c})}catch(l){throw l.stderr&&(l.stderr=l.stderr.replace(/^Cloning.+$/m,"").trim(),l.stderr=l.stderr.replace(/^ERROR:\s+/,"").trim()),l}return a}async getRepositoryRoot(e){let t=await this.exec(e,["rev-parse","--show-toplevel"]),r=Pe.normalize(t.stdout.trimStart().replace(/[\r\n]+$/,""));if(!et(e,r)&&!Qt(r,e)&&!Qt(e,r)&&this.compareGitVersionTo("2.31.0")!==-1){let n=await this.exec(e,["rev-parse","--path-format=relative","--show-toplevel"]);return Pe.resolve(e,n.stdout.trimStart().replace(/[\r\n]+$/,""))}if(un){let n=Dr.Uri.file(r),o=Dr.Uri.file(e);if(n.authority.length!==0&&o.authority.length===0){let a=/^[\/]?([a-zA-Z])[:\/]/.exec(o.path);if(a!==null){let[,s]=a;try{let c=await new Promise(l=>Lr.realpath.native(`${s}:\\`,{encoding:"utf8"},(u,m)=>l(u!==null?void 0:m)));if(c!==void 0){let l=et(n.fsPath,c);return Pe.normalize(n.fsPath.replace(c,`${s.toLowerCase()}:${l||c.endsWith("\\")?"\\":""}`))}}catch{}}return Pe.normalize(o.fsPath)}}return r}async getRepositoryDotGit(e){let t,r,n,o=["rev-parse","--git-dir","--git-common-dir"];this.compareGitVersionTo("2.13.0")>=0&&o.push("--show-superproject-working-tree"),[t,r,n]=(await this.exec(e,o)).stdout.split(`
`).map(u=>u.trim()),Pe.isAbsolute(t)||(t=Pe.join(e,t)),t=Pe.normalize(t),r&&(Pe.isAbsolute(r)||(r=Pe.join(e,r)),r=Pe.normalize(r));let s=await Lr.promises.readFile(Pe.join(r??t,"config"),"utf8");return{isBare:Lu.parse(s).find(u=>u.name==="core")?.properties.bare==="true",path:t,commonPath:r!==t?r:void 0,superProjectPath:n?Pe.normalize(n):void 0}}async exec(e,t,r={}){return r=Xm({cwd:e},r||{}),await this._exec(t,r)}async exec2(e,t={}){return await this._exec(e,t)}stream(e,t,r={}){r=Xm({cwd:e},r||{});let n=this.spawn(t,r);if(r.log!==!1){let o=Date.now();n.on("exit",a=>{this.log(`> git ${t.join(" ")} [${Date.now()-o}ms]${n.killed?" (cancelled)":""}
`)})}return n}async _exec(e,t={}){let r=this.spawn(e,t);t.onSpawn?.(r),t.input&&r.stdin.end(t.input,"utf8");let n=Date.now(),o;try{o=await Oy(r,t.cancellationToken)}catch(s){throw s instanceof Dr.CancellationError&&this.log(`> git ${e.join(" ")} [${Date.now()-n}ms] (cancelled)
`),s}t.log!==!1&&(this.log(`> git ${e.join(" ")} [${Date.now()-n}ms]
`),o.stdout.length>0&&e.find(s=>this.commandsToLog.includes(s))&&this.log(`${o.stdout}
`),o.stderr.length>0&&this.log(`${o.stderr}
`));let a={exitCode:o.exitCode,stdout:o.stdout.toString("utf8"),stderr:o.stderr};return o.exitCode?Promise.reject(new Ut({message:"Failed to execute git",stdout:a.stdout,stderr:a.stderr,exitCode:a.exitCode,gitErrorCode:Uw(a.stderr),gitCommand:e[0],gitArgs:e})):a}spawn(e,t={}){if(!this.path)throw new Error("git could not be found in the system.");t||(t={}),!t.stdio&&!t.input&&(t.stdio=["ignore",null,null]),t.env=Xm({},process.env,this.env,t.env||{},{VSCODE_GIT_COMMAND:e[0],LANGUAGE:"en",LC_ALL:"en_US.UTF-8",LANG:"en_US.UTF-8",GIT_PAGER:"cat"});let r=this.getCwd(t);return r&&(t.cwd=Yw(r)),bs.spawn(this.path,e,t)}getCwd(e){let t=e.cwd;if(typeof t>"u"||typeof t=="string")return t;if(t.protocol==="file:")return(0,kw.fileURLToPath)(t)}log(e){this._onOutput.emit("log",e)}async mergeFile(e){let t=["merge-file","-p",e.input1Path,e.basePath,e.input2Path];e.diff3?t.push("--diff3"):t.push("--no-diff3");try{return(await this.exec(nf.homedir(),t)).stdout}catch(r){if(typeof r.stdout=="string")return r.stdout;throw r}}async addSafeDirectory(e){await this.exec(nf.homedir(),["config","--global","--add","safe.directory",e])}},Lu=class i{static _lineSeparator=/\r?\n/;static _propertyRegex=/^\s*(\w+)\s*=\s*"?([^"]+)"?$/;static _sectionRegex=/^\s*\[\s*([^\]]+?)\s*(\"[^"]+\")*\]\s*$/;static parse(e){let t={sections:[]},r={name:"DEFAULT",properties:{}},n=o=>{o&&t.sections.push(o)};for(let o of e.split(i._lineSeparator)){let a=o.match(i._sectionRegex);if(a?.length===3){n(r),r={name:a[1],subSectionName:a[2]?.replaceAll('"',""),properties:{}};continue}let s=o.match(i._propertyRegex);s?.length===3&&!Object.keys(r.properties).includes(s[1])&&(r.properties[s[1]]=s[2])}return n(r),t.sections}},My=class{lastRaw="";result=[];get status(){return this.result}update(e){let t=0,r;for(e=this.lastRaw+e;(r=this.parseEntry(e,t))!==void 0;)t=r;this.lastRaw=e.substr(t)}parseEntry(e,t){if(t+4>=e.length)return;let r,n={x:e.charAt(t++),y:e.charAt(t++),rename:void 0,path:""};if(t++,n.x==="R"||n.y==="R"||n.x==="C"){if(r=e.indexOf("\0",t),r===-1)return;n.rename=e.substring(t,r),t=r+1}if(r=e.indexOf("\0",t),r!==-1)return n.path=e.substring(t,r),n.path[n.path.length-1]!=="/"&&this.result.push(n),r+1}};function _I(i){let e=[];for(let t of Lu.parse(i).filter(r=>r.name==="submodule"))t.subSectionName&&t.properties.path&&t.properties.url&&e.push({name:t.subSectionName,path:t.properties.path,url:t.properties.url});return e}function bI(i){let e=[];for(let t of Lu.parse(i).filter(r=>r.name==="remote"))t.subSectionName&&e.push({name:t.subSectionName,fetchUrl:t.properties.url,pushUrl:t.properties.pushurl??t.properties.url,isReadOnly:!1});return e}var EI=/([0-9a-f]{40})\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)(?:\n([^]*?))?(?:\x00)(?:\n((?:.*)files? changed(?:.*))$)?/gm;function ky(i){let e=[],t,r,n,o,a,s,c,l,u,m;do{if(m=EI.exec(i),m===null)break;[,t,r,n,o,a,s,c,l,u]=m,l[l.length-1]===`
`&&(l=l.substr(0,l.length-1)),e.push({hash:` ${t}`.substr(1),message:` ${l}`.substr(1),parents:s?s.split(" "):[],authorDate:new Date(Number(o)*1e3),authorName:` ${r}`.substr(1),authorEmail:` ${n}`.substr(1),commitDate:new Date(Number(a)*1e3),refNames:c.split(",").map(f=>f.trim()),shortStat:u?Ww(u):void 0,coAuthors:CI(l)})}while(!0);return e}var Tw=/^Co-authored-by:\s*(.+?)\s*<([^>]+)>\s*$/gim;function CI(i){let e=[],t;for(Tw.lastIndex=0;(t=Tw.exec(i))!==null;){let r=t[1].trim(),n=t[2].trim();r&&n&&e.push({name:r,email:n})}return e}var wI=/(\d+) files? changed(?:, (\d+) insertions?\(\+\))?(?:, (\d+) deletions?\(-\))?/;function Ww(i){let e=i.trim().match(wI);if(!e)return{files:0,insertions:0,deletions:0};let[,t,r=void 0,n=void 0]=e;return{files:parseInt(t),insertions:parseInt(r??"0"),deletions:parseInt(n??"0")}}function DI(i){return i.split(`
`).filter(e=>!!e).map(e=>/^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/.exec(e)).filter(e=>!!e).map(([,e,t,r,n,o])=>({mode:e,type:t,object:r,size:n,file:o}))}function RI(i){return i.split(`
`).filter(e=>!!e).map(e=>/^(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/.exec(e)).filter(e=>!!e).map(([,e,t,r,n])=>({mode:e,object:t,stage:r,file:n}))}var SI=/([0-9a-f]{40})\n(.*)\nstash@{(\d+)}\n(WIP\s)?on\s([^:]+):\s(.*)\n(\d+)\n(\d+)(?:\x00)/gmi;function PI(i){let e=[],t,r,n,o,a,s,c,l,u;do{if(t=SI.exec(i),t===null)break;[,r,n,o,a,s,c,l,u]=t,e.push({hash:r,parents:n.split(" "),index:parseInt(o),branchName:s.trim(),description:a?`WIP (${c.trim()})`:c.trim(),authorDate:l?new Date(Number(l)*1e3):void 0,commitDate:u?new Date(Number(u)*1e3):void 0})}while(!0);return e}function Iw(i,e){let t=0,r=[],n=e.trim().split("\0").filter(o=>o);e:for(;t<n.length-1;){let o=n[t++],a=n[t++];if(!o||!a)break;let s=Dr.Uri.file(Pe.isAbsolute(a)?a:Pe.join(i,a)),c=s,l=s,u=C.UNTRACKED;switch(o[0]){case"A":u=C.INDEX_ADDED;break;case"M":u=C.MODIFIED;break;case"D":u=C.DELETED;break;case"R":{if(t>=n.length)break;let m=n[t++];if(!m)break;u=C.INDEX_RENAMED,c=l=Dr.Uri.file(Pe.isAbsolute(m)?m:Pe.join(i,m));break}default:break e}r.push({status:u,uri:c,originalUri:s,renameUri:l})}return r}function Aw(i,e){let t=[],r=new Map,n=0,o=e.trim().split("\0").filter(a=>a);e:for(;n<o.length;){let a=o[n++];if(!a)break;if(a.startsWith(":")){let[,,,,s]=a.split(" "),c=o[n++],l=Dr.Uri.file(Pe.isAbsolute(c)?c:Pe.join(i,c)),u=l,m=l,f=C.UNTRACKED;switch(s[0]){case"A":f=C.INDEX_ADDED;break;case"M":f=C.MODIFIED;break;case"D":f=C.DELETED;break;case"R":{if(n>=o.length)break;let g=o[n++];if(!g)break;f=C.INDEX_RENAMED,u=m=Dr.Uri.file(Pe.isAbsolute(g)?g:Pe.join(i,g));break}default:break e}t.push({status:f,uri:u,originalUri:l,renameUri:m})}else{let[s,c,l]=a.split("	"),u;if(l===""){n++;let m=o[n++];u=Pe.isAbsolute(m)?m:Pe.join(i,m)}else u=Pe.isAbsolute(l)?l:Pe.join(i,l);r.set(u,{insertions:s==="-"?0:parseInt(s),deletions:c==="-"?0:parseInt(c)})}}return t.map(a=>({...a,insertions:r.get(a.uri.fsPath)?.insertions??0,deletions:r.get(a.uri.fsPath)?.deletions??0}))}function xI(i){let e=/\r?\n/,t=/^([0-9a-f]{40})/gm,r=new Map,n,o,a,s,c,l,u;for(let m of i.split(e)){let f=m.match(t);if(!n&&f){let g=m.split(" ");n=f[0],l=Number(g[2]),u=Number(g[2])+Number(g[3])-1}if(n&&m.startsWith("author ")&&(o=m.substring(7)),n&&m.startsWith("author-mail ")&&(a=m.substring(13,m.length-1)),n&&m.startsWith("author-time ")&&(s=Number(m.substring(12))*1e3),n&&m.startsWith("summary ")&&(c=m.substring(8)),n&&l&&u&&m.startsWith("filename ")){let g=r.get(n);g?(g.ranges.push({startLineNumber:l,endLineNumber:u}),r.set(n,g)):r.set(n,{hash:n,authorName:o,authorEmail:a,authorDate:s,subject:c,ranges:[{startLineNumber:l,endLineNumber:u}]}),n=o=a=s=c=l=u=void 0}}return Array.from(r.values())}var $w="%(refname)%00%(objectname)%00%(*objectname)",Nw=`${$w}%00%(parent)%00%(*parent)%00%(authorname)%00%(*authorname)%00%(committerdate:unix)%00%(*committerdate:unix)%00%(subject)%00%(*subject)`;function TI(i){let e=/^(refs\/[^\0]+)\0([0-9a-f]{40})\0([0-9a-f]{40})?(?:\0(.*))?$/gm,t=/^refs\/heads\/([^ ]+)$/,r=/^refs\/remotes\/([^/]+)\/([^ ]+)$/,n=/^refs\/tags\/([^ ]+)$/,o=/\[(?:ahead ([0-9]+))?[,\s]*(?:behind ([0-9]+))?]|\[gone]/,a,s,c,l,u,m,f,g,p,v,_,P,w,R=[],T,L;do{if(T=e.exec(i),T===null)break;[,a,s,c,l]=T,[u,m,p,v,_,P,f,g,w]=l?.split("\0")??[];let W=m||u,$=g||f,G=v||p,Y=P||_,H=W&&$&&G&&Y?{hash:s,message:$,parents:W.split(" "),authorName:G,commitDate:Y?new Date(Number(Y)*1e3):void 0}:void 0;if(L=t.exec(a)){let[,I,ee]=o.exec(w)??[],ce=w?I?Number(I):0:void 0,x=w?ee?Number(ee):0:void 0;R.push({name:L[1],commit:s,commitDetails:H,ahead:ce,behind:x,type:de.Head})}else if(L=r.exec(a)){let I=`${L[1]}/${L[2]}`;R.push({name:I,remote:L[1],commit:s,commitDetails:H,type:de.RemoteHead})}else(L=n.exec(a))&&R.push({name:L[1],commit:c??s,commitDetails:H,type:de.Tag})}while(!0);return R}var ga=class{constructor(e,t,r,n,o){this._git=e;this.repositoryRoot=t;this.repositoryRootRealPath=r;this.dotGit=n;this.logger=o;this._kind=this.dotGit.commonPath?"worktree":this.dotGit.superProjectPath?"submodule":"repository"}_isUsingRefTable=!1;_kind;get kind(){return this._kind}get git(){return this._git}get root(){return this.repositoryRoot}get rootRealPath(){return this.repositoryRootRealPath}async exec(e,t={}){return await this.git.exec(this.repositoryRoot,e,t)}stream(e,t={}){return this.git.stream(this.repositoryRoot,e,t)}spawn(e,t={}){return this.git.spawn(e,t)}async config(e,t,r,n=null,o={}){let a=["config",`--${e}`];t&&a.push(`--${t}`),a.push(r),n&&a.push(n);try{return(await this.exec(a,o)).stdout.trim()}catch(s){return this.logger.warn(`[Git][config] git config failed: ${s.message}`),""}}async getConfigs(e){let t=["config"];return e&&t.push("--"+e),t.push("-l"),(await this.exec(t)).stdout.trim().split(/\r|\r\n|\n/).map(o=>{let a=o.indexOf("=");return{key:o.substr(0,a),value:o.substr(a+1)}})}async log(e,t){let r={cancellationToken:t},n=["log",`--format=${Ny}`,"-z"];e?.shortStats&&(n.push("--shortstat"),this._git.compareGitVersionTo("2.31")!==-1&&n.push("--diff-merges=first-parent")),e?.reverse&&n.push("--reverse","--ancestry-path"),e?.sortByAuthorDate&&n.push("--author-date-order"),e?.range?n.push(e.range):n.push(`-n${e?.maxEntries??32}`),e?.author&&n.push(`--author=${e.author}`),e?.grep&&(n.push(`--grep=${e.grep}`),n.push("--extended-regexp"),n.push("--regexp-ignore-case")),typeof e?.maxParents=="number"&&n.push(`--max-parents=${e.maxParents}`),typeof e?.skip=="number"&&n.push(`--skip=${e.skip}`),e?.refNames&&(n.push("--topo-order"),n.push("--decorate=full"),r.input=e.refNames.join(`
`),n.push("--stdin")),e?.path&&n.push("--",e.path);let o=await this.exec(n,r);return o.exitCode?[]:ky(o.stdout)}async logFile(e,t,r){let n=["log",`--format=${Ny}`,"-z"];t?.maxEntries&&!t?.reverse&&n.push(`-n${t.maxEntries}`),t?.hash&&(t?.reverse?n.push("--reverse","--ancestry-path",`${t.hash}..HEAD`):n.push(t.hash)),t?.shortStats&&n.push("--shortstat"),t?.sortByAuthorDate&&n.push("--author-date-order"),t?.follow&&n.push("--follow"),n.push("--",e.fsPath);try{let o=await this.exec(n,{cancellationToken:r});return o.exitCode?[]:ky(o.stdout)}catch(o){if(/does not have any commits yet/.test(o.stderr))return[];throw o}}async reflog(e,t){let r=["reflog",e,`--grep-reflog=${t}`],n=await this.exec(r);return n.exitCode?[]:n.stdout.split(`
`).filter(o=>!!o)}async buffer(e,t){let r=this.sanitizeRelativePath(t),n=this.stream(["show","--textconv",`${e}:${r}`]);if(!n.stdout)return Promise.reject("Can't open file from git");let{exitCode:o,stdout:a,stderr:s}=await Oy(n);if(o){let c=new Ut({message:"Could not show object.",exitCode:o});return/exists on disk, but not in/.test(s)&&(c.gitErrorCode=X.WrongCase),Promise.reject(c)}return a}async getObjectDetails(e,t){if(!e||e===":1"||e===":2"||e===":3"){let s=await this.lsfiles(t);if(s.length===0)throw new Ut({message:"Path not known by git",gitErrorCode:X.UnknownPath});let{mode:c,object:l}=e!==""?s.find(f=>f.stage===e.substring(1))??s[0]:s[0],u=await this.exec(["cat-file","-s",l]),m=parseInt(u.stdout);return{mode:c,object:l,size:m}}let r=await this.lstree(e,t);if(r.length===0)throw new Ut({message:"Path not known by git",gitErrorCode:X.UnknownPath});let{mode:n,object:o,size:a}=r[0];return{mode:n,object:o,size:parseInt(a)||0}}async lstree(e,t,r){let n=["ls-tree","-l"];r?.recursive&&n.push("-r"),n.push(e),t&&n.push("--",this.sanitizeRelativePath(t));let{stdout:o}=await this.exec(n);return DI(o)}async lsfiles(e){let t=["ls-files","--stage"],r=this.sanitizeRelativePath(e);r&&t.push("--",r);let{stdout:n}=await this.exec(t);return RI(n)}async getGitFilePath(e,t){let r=e?await this.lstree(e,void 0,{recursive:!0}):await this.lsfiles(this.repositoryRoot),n=this.sanitizeRelativePath(t).toLowerCase(),o=r.find(a=>a.file.toLowerCase()===n);if(!o)throw new Ut({message:`Git relative path not found. Was looking for ${n} among ${JSON.stringify(r.map(({file:a})=>a),null,2)}`});return Pe.join(this.repositoryRoot,o.file)}async detectObjectType(e){let t=await this.stream(["show","--textconv",e]),r=await Rw(t.stdout,4100);try{t.kill()}catch{}let n=Sw(r),o=!0;if(n!=="utf16be"&&n!=="utf16le"){for(let a=0;a<r.length;a++)if(r.readInt8(a)===0){o=!1;break}}if(!o){let a=await Lw.fromBuffer(r);return a?{mimetype:a.mime}:{mimetype:"application/octet-stream"}}return n?{mimetype:"text/plain",encoding:n}:{mimetype:"text/plain"}}async apply(e,t){let r=["apply",e];t?.allowEmpty&&r.push("--allow-empty"),t?.reverse&&r.push("--reverse"),t?.threeWay&&r.push("--3way");try{await this.exec(r)}catch(n){throw/patch does not apply/.test(n.stderr)&&(n.gitErrorCode=X.PatchDoesNotApply),n}}async diff(e=!1){let t=["diff"];return e&&t.push("--cached"),(await this.exec(t)).stdout}async diffWithHEAD(e){if(!e)return await this.diffFiles(void 0,{cached:!1});let t=["diff","--",this.sanitizeRelativePath(e)];return(await this.exec(t)).stdout}async diffWithHEADShortStats(e){return this.diffFilesShortStat(void 0,{cached:!1,path:e})}async diffWith(e,t){if(!t)return await this.diffFiles(e,{cached:!1});let r=["diff",e,"--",this.sanitizeRelativePath(t)];return(await this.exec(r)).stdout}async diffIndexWithHEAD(e){if(!e)return await this.diffFiles(void 0,{cached:!0});let t=["diff","--cached","--",this.sanitizeRelativePath(e)];return(await this.exec(t)).stdout}async diffIndexWithHEADShortStats(e){return this.diffFilesShortStat(void 0,{cached:!0,path:e})}async diffIndexWith(e,t){if(!t)return await this.diffFiles(e,{cached:!0});let r=["diff","--cached",e,"--",this.sanitizeRelativePath(t)];return(await this.exec(r)).stdout}async diffBlobs(e,t){let r=["diff",e,t];return(await this.exec(r)).stdout}async diffBetween(e,t,r){let n=`${e}...${t}`;if(!r)return await this.diffFiles(n,{cached:!1});let o=["diff",n,"--",this.sanitizeRelativePath(r)];return(await this.exec(o)).stdout.trim()}async diffBetweenPatch(e,t){let r=["diff",e,"--"];return t.path&&r.push(this.sanitizeRelativePath(t.path)),(await this.exec(r)).stdout}async diffBetweenWithStats(e,t){let r=["diff","--raw","--numstat","--diff-filter=ADMR","-z"];t.similarityThreshold&&r.push(`--find-renames=${t.similarityThreshold}%`),r.push(e,"--"),t.path&&r.push(this.sanitizeRelativePath(t.path));let n=await this.exec(r);return n.exitCode?[]:Aw(this.repositoryRoot,n.stdout)}async diffFiles(e,t){let r=["diff","--name-status","-z","--diff-filter=ADMR"];t.cached&&r.push("--cached"),t.similarityThreshold&&r.push(`--find-renames=${t.similarityThreshold}%`),e&&r.push(e),r.push("--");let n=await this.exec(r);return n.exitCode?[]:Iw(this.repositoryRoot,n.stdout)}async diffFilesShortStat(e,t){let r=["diff","--shortstat"];t.cached&&r.push("--cached"),e!==void 0&&r.push(e),r.push("--"),t.path&&r.push(this.sanitizeRelativePath(t.path));let n=await this.exec(r);return n.exitCode?{files:0,insertions:0,deletions:0}:Ww(n.stdout.trim())}async diffTrees(e,t,r){let n=["diff-tree","-r","--raw","--numstat","--diff-filter=ADMR","-z"];r?.similarityThreshold&&n.push(`--find-renames=${r.similarityThreshold}%`),n.push(e),t&&n.push(t),n.push("--");let o=await this.exec(n);return o.exitCode?[]:Aw(this.repositoryRoot,o.stdout)}async getMergeBase(e,t,...r){try{let n=["merge-base"];return r.length!==0&&(n.push("--octopus"),n.push(...r)),n.push(e,t),(await this.exec(n)).stdout.trim()}catch{return}}async hashObject(e){let t=["hash-object","-w","--stdin"];return(await this.exec(t,{input:e})).stdout.trim()}async add(e,t){let r=["add"];if(t&&t.update?r.push("-u"):r.push("-A"),e&&e.length)for(let n of Vc(e.map(o=>this.sanitizeRelativePath(o)),Mu))await this.exec([...r,"--",...n]);else await this.exec([...r,"--","."])}async rm(e){let t=["rm","--"];!e||!e.length||(t.push(...e.map(r=>this.sanitizeRelativePath(r))),await this.exec(t))}async stage(e,t){let r=this.sanitizeRelativePath(e),n=this.stream(["hash-object","--stdin","-w","--path",r],{stdio:[null,null,null]});if(!n.stdin)throw new Ut({message:"Failed to spawn git process",exitCode:-1});n.stdin.end(t);let{exitCode:o,stdout:a}=await Oy(n),s=a.toString("utf8");if(o)throw new Ut({message:"Could not hash object.",exitCode:o});let c=await this.getCommit("HEAD").then(()=>"HEAD",()=>""),l,u="";try{l=(await this.getObjectDetails(c,e)).mode}catch(m){if(m.gitErrorCode!==X.UnknownPath)throw m;l="100644",u="--add"}await this.exec(["update-index",u,"--cacheinfo",l,s,r])}async checkout(e,t,r=Object.create(null)){let n=["checkout","-q"];r.track&&n.push("--track"),r.detached&&n.push("--detach"),e&&n.push(e);try{if(t&&t.length>0)for(let o of Vc(t.map(a=>this.sanitizeRelativePath(a)),Mu))await this.exec([...n,"--",...o]);else await this.exec(n)}catch(o){throw/Please,? commit your changes or stash them/.test(o.stderr||"")?(o.gitErrorCode=X.DirtyWorkTree,o.gitTreeish=e):/You are on a branch yet to be born/.test(o.stderr||"")&&(o.gitErrorCode=X.BranchNotYetBorn),o}}async commit(e,t=Object.create(null)){let r=["commit","--quiet"],n={};e&&(n.input=e,r.push("--allow-empty-message","--file","-")),t.verbose&&r.push("--verbose"),t.all&&r.push("--all"),t.amend&&r.push("--amend"),t.useEditor||(e||(t.amend?r.push("--no-edit"):(n.input="",r.push("--file","-"))),r.push("--allow-empty-message")),t.signoff&&r.push("--signoff"),t.signCommit!==void 0&&(t.signCommit?r.push("-S"):r.push("--no-gpg-sign")),t.empty&&r.push("--allow-empty"),t.noVerify&&r.push("--no-verify"),(t.requireUserConfig??!0)&&r.splice(0,0,"-c","user.useConfigOnly=true");try{await this.exec(r,n)}catch(o){await this.handleCommitError(o)}}async rebaseAbort(){await this.exec(["rebase","--abort"])}async rebaseContinue(){let e=["rebase","--continue"];try{await this.exec(e,{env:{GIT_EDITOR:"true"}})}catch(t){await this.handleCommitError(t)}}async handleCommitError(e){if(e instanceof Ut&&/not possible because you have unmerged files/.test(e.stderr||""))throw e.gitErrorCode=X.UnmergedChanges,e;if(e instanceof Ut&&/Aborting commit due to empty commit message/.test(e.stderr||""))throw e.gitErrorCode=X.EmptyCommitMessage,e;try{await this.exec(["config","--get-all","user.name"])}catch(t){throw t.gitErrorCode=X.NoUserNameConfigured,t}try{await this.exec(["config","--get-all","user.email"])}catch(t){throw t.gitErrorCode=X.NoUserEmailConfigured,t}throw e}async branch(e,t,r){let n=t?["checkout","-q","-b",e,"--no-track"]:["branch","-q",e];r&&n.push(r),await this.exec(n)}async deleteBranch(e,t){let r=["branch",t?"-D":"-d",e];await this.exec(r)}async renameBranch(e){let t=["branch","-m",e];await this.exec(t)}async move(e,t){let r=["mv",e,t];await this.exec(r)}async setBranchUpstream(e,t){let r=["branch","--set-upstream-to",t,e];await this.exec(r)}async deleteRef(e){let t=["update-ref","-d",e];await this.exec(t)}async merge(e){let t=["merge",e];try{await this.exec(t)}catch(r){throw/^CONFLICT /m.test(r.stdout||"")&&(r.gitErrorCode=X.Conflict),r}}async mergeAbort(){await this.exec(["merge","--abort"])}async tag(e){let t=["tag"];e.message?t=[...t,"-a",e.name,"-m",e.message]:t=[...t,e.name],e.ref&&t.push(e.ref),await this.exec(t)}async deleteTag(e){let t=["tag","-d",e];await this.exec(t)}async addWorktree(e){let t=["worktree","add"];e.branch&&t.push("-b",e.branch),t.push(e.path,e.commitish),await this.exec(t)}async deleteWorktree(e,t){let r=["worktree","remove"];t?.force&&r.push("--force"),r.push(e),await this.exec(r)}async deleteRemoteRef(e,t,r){let n=["push",e,"--delete"];r?.force&&n.push("--force"),n.push(t),await this.exec(n)}async clean(e){let t=Cw(e.map(Yw),s=>Pe.dirname(s)),r=Object.keys(t).map(s=>t[s]),n=new ys(5),o=[],a=["clean","-f","-q"];for(let s of r)for(let c of Vc(s.map(l=>this.sanitizeRelativePath(l)),Mu))o.push(n.queue(()=>this.exec([...a,"--",...c])));await Promise.all(o)}async undo(){await this.exec(["clean","-fd"]);try{await this.exec(["checkout","--","."])}catch(e){if(/did not match any file\(s\) known to git\./.test(e.stderr||""))return;throw e}}async reset(e,t=!1){let r=["reset",t?"--hard":"--soft",e];await this.exec(r)}async revert(e,t){let r=await this.exec(["branch"]),n;r.stdout?n=["reset","-q",e]:n=["rm","--cached","-r"];try{if(t&&t.length>0)for(let o of Vc(t.map(a=>this.sanitizeRelativePath(a)),Mu))await this.exec([...n,"--",...o]);else await this.exec([...n,"--","."])}catch(o){if(/([^:]+: needs merge\n)+/m.test(o.stdout||""))return;throw o}}async addRemote(e,t){let r=["remote","add",e,t];await this.exec(r)}async removeRemote(e){let t=["remote","remove",e];await this.exec(t)}async renameRemote(e,t){let r=["remote","rename",e,t];await this.exec(r)}async fetch(e={}){let t=["fetch"],r={cancellationToken:e.cancellationToken,env:{GIT_HTTP_USER_AGENT:this.git.userAgent}};e.remote?(t.push(e.remote),e.ref&&t.push(e.ref)):e.all&&t.push("--all"),e.prune&&t.push("--prune"),typeof e.depth=="number"&&t.push(`--depth=${e.depth}`),e.silent&&(r.env.VSCODE_GIT_FETCH_SILENT="true");try{await this.exec(t,r)}catch(n){throw/No remote repository specified\./.test(n.stderr||"")?n.gitErrorCode=X.NoRemoteRepositorySpecified:/Could not read from remote repository/.test(n.stderr||"")?n.gitErrorCode=X.RemoteConnectionError:/! \[rejected\].*\(non-fast-forward\)/m.test(n.stderr||"")&&(n.gitErrorCode=X.BranchFastForwardRejected),n}}async fetchTags(e){let t=["fetch"],r={env:{GIT_HTTP_USER_AGENT:this.git.userAgent}};t.push(e.remote);for(let n of e.tags)t.push(`refs/tags/${n}:refs/tags/${n}`);e.force&&t.push("--force"),await this.exec(t,r)}async pull(e,t,r,n={}){let o=["pull"];n.tags&&o.push("--tags"),n.unshallow&&o.push("--unshallow"),n.autoStash&&this._git.compareGitVersionTo("2.27.0")!==-1&&o.push("--autostash"),e&&o.push("-r"),t&&r&&(o.push(t),o.push(r));try{await this.exec(o,{cancellationToken:n.cancellationToken,env:{GIT_HTTP_USER_AGENT:this.git.userAgent}})}catch(a){throw/^CONFLICT \([^)]+\): \b/m.test(a.stdout||"")?a.gitErrorCode=X.Conflict:/Please tell me who you are\./.test(a.stderr||"")?a.gitErrorCode=X.NoUserNameConfigured:/Could not read from remote repository/.test(a.stderr||"")?a.gitErrorCode=X.RemoteConnectionError:/Pull(?:ing)? is not possible because you have unmerged files|Cannot pull with rebase: You have unstaged changes|Your local changes to the following files would be overwritten|Please, commit your changes before you can merge/i.test(a.stderr)?(a.stderr=a.stderr.replace(/Cannot pull with rebase: You have unstaged changes/i,"Cannot pull with rebase, you have unstaged changes"),a.gitErrorCode=X.DirtyWorkTree):/cannot lock ref|unable to update local ref/i.test(a.stderr||"")?a.gitErrorCode=X.CantLockRef:/cannot rebase onto multiple branches/i.test(a.stderr||"")?a.gitErrorCode=X.CantRebaseMultipleBranches:/! \[rejected\].*\(would clobber existing tag\)/m.test(a.stderr||"")&&(a.gitErrorCode=X.TagConflict),a}}async rebase(e,t={}){let r=["rebase"];r.push(e);try{await this.exec(r,t)}catch(n){throw/^CONFLICT \([^)]+\): \b/m.test(n.stdout||"")?n.gitErrorCode=X.Conflict:/cannot rebase onto multiple branches/i.test(n.stderr||"")&&(n.gitErrorCode=X.CantRebaseMultipleBranches),n}}async push(e,t,r=!1,n=!1,o,a=!1){let s=["push"];o===mn.ForceWithLease||o===mn.ForceWithLeaseIfIncludes?(s.push("--force-with-lease"),o===mn.ForceWithLeaseIfIncludes&&this._git.compareGitVersionTo("2.30")!==-1&&s.push("--force-if-includes")):o===mn.Force&&s.push("--force"),r&&s.push("-u"),n&&s.push("--follow-tags"),a&&s.push("--tags"),e&&s.push(e),t&&s.push(t);try{await this.exec(s,{env:{GIT_HTTP_USER_AGENT:this.git.userAgent}})}catch(c){throw/^error: failed to push some refs to\b/m.test(c.stderr||"")?o===mn.ForceWithLease&&/! \[rejected\].*\(stale info\)/m.test(c.stderr||"")?c.gitErrorCode=X.ForcePushWithLeaseRejected:o===mn.ForceWithLeaseIfIncludes&&/! \[rejected\].*\(remote ref updated since checkout\)/m.test(c.stderr||"")?c.gitErrorCode=X.ForcePushWithLeaseIfIncludesRejected:c.gitErrorCode=X.PushRejected:/Permission.*denied/.test(c.stderr||"")?c.gitErrorCode=X.PermissionDenied:/Could not read from remote repository/.test(c.stderr||"")?c.gitErrorCode=X.RemoteConnectionError:/^fatal: The current branch .* has no upstream branch/.test(c.stderr||"")&&(c.gitErrorCode=X.NoUpstreamBranch),c}}async cherryPick(e){try{await this.exec(["cherry-pick",e])}catch(t){throw/The previous cherry-pick is now empty, possibly due to conflict resolution./.test(t.stderr??"")?(await this.cherryPickAbort(),t.gitErrorCode=X.CherryPickEmpty):t.gitErrorCode=X.CherryPickConflict,t}}async cherryPickAbort(){await this.exec(["cherry-pick","--abort"])}async blame(e){try{let t=["blame","--",this.sanitizeRelativePath(e)];return(await this.exec(t)).stdout.trim()}catch(t){throw/^fatal: no such path/.test(t.stderr||"")&&(t.gitErrorCode=X.NoPathFound),t}}async blame2(e,t,r){try{let n=["blame","--root","--incremental"];r&&n.push("-w"),t&&n.push(t),n.push("--",this.sanitizeRelativePath(e));let o=await this.exec(n);return xI(o.stdout.trim())}catch{return}}async createStash(e,t,r){try{let n=["stash","push"];t&&n.push("-u"),r&&n.push("-S"),e&&n.push("-m",e),await this.exec(n)}catch(n){throw/No local changes to save/.test(n.stderr||"")&&(n.gitErrorCode=X.NoLocalChanges),n}}async popStash(e,t){let r=["stash","pop"];t?.reinstateStagedChanges&&r.push("--index"),await this.popOrApplyStash(r,e)}async applyStash(e,t){let r=["stash","apply"];t?.reinstateStagedChanges&&r.push("--index"),await this.popOrApplyStash(r,e)}async popOrApplyStash(e,t){try{typeof t=="number"&&e.push(`stash@{${t}}`),await this.exec(e)}catch(r){throw/No stash found/.test(r.stderr||"")?r.gitErrorCode=X.NoStashFound:/error: Your local changes to the following files would be overwritten/.test(r.stderr||"")?r.gitErrorCode=X.LocalChangesOverwritten:/^CONFLICT/m.test(r.stdout||"")&&(r.gitErrorCode=X.StashConflict),r}}async dropStash(e){let t=["stash"];typeof e=="number"?(t.push("drop"),t.push(`stash@{${e}}`)):t.push("clear");try{await this.exec(t)}catch(r){throw/No stash found/.test(r.stderr||"")&&(r.gitErrorCode=X.NoStashFound),r}}async showStash(e){let t=["stash","show",`stash@{${e}}`,"--name-status","-z","-u"];try{let r=await this.exec(t);return r.exitCode?[]:Iw(this.repositoryRoot,r.stdout.trim())}catch(r){if(/No stash found/.test(r.stderr||""))return;throw r}}async getStatus(e){if(e?.cancellationToken&&e?.cancellationToken.isCancellationRequested)throw new Dr.CancellationError;let t=[],r={GIT_OPTIONAL_LOCKS:"0"},n=["status","-z"];e?.untrackedChanges==="hidden"?n.push("-uno"):n.push("-uall"),e?.ignoreSubmodules&&n.push("--ignore-submodules"),e?.similarityThreshold&&e.similarityThreshold!==50&&this._git.compareGitVersionTo("2.18.0")!==-1&&n.push(`--find-renames=${e.similarityThreshold}%`);let o=this.stream(n,{env:r}),a=new Promise((s,c)=>{let l=new My,u=p=>{if(p!==0){let v=g.join("");return c(new Ut({message:"Failed to execute git",stderr:v,exitCode:p,gitErrorCode:Uw(v),gitCommand:"status",gitArgs:n}))}s({status:l.status,statusLength:l.status.length,didHitLimit:!1})},m=e?.limit??1e4,f=p=>{l.update(p),m!==0&&l.status.length>m&&(o.removeListener("close",u),o.stdout?.removeListener("data",f),o.kill(),s({status:l.status.slice(0,m),statusLength:l.status.length,didHitLimit:!0}))};o.stdout&&(o.stdout.setEncoding("utf8"),o.stdout.on("data",f));let g=[];o.stderr&&(o.stderr.setEncoding("utf8"),o.stderr.on("data",p=>g.push(p))),o.on("error",Ly(c)),o.on("close",u)});if(e?.cancellationToken){let s=new Promise((c,l)=>{t.push(wo(e.cancellationToken.onCancellationRequested)(()=>{try{o.kill()}catch{}l(new Dr.CancellationError)}))});a=Promise.race([a,s])}try{let{status:s,statusLength:c,didHitLimit:l}=await a;return{status:s,statusLength:c,didHitLimit:l}}finally{Ge(t)}}async getHEADRef(){let e;try{if(e=await this.getHEAD(),e.name){if(e=await this.getBranch(e.name),e&&e.upstream){let t=e.upstream.remote!=="."?`refs/remotes/${e.upstream.remote}/${e.upstream.name}`:`refs/heads/${e.upstream.name}`,r=await this.revParse(t);e={...e,upstream:{...e.upstream,commit:r}}}}else if(e.commit){let r=(await this.getRefs({pattern:"refs/tags"})).find(n=>n.commit===e.commit);r&&(e={...e,name:r.name,type:de.Tag})}}catch{}return e}async getHEAD(){if(!this._isUsingRefTable)try{let t=await this.getHEADFS();if(t.name===".invalid")this._isUsingRefTable=!0,this.logger.warn("[Git][getHEAD] Failed to parse HEAD file: Repository is using reftable format.");else return t}catch(t){this.logger.warn(`[Git][getHEAD] Failed to parse HEAD file: ${t.message}`)}try{let t=await this.exec(["symbolic-ref","--short","HEAD"]);if(!t.stdout)throw new Error("Not in a branch");return{name:t.stdout.trim(),commit:void 0,type:de.Head}}catch{}let e=await this.exec(["rev-parse","HEAD"]);if(!e.stdout)throw new Error("Error parsing HEAD");return{name:void 0,commit:e.stdout.trim(),type:de.Head}}async getHEADFS(){let e=await Lr.promises.readFile(Pe.join(this.dotGit.path,"HEAD"),"utf8"),t=e.match(/^ref: refs\/heads\/(?<name>.*)$/m);if(t?.groups?.name)return{name:t.groups.name,commit:void 0,type:de.Head};let r=e.match(/^(?<commit>[0-9a-f]{40})$/m);if(r?.groups?.commit)return{name:void 0,commit:r.groups.commit,type:de.Head};throw new Error(`Unable to parse HEAD file. HEAD file contents: ${e}.`)}async findTrackingBranches(e){return(await this.exec(["for-each-ref","--format","%(refname:short)%00%(upstream:short)","refs/heads"])).stdout.trim().split(`
`).map(r=>r.trim().split("\0")).filter(([r,n])=>n===e).map(([r])=>({name:r,type:de.Head}))}async getRefs(e,t){if(t&&t.isCancellationRequested)throw new Dr.CancellationError;let r=["for-each-ref"];if(e.count&&r.push(`--count=${e.count}`),e.sort&&e.sort!=="alphabetically"&&r.push("--sort",`-${e.sort}`),e.includeCommitDetails){let o=this._git.compareGitVersionTo("1.9.0")!==-1?`${Nw}%00%(upstream:track)`:Nw;r.push("--format",o)}else r.push("--format",$w);if(e.pattern){let o=Array.isArray(e.pattern)?e.pattern:[e.pattern];for(let a of o)r.push(a.startsWith("refs/")?a:`refs/${a}`)}e.contains&&r.push("--contains",e.contains);let n=await this.exec(r,{cancellationToken:t});return TI(n.stdout)}async getRemoteRefs(e,t){if(t?.cancellationToken&&t?.cancellationToken.isCancellationRequested)throw new Dr.CancellationError;let r=["ls-remote"];t?.heads&&r.push("--heads"),t?.tags&&r.push("--tags"),r.push(e);let n=await this.exec(r,{cancellationToken:t?.cancellationToken}),o=a=>{let s;return(s=/^([0-9a-f]{40})\trefs\/heads\/([^ ]+)$/.exec(a))?{name:s[1],commit:s[2],type:de.Head}:(s=/^([0-9a-f]{40})\trefs\/tags\/([^ ]+)$/.exec(a))?{name:s[2],commit:s[1],type:de.Tag}:null};return n.stdout.split(`
`).filter(a=>!!a).map(o).filter(a=>!!a)}async getStashes(){let e=await this.exec(["stash","list",`--format=${vI}`,"-z"]);return PI(e.stdout.trim())}async getWorktrees(){return await this.getWorktreesFS()}async getWorktreesFS(){let e=[],t=this.dotGit.commonPath??this.dotGit.path;try{if(!this.dotGit.isBare){let o=Pe.join(t,"HEAD"),a=(await Lr.promises.readFile(o,"utf8")).trim(),s=Pe.basename(Pe.dirname(t));e.push({name:s,path:Pe.dirname(t),ref:a.replace(/^ref: /,""),detached:!a.startsWith("ref: "),main:!0})}let r=Pe.join(t,"worktrees"),n=await Lr.promises.readdir(r,{withFileTypes:!0});for(let o of n)if(o.isDirectory())try{let a=Pe.join(r,o.name,"HEAD"),s=(await Lr.promises.readFile(a,"utf8")).trim(),c=Pe.join(r,o.name,"gitdir"),l=(await Lr.promises.readFile(c,"utf8")).trim();e.push({name:o.name,path:l.replace(/\/.git.*$/,""),ref:s.replace(/^ref: /,""),detached:!s.startsWith("ref: "),main:!1})}catch(a){if(/ENOENT/.test(a.message))continue;throw a}return e}catch(r){if(/ENOENT/.test(r.message)||/ENOTDIR/.test(r.message))return e;throw r}}async getRemotes(){let e=[];try{e.push(...await this.getRemotesFS()),e.length===0&&this.logger.info("[Git][getRemotes] No remotes found in the git config file")}catch(t){this.logger.warn(`[Git][getRemotes] Error: ${t.message}`),e.push(...await this.getRemotesGit())}for(let t of e)t.isReadOnly=t.pushUrl===void 0||t.pushUrl==="no_push";return e}async getRemotesFS(){let e=await Lr.promises.readFile(Pe.join(this.dotGit.commonPath??this.dotGit.path,"config"),"utf8");return bI(e)}async getRemotesGit(){let e=[],r=(await this.exec(["remote","--verbose"])).stdout.trim().split(`
`).filter(n=>!!n);for(let n of r){let o=n.split(/\s/),[a,s,c]=o,l=e.find(u=>u.name===a);l||(l={name:a,isReadOnly:!1},e.push(l)),/fetch/i.test(c)?l.fetchUrl=s:(/push/i.test(c)||(l.fetchUrl=s),l.pushUrl=s)}return e}async getBranch(e){if(e==="HEAD")return this.getHEAD();let t=["for-each-ref"],r=!0;this._git.compareGitVersionTo("1.9.0")===-1?(t.push("--format=%(refname)%00%(upstream:short)%00%(objectname)"),r=!1):this._git.compareGitVersionTo("2.16.0")===-1?t.push("--format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)"):t.push("--format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref)"),this.git.compareGitVersionTo("2.12")!==-1&&(un||Ry)&&t.push("--ignore-case"),/^refs\/(heads|remotes)\//i.test(e)?t.push(e):t.push(`refs/heads/${e}`,`refs/remotes/${e}`);let o=(await this.exec(t)).stdout.trim().split(`
`).map(a=>{let[s,c,l,u,m,f]=a.trim().split("\0");if(s.startsWith("refs/heads/")){s=s.substring(11);let g=c.indexOf("/"),p,v,_=/\[(?:ahead ([0-9]+))?[,\s]*(?:behind ([0-9]+))?]|\[gone]/.exec(u);return _&&([,p,v]=_),{type:de.Head,name:s,upstream:c!==""&&u!=="[gone]"?{name:f?f.substring(11):c.substring(g+1),remote:m||c.substring(0,g)}:void 0,commit:l||void 0,ahead:Number(p)||0,behind:Number(v)||0}}else if(s.startsWith("refs/remotes/")){s=s.substring(13);let g=s.indexOf("/");return{type:de.RemoteHead,name:s.substring(g+1),remote:s.substring(0,g),commit:l}}else return}).filter(a=>!!a);if(o.length){let[a]=o;if(!r&&a.upstream)try{let s=await this.exec(["rev-list","--left-right","--count",`${a.name}...${a.upstream.remote}/${a.upstream.name}`]),[c,l]=s.stdout.trim().split("	");a.ahead=Number(c)||0,a.behind=Number(l)||0}catch{}return a}return this.logger.warn(`[Git][getBranch] No such branch: ${e}`),Promise.reject(new Error(`No such branch: ${e}.`))}async getDefaultBranch(e){let t=await this.exec(["symbolic-ref","--short",`refs/remotes/${e}/HEAD`]);if(!t.stdout||t.stderr)throw new Error("No default branch");return this.getBranch(t.stdout.trim())}stripCommitMessageComments(e){return e.replace(/^\s*#.*$\n?/gm,"").trim()}async getSquashMessage(){let e=Pe.join(this.repositoryRoot,".git","SQUASH_MSG");try{let t=await Lr.promises.readFile(e,"utf8");return this.stripCommitMessageComments(t)}catch{return}}async getMergeMessage(){let e=Pe.join(this.repositoryRoot,".git","MERGE_MSG");try{let t=await Lr.promises.readFile(e,"utf8");return this.stripCommitMessageComments(t)}catch{return}}async getCommitTemplate(){try{let e=await this.exec(["config","--get","commit.template"]);if(!e.stdout)return"";let t=nf.homedir(),r=e.stdout.trim().replace(/^~([^\/]*)\//,(o,a)=>`${a?Pe.join(Pe.dirname(t),a):t}/`);Pe.isAbsolute(r)||(r=Pe.join(this.repositoryRoot,r));let n=await Lr.promises.readFile(r,"utf8");return this.stripCommitMessageComments(n)}catch{return""}}async getCommit(e){let t=await this.exec(["show","-s","--decorate=full","--shortstat",`--format=${Ny}`,"-z",e,"--"]),r=ky(t.stdout);return r.length===0?Promise.reject("bad commit format"):r[0]}async showChanges(e){try{return(await this.exec(["log","-p","-n1",e,"--"])).stdout.trim()}catch(t){throw/^fatal: bad revision '.+'/.test(t.stderr||"")&&(t.gitErrorCode=X.BadRevision),t}}async showChangesBetween(e,t,r){try{let n=["log","-p",`${e}..${t}`,"--"];return r&&n.push(this.sanitizeRelativePath(r)),(await this.exec(n)).stdout.trim()}catch(n){throw/^fatal: bad revision '.+'/.test(n.stderr||"")&&(n.gitErrorCode=X.BadRevision),n}}async revList(e,t){let r=await this.exec(["rev-list",`${e}..${t}`]);return r.stderr?[]:r.stdout.trim().split(`
`)}async revParse(e){try{return(await Lr.promises.readFile(Pe.join(this.dotGit.path,e),"utf8")).trim()}catch(t){this.logger.warn(`[Git][revParse] Unable to read file: ${t.message}`)}try{let t=await this.exec(["rev-parse",e]);return t.stderr?void 0:t.stdout.trim()}catch{return}}async updateSubmodules(e){let t=["submodule","update"];for(let r of Vc(e.map(n=>this.sanitizeRelativePath(n)),Mu))await this.exec([...t,"--",...r])}async getSubmodules(){let e=Pe.join(this.root,".gitmodules");try{let t=await Lr.promises.readFile(e,"utf8");return _I(t)}catch(t){if(/ENOENT/.test(t.message))return[];throw t}}sanitizeRelativePath(e){if(this.logger.trace(`[Git][sanitizeRelativePath] filePath: ${e}`),!Pe.isAbsolute(e))return e=rf(e),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (noop): ${e}`),e;let t;return this.repositoryRootRealPath&&(t=Zm(this.repositoryRootRealPath,e),t)?(t=rf(t),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (real path): ${t}`),t):(t=Zm(this.repositoryRoot,e),t?(t=rf(t),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (path): ${t}`),t):(e=rf(Pe.relative(this.repositoryRoot,e)),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (fallback): ${e}`),e))}};var K=require("vscode");var Kw=i=>{i=1831565813+(i|=0)|0;let e=Math.imul(i^i>>>15,1|i);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296},By=class{constructor(e){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;let{length:t,separator:r,dictionaries:n,style:o,seed:a}=e;this.dictionaries=n,this.separator=r,this.length=t,this.style=o,this.seed=a}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries.
Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let e=this.seed;return this.dictionaries.slice(0,this.length).reduce((t,r)=>{let n;e?(n=(a=>{if(typeof a=="string"){let s=a.split("").map(l=>l.charCodeAt(0)).reduce((l,u)=>l+u,1),c=Math.floor(Number(s));return Kw(c)}return Kw(a)})(e),e=4294967296*n):n=Math.random();let o=r[Math.floor(n*r.length)]||"";if(this.style==="lowerCase")o=o.toLowerCase();else if(this.style==="capital"){let[a,...s]=o.split("");o=a.toUpperCase()+s.join("")}else this.style==="upperCase"&&(o=o.toUpperCase());return t?`${t}${this.separator}${o}`:`${o}`},"")}},jw={separator:"_",dictionaries:[]},Vw=i=>{let e=[...i&&i.dictionaries||jw.dictionaries],t={...jw,...i,length:i&&i.length||e.length,dictionaries:e};if(!i||!i.dictionaries||!i.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new By(t).generate()},zw=["able","above","absent","absolute","abstract","abundant","academic","acceptable","accepted","accessible","accurate","accused","active","actual","acute","added","additional","adequate","adjacent","administrative","adorable","advanced","adverse","advisory","aesthetic","afraid","aggregate","aggressive","agreeable","agreed","agricultural","alert","alive","alleged","allied","alone","alright","alternative","amateur","amazing","ambitious","amused","ancient","angry","annoyed","annual","anonymous","anxious","appalling","apparent","applicable","appropriate","arbitrary","architectural","armed","arrogant","artificial","artistic","ashamed","asleep","assistant","associated","atomic","attractive","automatic","autonomous","available","average","awake","aware","awful","awkward","back","bad","balanced","bare","basic","beautiful","beneficial","better","bewildered","big","binding","biological","bitter","bizarre","blank","blonde","blushing","boiling","bold","bored","boring","bottom","brainy","brave","breakable","breezy","brief","bright","brilliant","broad","broken","bumpy","burning","busy","calm","capable","careful","casual","causal","cautious","central","certain","changing","characteristic","charming","cheap","cheerful","chemical","chief","chilly","chosen","chronic","chubby","circular","civic","civil","classic","classical","clean","clear","clever","clinical","close","closed","cloudy","clumsy","coastal","cognitive","coherent","cold","collective","colorful","colossal","coloured","colourful","combined","comfortable","commercial","common","compact","comparable","comparative","compatible","competent","competitive","complete","complex","complicated","comprehensive","compulsory","conceptual","concerned","concrete","condemned","confident","confidential","confused","conscious","conservation","considerable","consistent","constant","constitutional","contemporary","content","continental","continued","continuing","continuous","controlled","controversial","convenient","conventional","convinced","convincing","cooing","cool","cooperative","corporate","correct","corresponding","costly","courageous","creative","creepy","criminal","critical","crooked","crowded","crucial","crude","cruel","cuddly","cultural","curious","curly","current","curved","cute","daily","damaged","damp","dangerous","dark","dead","deafening","dear","decent","decisive","deep","defeated","defensive","defiant","definite","deliberate","delicate","delicious","delighted","delightful","democratic","dependent","depressed","desirable","desperate","detailed","determined","developed","developing","devoted","different","difficult","digital","diplomatic","direct","dirty","disappointed","disastrous","disciplinary","disgusted","distant","distinct","distinctive","distinguished","disturbed","disturbing","diverse","divine","dizzy","domestic","dominant","double","doubtful","drab","dramatic","dreadful","driving","dry","dual","due","dull","dusty","dutch","dying","dynamic","eager","early","eastern","easy","economic","educational","eerie","effective","efficient","elaborate","elated","elderly","eldest","electoral","electric","electrical","electronic","elegant","eligible","embarrassed","embarrassing","emotional","empirical","empty","enchanting","encouraging","endless","energetic","enormous","enthusiastic","entire","entitled","envious","environmental","equal","equivalent","essential","established","estimated","ethical","eventual","everyday","evident","evil","evolutionary","exact","excellent","exceptional","excess","excessive","excited","exciting","exclusive","existing","exotic","expected","expensive","experienced","experimental","explicit","extended","extensive","external","extra","extraordinary","extreme","exuberant","faint","fair","faithful","familiar","famous","fancy","fantastic","far","fascinating","fashionable","fast","fatal","favourable","favourite","federal","fellow","few","fierce","final","financial","fine","firm","fiscal","fit","fixed","flaky","flat","flexible","fluffy","fluttering","flying","following","fond","foolish","foreign","formal","formidable","forthcoming","fortunate","forward","fragile","frail","frantic","free","frequent","fresh","friendly","frightened","front","frozen","full","fun","functional","fundamental","funny","furious","future","fuzzy","gastric","general","generous","genetic","gentle","genuine","geographical","giant","gigantic","given","glad","glamorous","gleaming","global","glorious","golden","good","gorgeous","gothic","governing","graceful","gradual","grand","grateful","greasy","great","grieving","grim","gross","grotesque","growing","grubby","grumpy","guilty","handsome","happy","hard","harsh","head","healthy","heavy","helpful","helpless","hidden","high","hilarious","hissing","historic","historical","hollow","holy","homely","hon","honest","horizontal","horrible","hostile","hot","huge","human","hungry","hurt","hushed","husky","icy","ideal","identical","ideological","ill","illegal","imaginative","immediate","immense","implicit","important","impossible","impressed","impressive","improved","inadequate","inc","inclined","increased","increasing","incredible","independent","indirect","individual","industrial","inevitable","influential","informal","inherent","initial","injured","inland","inner","innocent","innovative","inquisitive","instant","institutional","insufficient","intact","integral","integrated","intellectual","intelligent","intense","intensive","interested","interesting","interim","interior","intermediate","internal","international","invisible","involved","irrelevant","isolated","itchy","jealous","jittery","joint","jolly","joyous","judicial","juicy","junior","just","keen","key","kind","known","labour","large","late","latin","lazy","leading","left","legal","legislative","legitimate","lengthy","lesser","level","lexical","liable","light","like","likely","limited","linear","linguistic","liquid","literary","little","live","lively","living","local","logical","lonely","long","loose","lost","loud","lovely","low","loyal","ltd","lucky","mad","magic","magnetic","magnificent","main","major","mammoth","managerial","managing","manual","many","marginal","marine","marked","married","marvellous","mass","massive","mathematical","mature","maximum","mean","meaningful","mechanical","medical","medieval","melodic","melted","mental","mere","metropolitan","mid","middle","mighty","mild","military","miniature","minimal","minimum","ministerial","minor","miserable","misleading","missing","misty","mixed","moaning","mobile","moderate","modern","modest","molecular","monetary","monthly","moral","motionless","muddy","multiple","mushy","musical","mutual","mysterious","naked","narrow","nasty","national","natural","naughty","naval","near","nearby","neat","necessary","negative","neighbouring","nervous","net","neutral","new","nice","noble","noisy","normal","northern","nosy","notable","novel","nuclear","numerous","nursing","nutritious","nutty","obedient","objective","obliged","obnoxious","obvious","occasional","occupational","odd","official","ok","okay","old","only","open","operational","opposite","optimistic","ordinary","organic","organisational","original","orthodox","other","outdoor","outer","outrageous","outside","outstanding","overall","overseas","overwhelming","painful","pale","panicky","parallel","parental","parliamentary","partial","particular","passing","passive","past","patient","payable","peaceful","peculiar","perfect","permanent","persistent","personal","petite","philosophical","physical","plain","planned","plastic","pleasant","pleased","poised","polite","poor","popular","positive","possible","potential","powerful","practical","precious","precise","preferred","pregnant","preliminary","premier","prepared","present","presidential","pretty","previous","prickly","primary","prime","principal","printed","prior","private","probable","productive","professional","profitable","profound","progressive","prominent","promising","proper","proposed","prospective","protective","proud","provincial","psychiatric","psychological","public","puny","pure","purring","puzzled","quaint","qualified","quarrelsome","querulous","quick","quickest","quiet","quintessential","quixotic","racial","radical","rainy","random","rapid","rare","raspy","rational","ratty","raw","ready","real","realistic","rear","reasonable","recent","reduced","redundant","regional","registered","regular","regulatory","related","relative","relaxed","relevant","reliable","relieved","religious","reluctant","remaining","remarkable","remote","renewed","representative","repulsive","required","resident","residential","resonant","respectable","respective","responsible","resulting","retail","retired","revolutionary","rich","ridiculous","right","rigid","ripe","rising","rival","roasted","robust","rolling","romantic","rotten","rough","round","royal","rubber","rude","ruling","running","rural","sacred","sad","safe","salty","satisfactory","satisfied","scared","scary","scattered","scientific","scornful","scrawny","screeching","secondary","secret","secure","select","selected","selective","selfish","semantic","senior","sensible","sensitive","separate","serious","severe","shaggy","shaky","shallow","shared","sharp","sheer","shiny","shivering","shocked","short","shrill","shy","sick","significant","silent","silky","silly","similar","simple","single","skilled","skinny","sleepy","slight","slim","slimy","slippery","slow","small","smart","smiling","smoggy","smooth","social","soft","solar","sole","solid","sophisticated","sore","sorry","sound","sour","southern","spare","sparkling","spatial","special","specific","specified","spectacular","spicy","spiritual","splendid","spontaneous","sporting","spotless","spotty","square","squealing","stable","stale","standard","static","statistical","statutory","steady","steep","sticky","stiff","still","stingy","stormy","straight","straightforward","strange","strategic","strict","striking","striped","strong","structural","stuck","subjective","subsequent","substantial","subtle","successful","successive","sudden","sufficient","suitable","sunny","super","superb","superior","supporting","supposed","supreme","sure","surprised","surprising","surrounding","surviving","suspicious","sweet","swift","symbolic","sympathetic","systematic","tall","tame","tart","tasteless","tasty","technical","technological","teenage","temporary","tender","tense","terrible","territorial","testy","then","theoretical","thick","thin","thorough","thoughtful","thoughtless","thundering","tight","tiny","tired","top","total","tough","toxic","traditional","tragic","tremendous","tricky","tropical","troubled","typical","ugliest","ugly","ultimate","unable","unacceptable","unaware","uncertain","unchanged","uncomfortable","unconscious","underground","underlying","unemployed","uneven","unexpected","unfair","unfortunate","unhappy","uniform","uninterested","unique","united","universal","unknown","unlikely","unnecessary","unpleasant","unsightly","unusual","unwilling","upper","upset","uptight","urban","urgent","used","useful","useless","usual","vague","valid","valuable","variable","varied","various","varying","vast","verbal","vertical","very","vicarious","vicious","victorious","violent","visible","visiting","visual","vital","vitreous","vivacious","vivid","vocal","vocational","voiceless","voluminous","voluntary","vulnerable","wandering","warm","wasteful","watery","weak","wealthy","weary","wee","weekly","weird","welcome","well","western","wet","whispering","whole","wicked","wide","widespread","wild","wilful","willing","willowy","wily","wise","wispy","wittering","witty","wonderful","wooden","working","worldwide","worried","worrying","worthwhile","worthy","written","wrong","xenacious","xenial","xenogeneic","xeric","xerothermic","yabbering","yammering","yappiest","yappy","yawning","yearling","yearning","yeasty","yelling","yelping","yielding","yodelling","young","youngest","youthful","ytterbic","yucky","yummy","zany","zealous","zeroth","zestful","zesty","zippy","zonal","zoophagous","zygomorphic","zygotic"],Jw=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],qw=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];var sf=class{static generate(e={}){let t=e.min||1,r=e.max||999;if(e.length){let n=Math.pow(10,e.length);return t=n/10,r=n-1,[`${Math.floor(Math.random()*(r-t))+t}`]}return[`${Math.floor(Math.random()*(r-t))+t}`]}};var ki=st(require("fs")),xf=st(require("fs/promises")),We=st(require("path")),nv=st(hD()),b=require("vscode");var yt=require("vscode");var oe={Add:i=>({kind:"Add",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:i}),Apply:{kind:"Apply",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Blame:i=>({kind:"Blame",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:i}),Branch:{kind:"Branch",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},CheckIgnore:{kind:"CheckIgnore",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},CherryPick:{kind:"CherryPick",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Checkout:i=>({kind:"Checkout",blocking:!0,readOnly:!1,remote:!1,retry:!1,showProgress:!0,refLabel:i}),CheckoutTracking:i=>({kind:"CheckoutTracking",blocking:!0,readOnly:!1,remote:!1,retry:!1,showProgress:!0,refLabel:i}),Clean:i=>({kind:"Clean",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:i}),Commit:{kind:"Commit",blocking:!0,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Config:i=>({kind:"Config",blocking:!1,readOnly:i,remote:!1,retry:!1,showProgress:!1}),DeleteBranch:{kind:"DeleteBranch",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},DeleteRef:{kind:"DeleteRef",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},DeleteRemoteRef:{kind:"DeleteRemoteRef",blocking:!1,readOnly:!1,remote:!0,retry:!1,showProgress:!0},DeleteTag:{kind:"DeleteTag",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Diff:{kind:"Diff",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},Fetch:i=>({kind:"Fetch",blocking:!1,readOnly:!1,remote:!0,retry:!0,showProgress:i}),FindTrackingBranches:{kind:"GetTracking",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!0},GetBranch:{kind:"GetBranch",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},GetBranches:{kind:"GetBranches",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!0},GetCommitTemplate:{kind:"GetCommitTemplate",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!0},GetObjectDetails:{kind:"GetObjectDetails",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},GetObjectFiles:{kind:"GetObjectFiles",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},GetRefs:{kind:"GetRefs",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},GetRemoteRefs:{kind:"GetRemoteRefs",blocking:!1,readOnly:!0,remote:!0,retry:!1,showProgress:!1},HashObject:{kind:"HashObject",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Ignore:{kind:"Ignore",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Log:i=>({kind:"Log",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:i}),LogFile:{kind:"LogFile",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},Merge:{kind:"Merge",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},MergeAbort:{kind:"MergeAbort",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},MergeBase:{kind:"MergeBase",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!0},Move:{kind:"Move",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},PostCommitCommand:{kind:"PostCommitCommand",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Pull:{kind:"Pull",blocking:!0,readOnly:!1,remote:!0,retry:!0,showProgress:!0},Push:{kind:"Push",blocking:!0,readOnly:!1,remote:!0,retry:!1,showProgress:!0},Remote:{kind:"Remote",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},RenameBranch:{kind:"RenameBranch",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Remove:{kind:"Remove",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Reset:{kind:"Reset",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Rebase:{kind:"Rebase",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},RebaseAbort:{kind:"RebaseAbort",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},RebaseContinue:{kind:"RebaseContinue",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Refresh:{kind:"Refresh",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},RevertFiles:i=>({kind:"RevertFiles",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:i}),RevList:{kind:"RevList",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},RevParse:{kind:"RevParse",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},SetBranchUpstream:{kind:"SetBranchUpstream",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Show:{kind:"Show",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},Stage:{kind:"Stage",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Status:{kind:"Status",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Stash:i=>({kind:"Stash",blocking:!1,readOnly:i,remote:!1,retry:!1,showProgress:!0}),SubmoduleUpdate:{kind:"SubmoduleUpdate",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Sync:{kind:"Sync",blocking:!0,readOnly:!1,remote:!0,retry:!0,showProgress:!0},Tag:{kind:"Tag",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Worktree:i=>({kind:"Worktree",blocking:!1,readOnly:i,remote:!1,retry:!1,showProgress:!0})},mf=class{constructor(e){this.logger=e}operations=new Map;start(e){this.operations.has(e.kind)?this.operations.get(e.kind).add(e):this.operations.set(e.kind,new Set([e])),this.logger.trace(`[OperationManager][start] ${e.kind} (blocking: ${e.blocking}, readOnly: ${e.readOnly}; retry: ${e.retry}; showProgress: ${e.showProgress})`)}end(e){let t=this.operations.get(e.kind);t&&(t.delete(e),t.size===0&&this.operations.delete(e.kind)),this.logger.trace(`[OperationManager][end] ${e.kind} (blocking: ${e.blocking}, readOnly: ${e.readOnly}; retry: ${e.retry}; showProgress: ${e.showProgress})`)}getOperations(e){let t=this.operations.get(e);return t?Array.from(t):[]}isIdle(){let e=this.operations.values();for(let t of e)for(let r of t)if(!r.readOnly)return!1;return!0}isRunning(e){return this.operations.has(e)}shouldDisableCommands(){let e=this.operations.values();for(let t of e)for(let r of t)if(r.blocking)return!0;return!1}shouldShowProgress(){let e=this.operations.values();for(let t of e)for(let r of t)if(r.showProgress)return!0;return!1}};function lA(i,e){return i.HEAD?.name===e.HEAD?.name&&i.HEAD?.commit===e.HEAD?.commit&&i.HEAD?.remote===e.HEAD?.remote&&i.HEAD?.type===e.HEAD?.type&&i.HEAD?.ahead===e.HEAD?.ahead&&i.HEAD?.behind===e.HEAD?.behind&&i.HEAD?.upstream?.name===e.HEAD?.upstream?.name&&i.HEAD?.upstream?.remote===e.HEAD?.upstream?.remote&&i.HEAD?.upstream?.commit===e.HEAD?.upstream?.commit&&i.isCheckoutInProgress===e.isCheckoutInProgress&&i.isCommitInProgress===e.isCommitInProgress&&i.isMergeInProgress===e.isMergeInProgress&&i.isRebaseInProgress===e.isRebaseInProgress&&i.isSyncInProgress===e.isSyncInProgress&&i.repositoryHasChangesToCommit===e.repositoryHasChangesToCommit&&i.repositoryHasUnresolvedConflicts===e.repositoryHasUnresolvedConflicts}var ff=class{constructor(e,t,r){this.repository=e;this.postCommitCommandCenter=t;this.logger=r;this._state={HEAD:void 0,isCheckoutInProgress:!1,isCommitInProgress:!1,isMergeInProgress:!1,isRebaseInProgress:!1,isSyncInProgress:!1,repositoryHasChangesToCommit:!1,repositoryHasUnresolvedConflicts:!1},e.onDidRunGitStatus(this.onDidRunGitStatus,this,this.disposables),e.onDidChangeOperations(this.onDidChangeOperations,this,this.disposables),this.disposables.push(e.onDidChangeBranchProtection(()=>this._onDidChange.fire())),this.disposables.push(t.onDidChange(()=>this._onDidChange.fire()));let n=yt.Uri.file(e.root);this.disposables.push(yt.workspace.onDidChangeConfiguration(o=>{(o.affectsConfiguration("git.enableSmartCommit",n)||o.affectsConfiguration("git.smartCommitChanges",n)||o.affectsConfiguration("git.suggestSmartCommit",n))&&this.onDidChangeSmartCommitSettings(),(o.affectsConfiguration("git.branchProtectionPrompt",n)||o.affectsConfiguration("git.postCommitCommand",n)||o.affectsConfiguration("git.rememberPostCommitCommand",n)||o.affectsConfiguration("git.showActionButton",n))&&this._onDidChange.fire()}))}_onDidChange=new yt.EventEmitter;get onDidChange(){return this._onDidChange.event}_state;get state(){return this._state}set state(e){lA(this._state,e)||(this.logger.trace(`[ActionButton][setState] ${JSON.stringify(e)}`),this._state=e,this._onDidChange.fire())}disposables=[];get button(){if(!this.state.HEAD)return;let e;return this.state.repositoryHasChangesToCommit&&(e=this.getCommitActionButton()),e=e??this.getPublishBranchActionButton()??this.getSyncChangesActionButton()??this.getCommitActionButton(),this.logger.trace(`[ActionButton][getButton] ${JSON.stringify({command:e?.command.command,title:e?.command.title,enabled:e?.enabled})}`),e}getCommitActionButton(){return yt.workspace.getConfiguration("git",yt.Uri.file(this.repository.root)).get("showActionButton",{commit:!0}).commit?{command:this.getCommitActionButtonPrimaryCommand(),secondaryCommands:this.getCommitActionButtonSecondaryCommands(),enabled:(this.state.repositoryHasChangesToCommit||this.state.isRebaseInProgress&&!this.state.repositoryHasUnresolvedConflicts||this.state.isMergeInProgress&&!this.state.repositoryHasUnresolvedConflicts)&&!this.state.isCommitInProgress}:void 0}getCommitActionButtonPrimaryCommand(){return this.state.isRebaseInProgress?{command:"git.commit",title:yt.l10n.t("{0} Continue","$(check)"),tooltip:this.state.isCommitInProgress?yt.l10n.t("Continuing Rebase..."):yt.l10n.t("Continue Rebase"),arguments:[this.repository.sourceControl,null]}:this.state.isMergeInProgress?{command:"git.commit",title:yt.l10n.t("{0} Continue","$(check)"),tooltip:this.state.isCommitInProgress?yt.l10n.t("Continuing Merge..."):yt.l10n.t("Continue Merge"),arguments:[this.repository.sourceControl,null]}:this.state.HEAD?.type===de.Tag||!this.state.HEAD?.name?{command:"git.commit",title:yt.l10n.t("{0} Commit","$(check)"),tooltip:this.state.isCommitInProgress?yt.l10n.t("Committing Changes..."):yt.l10n.t("Commit Changes"),arguments:[this.repository.sourceControl,null]}:this.postCommitCommandCenter.getPrimaryCommand()}getCommitActionButtonSecondaryCommands(){if(this.state.isRebaseInProgress)return[];if(this.state.isMergeInProgress)return[];if(this.state.HEAD?.type===de.Tag||!this.state.HEAD?.name)return[];let e=[];for(let t of this.postCommitCommandCenter.getSecondaryCommands())e.push(t.map(r=>({command:r.command,title:r.title,tooltip:r.tooltip,arguments:r.arguments})));return e}getPublishBranchActionButton(){let t=yt.workspace.getConfiguration("git",yt.Uri.file(this.repository.root)).get("showActionButton",{publish:!0});if(this.state.HEAD?.type===de.Tag||!this.state.HEAD?.name||this.state.HEAD?.upstream||this.state.isCommitInProgress||this.state.isMergeInProgress||this.state.isRebaseInProgress||!t.publish)return;let r=this.state.isSyncInProgress?"$(sync~spin)":"$(cloud-upload)";return{command:{command:"git.publish",title:yt.l10n.t({message:"{0} Publish Branch",args:[r],comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}),tooltip:this.state.isSyncInProgress?this.state.HEAD?.name?yt.l10n.t({message:'Publishing Branch "{0}"...',args:[this.state.HEAD.name],comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}):yt.l10n.t({message:"Publishing Branch...",comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}):this.repository.HEAD?.name?yt.l10n.t({message:'Publish Branch "{0}"',args:[this.state.HEAD?.name],comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}):yt.l10n.t({message:"Publish Branch",comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}),arguments:[this.repository.sourceControl]},enabled:!this.state.isCheckoutInProgress&&!this.state.isSyncInProgress}}getSyncChangesActionButton(){let t=yt.workspace.getConfiguration("git",yt.Uri.file(this.repository.root)).get("showActionButton",{sync:!0}),r=(this.state.HEAD?.behind??0)>0||(this.state.HEAD?.ahead??0)>0;if(!this.state.HEAD?.upstream||!r||this.state.isCommitInProgress||this.state.isMergeInProgress||this.state.isRebaseInProgress||!t.sync)return;let n=this.state.HEAD.ahead?` ${this.state.HEAD.ahead}$(arrow-up)`:"",o=this.state.HEAD.behind?` ${this.state.HEAD.behind}$(arrow-down)`:"",a=this.state.isSyncInProgress?"$(sync~spin)":"$(sync)";return{command:{command:"git.sync",title:yt.l10n.t("{0} Sync Changes{1}{2}",a,o,n),shortTitle:`${a}${o}${n}`,tooltip:this.state.isSyncInProgress?yt.l10n.t("Synchronizing Changes..."):this.repository.syncTooltip,arguments:[this.repository.sourceControl]},enabled:!this.state.isCheckoutInProgress&&!this.state.isSyncInProgress}}onDidChangeOperations(){let e=this.repository.operations.isRunning("Checkout")||this.repository.operations.isRunning("CheckoutTracking"),t=this.repository.operations.isRunning("Commit")||this.repository.operations.isRunning("PostCommitCommand")||this.repository.operations.isRunning("RebaseContinue"),r=this.repository.operations.isRunning("Sync")||this.repository.operations.isRunning("Push")||this.repository.operations.isRunning("Pull");this.state={...this.state,isCheckoutInProgress:e,isCommitInProgress:t,isSyncInProgress:r}}onDidChangeSmartCommitSettings(){this.state={...this.state,repositoryHasChangesToCommit:this.repositoryHasChangesToCommit()}}onDidRunGitStatus(){this.state={...this.state,HEAD:this.repository.HEAD,isMergeInProgress:this.repository.mergeInProgress,isRebaseInProgress:!!this.repository.rebaseCommit,repositoryHasChangesToCommit:this.repositoryHasChangesToCommit(),repositoryHasUnresolvedConflicts:this.repository.mergeGroup.resourceStates.length>0}}repositoryHasChangesToCommit(){let e=yt.workspace.getConfiguration("git",yt.Uri.file(this.repository.root)),t=e.get("enableSmartCommit")===!0,r=e.get("suggestSmartCommit")===!0,n=e.get("smartCommitChanges","all"),o=[...this.repository.indexGroup.resourceStates];return(t&&n==="all"||!t&&r)&&o.push(...this.repository.workingTreeGroup.resourceStates),t&&n==="tracked"&&o.push(...this.repository.workingTreeGroup.resourceStates.filter(a=>a.type!==C.UNTRACKED)),o.length!==0}dispose(){this.disposables=Ge(this.disposables)}};var Jr=require("vscode");function fn(i){return/^git$/.test(i.scheme)}function Rr(i){return JSON.parse(i.query)}function $e(i,e,t={}){let r={path:i.fsPath,ref:e};t.submoduleOf&&(r.submoduleOf=t.submoduleOf);let n=i.path;return t.replaceFileExtension?n=`${n}.git`:t.submoduleOf&&(n=`${n}.diff`),i.with({scheme:t.scheme??"git",path:n,query:JSON.stringify(r)})}function zy(i){return{base:$e(i,":1"),ours:$e(i,":2"),theirs:$e(i,":3")}}function Cs(i,e,t){switch(i.status){case C.INDEX_ADDED:return{originalUri:void 0,modifiedUri:$e(i.uri,t)};case C.DELETED:return{originalUri:$e(i.uri,e),modifiedUri:void 0};case C.INDEX_RENAMED:return{originalUri:$e(i.originalUri,e),modifiedUri:$e(i.uri,t)};default:return{originalUri:$e(i.uri,e),modifiedUri:$e(i.uri,t)}}}var yD=require("vscode"),ws=class{static _gitBaseApi;static getAPI(){if(!this._gitBaseApi){let e=yD.extensions.getExtension("vscode.git-base").exports,t=r=>{this._gitBaseApi=r?e.getAPI(1):void 0};if(e.onDidChangeEnablement(t),t(e.enabled),!this._gitBaseApi)throw new Error("vscode.git-base extension is not enabled.")}return this._gitBaseApi}};var Jy=class{#e;constructor(e){this.#e=e}set value(e){this.#e.value=e}get value(){return this.#e.value}},Jc=class{#e;constructor(e){this.#e=e}get uri(){return this.#e.resourceUri}get originalUri(){return this.#e.original}get renameUri(){return this.#e.renameResourceUri}get status(){return this.#e.type}},qy=class{#e;onDidChange;constructor(e){this.#e=e,this.onDidChange=this.#e.onDidRunGitStatus}get HEAD(){return this.#e.HEAD}get refs(){return console.warn("Deprecated. Use ApiRepository.getRefs() instead."),[]}get remotes(){return[...this.#e.remotes]}get submodules(){return[...this.#e.submodules]}get worktrees(){return this.#e.worktrees}get rebaseCommit(){return this.#e.rebaseCommit}get mergeChanges(){return this.#e.mergeGroup.resourceStates.map(e=>new Jc(e))}get indexChanges(){return this.#e.indexGroup.resourceStates.map(e=>new Jc(e))}get workingTreeChanges(){return this.#e.workingTreeGroup.resourceStates.map(e=>new Jc(e))}get untrackedChanges(){return this.#e.untrackedGroup.resourceStates.map(e=>new Jc(e))}},Qy=class{#e;onDidChange;constructor(e){this.#e=e,this.onDidChange=pa(this.#e.onDidChangeSelection,()=>null)}get selected(){return this.#e.selected}},Yt=class{#e;rootUri;inputBox;kind;state;ui;onDidCommit;onDidCheckout;constructor(e){this.#e=e,this.kind=this.#e.kind,this.rootUri=Jr.Uri.file(this.#e.root),this.inputBox=new Jy(this.#e.inputBox),this.state=new qy(this.#e),this.ui=new Qy(this.#e.sourceControl),this.onDidCommit=pa(Ue(this.#e.onDidRunOperation,t=>t.operation.kind==="Commit"),()=>null),this.onDidCheckout=pa(Ue(this.#e.onDidRunOperation,t=>t.operation.kind==="Checkout"||t.operation.kind==="CheckoutTracking"),()=>null)}apply(e,t){let r=typeof t=="boolean"?{reverse:t}:t;return this.#e.apply(e,r)}getConfigs(){return this.#e.getConfigs()}getConfig(e){return this.#e.getConfig(e)}setConfig(e,t){return this.#e.setConfig(e,t)}unsetConfig(e){return this.#e.unsetConfig(e)}getGlobalConfig(e){return this.#e.getGlobalConfig(e)}getObjectDetails(e,t){return this.#e.getObjectDetails(e,t)}detectObjectType(e){return this.#e.detectObjectType(e)}buffer(e,t){return this.#e.buffer(e,t)}show(e,t){return this.#e.show(e,t)}getCommit(e){return this.#e.getCommit(e)}add(e){return this.#e.add(e.map(t=>Jr.Uri.file(t)))}revert(e){return this.#e.revert(e.map(t=>Jr.Uri.file(t)))}clean(e){return this.#e.clean(e.map(t=>Jr.Uri.file(t)))}diff(e){return this.#e.diff(e)}diffWithHEAD(e){return this.#e.diffWithHEAD(e)}diffWithHEADShortStats(e){return this.#e.diffWithHEADShortStats(e)}diffWith(e,t){return this.#e.diffWith(e,t)}diffIndexWithHEAD(e){return this.#e.diffIndexWithHEAD(e)}diffIndexWithHEADShortStats(e){return this.#e.diffIndexWithHEADShortStats(e)}diffIndexWith(e,t){return this.#e.diffIndexWith(e,t)}diffBlobs(e,t){return this.#e.diffBlobs(e,t)}diffBetween(e,t,r){return this.#e.diffBetween(e,t,r)}diffBetweenPatch(e,t,r){return this.#e.diffBetweenPatch(e,t,r)}diffBetweenWithStats(e,t,r){return this.#e.diffBetweenWithStats(e,t,r)}hashObject(e){return this.#e.hashObject(e)}createBranch(e,t,r){return this.#e.branch(e,t,r)}deleteBranch(e,t){return this.#e.deleteBranch(e,t)}getBranch(e){return this.#e.getBranch(e)}getBranches(e,t){return this.#e.getBranches(e,t)}getBranchBase(e){return this.#e.getBranchBase(e)}setBranchUpstream(e,t){return this.#e.setBranchUpstream(e,t)}getRefs(e,t){return this.#e.getRefs(e,t)}checkIgnore(e){return this.#e.checkIgnore(e)}getMergeBase(e,t){return this.#e.getMergeBase(e,t)}tag(e,t,r){return this.#e.tag({name:e,message:t,ref:r})}deleteTag(e){return this.#e.deleteTag(e)}status(){return this.#e.status()}checkout(e){return this.#e.checkout(e)}addRemote(e,t){return this.#e.addRemote(e,t)}removeRemote(e){return this.#e.removeRemote(e)}renameRemote(e,t){return this.#e.renameRemote(e,t)}fetch(e,t,r,n){return e!==void 0&&typeof e!="string"?this.#e.fetch(e):this.#e.fetch({remote:e,ref:t,depth:r,prune:n})}pull(e){return this.#e.pull(void 0,e)}push(e,t,r=!1,n){return this.#e.pushTo(e,t,r,n)}blame(e){return this.#e.blame(e)}log(e){return this.#e.log(e)}commit(e,t){return this.#e.commit(e,{...t,postCommitCommand:null})}merge(e){return this.#e.merge(e)}mergeAbort(){return this.#e.mergeAbort()}rebase(e){return this.#e.rebase(e)}createStash(e){return this.#e.createStash(e?.message,e?.includeUntracked,e?.staged)}applyStash(e){return this.#e.applyStash(e)}popStash(e){return this.#e.popStash(e)}dropStash(e){return this.#e.dropStash(e)}createWorktree(e){return this.#e.createWorktree(e)}deleteWorktree(e,t){return this.#e.deleteWorktree(e,t)}migrateChanges(e,t){return this.#e.migrateChanges(e,t)}generateRandomBranchName(){return this.#e.generateRandomBranchName()}},Xy=class{#e;_env;constructor(e){this.#e=e}get path(){return this.#e.git.path}get env(){return this._env===void 0&&(this._env=Object.freeze(this.#e.git.env)),this._env}},pf=class{#e;#t;git;constructor(e){this.#e=e.model,this.#t=e.cloneManager,this.git=new Xy(this.#e)}get state(){return this.#e.state}get onDidChangeState(){return this.#e.onDidChangeState}get onDidPublish(){return this.#e.onDidPublish}get onDidOpenRepository(){return pa(this.#e.onDidOpenRepository,e=>new Yt(e))}get onDidCloseRepository(){return pa(this.#e.onDidCloseRepository,e=>new Yt(e))}get repositories(){return this.#e.repositories.map(e=>new Yt(e))}get recentRepositories(){return this.#e.repositoryCache.recentRepositories}toGitUri(e,t){return $e(e,t)}getRepository(e){let t=this.#e.getRepository(e);return t?new Yt(t):null}async getRepositoryRoot(e){let t=this.getRepository(e);if(t)return t.rootUri;try{let r=await this.#e.git.getRepositoryRoot(e.fsPath);return Jr.Uri.file(r)}catch(r){if(r.gitErrorCode===X.NotAGitRepository||r.gitErrorCode===X.NotASafeGitRepository)return null;throw r}}async getRepositoryWorkspace(e){let t=this.#e.repositoryCache.get(e.toString());return t?t.map(r=>Jr.Uri.file(r.workspacePath)):null}async init(e,t){let r=e.fsPath;return await this.#e.git.init(r,t),await this.#e.openRepository(r),this.getRepository(e)||null}async clone(e,t){let r=t?.parentPath?.fsPath,n=await this.#t.clone(e.toString(),{parentPath:r,recursive:t?.recursive,ref:t?.ref,postCloneAction:t?.postCloneAction});return n?Jr.Uri.file(n):null}async openRepository(e){return e.scheme!=="file"?null:(await this.#e.openRepository(e.fsPath,!0,!0),this.getRepository(e)||null)}registerRemoteSourceProvider(e){let t=[];return e.publishRepository&&t.push(this.#e.registerRemoteSourcePublisher(e)),t.push(ws.getAPI().registerRemoteSourceProvider(e)),vs(t)}registerRemoteSourcePublisher(e){return this.#e.registerRemoteSourcePublisher(e)}registerCredentialsProvider(e){return this.#e.registerCredentialsProvider(e)}registerPostCommitCommandsProvider(e){return this.#e.registerPostCommitCommandsProvider(e)}registerPushErrorHandler(e){return this.#e.registerPushErrorHandler(e)}registerSourceControlHistoryItemDetailsProvider(e){return this.#e.registerSourceControlHistoryItemDetailsProvider(e)}registerBranchProtectionProvider(e,t){return this.#e.registerBranchProtectionProvider(e,t)}};function uA(i){switch(i){case de.Head:return"Head";case de.RemoteHead:return"RemoteHead";case de.Tag:return"Tag"}return"unknown"}function dA(i){switch(i){case C.INDEX_MODIFIED:return"INDEX_MODIFIED";case C.INDEX_ADDED:return"INDEX_ADDED";case C.INDEX_DELETED:return"INDEX_DELETED";case C.INDEX_RENAMED:return"INDEX_RENAMED";case C.INDEX_COPIED:return"INDEX_COPIED";case C.MODIFIED:return"MODIFIED";case C.DELETED:return"DELETED";case C.UNTRACKED:return"UNTRACKED";case C.IGNORED:return"IGNORED";case C.INTENT_TO_ADD:return"INTENT_TO_ADD";case C.INTENT_TO_RENAME:return"INTENT_TO_RENAME";case C.TYPE_CHANGED:return"TYPE_CHANGED";case C.ADDED_BY_US:return"ADDED_BY_US";case C.ADDED_BY_THEM:return"ADDED_BY_THEM";case C.DELETED_BY_US:return"DELETED_BY_US";case C.DELETED_BY_THEM:return"DELETED_BY_THEM";case C.BOTH_ADDED:return"BOTH_ADDED";case C.BOTH_DELETED:return"BOTH_DELETED";case C.BOTH_MODIFIED:return"BOTH_MODIFIED"}return"UNKNOWN"}function vD(i){let e=[];return e.push(Jr.commands.registerCommand("git.api.getRepositories",()=>i.getAPI(1).repositories.map(r=>r.rootUri.toString()))),e.push(Jr.commands.registerCommand("git.api.getRepositoryState",t=>{let n=i.getAPI(1).getRepository(Jr.Uri.parse(t));if(!n)return null;let o=n.state,a=c=>c&&{...c,type:uA(c.type)},s=c=>({uri:c.uri.toString(),originalUri:c.originalUri.toString(),renameUri:c.renameUri?.toString(),status:dA(c.status)});return{HEAD:a(o.HEAD),refs:o.refs.map(a),remotes:o.remotes,submodules:o.submodules,worktrees:o.worktrees,rebaseCommit:o.rebaseCommit,mergeChanges:o.mergeChanges.map(s),indexChanges:o.indexChanges.map(s),workingTreeChanges:o.workingTreeChanges.map(s)}})),e.push(Jr.commands.registerCommand("git.api.getRemoteSources",t=>Jr.commands.executeCommand("git-base.api.getRemoteSources",t))),Jr.Disposable.from(...e)}var Nt=require("vscode");var Gu=class i{constructor(e,t){this.repository=e;this.globalState=t;Nt.workspace.onDidChangeConfiguration(this.onConfiguration,this,this.disposables),this.onConfiguration();let r=Ue(e.onDidRunOperation,({operation:o,error:a})=>!a&&o.remote);wo(r)(this.onFirstGoodRemoteOperation,this,this.disposables),Nt.env.onDidChangeMeteredConnection(()=>this.onConfiguration(),this,this.disposables)}static DidInformUser="autofetch.didInformUser";_onDidChange=new Nt.EventEmitter;onDidChange=this._onDidChange.event;_enabled=!1;_fetchAll=!1;get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._onDidChange.fire(e)}disposables=[];async onFirstGoodRemoteOperation(){let e=!this.globalState.get(i.DidInformUser);if(this.enabled&&!e&&this.globalState.update(i.DidInformUser,!0),!(!this.enabled&&e))return;let r={title:Nt.l10n.t("Yes")},n={isCloseAffordance:!0,title:Nt.l10n.t("No")},o={title:Nt.l10n.t("Ask Me Later")},a=await Nt.window.showInformationMessage(Nt.l10n.t('Would you like {0} to [periodically run "git fetch"]({1})?',Nt.env.appName,"https://go.microsoft.com/fwlink/?linkid=865294"),r,n,o);a!==o&&(a===r&&Nt.workspace.getConfiguration("git",Nt.Uri.file(this.repository.root)).update("autofetch",!0,Nt.ConfigurationTarget.Global),this.globalState.update(i.DidInformUser,!0))}onConfiguration(e){if(e!==void 0&&!e.affectsConfiguration("git.autofetch"))return;if(Nt.env.isMeteredConnection){this.disable();return}switch(Nt.workspace.getConfiguration("git",Nt.Uri.file(this.repository.root)).get("autofetch")){case!0:this._fetchAll=!1,this.enable();break;case"all":this._fetchAll=!0,this.enable();break;default:this._fetchAll=!1,this.disable();break}}enable(){this.enabled||(this.enabled=!0,this.run())}disable(){this.enabled=!1}async run(){for(;this.enabled;){if(await this.repository.whenIdleAndFocused(),!this.enabled)return;try{this._fetchAll?await this.repository.fetchAll({silent:!0}):await this.repository.fetchDefault({silent:!0})}catch(n){n.gitErrorCode===X.AuthenticationFailed&&this.disable()}if(!this.enabled)return;let e=Nt.workspace.getConfiguration("git",Nt.Uri.file(this.repository.root)).get("autofetchPeriod",180)*1e3,t=new Promise(n=>setTimeout(n,e)),r=Ai(Ue(this.onDidChange,n=>!n));await Promise.race([t,r])}}dispose(){this.disable(),this.disposables.forEach(e=>e.dispose())}};var Hu=require("vscode");var gf=class{constructor(e){this.repositoryRoot=e;Ue(Hu.workspace.onDidChangeConfiguration,r=>r.affectsConfiguration("git.branchProtection",e))(this.updateBranchProtection,this,this.disposables),this.updateBranchProtection()}_onDidChangeBranchProtection=new Hu.EventEmitter;onDidChangeBranchProtection=this._onDidChangeBranchProtection.event;branchProtection;disposables=[];provideBranchProtection(){return[this.branchProtection]}updateBranchProtection(){let t=Hu.workspace.getConfiguration("git",this.repositoryRoot).get("branchProtection")??[],n=(Array.isArray(t)?t:[t]).map(o=>typeof o=="string"?o.trim():"").filter(o=>o!=="");this.branchProtection={remote:"",rules:[{include:n}]},this._onDidChangeBranchProtection.fire(this.repositoryRoot)}dispose(){this.disposables=Ge(this.disposables)}};function hf(i){return(e,t,r)=>{if(typeof r.value=="function")r.value=i(r.value,t);else if(typeof r.get=="function")r.get=i(r.get,t);else throw new Error("not supported")}}function mA(i,e){let t=`$memoize$${e}`;return function(...r){return this.hasOwnProperty(t)||Object.defineProperty(this,t,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,r)}),this[t]}}var pn=hf(mA);function fA(i,e){let t=`$throttle$current$${e}`,r=`$throttle$next$${e}`,n=function(...o){if(this[r])return this[r];if(this[t])return this[r]=Py(this[t]).then(()=>(this[r]=void 0,n.apply(this,o))),this[r];this[t]=i.apply(this,o);let a=()=>this[t]=void 0;return Py(this[t]).then(a,a),this[t]};return n}var Sr=hf(fA);function pA(i,e){let t=`__$sequence$${e}`;return function(...r){let n=this[t]||Promise.resolve(null),o=async()=>await i.apply(this,r);return this[t]=n.then(o,o),this[t]}}var yf=hf(pA);function Ln(i){return hf((e,t)=>{let r=`$debounce$${t}`;return function(...n){clearTimeout(this[r]),this[r]=setTimeout(()=>e.apply(this,n),i)}})}var Ke=require("vscode");var _f=require("vscode");var _D=require("util"),gA=/:([-+_a-z0-9]+):/g,vf,Zy;async function Ds(){vf===void 0&&(Zy===void 0&&(Zy=hA()),await Zy)}async function hA(){let i=ev(),e=_f.Uri.joinPath(i.extensionUri,"resources","emojis.json");vf=JSON.parse(new _D.TextDecoder("utf8").decode(await _f.workspace.fs.readFile(e)))}function So(i){return vf===void 0?i:i.replace(gA,(e,t)=>vf?.[t]||e)}async function Rs(i,e,t){for(let r of i.getSourceControlHistoryItemDetailsProviders()){let n=await r.provideAvatar(new Yt(e),t);if(n)return n}}async function qc(i,e){for(let t of i.getSourceControlHistoryItemDetailsProviders()){let r=await t.provideHoverCommands(new Yt(e));if(r)return r}}async function Ss(i,e,t){for(let r of i.getSourceControlHistoryItemDetailsProviders()){let n=await r.provideMessageLinks(new Yt(e),t);if(n)return n}}var ni=require("vscode");var bf=20;function Qc(i,e,t,r,n,o,a,s){let c=new ni.MarkdownString("",!0);return c.isTrusted={enabledCommands:a?.flat().map(l=>l.command)??[]},ED(c,i,e,t,r,n,s),o&&CD(c,o),a&&a.length>0&&wD(c,a),c}function bD(i,e,t,r,n,o,a,s){let c=[],l=new ni.MarkdownString("",!0);if(ED(l,i,e,t,r,n,s),c.push(l),o){let u=new ni.MarkdownString("",!0);u.supportHtml=!0,CD(u,o),c.push(u)}if(a&&a.length>0){let u=new ni.MarkdownString("",!0);u.isTrusted={enabledCommands:a?.flat().map(m=>m.command)??[]},wD(u,a),c.push(u)}return c}function ED(i,e,t,r,n,o,a){if(t){if(e?(i.appendMarkdown("!["),i.appendText(t),i.appendMarkdown("]("),i.appendText(e),i.appendMarkdown(`|width=${bf},height=${bf})`)):i.appendMarkdown("$(account)"),r?(i.appendMarkdown(" [**"),i.appendText(t),i.appendMarkdown("**](mailto:"),i.appendText(r),i.appendMarkdown(")")):(i.appendMarkdown(" **"),i.appendText(t),i.appendMarkdown("**")),n&&!isNaN(new Date(n).getTime())){let s=new Date(n).toLocaleString(void 0,{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});i.appendMarkdown(", $(history)"),i.appendText(` ${Do(n,!0,!0)} (${s})`)}i.appendMarkdown(`

`)}if(a&&a.length>0)for(let s of a)i.appendMarkdown("$(account) "),s.email?(i.appendMarkdown("[**"),i.appendText(s.name),i.appendMarkdown("**](mailto:"),i.appendText(s.email),i.appendMarkdown(")")):(i.appendMarkdown("**"),i.appendText(s.name),i.appendMarkdown("**")),i.appendMarkdown(` _(${ni.l10n.t("Co-author")})_`),i.appendMarkdown(`

`);i.appendMarkdown(`${So(o.replace(/!\[/g,"&#33;&#91;").replace(/\r\n|\r|\n/g,`

`))}`),i.appendMarkdown(`

---

`)}function CD(i,e){i.appendMarkdown(`<span>${e.files===1?ni.l10n.t("{0} file changed",e.files):ni.l10n.t("{0} files changed",e.files)}</span>`),e.insertions&&i.appendMarkdown(`,&nbsp;<span style="color:var(--vscode-scmGraph-historyItemHoverAdditionsForeground);">${e.insertions===1?ni.l10n.t("{0} insertion{1}",e.insertions,"(+)"):ni.l10n.t("{0} insertions{1}",e.insertions,"(+)")}</span>`),e.deletions&&i.appendMarkdown(`,&nbsp;<span style="color:var(--vscode-scmGraph-historyItemHoverDeletionsForeground);">${e.deletions===1?ni.l10n.t("{0} deletion{1}",e.deletions,"(-)"):ni.l10n.t("{0} deletions{1}",e.deletions,"(-)")}</span>`),i.appendMarkdown(`

---

`)}function wD(i,e){for(let t=0;t<e.length;t++){t!==0&&i.appendMarkdown("&nbsp;&nbsp;|&nbsp;&nbsp;");let r=e[t].map(n=>`[${n.title}](command:${n.command}?${encodeURIComponent(JSON.stringify(n.arguments))} "${n.tooltip}")`);i.appendMarkdown(r.join("&nbsp;"))}}function Xc(i,e){return[{title:`$(git-commit) ${_s(i,e)}`,tooltip:ni.l10n.t("Open Commit"),command:"git.viewCommit",arguments:[i,e,i]},{title:"$(copy)",tooltip:ni.l10n.t("Copy Commit Hash"),command:"git.copyContentToClipboard",arguments:[e]}]}function Zc(i,e){return i.map(t=>({...t,arguments:[...t.arguments??[],e]}))}function yA(i,e){let t=o=>o.id.startsWith("refs/heads/")?1:o.id.startsWith("refs/remotes/")?2:o.id.startsWith("refs/tags/")?3:99,r=t(i),n=t(e);return r!==n?r-n:i.name.localeCompare(e.name)}var Uu=class{constructor(e,t,r){this.historyItemDetailProviderRegistry=e;this.repository=t;this.logger=r;this.disposables.push(Ke.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration)),this.onDidChangeConfiguration();let n=Ue(t.onDidRunOperation,o=>!o.operation.readOnly);this.disposables.push(n(this.onDidRunWriteOperation,this)),this.disposables.push(Ke.window.registerFileDecorationProvider(this))}_onDidChangeDecorations=new Ke.EventEmitter;onDidChangeFileDecorations=this._onDidChangeDecorations.event;_currentHistoryItemRef;get currentHistoryItemRef(){return this._currentHistoryItemRef}_currentHistoryItemRemoteRef;get currentHistoryItemRemoteRef(){return this._currentHistoryItemRemoteRef}_currentHistoryItemBaseRef;get currentHistoryItemBaseRef(){return this._currentHistoryItemBaseRef}_onDidChangeCurrentHistoryItemRefs=new Ke.EventEmitter;onDidChangeCurrentHistoryItemRefs=this._onDidChangeCurrentHistoryItemRefs.event;_onDidChangeHistoryItemRefs=new Ke.EventEmitter;onDidChangeHistoryItemRefs=this._onDidChangeHistoryItemRefs.event;_HEAD;_historyItemRefs=[];commitShortHashLength=7;historyItemDecorations=new Map;disposables=[];onDidChangeConfiguration(e){if(e&&!e.affectsConfiguration("git.commitShortHashLength"))return;let t=Ke.workspace.getConfiguration("git",Ke.Uri.file(this.repository.root));this.commitShortHashLength=t.get("commitShortHashLength",7)}async onDidRunWriteOperation(e){if(!this.repository.HEAD){this.logger.trace("[GitHistoryProvider][onDidRunWriteOperation] repository.HEAD is undefined"),this._currentHistoryItemRef=this._currentHistoryItemRemoteRef=this._currentHistoryItemBaseRef=void 0,this._onDidChangeCurrentHistoryItemRefs.fire();return}let t=this.repository.refs.map(c=>this.toSourceControlHistoryItemRef(c)).sort((c,l)=>c.id.localeCompare(l.id)),r=Pw(this._historyItemRefs,t);this._historyItemRefs=t;let n="",o="";switch(this.repository.HEAD.type){case de.Head:{if(this.repository.HEAD.name!==void 0)if(n=`refs/heads/${this.repository.HEAD.name}`,o=this.repository.HEAD.name,this.repository.HEAD.upstream?this.repository.HEAD.upstream.remote==="."?this._currentHistoryItemRemoteRef={id:`refs/heads/${this.repository.HEAD.upstream.name}`,name:this.repository.HEAD.upstream.name,revision:this.repository.HEAD.upstream.commit,icon:new Ke.ThemeIcon("git-branch")}:this._currentHistoryItemRemoteRef={id:`refs/remotes/${this.repository.HEAD.upstream.remote}/${this.repository.HEAD.upstream.name}`,name:`${this.repository.HEAD.upstream.remote}/${this.repository.HEAD.upstream.name}`,revision:this.repository.HEAD.upstream.commit,icon:new Ke.ThemeIcon("cloud")}:this._currentHistoryItemRemoteRef=void 0,this._HEAD?.name!==this.repository.HEAD.name){let c=await this.resolveHEADMergeBase();this._currentHistoryItemBaseRef=c&&c.name&&c.remote&&(c.remote!==this.repository.HEAD.upstream?.remote||c.name!==this.repository.HEAD.upstream?.name)?{id:`refs/remotes/${c.remote}/${c.name}`,name:`${c.remote}/${c.name}`,revision:c.commit,icon:new Ke.ThemeIcon("cloud")}:void 0}else{let c=r.modified.find(l=>l.id===this._currentHistoryItemBaseRef?.id);this._currentHistoryItemBaseRef&&c&&(this._currentHistoryItemBaseRef={...this._currentHistoryItemBaseRef,revision:c.revision})}else n=this.repository.HEAD.commit??"",o=this.repository.HEAD.commit??"",this._currentHistoryItemRemoteRef=void 0,this._currentHistoryItemBaseRef=void 0;break}case de.Tag:{n=`refs/tags/${this.repository.HEAD.name}`,o=this.repository.HEAD.name??this.repository.HEAD.commit??"",this._currentHistoryItemRemoteRef=void 0,this._currentHistoryItemBaseRef=void 0;break}}this._HEAD?.ahead!==this.repository.HEAD?.ahead&&Ke.commands.executeCommand("setContext","git.currentHistoryItemIsAhead",(this.repository.HEAD?.ahead??0)>0),this._HEAD?.behind!==this.repository.HEAD?.behind&&Ke.commands.executeCommand("setContext","git.currentHistoryItemIsBehind",(this.repository.HEAD?.behind??0)>0),this._HEAD=this.repository.HEAD,this._currentHistoryItemRef={id:n,name:o,revision:this.repository.HEAD.commit,icon:new Ke.ThemeIcon("target")},this._onDidChangeCurrentHistoryItemRefs.fire(),this.logger.trace(`[GitHistoryProvider][onDidRunWriteOperation] currentHistoryItemRef: ${JSON.stringify(this._currentHistoryItemRef)}`),this.logger.trace(`[GitHistoryProvider][onDidRunWriteOperation] currentHistoryItemRemoteRef: ${JSON.stringify(this._currentHistoryItemRemoteRef)}`),this.logger.trace(`[GitHistoryProvider][onDidRunWriteOperation] currentHistoryItemBaseRef: ${JSON.stringify(this._currentHistoryItemBaseRef)}`);let a=e.operation.kind==="Fetch"&&e.operation.showProgress===!1;this._onDidChangeHistoryItemRefs.fire({...r,silent:a});let s={added:r.added.map(c=>c.id),modified:r.modified.map(c=>c.id),removed:r.removed.map(c=>c.id),silent:a};this.logger.trace(`[GitHistoryProvider][onDidRunWriteOperation] historyItemRefs: ${JSON.stringify(s)}`)}async provideHistoryItemRefs(e){let t=await this.repository.getRefs({pattern:e}),r=[],n=[],o=[];for(let a of t)switch(a.type){case de.RemoteHead:n.push(this.toSourceControlHistoryItemRef(a));break;case de.Tag:o.push(this.toSourceControlHistoryItemRef(a));break;default:r.push(this.toSourceControlHistoryItemRef(a));break}return[...r,...n,...o]}async provideHistoryItems(e,t){if(!this.currentHistoryItemRef||!e.historyItemRefs)return[];let n={refNames:Array.from(new Set(e.historyItemRefs)),shortStats:!0};try{if(e.limit===void 0||typeof e.limit=="number")n={...n,maxEntries:e.limit??50};else if(typeof e.limit.id=="string"){let u=await this.repository.getCommit(e.limit.id),m=u.parents.length>0?u.parents[0]:await this.repository.getEmptyTree();n={...n,range:`${m}..`}}typeof e.skip=="number"&&(n={...n,skip:e.skip});let o=typeof e.filterText=="string"&&e.filterText!==""?await this._searchHistoryItems(e.filterText.trim(),n,t):await this.repository.log({...n,silent:!0},t);if(t.isCancellationRequested)return[];let a={commits:o.map(u=>({hash:u.hash,authorName:u.authorName,authorEmail:u.authorEmail})),size:20},s=await Rs(this.historyItemDetailProviderRegistry,this.repository,a),c=await qc(this.historyItemDetailProviderRegistry,this.repository)??[];await Ds();let l=[];for(let u of o){let m=So(u.message),f=await Ss(this.historyItemDetailProviderRegistry,this.repository,m)??m,g=s?.get(u.hash),p=this._resolveHistoryItemRefs(u),v=[Xc(Ke.Uri.file(this.repository.root),u.hash),Zc(c,u.hash)],_=bD(g,u.authorName,u.authorEmail,u.authorDate??u.commitDate,f,u.shortStat,v,u.coAuthors);l.push({id:u.hash,parentIds:u.parents,subject:Nu(m),message:f,author:u.authorName,authorEmail:u.authorEmail,authorIcon:g?Ke.Uri.parse(g):new Ke.ThemeIcon("account"),displayId:mi(u.hash,this.commitShortHashLength,!1),timestamp:u.authorDate?.getTime(),statistics:u.shortStat??{files:0,insertions:0,deletions:0},references:p.length!==0?p:void 0,tooltip:_})}return l}catch(o){return this.logger.error(`[GitHistoryProvider][provideHistoryItems] Failed to get history items with options '${JSON.stringify(e)}': ${o}`),[]}}async provideHistoryItemChanges(e,t){t=t??await this.repository.getEmptyTree();let r=[],n=[],o=await this.repository.diffBetweenWithStats(t,e);for(let a of o){let s=a.uri.with({query:`ref=${e}`});n.push({uri:s,...Cs(a,t,e)});let c=je.getStatusLetter(a.status),l=je.getStatusText(a.status),u=je.getStatusColor(a.status),m=new Ke.FileDecoration(c,l,u);this.historyItemDecorations.set(s.toString(),m),r.push(s)}return this._onDidChangeDecorations.fire(r),n}async resolveHistoryItem(e,t){try{let r=await this.repository.getCommit(e);if(!r||t.isCancellationRequested)return;let n={commits:[{hash:r.hash,authorName:r.authorName,authorEmail:r.authorEmail}],size:20},o=await Rs(this.historyItemDetailProviderRegistry,this.repository,n);await Ds();let a=So(r.message),s=await Ss(this.historyItemDetailProviderRegistry,this.repository,a)??a,c=a.indexOf(`
`),l=c!==-1?`${mi(a,c,!1)}`:a,u=o?.get(r.hash),m=this._resolveHistoryItemRefs(r);return{id:r.hash,parentIds:r.parents,subject:l,message:s,author:r.authorName,authorEmail:r.authorEmail,authorIcon:u?Ke.Uri.parse(u):new Ke.ThemeIcon("account"),displayId:mi(r.hash,this.commitShortHashLength,!1),timestamp:r.authorDate?.getTime(),statistics:r.shortStat??{files:0,insertions:0,deletions:0},references:m.length!==0?m:void 0}}catch(r){this.logger.error(`[GitHistoryProvider][resolveHistoryItem] Failed to resolve history item '${e}': ${r}`);return}}async resolveHistoryItemChatContext(e){try{return await this.repository.showChanges(e)}catch(t){this.logger.error(`[GitHistoryProvider][resolveHistoryItemChatContext] Failed to resolve history item '${e}': ${t}`)}}async resolveHistoryItemChangeRangeChatContext(e,t,r,n){try{let o=await this.repository.showChangesBetween(t,e,r);return n.isCancellationRequested?void 0:`Output of git log -p ${t}..${e} -- ${r}:

${o}`}catch(o){this.logger.error(`[GitHistoryProvider][resolveHistoryItemChangeRangeChatContext] Failed to resolve history item change range '${e}' for '${r}': ${o}`)}}async resolveHistoryItemRefsCommonAncestor(e){try{if(e.length===0)return;if(e.length===1&&e[0]===this.currentHistoryItemRef?.id){if(this.currentHistoryItemRemoteRef)return await this.repository.getMergeBase(e[0],this.currentHistoryItemRemoteRef.id);if(this.currentHistoryItemBaseRef)return await this.repository.getMergeBase(e[0],this.currentHistoryItemBaseRef.id);let t=await this.repository.log({maxParents:0,refNames:["HEAD"]});if(t.length>0)return t[0].hash}else if(e.length>1)return await this.repository.getMergeBase(e[0],e[1],...e.slice(2))}catch(t){this.logger.error(`[GitHistoryProvider][resolveHistoryItemRefsCommonAncestor] Failed to resolve common ancestor for ${e.join(",")}: ${t}`)}}provideFileDecoration(e){return this.historyItemDecorations.get(e.toString())}_resolveHistoryItemRefs(e){let t=[];for(let r of e.refNames)if(r!=="refs/remotes/origin/HEAD")switch(!0){case r.startsWith("HEAD -> refs/heads/"):t.push({id:r.substring(8),name:r.substring(19),revision:e.hash,category:Ke.l10n.t("branches"),icon:new Ke.ThemeIcon("target")});break;case r.startsWith("refs/heads/"):t.push({id:r,name:r.substring(11),revision:e.hash,category:Ke.l10n.t("branches"),icon:new Ke.ThemeIcon("git-branch")});break;case r.startsWith("refs/remotes/"):t.push({id:r,name:r.substring(13),revision:e.hash,category:Ke.l10n.t("remote branches"),icon:new Ke.ThemeIcon("cloud")});break;case r.startsWith("tag: refs/tags/"):t.push({id:r.substring(5),name:r.substring(15),revision:e.hash,category:Ke.l10n.t("tags"),icon:new Ke.ThemeIcon("tag")});break}return t.sort(yA)}async resolveHEADMergeBase(){try{return this.repository.HEAD?.type!==de.Head||!this.repository.HEAD?.name?void 0:await this.repository.getBranchBase(this.repository.HEAD.name)}catch(e){this.logger.error(`[GitHistoryProvider][resolveHEADMergeBase] Failed to resolve merge base for ${this.repository.HEAD?.name}: ${e}`);return}}async _searchHistoryItems(e,t,r){if(r.isCancellationRequested)return[];let n=new Map,[o,a]=await Promise.all([this.repository.log({...t,refNames:void 0,author:e,silent:!0},r),this.repository.log({...t,refNames:void 0,grep:e,silent:!0},r)]);for(let s of[...o,...a])n.has(s.hash)||n.set(s.hash,s);return Array.from(n.values()).slice(0,t.maxEntries??50)}toSourceControlHistoryItemRef(e){switch(e.type){case de.RemoteHead:return{id:`refs/remotes/${e.name}`,name:e.name??"",description:e.commit?Ke.l10n.t("Remote branch at {0}",mi(e.commit,this.commitShortHashLength,!1)):void 0,revision:e.commit,icon:new Ke.ThemeIcon("cloud"),category:Ke.l10n.t("remote branches")};case de.Tag:return{id:`refs/tags/${e.name}`,name:e.name??"",description:e.commit?Ke.l10n.t("Tag at {0}",mi(e.commit,this.commitShortHashLength,!1)):void 0,revision:e.commit,icon:new Ke.ThemeIcon("tag"),category:Ke.l10n.t("tags")};default:return{id:`refs/heads/${e.name}`,name:e.name??"",description:e.commit?mi(e.commit,this.commitShortHashLength,!1):void 0,revision:e.commit,icon:new Ke.ThemeIcon("git-branch"),category:Ke.l10n.t("branches")}}}dispose(){Ge(this.disposables)}};D([Sr],Uu.prototype,"onDidRunWriteOperation",1);var ut=require("vscode");var Ef=class{constructor(e){this._repositoryResolver=e}getCommands(e){let t=this._repositoryResolver.getRepository(e.rootUri);if(!t)return[];let r=ut.workspace.getConfiguration("git",ut.Uri.file(t.root)),n=t.isBranchProtected(),o=r.get("branchProtectionPrompt"),a=n&&o==="alwaysPrompt",s=n&&o==="alwaysCommitToNewBranch",c=t.operations.isRunning("Commit")||t.operations.isRunning("PostCommitCommand"),l=c?"$(sync~spin)":a?"$(lock)":s?"$(git-branch)":void 0,u=s?ut.l10n.t("Commit to New Branch & Push Changes"):ut.l10n.t("Commit & Push Changes"),m=s?ut.l10n.t("Commit to New Branch & Synchronize Changes"):ut.l10n.t("Commit & Sync Changes");return c&&(u=s?ut.l10n.t("Committing to New Branch & Pushing Changes..."):ut.l10n.t("Committing & Pushing Changes..."),m=s?ut.l10n.t("Committing to New Branch & Synchronizing Changes..."):ut.l10n.t("Committing & Synchronizing Changes...")),[{command:"git.push",title:ut.l10n.t("{0} Commit & Push",l??"$(arrow-up)"),tooltip:u},{command:"git.sync",title:ut.l10n.t("{0} Commit & Sync",l??"$(sync)"),tooltip:m}]}},Cf=class{constructor(e,t,r){this.globalState=e;this.repository=t;this.postCommitCommandsProviderRegistry=r;let n=ut.Uri.file(t.root);this.migratePostCommitCommandStorage().then(()=>{let o=async()=>{ut.workspace.getConfiguration("git",n).get("rememberPostCommitCommand")||await this.globalState.update(this.getGlobalStateKey(),void 0)};this.disposables.push(ut.workspace.onDidChangeConfiguration(a=>{a.affectsConfiguration("git.rememberPostCommitCommand",n)&&o()})),o(),this.disposables.push(r.onDidChangePostCommitCommandsProviders(()=>this._onDidChange.fire()))})}_onDidChange=new ut.EventEmitter;get onDidChange(){return this._onDidChange.event}disposables=[];set postCommitCommand(e){e!==void 0&&this.globalState.update(this.getGlobalStateKey(),e).then(()=>this._onDidChange.fire())}getPrimaryCommand(){let e=this.getSecondaryCommands().map(n=>n).flat(),t=e.find(n=>n.arguments?.length===2&&n.arguments[1]===this.getPostCommitCommandStringFromStorage()),r=e.find(n=>n.arguments?.length===2&&n.arguments[1]===this.getPostCommitCommandStringFromSetting());return t??r??this.getCommitCommands()[0]}getSecondaryCommands(){let e=[];for(let t of this.postCommitCommandsProviderRegistry.getPostCommitCommandsProviders()){let r=t.getCommands(new Yt(this.repository));e.push((r??[]).map(n=>({command:"git.commit",title:n.title,tooltip:n.tooltip,arguments:[this.repository.sourceControl,n.command]})))}return e.length>0&&e.splice(0,0,this.getCommitCommands()),e}async executePostCommitCommand(e){try{if(e===null)return;if(e===void 0){let t=this.getPrimaryCommand();e=t.arguments?.length===2?t.arguments[1]:null}e!==null&&await ut.commands.executeCommand(e.toString(),new Yt(this.repository))}catch(t){throw t}finally{this.isRememberPostCommitCommandEnabled()||(await this.globalState.update(this.getGlobalStateKey(),void 0),this._onDidChange.fire())}}getGlobalStateKey(){return`postCommitCommand:${this.repository.root}`}getCommitCommands(){let e=ut.workspace.getConfiguration("git",ut.Uri.file(this.repository.root)),t=this.repository.isBranchProtected(),r=e.get("branchProtectionPrompt"),n=t&&r==="alwaysPrompt",o=t&&r==="alwaysCommitToNewBranch",a=n?"$(lock)":o?"$(git-branch)":void 0,s=this.repository.HEAD?.name,c=o?ut.l10n.t("Commit Changes to New Branch"):s?ut.l10n.t('Commit Changes on "{0}"',s):ut.l10n.t("Commit Changes");return this.repository.operations.isRunning("Commit")&&(c=o?ut.l10n.t("Committing Changes to New Branch..."):ut.l10n.t("Committing Changes...")),[{command:"git.commit",title:ut.l10n.t("{0} Commit",a??"$(check)"),tooltip:c,arguments:[this.repository.sourceControl,null]},{command:"git.commitAmend",title:ut.l10n.t("{0} Commit (Amend)",a??"$(check)"),tooltip:c,arguments:[this.repository.sourceControl,null]}]}getPostCommitCommandStringFromSetting(){let t=ut.workspace.getConfiguration("git",ut.Uri.file(this.repository.root)).get("postCommitCommand");return t==="push"||t==="sync"?`git.${t}`:void 0}getPostCommitCommandStringFromStorage(){return this.globalState.get(this.getGlobalStateKey())}async migratePostCommitCommandStorage(){let e=this.globalState.get(this.repository.root);e!==void 0&&(await this.globalState.update(this.getGlobalStateKey(),e),await this.globalState.update(this.repository.root,void 0))}isRememberPostCommitCommandEnabled(){return ut.workspace.getConfiguration("git",ut.Uri.file(this.repository.root)).get("rememberPostCommitCommand")===!0}dispose(){this.disposables=Ge(this.disposables)}};var Wt=require("vscode");var tv=class{constructor(e){this.repository=e;this._state={isCheckoutRunning:!1,isCommitRunning:!1,isSyncRunning:!1},e.onDidChangeOperations(this.onDidChangeOperations,this,this.disposables),e.onDidRunGitStatus(this._onDidChange.fire,this._onDidChange,this.disposables),e.onDidChangeBranchProtection(this._onDidChange.fire,this._onDidChange,this.disposables)}_onDidChange=new Wt.EventEmitter;get onDidChange(){return this._onDidChange.event}disposables=[];_state;get state(){return this._state}set state(e){this._state=e,this._onDidChange.fire()}get command(){let e=[...this.repository.operations.getOperations("Checkout"),...this.repository.operations.getOperations("CheckoutTracking")],t=!!this.repository.rebaseCommit,r=e[0]?.refLabel??`${this.repository.headLabel}${t?` (${Wt.l10n.t("Rebasing")})`:""}`;return{command:this.state.isCheckoutRunning||this.state.isCommitRunning||this.state.isSyncRunning?"":"git.checkout",tooltip:`${r}, ${this.getTooltip()}`,title:`${this.getIcon()} ${r}`,arguments:[this.repository.sourceControl]}}getIcon(){if(!this.repository.HEAD)return"";if(this.state.isCheckoutRunning)return"$(loading~spin)";if(this.repository.HEAD.type===de.Head&&this.repository.HEAD.name)switch(!0){case this.repository.isBranchProtected():return"$(lock)";case(this.repository.mergeInProgress||!!this.repository.rebaseCommit):return"$(git-branch-conflicts)";case this.repository.indexGroup.resourceStates.length>0:return"$(git-branch-staged-changes)";case this.repository.workingTreeGroup.resourceStates.length+this.repository.untrackedGroup.resourceStates.length>0:return"$(git-branch-changes)";default:return"$(git-branch)"}return this.repository.HEAD.type===de.Tag?"$(tag)":"$(git-commit)"}getTooltip(){return this.state.isCheckoutRunning?Wt.l10n.t("Checking Out Branch/Tag..."):this.state.isCommitRunning?Wt.l10n.t("Committing Changes..."):this.state.isSyncRunning?Wt.l10n.t("Synchronizing Changes..."):Wt.l10n.t("Checkout Branch/Tag...")}onDidChangeOperations(){let e=this.repository.operations.isRunning("Commit"),t=this.repository.operations.isRunning("Checkout")||this.repository.operations.isRunning("CheckoutTracking"),r=this.repository.operations.isRunning("Sync")||this.repository.operations.isRunning("Push")||this.repository.operations.isRunning("Pull");this.state={...this.state,isCheckoutRunning:t,isCommitRunning:e,isSyncRunning:r}}dispose(){this.disposables.forEach(e=>e.dispose())}},rv=class{constructor(e,t){this.repository=e;this.remoteSourcePublisherRegistry=t;this._state={enabled:!0,isCheckoutRunning:!1,isCommitRunning:!1,isSyncRunning:!1,hasRemotes:!1,HEAD:void 0,remoteSourcePublishers:t.getRemoteSourcePublishers()},e.onDidRunGitStatus(this.onDidRunGitStatus,this,this.disposables),e.onDidChangeOperations(this.onDidChangeOperations,this,this.disposables),ii(t.onDidAddRemoteSourcePublisher,t.onDidRemoveRemoteSourcePublisher)(this.onDidChangeRemoteSourcePublishers,this,this.disposables),Ue(Wt.workspace.onDidChangeConfiguration,n=>n.affectsConfiguration("git.enableStatusBarSync"))(this.updateEnablement,this,this.disposables),this.updateEnablement()}_onDidChange=new Wt.EventEmitter;get onDidChange(){return this._onDidChange.event}disposables=[];_state;get state(){return this._state}set state(e){this._state=e,this._onDidChange.fire()}updateEnablement(){let t=Wt.workspace.getConfiguration("git",Wt.Uri.file(this.repository.root)).get("enableStatusBarSync",!0);this.state={...this.state,enabled:t}}onDidChangeOperations(){let e=this.repository.operations.isRunning("Commit"),t=this.repository.operations.isRunning("Checkout")||this.repository.operations.isRunning("CheckoutTracking"),r=this.repository.operations.isRunning("Sync")||this.repository.operations.isRunning("Push")||this.repository.operations.isRunning("Pull");this.state={...this.state,isCheckoutRunning:t,isCommitRunning:e,isSyncRunning:r}}onDidRunGitStatus(){this.state={...this.state,hasRemotes:this.repository.remotes.length>0,HEAD:this.repository.HEAD}}onDidChangeRemoteSourcePublishers(){this.state={...this.state,remoteSourcePublishers:this.remoteSourcePublisherRegistry.getRemoteSourcePublishers()}}get command(){if(!this.state.enabled)return;if(!this.state.hasRemotes){if(this.state.remoteSourcePublishers.length===0)return;let a=this.state.isCheckoutRunning||this.state.isCommitRunning?"":"git.publish",s=this.state.isCheckoutRunning?Wt.l10n.t("Checking Out Changes..."):this.state.isCommitRunning?Wt.l10n.t("Committing Changes..."):this.state.remoteSourcePublishers.length===1?Wt.l10n.t("Publish to {0}",this.state.remoteSourcePublishers[0].name):Wt.l10n.t("Publish to...");return{command:a,title:"$(cloud-upload)",tooltip:s,arguments:[this.repository.sourceControl]}}let e=this.state.HEAD,t="$(sync)",r="",n="",o="";return e&&e.name&&e.commit?e.upstream?((e.ahead||e.behind)&&(r+=this.repository.syncLabel),n="git.sync",o=this.repository.syncTooltip):(t="$(cloud-upload)",n="git.publish",o=Wt.l10n.t("Publish Branch")):(n="",o=""),this.state.isCheckoutRunning&&(n="",o=Wt.l10n.t("Checking Out Changes...")),this.state.isCommitRunning&&(n="",o=Wt.l10n.t("Committing Changes...")),this.state.isSyncRunning&&(t="$(sync~spin)",n="",o=Wt.l10n.t("Synchronizing Changes...")),{command:n,title:[t,r].join(" ").trim(),tooltip:o,arguments:[this.repository.sourceControl]}}dispose(){this.disposables.forEach(e=>e.dispose())}},wf=class{constructor(e,t){this.repository=e;this.syncStatusBar=new rv(e,t),this.checkoutStatusBar=new tv(e),this.onDidChange=ii(this.syncStatusBar.onDidChange,this.checkoutStatusBar.onDidChange)}onDidChange;syncStatusBar;checkoutStatusBar;disposables=[];get commands(){return this.repository.isHidden?[]:[this.checkoutStatusBar.command,this.syncStatusBar.command].filter(e=>!!e)}dispose(){this.syncStatusBar.dispose(),this.checkoutStatusBar.dispose(),this.disposables=Ge(this.disposables)}};var Df=require("vscode");function iv(i){let e=Df.workspace.createFileSystemWatcher(new Df.RelativePattern(i,"*"));return new class{event=ii(e.onDidCreate,e.onDidChange,e.onDidDelete);dispose(){e.dispose()}}}var St=require("vscode");function DD(i,e){let t=i.name??"",r=e.name??"",n=t.lastIndexOf("/"),o=r.lastIndexOf("/");if(n===-1&&o===-1)return 0;if(n!==-1&&o===-1)return-1;if(n===-1&&o!==-1)return 1;let a=t.substring(0,n).split("/"),s=r.substring(0,o).split("/");for(let c=0;c<Math.min(a.length,s.length);c++){let l=a[c].localeCompare(s[c]);if(l!==0)return l}return a.length!==s.length?s.length-a.length:0}function vA(i,e){return i.main&&!e.main?-1:!i.main&&e.main?1:i.name.localeCompare(e.name)}var Rf=class{constructor(e,t){this.repository=e;this.logger=t;this._groups=[{id:"branches",name:St.l10n.t("Branches"),icon:new St.ThemeIcon("git-branch"),supportsFolders:!0},{id:"stashes",name:St.l10n.t("Stashes"),icon:new St.ThemeIcon("git-stash"),supportsFolders:!1},{id:"tags",name:St.l10n.t("Tags"),icon:new St.ThemeIcon("tag"),supportsFolders:!0},{id:"worktrees",name:St.l10n.t("Worktrees"),icon:new St.ThemeIcon("worktree"),supportsFolders:!1}],this._disposables.push(this._onDidChangeArtifacts),this._disposables.push(e.historyProvider.onDidChangeHistoryItemRefs(n=>{let o=new Set;for(let a of n.added.concat(n.modified).concat(n.removed))a.id.startsWith("refs/heads/")?o.add("branches"):a.id.startsWith("refs/tags/")&&o.add("tags");this._onDidChangeArtifacts.fire(Array.from(o))}));let r=Ue(e.onDidRunOperation,n=>!n.operation.readOnly);this._disposables.push(r(n=>{n.operation.kind==="Stash"?this._onDidChangeArtifacts.fire(["stashes"]):n.operation.kind==="Worktree"&&this._onDidChangeArtifacts.fire(["worktrees"])}))}_onDidChangeArtifacts=new St.EventEmitter;onDidChangeArtifacts=this._onDidChangeArtifacts.event;_groups;_disposables=[];provideArtifactGroups(){return this._groups}async provideArtifacts(e){let r=St.workspace.getConfiguration("git",St.Uri.file(this.repository.root)).get("commitShortHashLength",7);try{if(e==="branches")return(await this.repository.getRefs({pattern:"refs/heads",includeCommitDetails:!0,sort:"creatordate"})).sort(DD).map(o=>({id:`refs/heads/${o.name}`,name:o.name??o.commit??"",description:Kc([o.commit?.substring(0,r),o.commitDetails?.message.split(`
`)[0]]).join(" \u2022 "),icon:this.repository.HEAD?.type===de.Head&&o.name===this.repository.HEAD?.name?new St.ThemeIcon("target"):new St.ThemeIcon("git-branch"),timestamp:o.commitDetails?.commitDate?.getTime()}));if(e==="tags")return(await this.repository.getRefs({pattern:"refs/tags",includeCommitDetails:!0,sort:"creatordate"})).sort(DD).map(o=>({id:`refs/tags/${o.name}`,name:o.name??o.commit??"",description:Kc([o.commit?.substring(0,r),o.commitDetails?.message.split(`
`)[0]]).join(" \u2022 "),icon:this.repository.HEAD?.type===de.Tag&&o.name===this.repository.HEAD?.name?new St.ThemeIcon("target"):new St.ThemeIcon("tag"),timestamp:o.commitDetails?.commitDate?.getTime()}));if(e==="stashes")return(await this.repository.getStashes()).map(o=>({id:`stash@{${o.index}}`,name:o.description,description:o.branchName,icon:new St.ThemeIcon("git-stash"),timestamp:o.commitDate?.getTime(),command:{title:St.l10n.t("View Stash"),command:"git.repositories.stashView"}}));if(e==="worktrees")return(await this.repository.getWorktreeDetails()).sort(vA).map(o=>({id:o.path,name:o.name,description:Kc([o.detached?St.l10n.t("detached"):o.ref.substring(11),o.commitDetails?.hash.substring(0,r),o.commitDetails?.message.split(`
`)[0]]).join(" \u2022 "),icon:o.main?new St.ThemeIcon("repo"):Ou(o.path)?new St.ThemeIcon("chat-sparkle"):new St.ThemeIcon("worktree")}))}catch(n){return this.logger.error(`[GitArtifactProvider][provideArtifacts] Error while providing artifacts for group '${e}': `,n),[]}return[]}dispose(){Ge(this._disposables)}};var Po=require("vscode");var Sf=class{constructor(e,t,r){this.repository=e;this.repositoryResolver=t;this.logger=r}label=Po.l10n.t("Git Local Changes (Working Tree)");async provideOriginalResource(e){if(this.logger.trace(`[Repository][provideOriginalResource] Resource: ${e.toString()}`),e.scheme!=="file"){this.logger.trace(`[Repository][provideOriginalResource] Resource is not a file: ${e.scheme}`);return}if(Qt(this.repository.dotGit.commonPath??this.repository.dotGit.path,e.fsPath)){this.logger.trace(`[Repository][provideOriginalResource] Resource is inside .git directory: ${e.toString()}`);return}if(((await Po.workspace.fs.stat(e)).type&Po.FileType.SymbolicLink)!==0){this.logger.trace(`[Repository][provideOriginalResource] Resource is a symbolic link: ${e.toString()}`);return}if(this.repositoryResolver.getRepository(e)!==this.repository){this.logger.trace(`[Repository][provideOriginalResource] Resource is not part of the repository: ${e.toString()}`);return}if(this.repository.isHidden===!0){this.logger.trace(`[Repository][provideOriginalResource] Repository is hidden: ${e.toString()}`);return}if(this.repository.mergeGroup.resourceStates.some(o=>et(o.resourceUri.fsPath,e.fsPath))){this.logger.trace(`[Repository][provideOriginalResource] Resource is part of a merge group: ${e.toString()}`);return}if(this.repository.untrackedGroup.resourceStates.some(o=>et(o.resourceUri.path,e.path))||this.repository.workingTreeGroup.resourceStates.some(o=>et(o.resourceUri.path,e.path)&&o.type===C.UNTRACKED)){this.logger.trace(`[Repository][provideOriginalResource] Resource is untracked: ${e.toString()}`);return}if((await this.repository.checkIgnore([e.fsPath])).size>0){this.logger.trace(`[Repository][provideOriginalResource] Resource is git ignored: ${e.toString()}`);return}let n=$e(e,"",{replaceFileExtension:!0});return this.logger.trace(`[Repository][provideOriginalResource] Original resource: ${n.toString()}`),n}},Pf=class{constructor(e,t){this._repository=e;this.logger=t}label=Po.l10n.t("Git Local Changes (Index)");async provideOriginalResource(e){if(this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource: ${e.toString()}`),e.scheme!=="file"){this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource is not a file: ${e.scheme}`);return}if(this._repository.isHidden===!0){this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Repository is hidden: ${e.toString()}`);return}if(((await Po.workspace.fs.stat(e)).type&Po.FileType.SymbolicLink)!==0){this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource is a symbolic link: ${e.toString()}`);return}if(!this._repository.indexGroup.resourceStates.some(n=>et(n.resourceUri.fsPath,e.fsPath))){this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource is not part of a index group: ${e.toString()}`);return}let r=$e(e,"HEAD",{replaceFileExtension:!0});return this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Original resource: ${r.toString()}`),r}};var RD=i=>new Promise(e=>setTimeout(e,i)),_A=We.join(We.dirname(__dirname),"resources","icons");function Pr(i,e){return b.Uri.file(We.join(_A,e,`${i}.svg`))}var bt=class bt{constructor(e,t,r,n,o,a,s){this._commandResolver=e;this._resourceGroupType=t;this._resourceUri=r;this._type=n;this._useIcons=o;this._renameResourceUri=a;this._repositoryKind=s}static getStatusLetter(e){switch(e){case C.INDEX_MODIFIED:case C.MODIFIED:return"M";case C.INDEX_ADDED:case C.INTENT_TO_ADD:return"A";case C.INDEX_DELETED:case C.DELETED:return"D";case C.INDEX_RENAMED:case C.INTENT_TO_RENAME:return"R";case C.TYPE_CHANGED:return"T";case C.UNTRACKED:return"U";case C.IGNORED:return"I";case C.INDEX_COPIED:return"C";case C.BOTH_DELETED:case C.ADDED_BY_US:case C.DELETED_BY_THEM:case C.ADDED_BY_THEM:case C.DELETED_BY_US:case C.BOTH_ADDED:case C.BOTH_MODIFIED:return"!";default:throw new Error("Unknown git status: "+e)}}static getStatusText(e){switch(e){case C.INDEX_MODIFIED:return b.l10n.t("Index Modified");case C.MODIFIED:return b.l10n.t("Modified");case C.INDEX_ADDED:return b.l10n.t("Index Added");case C.INDEX_DELETED:return b.l10n.t("Index Deleted");case C.DELETED:return b.l10n.t("Deleted");case C.INDEX_RENAMED:return b.l10n.t("Index Renamed");case C.INDEX_COPIED:return b.l10n.t("Index Copied");case C.UNTRACKED:return b.l10n.t("Untracked");case C.IGNORED:return b.l10n.t("Ignored");case C.INTENT_TO_ADD:return b.l10n.t("Intent to Add");case C.INTENT_TO_RENAME:return b.l10n.t("Intent to Rename");case C.TYPE_CHANGED:return b.l10n.t("Type Changed");case C.BOTH_DELETED:return b.l10n.t("Conflict: Both Deleted");case C.ADDED_BY_US:return b.l10n.t("Conflict: Added By Us");case C.DELETED_BY_THEM:return b.l10n.t("Conflict: Deleted By Them");case C.ADDED_BY_THEM:return b.l10n.t("Conflict: Added By Them");case C.DELETED_BY_US:return b.l10n.t("Conflict: Deleted By Us");case C.BOTH_ADDED:return b.l10n.t("Conflict: Both Added");case C.BOTH_MODIFIED:return b.l10n.t("Conflict: Both Modified");default:return""}}static getStatusColor(e){switch(e){case C.INDEX_MODIFIED:return new b.ThemeColor("gitDecoration.stageModifiedResourceForeground");case C.MODIFIED:case C.TYPE_CHANGED:return new b.ThemeColor("gitDecoration.modifiedResourceForeground");case C.INDEX_DELETED:return new b.ThemeColor("gitDecoration.stageDeletedResourceForeground");case C.DELETED:return new b.ThemeColor("gitDecoration.deletedResourceForeground");case C.INDEX_ADDED:case C.INTENT_TO_ADD:return new b.ThemeColor("gitDecoration.addedResourceForeground");case C.INDEX_COPIED:case C.INDEX_RENAMED:case C.INTENT_TO_RENAME:return new b.ThemeColor("gitDecoration.renamedResourceForeground");case C.UNTRACKED:return new b.ThemeColor("gitDecoration.untrackedResourceForeground");case C.IGNORED:return new b.ThemeColor("gitDecoration.ignoredResourceForeground");case C.BOTH_DELETED:case C.ADDED_BY_US:case C.DELETED_BY_THEM:case C.ADDED_BY_THEM:case C.DELETED_BY_US:case C.BOTH_ADDED:case C.BOTH_MODIFIED:return new b.ThemeColor("gitDecoration.conflictingResourceForeground");default:throw new Error("Unknown git status: "+e)}}get resourceUri(){return this.renameResourceUri&&(this._type===C.MODIFIED||this._type===C.DELETED||this._type===C.INDEX_RENAMED||this._type===C.INDEX_COPIED||this._type===C.INTENT_TO_RENAME)?this.renameResourceUri:this._resourceUri}get leftUri(){return this.resources.left}get rightUri(){return this.resources.right}get multiDiffEditorOriginalUri(){return this.resources.original}get multiFileDiffEditorModifiedUri(){return this.resources.modified}get command(){return this._commandResolver.resolveDefaultCommand(this)}get resources(){return this._commandResolver.getResources(this)}get resourceGroupType(){return this._resourceGroupType}get type(){return this._type}get original(){return this._resourceUri}get renameResourceUri(){return this._renameResourceUri}get contextValue(){return this._repositoryKind}static Icons={light:{Modified:Pr("status-modified","light"),Added:Pr("status-added","light"),Deleted:Pr("status-deleted","light"),Renamed:Pr("status-renamed","light"),Copied:Pr("status-copied","light"),Untracked:Pr("status-untracked","light"),Ignored:Pr("status-ignored","light"),Conflict:Pr("status-conflict","light"),TypeChanged:Pr("status-type-changed","light")},dark:{Modified:Pr("status-modified","dark"),Added:Pr("status-added","dark"),Deleted:Pr("status-deleted","dark"),Renamed:Pr("status-renamed","dark"),Copied:Pr("status-copied","dark"),Untracked:Pr("status-untracked","dark"),Ignored:Pr("status-ignored","dark"),Conflict:Pr("status-conflict","dark"),TypeChanged:Pr("status-type-changed","dark")}};getIconPath(e){switch(this.type){case C.INDEX_MODIFIED:return bt.Icons[e].Modified;case C.MODIFIED:return bt.Icons[e].Modified;case C.INDEX_ADDED:return bt.Icons[e].Added;case C.INDEX_DELETED:return bt.Icons[e].Deleted;case C.DELETED:return bt.Icons[e].Deleted;case C.INDEX_RENAMED:return bt.Icons[e].Renamed;case C.INDEX_COPIED:return bt.Icons[e].Copied;case C.UNTRACKED:return bt.Icons[e].Untracked;case C.IGNORED:return bt.Icons[e].Ignored;case C.INTENT_TO_ADD:return bt.Icons[e].Added;case C.INTENT_TO_RENAME:return bt.Icons[e].Renamed;case C.TYPE_CHANGED:return bt.Icons[e].TypeChanged;case C.BOTH_DELETED:return bt.Icons[e].Conflict;case C.ADDED_BY_US:return bt.Icons[e].Conflict;case C.DELETED_BY_THEM:return bt.Icons[e].Conflict;case C.ADDED_BY_THEM:return bt.Icons[e].Conflict;case C.DELETED_BY_US:return bt.Icons[e].Conflict;case C.BOTH_ADDED:return bt.Icons[e].Conflict;case C.BOTH_MODIFIED:return bt.Icons[e].Conflict;default:throw new Error("Unknown git status: "+this.type)}}get tooltip(){return bt.getStatusText(this.type)}get strikeThrough(){switch(this.type){case C.DELETED:case C.BOTH_DELETED:case C.DELETED_BY_THEM:case C.DELETED_BY_US:case C.INDEX_DELETED:return!0;default:return!1}}get faded(){return!1}get decorations(){let e=this._useIcons?{iconPath:this.getIconPath("light")}:void 0,t=this._useIcons?{iconPath:this.getIconPath("dark")}:void 0,r=this.tooltip,n=this.strikeThrough,o=this.faded;return{strikeThrough:n,faded:o,tooltip:r,light:e,dark:t}}get letter(){return bt.getStatusLetter(this.type)}get color(){return bt.getStatusColor(this.type)}get priority(){switch(this.type){case C.INDEX_MODIFIED:case C.MODIFIED:case C.INDEX_COPIED:case C.TYPE_CHANGED:return 2;case C.IGNORED:return 3;case C.BOTH_DELETED:case C.ADDED_BY_US:case C.DELETED_BY_THEM:case C.ADDED_BY_THEM:case C.DELETED_BY_US:case C.BOTH_ADDED:case C.BOTH_MODIFIED:return 4;default:return 1}}get resourceDecoration(){let e=new b.FileDecoration(this.letter,this.tooltip,this.color);return e.propagate=this.type!==C.DELETED&&this.type!==C.INDEX_DELETED,e}async open(){let e=this.command;await b.commands.executeCommand(e.command,...e.arguments||[])}async openFile(){let e=this._commandResolver.resolveFileCommand(this);await b.commands.executeCommand(e.command,...e.arguments||[])}async openChange(){let e=this._commandResolver.resolveChangeCommand(this);await b.commands.executeCommand(e.command,...e.arguments||[])}async compareWithWorkspace(){let e=this._commandResolver.resolveCompareWithWorkspaceCommand(this);await b.commands.executeCommand(e.command,...e.arguments||[])}clone(e){return new bt(this._commandResolver,e??this._resourceGroupType,this._resourceUri,this._type,this._useIcons,this._renameResourceUri,this._repositoryKind)}};D([pn],bt.prototype,"resourceUri",1),D([pn],bt.prototype,"command",1),D([pn],bt.prototype,"resources",1),D([pn],bt.prototype,"faded",1);var je=bt,ov=class{constructor(e){this.repository=e;Ue(b.workspace.onDidChangeConfiguration,r=>r.affectsConfiguration("git",b.Uri.file(this.repository.root)))(r=>this.updateEnablement()),this.updateEnablement(),this.repository.onDidChangeOperations(()=>{this.repository.sourceControl.inputBox.enabled=!this.repository.operations.isRunning("Commit")})}enabled=!1;disposable=dn;updateEnablement(){b.workspace.getConfiguration("git",b.Uri.file(this.repository.root)).get("showProgress")?this.enable():this.disable()}enable(){if(this.enabled)return;let e=wo(Ue(this.repository.onDidChangeOperations,()=>this.repository.operations.shouldShowProgress())),t=wo(Ue(Ew(this.repository.onDidChangeOperations,300),()=>!this.repository.operations.shouldShowProgress())),r=()=>{this.disposable=e(()=>{let n=Ai(t).then(()=>r());b.window.withProgress({location:b.ProgressLocation.SourceControl},()=>n)})};r(),this.enabled=!0}disable(){this.enabled&&(this.disposable.dispose(),this.disposable=dn,this.enabled=!1)}dispose(){this.disable()}},av=class{constructor(e,t,r){this.onWorkspaceWorkingTreeFileChange=e;this.onDotGitFileChange=t;this.logger=r;this.logLevelDisposable=r.onDidChangeLogLevel(this.onDidChangeLogLevel,this),this.onDidChangeLogLevel(r.logLevel)}eventDisposable=dn;logLevelDisposable=dn;onDidChangeLogLevel(e){this.eventDisposable.dispose(),!(e>b.LogLevel.Debug)&&(this.eventDisposable=vs([this.onWorkspaceWorkingTreeFileChange(t=>this.logger.debug(`[FileEventLogger][onWorkspaceWorkingTreeFileChange] ${t.fsPath}`)),this.onDotGitFileChange(t=>this.logger.debug(`[FileEventLogger][onDotGitFileChange] ${t.fsPath}`))]))}dispose(){this.eventDisposable.dispose(),this.logLevelDisposable.dispose()}},sv=class{constructor(e,t){this.repository=e;this.logger=t;let r=iv(e.dotGit.path);this.disposables.push(r);let n=Ue(r.event,o=>o.scheme==="file"&&!/\/\.git(\/index\.lock)?$|\/\.watchman-cookie-/.test(o.path));this.event=ii(n,this.emitter.event),e.onDidRunGitStatus(this.updateTransientWatchers,this,this.disposables),this.updateTransientWatchers()}event;emitter=new b.EventEmitter;transientDisposables=[];disposables=[];updateTransientWatchers(){if(this.transientDisposables=Ge(this.transientDisposables),!this.repository.HEAD||!this.repository.HEAD.upstream)return;this.transientDisposables=Ge(this.transientDisposables);let{name:e,remote:t}=this.repository.HEAD.upstream,r=We.join(this.repository.dotGit.commonPath??this.repository.dotGit.path,"refs","remotes",t,e);try{let n=iv(r);this.transientDisposables.push(n),n.event(this.emitter.fire,this.emitter,this.transientDisposables)}catch{this.logger.warn(`[DotGitWatcher][updateTransientWatchers] Failed to watch ref '${r}', is most likely packed.`)}}dispose(){this.emitter.dispose(),this.transientDisposables=Ge(this.transientDisposables),this.disposables=Ge(this.disposables)}},cv=class{constructor(e){this.repository=e}resolveDefaultCommand(e){return b.workspace.getConfiguration("git",b.Uri.file(this.repository.root)).get("openDiffOnClick",!0)?this.resolveChangeCommand(e):this.resolveFileCommand(e)}resolveFileCommand(e){return{command:"vscode.open",title:b.l10n.t("Open"),arguments:[e.resourceUri]}}resolveChangeCommand(e,t,r){t||(r=e.leftUri);let n=this.getTitle(e);if(r)return{command:"vscode.diff",title:b.l10n.t("Open"),arguments:[r,e.rightUri,n]};{let o=e.type===C.BOTH_MODIFIED;return e.rightUri&&b.workspace.getConfiguration("git").get("mergeEditor",!1)&&(o||e.type===C.BOTH_ADDED)?{command:this.repository.isWorktreeMigrating?"git.openWorktreeMergeEditor":"git.openMergeEditor",title:b.l10n.t("Open Merge"),arguments:[e.rightUri]}:{command:"vscode.open",title:b.l10n.t("Open"),arguments:[e.rightUri,{override:o?!1:void 0},n]}}}resolveCompareWithWorkspaceCommand(e){if(!this.repository.dotGit.commonPath)return this.resolveChangeCommand(e);let t=We.dirname(this.repository.dotGit.commonPath),r=We.relative(this.repository.root,e.resourceUri.fsPath),n=We.join(t,r),o=ki.existsSync(n)?b.Uri.file(n):void 0;return this.resolveChangeCommand(e,!0,o)}getResources(e){for(let n of this.repository.submodules)if(We.join(this.repository.root,n.path)===e.resourceUri.fsPath){let a=$e(e.resourceUri,e.resourceGroupType===1?"index":"wt",{submoduleOf:this.repository.root});return{left:void 0,right:a,original:void 0,modified:a}}let t=this.getLeftResource(e),r=this.getRightResource(e);return{left:t.original??t.modified,right:r.original??r.modified,original:t.original??r.original,modified:t.modified??r.modified}}getLeftResource(e){switch(e.type){case C.INDEX_MODIFIED:case C.INDEX_RENAMED:case C.INTENT_TO_RENAME:case C.TYPE_CHANGED:return{original:$e(e.original,"HEAD")};case C.MODIFIED:return{original:$e(e.resourceUri,"~")};case C.DELETED_BY_US:case C.DELETED_BY_THEM:return{original:$e(e.resourceUri,"~1")}}return{}}getRightResource(e){switch(e.type){case C.INDEX_MODIFIED:case C.INDEX_ADDED:case C.INDEX_COPIED:case C.INDEX_RENAMED:return{modified:$e(e.resourceUri,"")};case C.INDEX_DELETED:case C.DELETED:return{original:$e(e.resourceUri,"HEAD")};case C.DELETED_BY_US:return{original:$e(e.resourceUri,"~3")};case C.DELETED_BY_THEM:return{original:$e(e.resourceUri,"~2")};case C.MODIFIED:case C.UNTRACKED:case C.IGNORED:case C.INTENT_TO_ADD:case C.INTENT_TO_RENAME:case C.TYPE_CHANGED:{let t=e.resourceUri.toString(),[r]=this.repository.indexGroup.resourceStates.filter(n=>n.resourceUri.toString()===t);return r&&r.renameResourceUri?{modified:r.renameResourceUri}:{modified:e.resourceUri}}case C.BOTH_ADDED:case C.BOTH_MODIFIED:return{modified:e.resourceUri}}return{}}getTitle(e){let t=We.basename(e.resourceUri.fsPath);switch(e.type){case C.INDEX_MODIFIED:case C.INDEX_RENAMED:case C.INDEX_ADDED:return b.l10n.t("{0} (Index)",t);case C.MODIFIED:case C.BOTH_ADDED:case C.BOTH_MODIFIED:return b.l10n.t("{0} (Working Tree)",t);case C.INDEX_DELETED:case C.DELETED:return b.l10n.t("{0} (Deleted)",t);case C.DELETED_BY_US:return b.l10n.t("{0} (Theirs)",t);case C.DELETED_BY_THEM:return b.l10n.t("{0} (Ours)",t);case C.UNTRACKED:return b.l10n.t("{0} (Untracked)",t);case C.INTENT_TO_ADD:case C.INTENT_TO_RENAME:return b.l10n.t("{0} (Intent to add)",t);case C.TYPE_CHANGED:return b.l10n.t("{0} (Type changed)",t);default:return""}}},Zt=class Zt{constructor(e,t,r,n,o,a,s,c,l,u,m){this.repository=e;this.repositoryResolver=t;this.pushErrorHandlerRegistry=r;this.branchProtectionProviderRegistry=a;this.globalState=c;this.logger=l;this.telemetryReporter=u;this.repositoryCache=m;this._operations=new mf(this.logger);let f=b.workspace.createFileSystemWatcher(new b.RelativePattern(b.Uri.file(e.root),"**"));this.disposables.push(f);let g=ii(f.onDidChange,f.onDidCreate,f.onDidDelete),p=Ue(g,y=>!/\.git($|\\|\/)/.test(jc(e.root,y.fsPath))),v;try{let y=new sv(this,l);v=y.event,this.disposables.push(y)}catch(y){l.error(`Failed to watch path:'${this.dotGit.path}' or commonPath:'${this.dotGit.commonPath}', reverting to legacy API file watched. Some events might be lost.
${y.stack||y}`),v=Ue(g,S=>/\.git($|\\|\/)/.test(S.path))}ii(p,v)(this.onFileChange,this,this.disposables),v(this._onDidChangeRepository.fire,this._onDidChangeRepository,this.disposables),this.disposables.push(new av(p,v,l));let P=e.kind==="submodule"?e.dotGit.superProjectPath:e.kind==="worktree"&&e.dotGit.commonPath?We.dirname(e.dotGit.commonPath):void 0,w=P?this.repositoryResolver.getRepository(P)?.sourceControl:void 0,R=e.kind==="submodule"?new b.ThemeIcon("archive"):e.kind==="worktree"?Ou(e.root)?new b.ThemeIcon("chat-sparkle"):new b.ThemeIcon("worktree"):new b.ThemeIcon("repo");this._isHidden=b.workspace.workspaceFolders===void 0||e.kind==="worktree"&&Ou(e.root)&&w!==void 0;let T=b.Uri.file(e.root);this._sourceControl=b.scm.createSourceControl("git","Git",T,R,this._isHidden,w),this._sourceControl.contextValue=e.kind,this._sourceControl.quickDiffProvider=new Sf(this,this.repositoryResolver,l),this._sourceControl.secondaryQuickDiffProvider=new Pf(this,l),this._historyProvider=new Uu(s,this,l),this._sourceControl.historyProvider=this._historyProvider,this.disposables.push(this._historyProvider),this._artifactProvider=new Rf(this,l),this._sourceControl.artifactProvider=this._artifactProvider,this.disposables.push(this._artifactProvider),this._sourceControl.acceptInputCommand={command:"git.commit",title:b.l10n.t("Commit"),arguments:[this._sourceControl]},this._sourceControl.inputBox.validateInput=this.validateInput.bind(this),this.disposables.push(this._sourceControl),this.updateInputBoxPlaceholder(),this.disposables.push(this.onDidRunGitStatus(()=>this.updateInputBoxPlaceholder())),this._mergeGroup=this._sourceControl.createResourceGroup("merge",b.l10n.t("Merge Changes")),this._indexGroup=this._sourceControl.createResourceGroup("index",b.l10n.t("Staged Changes"),{multiDiffEditorEnableViewChanges:!0}),this._workingTreeGroup=this._sourceControl.createResourceGroup("workingTree",b.l10n.t("Changes"),{multiDiffEditorEnableViewChanges:!0}),this._untrackedGroup=this._sourceControl.createResourceGroup("untracked",b.l10n.t("Untracked Changes"),{multiDiffEditorEnableViewChanges:!0});let L=()=>{let y=b.workspace.getConfiguration("git",T);this.indexGroup.hideWhenEmpty=!y.get("alwaysShowStagedChangesResourceGroup")};Ue(b.workspace.onDidChangeConfiguration,y=>y.affectsConfiguration("git.alwaysShowStagedChangesResourceGroup",T))(L,this,this.disposables),L(),b.workspace.onDidChangeConfiguration(y=>{y.affectsConfiguration("git.mergeEditor")&&(this.mergeGroup.resourceStates=this.mergeGroup.resourceStates.map(S=>S.clone()))},void 0,this.disposables),Ue(b.workspace.onDidChangeConfiguration,y=>y.affectsConfiguration("git.branchSortOrder",T)||y.affectsConfiguration("git.untrackedChanges",T)||y.affectsConfiguration("git.ignoreSubmodules",T)||y.affectsConfiguration("git.openDiffOnClick",T)||y.affectsConfiguration("git.showActionButton",T)||y.affectsConfiguration("git.similarityThreshold",T))(()=>this.updateModelState(),this,this.disposables);let $=()=>{let y=b.workspace.getConfiguration("git",T);this._sourceControl.inputBox.visible=y.get("showCommitInput",!0)};if(Ue(b.workspace.onDidChangeConfiguration,y=>y.affectsConfiguration("git.showCommitInput",T))($,this,this.disposables),$(),this.mergeGroup.hideWhenEmpty=!0,this.untrackedGroup.hideWhenEmpty=!0,this.disposables.push(this.mergeGroup),this.disposables.push(this.indexGroup),this.disposables.push(this.workingTreeGroup),this.disposables.push(this.untrackedGroup),b.workspace.isTrusted)this.disposables.push(new Gu(this,c));else{let y=b.workspace.onDidGrantWorkspaceTrust(()=>{y.dispose(),this.disposables.push(new Gu(this,c))});this.disposables.push(y)}Ue(this.onDidRunOperation,y=>y.operation.kind==="Push"&&!y.error)(()=>{b.workspace.getConfiguration("git").get("showPushSuccessNotification")&&b.window.showInformationMessage(b.l10n.t("Successfully pushed."))},null,this.disposables);let H=Ue(this.branchProtectionProviderRegistry.onDidChangeBranchProtectionProviders,y=>et(y.fsPath,T.fsPath));this.disposables.push(H(y=>this.updateBranchProtectionMatchers(y))),this.disposables.push(this.branchProtectionProviderRegistry.registerBranchProtectionProvider(T,new gf(T)));let I=new wf(this,n);this.disposables.push(I),I.onDidChange(()=>this._sourceControl.statusBarCommands=I.commands,null,this.disposables),this._sourceControl.statusBarCommands=I.commands,this.commitCommandCenter=new Cf(c,this,o),this.disposables.push(this.commitCommandCenter);let ee=new ff(this,this.commitCommandCenter,this.logger);this.disposables.push(ee),ee.onDidChange(()=>this._sourceControl.actionButton=ee.button,this,this.disposables),this._sourceControl.actionButton=ee.button;let ce=new ov(this);this.disposables.push(ce),Ue(b.workspace.onDidChangeConfiguration,y=>y.affectsConfiguration("git.countBadge",T))(this.setCountBadge,this,this.disposables),this.setCountBadge()}static WORKTREE_ROOT_STORAGE_KEY="worktreeRoot";_onDidChangeRepository=new b.EventEmitter;onDidChangeRepository=this._onDidChangeRepository.event;_onDidChangeState=new b.EventEmitter;onDidChangeState=this._onDidChangeState.event;_onDidChangeStatus=new b.EventEmitter;onDidRunGitStatus=this._onDidChangeStatus.event;_onDidChangeOriginalResource=new b.EventEmitter;onDidChangeOriginalResource=this._onDidChangeOriginalResource.event;_onRunOperation=new b.EventEmitter;onRunOperation=this._onRunOperation.event;_onDidRunOperation=new b.EventEmitter;onDidRunOperation=this._onDidRunOperation.event;_onDidChangeBranchProtection=new b.EventEmitter;onDidChangeBranchProtection=this._onDidChangeBranchProtection.event;get onDidChangeOperations(){return ii(this.onRunOperation,this.onDidRunOperation)}_sourceControl;get sourceControl(){return this._sourceControl}get inputBox(){return this._sourceControl.inputBox}_mergeGroup;get mergeGroup(){return this._mergeGroup}_indexGroup;get indexGroup(){return this._indexGroup}_workingTreeGroup;get workingTreeGroup(){return this._workingTreeGroup}_untrackedGroup;get untrackedGroup(){return this._untrackedGroup}_EMPTY_TREE;_HEAD;get HEAD(){return this._HEAD}_refs=[];get refs(){return this._refs}get headShortName(){if(!this.HEAD)return;let e=this.HEAD;return e.name?e.name:(e.commit||"").substr(0,8)}_remotes=[];get remotes(){return this._remotes}_submodules=[];get submodules(){return this._submodules}_worktrees=[];get worktrees(){return this._worktrees}_rebaseCommit=void 0;set rebaseCommit(e){this._rebaseCommit&&!e?this.inputBox.value="":e&&(!this._rebaseCommit||this._rebaseCommit.hash!==e.hash)&&(this.inputBox.value=e.message);let t=!!this._rebaseCommit!=!!e;this._rebaseCommit=e,t&&b.commands.executeCommand("setContext","gitRebaseInProgress",!!this._rebaseCommit)}get rebaseCommit(){return this._rebaseCommit}_mergeInProgress=!1;set mergeInProgress(e){this._mergeInProgress!==e&&(this._mergeInProgress=e,b.commands.executeCommand("setContext","gitMergeInProgress",e))}get mergeInProgress(){return this._mergeInProgress}_cherryPickInProgress=!1;set cherryPickInProgress(e){this._cherryPickInProgress!==e&&(this._cherryPickInProgress=e,b.commands.executeCommand("setContext","gitCherryPickInProgress",e))}get cherryPickInProgress(){return this._cherryPickInProgress}_isWorktreeMigrating=!1;get isWorktreeMigrating(){return this._isWorktreeMigrating}set isWorktreeMigrating(e){this._isWorktreeMigrating=e}_operations;get operations(){return this._operations}_state=0;get state(){return this._state}set state(e){this._state=e,this._onDidChangeState.fire(e),this._HEAD=void 0,this._remotes=[],this.mergeGroup.resourceStates=[],this.indexGroup.resourceStates=[],this.workingTreeGroup.resourceStates=[],this.untrackedGroup.resourceStates=[],this._sourceControl.count=0}get root(){return this.repository.root}get rootRealPath(){return this.repository.rootRealPath}get dotGit(){return this.repository.dotGit}get kind(){return this.repository.kind}_artifactProvider;get artifactProvider(){return this._artifactProvider}_historyProvider;get historyProvider(){return this._historyProvider}_isHidden;get isHidden(){return this._isHidden}isRepositoryHuge=!1;didWarnAboutLimit=!1;unpublishedCommits=void 0;branchProtection=new Map;commitCommandCenter;resourceCommandResolver=new cv(this);updateModelStateCancellationTokenSource;disposables=[];validateInput(e,t){if(this.isRepositoryHuge)return{message:b.l10n.t("Too many changes were detected. Only the first {0} changes will be shown below.",this.isRepositoryHuge.limit),type:b.SourceControlInputBoxValidationType.Warning};if(this.rebaseCommit&&this.rebaseCommit.message!==e)return{message:b.l10n.t("It's not possible to change the commit message in the middle of a rebase. Please complete the rebase operation and use interactive rebase instead."),type:b.SourceControlInputBoxValidationType.Warning}}async getInputTemplate(){let e=(await Promise.all([this.repository.getMergeMessage(),this.repository.getSquashMessage()])).find(t=>!!t);return e||await this.repository.getCommitTemplate()}getConfigs(){return this.run(oe.Config(!0),()=>this.repository.getConfigs("local"))}getConfig(e){return this.run(oe.Config(!0),()=>this.repository.config("get","local",e))}getGlobalConfig(e){return this.run(oe.Config(!0),()=>this.repository.config("get","global",e))}setConfig(e,t){return this.run(oe.Config(!1),()=>this.repository.config("add","local",e,t))}unsetConfig(e){return this.run(oe.Config(!1),()=>this.repository.config("unset","local",e))}log(e,t){let r=!e||e.silent!==!0;return this.run(oe.Log(r),()=>this.repository.log(e,t))}logFile(e,t,r){return this.run(oe.LogFile,()=>this.repository.logFile(e,t,r))}async status(){await this.run(oe.Status)}async refresh(){await this.run(oe.Refresh)}diff(e){return this.run(oe.Diff,()=>this.repository.diff(e))}diffWithHEAD(e){return this.run(oe.Diff,()=>this.repository.diffWithHEAD(e))}diffWithHEADShortStats(e){return this.run(oe.Diff,()=>this.repository.diffWithHEADShortStats(e))}diffWith(e,t){return this.run(oe.Diff,()=>this.repository.diffWith(e,t))}diffIndexWithHEAD(e){return this.run(oe.Diff,()=>this.repository.diffIndexWithHEAD(e))}diffIndexWithHEADShortStats(e){return this.run(oe.Diff,()=>this.repository.diffIndexWithHEADShortStats(e))}diffIndexWith(e,t){return this.run(oe.Diff,()=>this.repository.diffIndexWith(e,t))}diffBlobs(e,t){return this.run(oe.Diff,()=>this.repository.diffBlobs(e,t))}diffBetween(e,t,r){return this.run(oe.Diff,()=>this.repository.diffBetween(e,t,r))}diffBetweenPatch(e,t,r){return this.run(oe.Diff,()=>this.repository.diffBetweenPatch(`${e}...${t}`,{path:r}))}diffBetweenWithStats(e,t,r){if(e===this._EMPTY_TREE)return this.diffTrees(e,t);let o=b.workspace.getConfiguration("git",b.Uri.file(this.root)).get("similarityThreshold",50);return this.run(oe.Diff,()=>this.repository.diffBetweenWithStats(`${e}...${t}`,{path:r,similarityThreshold:o}))}diffTrees(e,t){let n=b.workspace.getConfiguration("git",b.Uri.file(this.root)).get("similarityThreshold",50);return this.run(oe.Diff,()=>this.repository.diffTrees(e,t,{similarityThreshold:n}))}getMergeBase(e,t,...r){return this.run(oe.MergeBase,()=>this.repository.getMergeBase(e,t,...r))}async hashObject(e){return this.run(oe.HashObject,()=>this.repository.hashObject(e))}async add(e,t){await this.run(oe.Add(!this.optimisticUpdateEnabled()),async()=>{await this.repository.add(e.map(r=>r.fsPath),t),this.closeDiffEditors([],[...e.map(r=>r.fsPath)]),b.commands.executeCommand("_chat.editSessions.accept",e)},()=>{let r=e.map(u=>u.fsPath),n=this.indexGroup.resourceStates.map(u=>u.resourceUri.fsPath),o=[];for(let u of[...this.mergeGroup.resourceStates,...this.untrackedGroup.resourceStates,...this.workingTreeGroup.resourceStates])r.includes(u.resourceUri.fsPath)&&!n.includes(u.resourceUri.fsPath)&&o.push(u.clone(1));let a=[...this.indexGroup.resourceStates,...o],s=this.mergeGroup.resourceStates.filter(u=>!r.includes(u.resourceUri.fsPath)),c=this.workingTreeGroup.resourceStates.filter(u=>!r.includes(u.resourceUri.fsPath)),l=this.untrackedGroup.resourceStates.filter(u=>!r.includes(u.resourceUri.fsPath));return{indexGroup:a,mergeGroup:s,workingTreeGroup:c,untrackedGroup:l}})}async rm(e){await this.run(oe.Remove,()=>this.repository.rm(e.map(t=>t.fsPath)))}async stage(e,t,r){await this.run(oe.Stage,async()=>{let n=await b.workspace.encode(t,{encoding:r});await this.repository.stage(e.fsPath,n),this._onDidChangeOriginalResource.fire(e),this.closeDiffEditors([],[...e.fsPath])})}async revert(e){await this.run(oe.RevertFiles(!this.optimisticUpdateEnabled()),async()=>{await this.repository.revert("HEAD",e.map(r=>r.fsPath));for(let r of e)this._onDidChangeOriginalResource.fire(r);this.closeDiffEditors([...e.length!==0?e.map(r=>r.fsPath):this.indexGroup.resourceStates.map(r=>r.resourceUri.fsPath)],[]);let t=e.length!==0?e:this.indexGroup.resourceStates.map(r=>r.resourceUri);b.commands.executeCommand("_aiEdits.clearAiContributions",t)},()=>{let r=b.workspace.getConfiguration("git",b.Uri.file(this.repository.root)).get("untrackedChanges"),n=r==="mixed"?2:3,o=e.length===0?this.indexGroup.resourceStates.map(m=>m.resourceUri.fsPath):e.map(m=>m.fsPath),a=[],s=[];for(let m of this.indexGroup.resourceStates)o.includes(m.resourceUri.fsPath)&&(m.type===C.INDEX_ADDED?s.push(m.clone(n)):a.push(m.clone(2)));let c=this.indexGroup.resourceStates.filter(m=>!o.includes(m.resourceUri.fsPath)),l=r==="mixed"?[...this.workingTreeGroup.resourceStates,...a,...s]:[...this.workingTreeGroup.resourceStates,...a],u=r==="separate"?[...this.untrackedGroup.resourceStates,...s]:void 0;return{indexGroup:c,workingTreeGroup:l,untrackedGroup:u}})}async commit(e,t=Object.create(null)){let r=[...this.indexGroup.resourceStates.map(o=>o.resourceUri.fsPath)],n=t.all&&t.all!=="tracked"?[...this.workingTreeGroup.resourceStates.map(o=>o.resourceUri.fsPath)]:[];this.rebaseCommit?await this.run(oe.RebaseContinue,async()=>{if(t.all){let o=t.all==="tracked"?{update:!0}:{};await this.repository.add([],o)}await this.repository.rebaseContinue(),await this.commitOperationCleanup(e,r,n)},()=>this.commitOperationGetOptimisticResourceGroups(t)):(this.commitCommandCenter.postCommitCommand=t.postCommitCommand,await this.run(oe.Commit,async()=>{if(t.all){let o=t.all==="tracked"?{update:!0}:{};await this.repository.add([],o)}if(delete t.all,t.requireUserConfig===void 0||t.requireUserConfig===null){let o=b.workspace.getConfiguration("git",b.Uri.file(this.root));t.requireUserConfig=o.get("requireGitUserConfig")}e=await this.appendAICoAuthorTrailer(e,r,n),await this.repository.commit(e,t),await this.commitOperationCleanup(e,r,n)},()=>this.commitOperationGetOptimisticResourceGroups(t)),await this.run(oe.PostCommitCommand,async()=>{await this.commitCommandCenter.executePostCommitCommand(t.postCommitCommand)}))}async commitOperationCleanup(e,t,r){e&&(this.inputBox.value=await this.getInputTemplate()),this.closeDiffEditors(t,r);let n=t.length!==0?t.map(o=>b.Uri.file(o)):r.map(o=>b.Uri.file(o));b.commands.executeCommand("_chat.editSessions.accept",n),b.commands.executeCommand("_aiEdits.clearAiContributions",n)}static AI_CO_AUTHOR_TRAILER="Co-authored-by: Copilot <copilot@github.com>";async appendAICoAuthorTrailer(e,t,r){if(!e)return e;let o=b.workspace.getConfiguration("git",b.Uri.file(this.root)).get("addAICoAuthor","off");if(o==="off"||e.includes(Zt.AI_CO_AUTHOR_TRAILER))return e;let a=t.length!==0?t.map(s=>b.Uri.file(s)):r.map(s=>b.Uri.file(s));if(a.length===0)return e;try{let s=o==="all"?"all":"chatAndAgent";if(await b.commands.executeCommand("_aiEdits.hasAiContributions",a,s))return`${e.trimEnd()}

${Zt.AI_CO_AUTHOR_TRAILER}`}catch{}return e}commitOperationGetOptimisticResourceGroups(e){let t,r;return e.all==="tracked"?r=this.workingTreeGroup.resourceStates.filter(n=>n.type===C.UNTRACKED):e.all&&(t=r=[]),{indexGroup:[],mergeGroup:[],untrackedGroup:t,workingTreeGroup:r}}async clean(e){let r=b.workspace.getConfiguration("git").get("discardUntrackedChangesToTrash",!0)&&!qm&&!Qm;await this.run(oe.Clean(!this.optimisticUpdateEnabled()),async()=>{let n=[],o=[],a=[],s=[...this.workingTreeGroup.resourceStates,...this.untrackedGroup.resourceStates];if(e.forEach(c=>{let l=c.fsPath;for(let f of this.submodules)if(We.join(this.root,f.path)===l){a.push(l);return}let u=c.toString(),m=ww(s,f=>f.resourceUri.toString()===u);if(m)switch(m.type){case C.UNTRACKED:case C.IGNORED:n.push(l);break;default:o.push(l);break}}),n.length>0)if(r)try{await b.workspace.fs.delete(b.Uri.file(n[0]),{useTrash:!0});let c=new ys(5);await Promise.all(n.slice(1).map(l=>c.queue(async()=>await b.workspace.fs.delete(b.Uri.file(l),{useTrash:!0}))))}catch{let c=un?b.l10n.t("Failed to delete using the Recycle Bin. Do you want to permanently delete instead?"):b.l10n.t("Failed to delete using the Trash. Do you want to permanently delete instead?"),l=n.length===1?b.l10n.t("Delete File"):b.l10n.t("Delete All {0} Files",e.length);await b.window.showWarningMessage(c,{modal:!0},l)===l&&await this.repository.clean(n)}else await this.repository.clean(n);if(o.length>0)try{await this.repository.checkout("",o)}catch(c){if(c.gitErrorCode!==X.BranchNotYetBorn)throw c}a.length>0&&await this.repository.updateSubmodules(a),this.closeDiffEditors([],[...n,...o]),b.commands.executeCommand("_aiEdits.clearAiContributions",e)},()=>{let n=e.map(s=>s.fsPath),o=this.workingTreeGroup.resourceStates.filter(s=>!n.includes(s.resourceUri.fsPath)),a=this.untrackedGroup.resourceStates.filter(s=>!n.includes(s.resourceUri.fsPath));return{workingTreeGroup:o,untrackedGroup:a}})}closeDiffEditors(e,t,r=!1){if(!b.workspace.getConfiguration("git",b.Uri.file(this.root)).get("closeDiffOnOperation",!1)&&!r)return;function o(s){return!!(s.modified.scheme==="git"&&(e===void 0||e.some(c=>et(c,s.modified.fsPath)))||s.modified.scheme==="file"&&s.original.scheme==="git"&&(t===void 0||t.some(c=>et(c,s.modified.fsPath))))}let a=b.window.tabGroups.all.flatMap(s=>s.tabs).filter(({input:s})=>s instanceof b.TabInputTextDiff||s instanceof b.TabInputNotebookDiff?o(s):s instanceof b.TabInputTextMultiDiff?s.textDiffs.every(o):!1);b.window.tabGroups.close(a,!0)}async branch(e,t,r){await this.run(oe.Branch,()=>this.repository.branch(e,t,r))}async deleteBranch(e,t){return this.run(oe.DeleteBranch,async()=>{await this.repository.deleteBranch(e,t),await this.repository.config("unset","local",`branch.${e}.vscode-merge-base`)})}async renameBranch(e){await this.run(oe.RenameBranch,()=>this.repository.renameBranch(e))}async fastForwardBranch(e){let t=await this.getBranch(e);if(!(!t.upstream?.remote||!t.upstream?.name||!t.name))try{let r={remote:t.upstream.remote,ref:`${t.upstream.name}:${t.name}`};await this.run(oe.Fetch(!0),async()=>this.repository.fetch(r))}catch(r){if(r.gitErrorCode===X.BranchFastForwardRejected)return;throw r}}async cherryPick(e){await this.run(oe.CherryPick,()=>this.repository.cherryPick(e))}async cherryPickAbort(){await this.run(oe.CherryPick,()=>this.repository.cherryPickAbort())}async move(e,t){await this.run(oe.Move,()=>this.repository.move(e,t))}async getBranch(e){return await this.run(oe.GetBranch,()=>this.repository.getBranch(e))}async getBranches(e={},t){return await this.run(oe.GetBranches,async()=>(await this.getRefs(e,t)).filter(n=>n.type===de.Head||n.type===de.RemoteHead&&e.remote))}async getBranchBase(e){let r=`branch.${(await this.getBranch(e)).name}.vscode-merge-base`;try{let s=await this.getConfig(r),c=s!==""?await this.getBranch(s):void 0;if(c&&c.remote)return c}catch{}let n=await this.getBranchBaseFromReflog(e),o;if(n?.type===de.RemoteHead?o=n:n?.type===de.Head&&(o=await this.getUpstreamBranch(n)),o)return await this.setConfig(r,`${o.remote}/${o.name}`),o;let a=await this.getDefaultBranch();if(a)return await this.setConfig(r,`${a.remote}/${a.name}`),a}async getBranchBaseFromReflog(e){try{let t=await this.repository.reflog(e,"branch: Created from *.");if(t.length!==1)return;let r=t[0].match(/branch: Created from (?<name>.*)$/);if(r&&r.length===2&&r[1]!=="HEAD")return await this.getBranch(r[1]);let n=await this.repository.reflog("HEAD",`checkout: moving from .* to ${e.replace("refs/heads/","")}`);if(n.length===0)return;let o=n[n.length-1].match(/checkout: moving from ([^\s]+)\s/);if(o&&o.length===2)return await this.getBranch(o[1])}catch{}}async getDefaultBranch(){let e=this.getDefaultRemote();if(e)try{return await this.repository.getDefaultBranch(e.name)}catch(t){this.logger.warn(`[Repository][getDefaultBranch] Failed to get default branch details: ${t.message}.`);return}}async getUpstreamBranch(e){if(e.upstream)try{return await this.getBranch(`refs/remotes/${e.upstream.remote}/${e.upstream.name}`)}catch(t){this.logger.warn(`[Repository][getUpstreamBranch] Failed to get branch details for 'refs/remotes/${e.upstream.remote}/${e.upstream.name}': ${t.message}.`);return}}async getRefs(e={},t){let n=b.workspace.getConfiguration("git").get("branchSortOrder");return n!=="alphabetically"&&n!=="committerdate"&&(n="alphabetically"),e={...e,sort:e?.sort??n},await this.run(oe.GetRefs,()=>this.repository.getRefs(e,t))}async getWorktrees(){return await this.run(oe.Worktree(!0),()=>this.repository.getWorktrees())}async getWorktreeDetails(){return this.run(oe.Worktree(!0),async()=>{let e=await this.repository.getWorktrees();if(e.length===0)return[];let t=e.filter(o=>!o.detached).map(o=>o.ref),r=await this.getRefs({pattern:t,includeCommitDetails:!0}),n=await Promise.all(e.filter(o=>o.detached).map(o=>this.repository.getCommit(o.ref)));return e.map(o=>{let a=o.detached?n.find(s=>s.hash===o.ref):r.find(s=>`refs/heads/${s.name}`===o.ref)?.commitDetails;return{...o,commitDetails:a}})})}async getRemoteRefs(e,t){return await this.run(oe.GetRemoteRefs,()=>this.repository.getRemoteRefs(e,t))}async setBranchUpstream(e,t){await this.run(oe.SetBranchUpstream,()=>this.repository.setBranchUpstream(e,t))}async merge(e){await this.run(oe.Merge,()=>this.repository.merge(e))}async mergeAbort(){await this.run(oe.MergeAbort,async()=>await this.repository.mergeAbort())}async rebase(e){await this.run(oe.Rebase,()=>this.repository.rebase(e))}async tag(e){await this.run(oe.Tag,()=>this.repository.tag(e))}async deleteTag(e){await this.run(oe.DeleteTag,()=>this.repository.deleteTag(e))}async createWorktree(e){let t=this.globalState.get(`${Zt.WORKTREE_ROOT_STORAGE_KEY}:${this.root}`),n=b.workspace.getConfiguration("git",b.Uri.file(this.root)).get("branchPrefix","");return await this.run(oe.Worktree(!1),async()=>{let o,{path:a,commitish:s,branch:c}=e||{};if(a===void 0&&c!==void 0&&(o=c.startsWith(n)?c.substring(n.length).replace(/\//g,"-"):c.replace(/\//g,"-"),a=t?We.join(t,o):We.join(We.dirname(this.root),`${We.basename(this.root)}.worktrees`,o)),this.worktrees.some(u=>et(We.normalize(u.path),We.normalize(a)))){let u=0,m;do m=`${a}-${++u}`;while(this.worktrees.some(f=>et(We.normalize(f.path),We.normalize(m))));a=m}await this.repository.addWorktree({path:a,commitish:s??"HEAD",branch:c});let l=We.dirname(a);return t&&!et(l,t)&&this.globalState.update(`${Zt.WORKTREE_ROOT_STORAGE_KEY}:${this.root}`,l),this._copyWorktreeIncludeFiles(a),a})}async _getWorktreeIncludePaths(){let t=b.workspace.getConfiguration("git",b.Uri.file(this.root)).get("worktreeIncludeFiles",[]);if(t.length===0)return new Set;let r=t.map(c=>new b.RelativePattern(this.root,c)),n=await b.workspace.findFiles2(r,{useExcludeSettings:b.ExcludeSettingOptions.None,useIgnoreFiles:{local:!1,parent:!1,global:!1}}),o=await b.workspace.findFiles2(r,{useExcludeSettings:b.ExcludeSettingOptions.None,useIgnoreFiles:{local:!0,parent:!0,global:!0}}),a=new Set(n.map(c=>c.fsPath));for(let c of o)a.delete(c.fsPath);let s=new Set(a);for(let c of a){let l=We.dirname(c);for(;l!==this.root&&!a.has(l);)s.add(l),l=We.dirname(l)}return s}async _copyWorktreeIncludeFiles(e){let t=await this._getWorktreeIncludePaths();if(t.size!==0)try{let r=new Set;for(let l of t){let m=We.relative(this.root,l).split(We.sep)[0];r.add(We.join(this.root,m))}let n=Date.now(),o=new ys(15),a=Array.from(r),c=(await Promise.allSettled(a.map(l=>o.queue(async()=>{let u=We.join(e,jc(this.root,l));await xf.mkdir(We.dirname(u),{recursive:!0}),await xf.cp(l,u,{filter:m=>t.has(m),force:!0,mode:ki.constants.COPYFILE_FICLONE,recursive:!0,verbatimSymlinks:!0})})))).filter(l=>l.status==="rejected");if(this.logger.info(`[Repository][_copyWorktreeIncludeFiles] Copied ${a.length-c.length}/${a.length} folder(s)/file(s) to worktree. [${Date.now()-n}ms]`),c.length>0){b.window.showWarningMessage(b.l10n.t("Failed to copy {0} folder(s)/file(s) to the worktree.",c.length)),this.logger.warn(`[Repository][_copyWorktreeIncludeFiles] Failed to copy ${c.length} folder(s)/file(s) to worktree.`);for(let l of c)this.logger.warn(`  - ${l.reason}`)}}catch(r){this.logger.warn(`[Repository][_copyWorktreeIncludeFiles] Failed to copy folder(s)/file(s) to worktree: ${r}`)}}async deleteWorktree(e,t){await this.run(oe.Worktree(!1),async()=>{let r=this.repositoryResolver.getRepository(e),n=async o=>{await this.repository.deleteWorktree(e,o),r?.dispose()};try{await n()}catch(o){if(o.gitErrorCode===X.WorktreeContainsChanges){let a=b.l10n.t("Force Delete"),s=b.l10n.t("The worktree contains modified or untracked files. Do you want to force delete?");await b.window.showWarningMessage(s,{modal:!0},a)===a&&await n({...t,force:!0});return}throw o}})}async deleteRemoteRef(e,t,r){await this.run(oe.DeleteRemoteRef,()=>this.repository.deleteRemoteRef(e,t,r))}async checkout(e,t){let r=t?.detached?_s(b.Uri.file(this.root),e):e;await this.run(oe.Checkout(r),async()=>{if(t?.pullBeforeCheckout&&!t?.detached)try{await this.fastForwardBranch(e)}catch{}await this.repository.checkout(e,[],t),b.commands.executeCommand("_aiEdits.clearAllAiContributions")})}async checkoutTracking(e,t={}){let r=t.detached?_s(b.Uri.file(this.root),e):e;await this.run(oe.CheckoutTracking(r),async()=>{await this.repository.checkout(e,[],{...t,track:!0}),b.commands.executeCommand("_aiEdits.clearAllAiContributions")})}async findTrackingBranches(e){return await this.run(oe.FindTrackingBranches,()=>this.repository.findTrackingBranches(e))}async getCommit(e){return await this.repository.getCommit(e)}async showChanges(e){return await this.run(oe.Log(!1),()=>this.repository.showChanges(e))}async showChangesBetween(e,t,r){return await this.run(oe.Log(!1),()=>this.repository.showChangesBetween(e,t,r))}async getEmptyTree(){if(!this._EMPTY_TREE){let e=await this.repository.exec(["hash-object","-t","tree","/dev/null"]);this._EMPTY_TREE=e.stdout.trim()}return this._EMPTY_TREE}async reset(e,t){await this.run(oe.Reset,async()=>{await this.repository.reset(e,t),t&&b.commands.executeCommand("_aiEdits.clearAllAiContributions")})}async deleteRef(e){await this.run(oe.DeleteRef,()=>this.repository.deleteRef(e))}getDefaultRemote(){if(this.remotes.length!==0)return this.remotes.find(e=>e.name==="origin")??this.remotes[0]}async addRemote(e,t){await this.run(oe.Remote,async()=>{let r=await this.repository.addRemote(e,t);return this.repositoryCache.update(this.remotes,[],this.root),r})}async removeRemote(e){await this.run(oe.Remote,async()=>{let t=this.repository.removeRemote(e),r=this.remotes.find(n=>n.name===e);return r&&this.repositoryCache.update([],[r],this.root),t})}async renameRemote(e,t){await this.run(oe.Remote,()=>this.repository.renameRemote(e,t))}async fetchDefault(e={}){await this._fetch({silent:e.silent})}async fetchPrune(){await this._fetch({prune:!0})}async fetchAll(e={},t){await this._fetch({all:!0,silent:e.silent,cancellationToken:t})}async fetch(e){await this._fetch(e)}async _fetch(e={}){if(!e.prune){let r=b.workspace.getConfiguration("git",b.Uri.file(this.root)).get("pruneOnFetch");e.prune=r}await this.run(oe.Fetch(e.silent!==!0),async()=>this.repository.fetch(e))}async pullWithRebase(e){let t,r;return e&&e.name&&e.upstream&&(t=e.upstream.remote,r=`${e.upstream.name}`),this.pullFrom(!0,t,r)}async pull(e,t){let r,n;return e&&e.name&&e.upstream&&(r=e.upstream.remote,n=`${e.upstream.name}`),this.pullFrom(!1,r,n,t)}async pullFrom(e,t,r,n){await this.run(oe.Pull,async()=>{await this.maybeAutoStash(async()=>{let o=b.workspace.getConfiguration("git",b.Uri.file(this.root)),a=o.get("autoStash"),s=o.get("fetchOnPull"),c=o.get("pullTags");s&&await this.fetchAll(),await this.checkIfMaybeRebased(this.HEAD?.name)&&await this._pullAndHandleTagConflict(e,t,r,{unshallow:n,tags:c,autoStash:a})})})}async _pullAndHandleTagConflict(e,t,r,n={}){try{await this.repository.pull(e,t,r,n)}catch(o){if(o.gitErrorCode!==X.TagConflict)throw o;await this.handleTagConflict(t,o.stderr)&&await this.repository.pull(e,t,r,n)}}async push(e,t){let r,n;e&&e.name&&e.upstream&&(r=e.upstream.remote,n=`${e.name}:${e.upstream.name}`),await this.run(oe.Push,()=>this._push(r,n,void 0,void 0,t))}async pushTo(e,t,r=!1,n){await this.run(oe.Push,()=>this._push(e,t,r,void 0,n))}async pushFollowTags(e,t){await this.run(oe.Push,()=>this._push(e,void 0,!1,!0,t))}async pushTags(e,t){await this.run(oe.Push,()=>this._push(e,void 0,!1,!1,t,!0))}async blame(e){return await this.run(oe.Blame(!0),()=>this.repository.blame(e))}async blame2(e,t){return await this.run(oe.Blame(!1),()=>{let n=b.workspace.getConfiguration("git",b.Uri.file(this.root)).get("blame.ignoreWhitespace",!1);return this.repository.blame2(e,t,n)})}sync(e,t){return this._sync(e,t)}async _sync(e,t){let r,n,o;e.name&&e.upstream&&(r=e.upstream.remote,n=`${e.upstream.name}`,o=`${e.name}:${e.upstream.name}`),await this.run(oe.Sync,async()=>{await this.maybeAutoStash(async()=>{let a=b.workspace.getConfiguration("git",b.Uri.file(this.root)),s=a.get("autoStash"),c=a.get("fetchOnPull"),l=a.get("pullTags"),u=a.get("followTagsWhenSync"),m=a.get("supportCancellation"),f=async v=>{c&&await this.fetchAll({},v),await this.checkIfMaybeRebased(this.HEAD?.name)&&await this._pullAndHandleTagConflict(t,r,n,{tags:l,cancellationToken:v,autoStash:s})};if(m){let v={location:b.ProgressLocation.Notification,title:b.l10n.t("Syncing. Cancelling may cause serious damages to the repository"),cancellable:!0};await b.window.withProgress(v,(_,P)=>f(P))}else await f();let g=this.remotes.find(v=>v.name===r);if(g&&g.isReadOnly)return;this.HEAD&&(typeof this.HEAD.ahead!="number"||this.HEAD.ahead>0)&&await this._push(r,o,!1,u)})})}async checkIfMaybeRebased(e){let t=b.workspace.getConfiguration("git");if(t.get("ignoreRebaseWarning")===!0||!await this.run(oe.Log(!0),async()=>{try{let l=await this.repository.exec(["log","--oneline","--cherry",`${e??""}...${e??""}@{upstream}`,"--"]);return l.exitCode?!1:/^=/.test(l.stdout)}catch{return!1}}))return!0;let o={title:b.l10n.t("Always Pull")},a={title:b.l10n.t("Pull")},s={title:b.l10n.t("Don't Pull")},c=await b.window.showWarningMessage(e?b.l10n.t('It looks like the current branch "{0}" might have been rebased. Are you sure you still want to pull into it?',e):b.l10n.t("It looks like the current branch might have been rebased. Are you sure you still want to pull into it?"),o,a,s);return c===a?!0:c===o?(await t.update("ignoreRebaseWarning",!0,!0),!0):!1}async show(e,t){return await this.run(oe.Show,async()=>{try{let r=await this.repository.buffer(e,t);return await b.workspace.decode(r,{uri:b.Uri.file(t)})}catch(r){if(r.gitErrorCode===X.WrongCase){let n=await this.repository.getGitFilePath(e,t),o=await this.repository.buffer(e,n);return await b.workspace.decode(o,{uri:b.Uri.file(t)})}throw r}})}async buffer(e,t){return this.run(oe.Show,()=>this.repository.buffer(e,t))}getObjectFiles(e){return this.run(oe.GetObjectFiles,()=>this.repository.lstree(e))}getObjectDetails(e,t){return this.run(oe.GetObjectDetails,()=>this.repository.getObjectDetails(e,t))}detectObjectType(e){return this.run(oe.Show,()=>this.repository.detectObjectType(e))}async apply(e,t){return await this.run(oe.Apply,()=>this.repository.apply(e,t))}async getStashes(){return this.run(oe.Stash(!0),()=>this.repository.getStashes())}async createStash(e,t,r){let n=[...this.indexGroup.resourceStates.map(a=>a.resourceUri.fsPath)],o=[...r?[]:this.workingTreeGroup.resourceStates.map(a=>a.resourceUri.fsPath),...t?this.untrackedGroup.resourceStates.map(a=>a.resourceUri.fsPath):[]];return await this.run(oe.Stash(!1),async()=>{await this.repository.createStash(e,t,r),this.closeDiffEditors(n,o)})}async popStash(e,t){return await this.run(oe.Stash(!1),()=>this.repository.popStash(e,t))}async dropStash(e){return await this.run(oe.Stash(!1),()=>this.repository.dropStash(e))}async applyStash(e,t){return await this.run(oe.Stash(!1),()=>this.repository.applyStash(e,t))}async showStash(e){return await this.run(oe.Stash(!0),()=>this.repository.showStash(e))}async getCommitTemplate(){return await this.run(oe.GetCommitTemplate,async()=>this.repository.getCommitTemplate())}async ignore(e){return await this.run(oe.Ignore,async()=>{let t=`${this.repository.root}${We.sep}.gitignore`,r=e.map(c=>jc(this.repository.root,c.fsPath).replace(/\\|\[/g,l=>l==="\\"?"/":`\\${l}`)).join(`
`),n=await new Promise(c=>ki.exists(t,c))?await b.workspace.openTextDocument(t):await b.workspace.openTextDocument(b.Uri.file(t).with({scheme:"untitled"}));await b.window.showTextDocument(n);let o=new b.WorkspaceEdit,a=n.lineAt(n.lineCount-1),s=a.isEmptyOrWhitespace?`${r}
`:`
${r}
`;o.insert(n.uri,a.range.end,s),await b.workspace.applyEdit(o),await n.save()})}async rebaseAbort(){await this.run(oe.RebaseAbort,async()=>await this.repository.rebaseAbort())}checkIgnore(e){return this.run(oe.CheckIgnore,()=>new Promise((t,r)=>{if(e=e.filter(l=>Qt(this.root,l)),e.length===0)return t(new Set);let n=this.repository.stream(["check-ignore","-v","-z","--stdin"],{stdio:[null,null,null]});if(!n.stdin)return r(new Ut({message:"Failed to spawn git process",exitCode:-1}));n.stdin.end(e.join("\0"),"utf8");let o=l=>{l===1?t(new Set):l===0?t(new Set(this.parseIgnoreCheck(a))):/ is in submodule /.test(c)?r(new Ut({stdout:a,stderr:c,exitCode:l,gitErrorCode:X.IsInSubmodule})):r(new Ut({stdout:a,stderr:c,exitCode:l}))},a="",s=l=>{a+=l};n.stdout&&(n.stdout.setEncoding("utf8"),n.stdout.on("data",s));let c="";n.stderr&&(n.stderr.setEncoding("utf8"),n.stderr.on("data",l=>c+=l)),n.on("error",r),n.on("exit",o)}))}parseIgnoreCheck(e){let t=[],r=e.split("\0");for(let n=0;n<r.length;n+=4){let o=r[n+2],a=r[n+3];o&&!o.startsWith("!")&&t.push(a)}return t}async _push(e,t,r=!1,n=!1,o,a=!1){try{await this.repository.push(e,t,r,n,o,a)}catch(s){if(!e||!t)throw s;let c=new Yt(this),l=c.state.remotes.find(u=>u.name===e);if(!l)throw s;for(let u of this.pushErrorHandlerRegistry.getPushErrorHandlers())if(await u.handlePushError(c,l,t,s))return;throw s}}async run(e,t=()=>Promise.resolve(null),r=()=>{}){if(this.state!==0)throw new Error("Repository not initialized");let n=null;this._operations.start(e),this._onRunOperation.fire(e.kind);try{let o=await this.retryRun(e,t);return e.readOnly||await this.updateModelState(this.optimisticUpdateEnabled()?r():void 0),o}catch(o){throw n=o,o instanceof Ut&&o.gitErrorCode===X.NotAGitRepository&&(this.state=1),e.readOnly||await this.updateModelState(),o}finally{this._operations.end(e),this._onDidRunOperation.fire({operation:e,error:n})}}async migrateChanges(e,t){let r=this.repositoryResolver.getRepository(e);if(!r){b.window.showWarningMessage(b.l10n.t("The source repository could not be found."));return}if(r.indexGroup.resourceStates.length===0&&r.workingTreeGroup.resourceStates.length===0&&r.untrackedGroup.resourceStates.length===0){await b.window.showInformationMessage(b.l10n.t("There are no changes in the selected worktree to migrate."));return}let n=[...r.indexGroup.resourceStates,...r.workingTreeGroup.resourceStates,...r.untrackedGroup.resourceStates].map(l=>We.relative(r.root,l.resourceUri.fsPath)),o=[...this.workingTreeGroup.resourceStates,...this.untrackedGroup.resourceStates].map(l=>We.relative(this.root,l.resourceUri.fsPath)),a=n.filter(l=>o.includes(l));if(a.length>0){let u=a.slice(0,5),m=a.length-5,f=u.join(`
 `)+(m>0?b.l10n.t(`
 and {0} more file{1}...`,m,m>1?"s":""):""),g=b.l10n.t(`Your local changes to the following files would be overwritten by merge:
 {0}

Please stage, commit, or stash your changes in the repository before migrating changes.`,f);await b.window.showErrorMessage(g,{modal:!0});return}if(t?.confirmation){let l=b.l10n.t("Proceed with migrating changes to the current repository?"),u=b.l10n.t(`This will apply the worktree's changes to this repository and discard changes in the worktree.
This is IRREVERSIBLE!`),m=b.l10n.t("Proceed");if(await b.window.showWarningMessage(l,{modal:!0,detail:u},m)!==m)return}let s=`migration:${r.HEAD?.name??r.HEAD?.commit}-${this.HEAD?.name??this.HEAD?.commit}`;await r.createStash(s,t?.untracked);let c=await r.getStashes();try{t?.deleteFromSource?await this.popStash(c[0].index):(await this.applyStash(c[0].index),await r.popStash(c[0].index,{reinstateStagedChanges:!0}))}catch(l){if(l.gitErrorCode===X.StashConflict){this.isWorktreeMigrating=!0;let u=b.l10n.t("There are merge conflicts from migrating changes. Please resolve them before committing."),m=b.l10n.t("Show Changes");await b.window.showWarningMessage(u,m)===m&&await b.commands.executeCommand("workbench.view.scm"),await r.popStash(c[0].index,{reinstateStagedChanges:!0});return}throw await r.popStash(c[0].index,{reinstateStagedChanges:!0}),l}}async retryRun(e,t){let r=0;for(;;)try{return r++,await t()}catch(n){if(r<=10&&(n.gitErrorCode===X.RepositoryIsLocked||e.retry&&(n.gitErrorCode===X.CantLockRef||n.gitErrorCode===X.CantRebaseMultipleBranches)))await RD(Math.pow(r,2)*50);else throw n}}static KnownHugeFolderNames=["node_modules"];async findKnownHugeFolderPathsToIgnore(){let e=[];for(let r of Zt.KnownHugeFolderNames){let n=We.join(this.repository.root,r);await new Promise(o=>ki.exists(n,o))&&e.push(n)}let t=await this.checkIgnore(e);return e.filter(r=>!t.has(r))}async updateModelState(e){this.updateModelStateCancellationTokenSource?.cancel(),this.updateModelStateCancellationTokenSource=new b.CancellationTokenSource,await this._updateModelState(e,this.updateModelStateCancellationTokenSource.token)}async _updateModelState(e,t){try{e&&this._updateResourceGroupsState(e);let[r,n,o,a,s,c,l,u]=await Promise.all([this.repository.getHEADRef(),this.repository.getRemotes(),this.repository.getSubmodules(),this.repository.getWorktrees(),this.getRebaseCommit(),this.isMergeInProgress(),this.isCherryPickInProgress(),this.getInputTemplate()]);(this.HEAD?.name!==r?.name||this.HEAD?.commit!==r?.commit||this.HEAD?.ahead!==r?.ahead||this.HEAD?.upstream!==r?.upstream)&&(this.unpublishedCommits=void 0),this._HEAD=r,this._remotes=n,this._submodules=o,this._worktrees=a,this.rebaseCommit=s,this.mergeInProgress=c,this.cherryPickInProgress=l,this._sourceControl.commitTemplate=u;let[m,f]=await Promise.all([this.getStatus(t),this.getRefs({},t)]);this._refs=f,this._updateResourceGroupsState(m),this._onDidChangeStatus.fire()}catch(r){if(r instanceof b.CancellationError)return;throw r}}_updateResourceGroupsState(e){e.indexGroup&&(this.indexGroup.resourceStates=e.indexGroup),e.mergeGroup&&(this.mergeGroup.resourceStates=e.mergeGroup),e.untrackedGroup&&(this.untrackedGroup.resourceStates=e.untrackedGroup),e.workingTreeGroup&&(this.workingTreeGroup.resourceStates=e.workingTreeGroup),this._isWorktreeMigrating&&e.mergeGroup&&e.mergeGroup.length===0&&(this._isWorktreeMigrating=!1),this.setCountBadge()}async getStatus(e){if(e&&e.isCancellationRequested)throw new b.CancellationError;let t=b.workspace.getConfiguration("git",b.Uri.file(this.repository.root)),r=t.get("untrackedChanges"),n=t.get("ignoreSubmodules"),o=t.get("statusLimit",1e4),a=t.get("similarityThreshold",50),s=new Date().getTime(),{status:c,statusLength:l,didHitLimit:u}=await this.repository.getStatus({limit:o,ignoreSubmodules:n,similarityThreshold:a,untrackedChanges:r,cancellationToken:e}),m=new Date().getTime()-s;this.isRepositoryHuge=u?{limit:o}:!1,u&&this.telemetryReporter.sendTelemetryEvent("statusLimit",{ignoreSubmodules:String(n)},{limit:o,statusLength:l,totalTime:m}),m>5e3&&this.telemetryReporter.sendTelemetryEvent("statusSlow",{ignoreSubmodules:String(n),didHitLimit:String(u),didWarnAboutLimit:String(this.didWarnAboutLimit)},{statusLength:l,totalTime:m}),this._sourceControl.inputBox.validateInput=this._sourceControl.inputBox.validateInput;let f=b.workspace.getConfiguration("git"),g=f.get("ignoreLimitWarning")===!0,p=!f.get("decorations.enabled",!0);if(u&&!g&&!this.didWarnAboutLimit){let R=await this.findKnownHugeFolderPathsToIgnore(),T=b.l10n.t('The git repository at "{0}" has too many active changes, only a subset of Git features will be enabled.',this.repository.root),L={title:b.l10n.t("Don't Show Again")};if(R.length>0){let W=R[0],$=We.basename(W),G=b.l10n.t('Would you like to add "{0}" to .gitignore?',$),Y={title:b.l10n.t("Yes")},H={title:b.l10n.t("No")};b.window.showWarningMessage(`${T} ${G}`,Y,H,L).then(I=>{I===Y?this.ignore([b.Uri.file(W)]):(I===L&&f.update("ignoreLimitWarning",!0,!1),this.didWarnAboutLimit=!0)})}else{let W={title:b.l10n.t("OK")};b.window.showWarningMessage(T,W,L).then($=>{$===L&&f.update("ignoreLimitWarning",!0,!1),this.didWarnAboutLimit=!0})}}let v=[],_=[],P=[],w=[];return c.forEach(R=>{let T=b.Uri.file(We.join(this.repository.root,R.path)),L=R.rename?b.Uri.file(We.join(this.repository.root,R.rename)):void 0;switch(R.x+R.y){case"??":switch(r){case"mixed":return w.push(new je(this.resourceCommandResolver,2,T,C.UNTRACKED,p,void 0,this.kind));case"separate":return P.push(new je(this.resourceCommandResolver,3,T,C.UNTRACKED,p));default:return}case"!!":switch(r){case"mixed":return w.push(new je(this.resourceCommandResolver,2,T,C.IGNORED,p,void 0,this.kind));case"separate":return P.push(new je(this.resourceCommandResolver,3,T,C.IGNORED,p));default:return}case"DD":return _.push(new je(this.resourceCommandResolver,0,T,C.BOTH_DELETED,p));case"AU":return _.push(new je(this.resourceCommandResolver,0,T,C.ADDED_BY_US,p));case"UD":return _.push(new je(this.resourceCommandResolver,0,T,C.DELETED_BY_THEM,p));case"UA":return _.push(new je(this.resourceCommandResolver,0,T,C.ADDED_BY_THEM,p));case"DU":return _.push(new je(this.resourceCommandResolver,0,T,C.DELETED_BY_US,p));case"AA":return _.push(new je(this.resourceCommandResolver,0,T,C.BOTH_ADDED,p));case"UU":return _.push(new je(this.resourceCommandResolver,0,T,C.BOTH_MODIFIED,p))}switch(R.x){case"M":v.push(new je(this.resourceCommandResolver,1,T,C.INDEX_MODIFIED,p,void 0,this.kind));break;case"A":v.push(new je(this.resourceCommandResolver,1,T,C.INDEX_ADDED,p,void 0,this.kind));break;case"D":v.push(new je(this.resourceCommandResolver,1,T,C.INDEX_DELETED,p,void 0,this.kind));break;case"R":v.push(new je(this.resourceCommandResolver,1,T,C.INDEX_RENAMED,p,L,this.kind));break;case"C":v.push(new je(this.resourceCommandResolver,1,T,C.INDEX_COPIED,p,L,this.kind));break}switch(R.y){case"M":w.push(new je(this.resourceCommandResolver,2,T,C.MODIFIED,p,L,this.kind));break;case"D":w.push(new je(this.resourceCommandResolver,2,T,C.DELETED,p,L,this.kind));break;case"A":w.push(new je(this.resourceCommandResolver,2,T,C.INTENT_TO_ADD,p,L,this.kind));break;case"R":w.push(new je(this.resourceCommandResolver,2,T,C.INTENT_TO_RENAME,p,L,this.kind));break;case"T":w.push(new je(this.resourceCommandResolver,2,T,C.TYPE_CHANGED,p,L,this.kind));break}}),{indexGroup:v,mergeGroup:_,untrackedGroup:P,workingTreeGroup:w}}setCountBadge(){let e=b.workspace.getConfiguration("git",b.Uri.file(this.repository.root)),t=e.get("countBadge"),r=e.get("untrackedChanges"),n=this.mergeGroup.resourceStates.length+this.indexGroup.resourceStates.length+this.workingTreeGroup.resourceStates.length;switch(t){case"off":n=0;break;case"tracked":r==="mixed"&&(n-=this.workingTreeGroup.resourceStates.filter(o=>o.type===C.UNTRACKED||o.type===C.IGNORED).length);break;case"all":r==="separate"&&(n+=this.untrackedGroup.resourceStates.length);break}this._sourceControl.count=n}async getRebaseCommit(){let e=We.join(this.repository.root,".git","REBASE_HEAD"),t=We.join(this.repository.root,".git","rebase-apply"),r=We.join(this.repository.root,".git","rebase-merge");try{let[n,o,a]=await Promise.all([new Promise(s=>ki.exists(t,s)),new Promise(s=>ki.exists(r,s)),new Promise((s,c)=>ki.readFile(e,"utf8",(l,u)=>l?c(l):s(u)))]);return!n&&!o?void 0:await this.getCommit(a.trim())}catch{return}}isMergeInProgress(){let e=We.join(this.repository.root,".git","MERGE_HEAD");return new Promise(t=>ki.exists(e,t))}isCherryPickInProgress(){let e=We.join(this.repository.root,".git","CHERRY_PICK_HEAD");return new Promise(t=>ki.exists(e,t))}async maybeAutoStash(e){if(!(b.workspace.getConfiguration("git",b.Uri.file(this.root)).get("autoStash")&&this.repository.git.compareGitVersionTo("2.27.0")<0&&(this.indexGroup.resourceStates.length>0||this.workingTreeGroup.resourceStates.some(n=>n.type!==C.UNTRACKED&&n.type!==C.IGNORED))))return await e();await this.repository.createStash(void 0,!0);try{return await e()}finally{await this.repository.popStash(void 0,{reinstateStagedChanges:!0})}}onFileChange(e){if(!b.workspace.getConfiguration("git").get("autorefresh")){this.logger.trace("[Repository][onFileChange] Skip running git status because autorefresh setting is disabled.");return}if(this.isRepositoryHuge){this.logger.trace("[Repository][onFileChange] Skip running git status because repository is huge.");return}if(!this.operations.isIdle()){this.logger.trace("[Repository][onFileChange] Skip running git status because an operation is running.");return}this.eventuallyUpdateWhenIdleAndWait()}eventuallyUpdateWhenIdleAndWait(){this.updateWhenIdleAndWait()}async updateWhenIdleAndWait(){await this.whenIdleAndFocused(),await this.status(),await RD(5e3)}async whenIdleAndFocused(){for(;;){if(!this.operations.isIdle()){await Ai(this.onDidRunOperation);continue}if(!b.window.state.focused){let e=Ue(b.window.onDidChangeWindowState,t=>t.focused);await Ai(e);continue}return}}get headLabel(){let e=this.HEAD;return e?(e.name||(e.commit||"").substr(0,8))+(this.workingTreeGroup.resourceStates.length+this.untrackedGroup.resourceStates.length>0?"*":"")+(this.indexGroup.resourceStates.length>0?"+":"")+(this.mergeInProgress||this.rebaseCommit?"!":""):""}get syncLabel(){if(!this.HEAD||!this.HEAD.name||!this.HEAD.commit||!this.HEAD.upstream||!(this.HEAD.ahead||this.HEAD.behind))return"";let e=this.HEAD&&this.HEAD.remote||this.HEAD.upstream.remote,t=this.remotes.find(r=>r.name===e);return t&&t.isReadOnly?`${this.HEAD.behind}\u2193`:`${this.HEAD.behind}\u2193 ${this.HEAD.ahead}\u2191`}get syncTooltip(){if(!this.HEAD||!this.HEAD.name||!this.HEAD.commit||!this.HEAD.upstream||!(this.HEAD.ahead||this.HEAD.behind))return b.l10n.t("Synchronize Changes");let e=this.HEAD&&this.HEAD.remote||this.HEAD.upstream.remote,t=this.remotes.find(r=>r.name===e);return t&&t.isReadOnly||!this.HEAD.ahead?b.l10n.t("Pull {0} commits from {1}/{2}",this.HEAD.behind,this.HEAD.upstream.remote,this.HEAD.upstream.name):this.HEAD.behind?b.l10n.t("Pull {0} and push {1} commits between {2}/{3}",this.HEAD.behind,this.HEAD.ahead,this.HEAD.upstream.remote,this.HEAD.upstream.name):b.l10n.t("Push {0} commits to {1}/{2}",this.HEAD.ahead,this.HEAD.upstream.remote,this.HEAD.upstream.name)}updateInputBoxPlaceholder(){let e=this.headShortName;e?this._sourceControl.inputBox.placeholder=b.l10n.t('Message ({0} to commit on "{1}")',"{0}",e):this._sourceControl.inputBox.placeholder=b.l10n.t("Message ({0} to commit)")}updateBranchProtectionMatchers(e){this.branchProtection.clear();for(let t of this.branchProtectionProviderRegistry.getBranchProtectionProviders(e))for(let{remote:r,rules:n}of t.provideBranchProtection()){let o=[];for(let a of n){let s=a.include&&a.include.length!==0?(0,nv.default)(a.include):void 0,c=a.exclude&&a.exclude.length!==0?(0,nv.default)(a.exclude):void 0;(s||c)&&o.push({include:s,exclude:c})}o.length!==0&&this.branchProtection.set(r,o)}this._onDidChangeBranchProtection.fire()}optimisticUpdateEnabled(){return b.workspace.getConfiguration("git",b.Uri.file(this.root)).get("optimisticUpdate")===!0}async handleTagConflict(e,t){if(e=e??this.HEAD?.upstream?.remote,!e)throw new Error("Unable to resolve tag conflict due to missing remote.");let r=[];for(let a of t.matchAll(/^ ! \[rejected\]\s+([^\s]+)\s+->\s+([^\s]+)\s+\(would clobber existing tag\)$/gm))a.length===3&&r.push(a[1]);if(r.length===0)throw new Error(`Unable to extract tag names from error message: ${t}`);let n=b.workspace.getConfiguration("git",b.Uri.file(this.repository.root));if(!(n.get("replaceTagsWhenPull",!1)===!0)){let a=b.l10n.t("Replace Local Tag(s)"),s=b.l10n.t("Always Replace Local Tag(s)"),c=b.l10n.t("Unable to pull from remote repository due to conflicting tag(s): {0}. Would you like to resolve the conflict by replacing the local tag(s)?",r.join(", ")),l=await b.window.showErrorMessage(c,{modal:!0},a,s);if(l!==a&&l!==s)return!1;l===s&&await n.update("replaceTagsWhenPull",!0,!0)}return await this.repository.fetchTags({remote:e,tags:r,force:!0}),!0}isBranchProtected(e=this.HEAD){if(e?.name){let t=this.branchProtection.get("");if(t?.length===1&&t[0].include&&t[0].include(e.name))return!0;if(e.upstream?.remote){let r=this.branchProtection.get(e.upstream.remote);if(r&&r?.length!==0)return r.some(n=>{let o=n.include?n.include(e.name):!0,a=n.exclude?n.exclude(e.name):!1;return o&&!a})}}return!1}async getUnpublishedCommits(){if(this.unpublishedCommits)return this.unpublishedCommits;if(!this.HEAD?.name)return this.unpublishedCommits=new Set,this.unpublishedCommits;if(this.HEAD.upstream)if(this.HEAD.ahead===0)this.unpublishedCommits=new Set;else{let e=`${this.HEAD.upstream.remote}/${this.HEAD.upstream.name}`,t=this.HEAD.name,r=await this.repository.revList(e,t);this.unpublishedCommits=new Set(r)}else if(this.historyProvider.currentHistoryItemBaseRef){let e=this.historyProvider.currentHistoryItemBaseRef.id,t=this.HEAD.name,r=await this.repository.revList(e,t);this.unpublishedCommits=new Set(r)}else this.unpublishedCommits=new Set;return this.unpublishedCommits}async generateRandomBranchName(){let e=b.workspace.getConfiguration("git",b.Uri.file(this.root));if(!e.get("branchRandomName.enable",!1))return;let r=e.get("branchPrefix",""),n=e.get("branchWhitespaceChar","-"),o=e.get("branchRandomName.dictionary",["adjectives","animals"]),a=[];for(let s of o)s.toLowerCase()==="adjectives"&&a.push(zw),s.toLowerCase()==="animals"&&a.push(Jw),s.toLowerCase()==="colors"&&a.push(qw),s.toLowerCase()==="numbers"&&a.push(sf.generate({length:3}));if(a.length!==0)for(let s=0;s<5;s++){let c=Vw({dictionaries:a,length:a.length,separator:n});if((await this.getRefs({pattern:`refs/heads/${r}${c}`})).length===0)return`${r}${c}`}}dispose(){this.disposables=Ge(this.disposables)}};D([pn],Zt.prototype,"onDidChangeOperations",1),D([Sr],Zt.prototype,"status",1),D([Sr],Zt.prototype,"refresh",1),D([Sr],Zt.prototype,"fastForwardBranch",1),D([yf],Zt.prototype,"getBranchBase",1),D([Sr],Zt.prototype,"fetchDefault",1),D([Sr],Zt.prototype,"fetchPrune",1),D([Sr],Zt.prototype,"fetchAll",1),D([Sr],Zt.prototype,"pullWithRebase",1),D([Sr],Zt.prototype,"pull",1),D([Sr],Zt.prototype,"push",1),D([Sr],Zt.prototype,"sync",1),D([Ln(1e3)],Zt.prototype,"eventuallyUpdateWhenIdleAndWait",1),D([Sr],Zt.prototype,"updateWhenIdleAndWait",1);var ha=Zt;var er=st(require("path")),Wu=st(require("fs"));var Yu=require("vscode");var lv=class{[Symbol.toStringTag]="LinkedMap";_map;_head;_tail;_size;_state;constructor(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){let r=this._map.get(e);if(r)return t!==0&&this.touch(r,t),r.value}set(e,t,r=0){let n=this._map.get(e);if(n)n.value=t,r!==0&&this.touch(n,r);else{switch(n={key:e,value:t,next:void 0,previous:void 0},r){case 0:this.addItemLast(n);break;case 1:this.addItemFirst(n);break;case 2:this.addItemLast(n);break;default:this.addItemLast(n);break}this._map.set(e,n),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this,t=this._state,r=this._head,n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:r.key,done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return n}values(){let e=this,t=this._state,r=this._head,n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:r.value,done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return n}entries(){let e=this,t=this._state,r=this._head,n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:[r.key,r.value],done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return n}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.previous,r--;this._tail=t,this._size=r,t&&(t.next=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;let r=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(r.previous=n,n.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;let r=e.next,n=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=n,n.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){this.clear();for(let[t,r]of e)this.set(t,r)}},uv=class extends lv{_limit;_ratio;constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},xo=class extends uv{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}};function bA(i){if(!i||typeof i!="object")return!1;let e=i;return typeof e.workspacePath=="string"&&typeof e.repositoryPath=="string"&&(e.lastTouchedTime===void 0||typeof e.lastTouchedTime=="number")}var Tf=class i{constructor(e,t){this._globalState=e;this._logger=t;this.load()}static STORAGE_KEY="git.repositoryCache";static MAX_REPO_ENTRIES=30;static MAX_FOLDER_ENTRIES=10;normalizeRepoUrl(e){try{return e.trim().replace(/(?:\.git)?\/*$/i,"")}catch{return e}}lru=new xo(i.MAX_REPO_ENTRIES);_recentRepositories;get recentRepositories(){if(!this._recentRepositories){this._recentRepositories=new Map;for(let[e,t]of this.lru)for(let[,r]of t){if(!r.repositoryPath||!r.lastTouchedTime)continue;let n=this._recentRepositories.get(r.repositoryPath);n&&r.lastTouchedTime<=n||this._recentRepositories.set(r.repositoryPath,r.lastTouchedTime)}}return Array.from(this._recentRepositories.entries()).map(([e,t])=>({rootUri:Yu.Uri.file(e),lastAccessTime:t}))}get _workspaceFile(){return Yu.workspace.workspaceFile}get _workspaceFolders(){return Yu.workspace.workspaceFolders}set(e,t){let r=this.normalizeRepoUrl(e),n=this.lru.get(r);n||(n=new xo(i.MAX_FOLDER_ENTRIES));let o=this._findWorkspaceForRepo(t);o&&(n.set(o,{repositoryPath:t,workspacePath:o,lastTouchedTime:Date.now()}),this.lru.set(r,n),this.save())}_findWorkspaceForRepo(e){let t;try{if(this._workspaceFile&&this._workspaceFile.scheme==="file")t=this._workspaceFile.fsPath;else if(this._workspaceFolders&&this._workspaceFolders.length){let r=[...this._workspaceFolders].sort((n,o)=>o.uri.fsPath.length-n.uri.fsPath.length);for(let n of r){let o=n.uri.fsPath;if(Qt(o,e)||Qt(e,o)){t=o;break}}}return t}catch{return}}update(e,t,r){for(let n of t){let o=n.fetchUrl;if(!o)continue;let a=this._findWorkspaceForRepo(r);a&&this.delete(o,a)}for(let n of e){let o=n.fetchUrl;o&&this.set(o,r)}}get(e){let t=this.normalizeRepoUrl(e),r=this.lru.get(t);return r?Array.from(r.values()):void 0}delete(e,t){let r=this.normalizeRepoUrl(e),n=this.lru.get(r);n&&n.remove(t)&&(n.size===0?this.lru.remove(r):this.lru.set(r,n),this.save())}load(){try{let e=this._globalState.get(i.STORAGE_KEY);if(!Array.isArray(e))return;for(let[t,r]of e){if(typeof t!="string"||!Array.isArray(r))continue;let n=new xo(i.MAX_FOLDER_ENTRIES);for(let o of r){if(!Array.isArray(o)||o.length!==2)continue;let[a,s]=o;typeof a!="string"||!bA(s)||n.set(a,s)}n.size&&this.lru.set(t,n)}}catch{this._logger.warn("[CachedRepositories][load] Failed to load cached repositories from global state.")}}save(){let e=[];for(let[t,r]of this.lru){let n=[];for(let[o,a]of r)n.push([o,a]);e.push([t,n])}this._globalState.update(i.STORAGE_KEY,e),this._recentRepositories?.clear(),this._recentRepositories=void 0}};var el=class{constructor(e,t){this.repository=e;this.index=t}get label(){return er.basename(this.repository.root)}get description(){return[this.repository.headLabel,this.repository.syncLabel].filter(e=>!!e).join(" ")}get iconPath(){switch(this.repository.kind){case"submodule":return new K.ThemeIcon("archive");case"worktree":return new K.ThemeIcon("list-tree");default:return new K.ThemeIcon("repo")}}};D([pn],el.prototype,"label",1),D([pn],el.prototype,"description",1),D([pn],el.prototype,"iconPath",1);var dv=class{constructor(e){this.workspaceState=e;this._repositories=new Set(e.get("closedRepositories",[])),this.onDidChangeRepositories()}_repositories;get repositories(){return[...this._repositories.values()]}addRepository(e){this._repositories.add(e),this.onDidChangeRepositories()}deleteRepository(e){let t=this._repositories.delete(e);return t&&this.onDidChangeRepositories(),t}isRepositoryClosed(e){return this._repositories.has(e)}onDidChangeRepositories(){this.workspaceState.update("closedRepositories",[...this._repositories.values()]),K.commands.executeCommand("setContext","git.closedRepositoryCount",this._repositories.size)}},mv=class{constructor(e){this.globalState=e;this.onDidChangeRepositories()}_repositories=new Set;get repositories(){return[...this._repositories.values()]}addRepository(e){this._repositories.add(e),this.onDidChangeRepositories()}deleteRepository(e){let t=this._repositories.delete(e);return t&&this.onDidChangeRepositories(),t}hasRepository(e){return this._repositories.has(e)}openRepository(e){this.globalState.update(`parentRepository:${e}`,!0),this.deleteRepository(e)}onDidChangeRepositories(){K.commands.executeCommand("setContext","git.parentRepositoryCount",this._repositories.size)}},fv=class{_repositories=new Map;get repositories(){return[...this._repositories.keys()]}constructor(){this.onDidChangeRepositories()}addRepository(e,t){this._repositories.set(e,t),this.onDidChangeRepositories()}deleteRepository(e){let t=this._repositories.delete(e);return t&&this.onDidChangeRepositories(),t}getRepositoryPath(e){return this._repositories.get(e)}hasRepository(e){return this._repositories.has(e)}onDidChangeRepositories(){K.commands.executeCommand("setContext","git.unsafeRepositoryCount",this._repositories.size)}},Ps=class{constructor(e,t,r,n,o,a){this.git=e;this.askpass=t;this.globalState=r;this.workspaceState=n;this.logger=o;this.telemetryReporter=a;this._closedRepositoriesManager=new dv(n),this._parentRepositoriesManager=new mv(r),this._unsafeRepositoriesManager=new fv,K.workspace.onDidChangeWorkspaceFolders(this.onDidChangeWorkspaceFolders,this,this.disposables),K.workspace.onDidChangeWorkspaceTrustedFolders(this.onDidChangeWorkspaceTrustedFolders,this,this.disposables),K.window.onDidChangeVisibleTextEditors(this.onDidChangeVisibleTextEditors,this,this.disposables),K.window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor,this,this.disposables),K.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration,this,this.disposables);let s=K.workspace.createFileSystemWatcher("**");this.disposables.push(s);let c=ii(s.onDidChange,s.onDidCreate,s.onDidDelete),l=Ue(c,m=>/\/\.git/.test(m.path));Ue(l,m=>!this.getRepository(m))(this.onPossibleGitRepositoryChange,this,this.disposables),this.setState("uninitialized"),this.doInitialScan().finally(()=>this.setState("initialized")),this._repositoryCache=new Tf(r,o)}_onDidOpenRepository=new K.EventEmitter;onDidOpenRepository=this._onDidOpenRepository.event;_onDidCloseRepository=new K.EventEmitter;onDidCloseRepository=this._onDidCloseRepository.event;_onDidChangeRepository=new K.EventEmitter;onDidChangeRepository=this._onDidChangeRepository.event;_onDidChangeOriginalResource=new K.EventEmitter;onDidChangeOriginalResource=this._onDidChangeOriginalResource.event;openRepositories=[];get repositories(){return this.openRepositories.map(e=>e.repository)}possibleGitRepositoryPaths=new Set;_onDidChangeState=new K.EventEmitter;onDidChangeState=this._onDidChangeState.event;_onDidPublish=new K.EventEmitter;onDidPublish=this._onDidPublish.event;firePublishEvent(e,t){this._onDidPublish.fire({repository:new Yt(e),branch:t})}_state="uninitialized";get state(){return this._state}setState(e){this._state=e,this._onDidChangeState.fire(e),K.commands.executeCommand("setContext","git.state",e)}get isInitialized(){return this._state==="initialized"?Promise.resolve():Ai(Ue(this.onDidChangeState,e=>e==="initialized"))}remoteSourcePublishers=new Set;_onDidAddRemoteSourcePublisher=new K.EventEmitter;onDidAddRemoteSourcePublisher=this._onDidAddRemoteSourcePublisher.event;_onDidRemoveRemoteSourcePublisher=new K.EventEmitter;onDidRemoveRemoteSourcePublisher=this._onDidRemoveRemoteSourcePublisher.event;postCommitCommandsProviders=new Set;_onDidChangePostCommitCommandsProviders=new K.EventEmitter;onDidChangePostCommitCommandsProviders=this._onDidChangePostCommitCommandsProviders.event;branchProtectionProviders=new Map;_onDidChangeBranchProtectionProviders=new K.EventEmitter;onDidChangeBranchProtectionProviders=this._onDidChangeBranchProtectionProviders.event;pushErrorHandlers=new Set;historyItemDetailsProviders=new Set;_unsafeRepositoriesManager;get unsafeRepositories(){return this._unsafeRepositoriesManager.repositories}_parentRepositoriesManager;get parentRepositories(){return this._parentRepositoriesManager.repositories}_closedRepositoriesManager;get closedRepositories(){return[...this._closedRepositoriesManager.repositories]}_workspaceFolders=new Map;_repositoryCache;get repositoryCache(){return this._repositoryCache}disposables=[];async doInitialScan(){this.logger.info("[Model][doInitialScan] Initial repository scan started");let e=K.workspace.getConfiguration("git"),t=e.get("autoRepositoryDetection"),r=e.get("openRepositoryInParentFolders","prompt");this.logger.trace(`[Model][doInitialScan] Settings: autoRepositoryDetection=${t}, openRepositoryInParentFolders=${r}`);let n=()=>Promise.all([this.onDidChangeWorkspaceFolders({added:K.workspace.workspaceFolders||[],removed:[]}),this.onDidChangeVisibleTextEditors(K.window.visibleTextEditors),this.scanWorkspaceFolders()]);e.get("showProgress",!0)?await K.window.withProgress({location:K.ProgressLocation.SourceControl},n):await n(),this.parentRepositories.length!==0&&r==="prompt"?this.showParentRepositoryNotification():this.unsafeRepositories.length!==0&&this.showUnsafeRepositoryNotification(),this.telemetryReporter.sendTelemetryEvent("git.repositoryInitialScan",{autoRepositoryDetection:String(t)},{repositoryCount:this.openRepositories.length}),this.logger.info(`[Model][doInitialScan] Initial repository scan completed - repositories (${this.repositories.length}), closed repositories (${this.closedRepositories.length}), parent repositories (${this.parentRepositories.length}), unsafe repositories (${this.unsafeRepositories.length})`)}async scanWorkspaceFolders(){try{let e=K.workspace.getConfiguration("git"),t=e.get("autoRepositoryDetection");if(t!==!0&&t!=="subFolders")return;await Promise.all((K.workspace.workspaceFolders||[]).map(async r=>{let n=r.uri.fsPath;this.logger.trace(`[Model][scanWorkspaceFolders] Workspace folder: ${n}`);let o=(K.workspace.isTrusted?K.workspace.getConfiguration("git",r.uri):e).get("repositoryScanMaxDepth",1),a=(K.workspace.isTrusted?K.workspace.getConfiguration("git",r.uri):e).get("repositoryScanIgnoredFolders",[]),s=new Set(await this.traverseWorkspaceFolder(n,o,a)),c=(K.workspace.isTrusted?K.workspace.getConfiguration("git",r.uri):e).get("scanRepositories")||[];this.logger.trace(`[Model][scanWorkspaceFolders] Workspace scan settings: repositoryScanMaxDepth=${o}; repositoryScanIgnoredFolders=[${a.join(", ")}]; scanRepositories=[${c.join(", ")}]`);for(let l of c){if(l===".git"){this.logger.trace("[Model][scanWorkspaceFolders] '.git' not supported in 'git.scanRepositories' setting.");continue}if(er.isAbsolute(l)){let u=K.l10n.t('Absolute paths not supported in "git.scanRepositories" setting.');this.logger.warn(`[Model][scanWorkspaceFolders] ${u}`),console.warn(u);continue}s.add(er.join(n,l))}this.logger.trace(`[Model][scanWorkspaceFolders] Workspace scan sub folders: [${[...s].join(", ")}]`),await Promise.all([...s].map(l=>this.openRepository(l)))}))}catch(e){this.logger.warn(`[Model][scanWorkspaceFolders] Error: ${e}`)}}async traverseWorkspaceFolder(e,t,r){let n=[],o=[{path:e,depth:0}];for(;o.length>0;){let a=o.shift(),s=[];try{s.push(...await Wu.promises.readdir(a.path,{withFileTypes:!0})),a.depth!==0&&n.push(a.path)}catch(c){this.logger.warn(`[Model][traverseWorkspaceFolder] Unable to read workspace folder '${a.path}': ${c}`);continue}if(a.depth<t||t===-1){let c=s.filter(l=>l.isDirectory()&&l.name!==".git"&&!r.find(u=>et(l.name,u))).map(l=>er.join(a.path,l.name));o.push(...c.map(l=>({path:l,depth:a.depth+1})))}}return n}onPossibleGitRepositoryChange(e){K.workspace.getConfiguration("git").get("autoRepositoryDetection")!==!1&&this.eventuallyScanPossibleGitRepository(e.fsPath.replace(/\.git.*$/,""))}eventuallyScanPossibleGitRepository(e){this.possibleGitRepositoryPaths.add(e),this.eventuallyScanPossibleGitRepositories()}eventuallyScanPossibleGitRepositories(){for(let e of this.possibleGitRepositoryPaths)this.openRepository(e);this.possibleGitRepositoryPaths.clear()}async onDidChangeWorkspaceFolders({added:e,removed:t}){try{let r=e.filter(s=>!this.getOpenRepository(s.uri)),n=K.window.visibleTextEditors.map(s=>this.getRepository(s.document.uri)).filter(s=>!!s),o=new Set(n);t.map(s=>this.getOpenRepository(s.uri)).filter(s=>!!s).filter(s=>!o.has(s.repository)).filter(s=>!(K.workspace.workspaceFolders||[]).some(c=>Qt(c.uri.fsPath,s.repository.root))).forEach(s=>s.dispose()),this.logger.trace(`[Model][onDidChangeWorkspaceFolders] Workspace folders: [${r.map(s=>s.uri.fsPath).join(", ")}]`),await Promise.all(r.map(s=>this.openRepository(s.uri.fsPath)))}catch(r){this.logger.warn(`[Model][onDidChangeWorkspaceFolders] Error: ${r}`)}}async onDidChangeWorkspaceTrustedFolders(){try{let e=[];for(let t of this.openRepositories){let r=t.repository.dotGit.commonPath??t.repository.dotGit.path;await K.workspace.isResourceTrusted(K.Uri.file(er.dirname(r)))||(e.push(t),this.logger.trace(`[Model][onDidChangeWorkspaceTrustedFolders] Repository is no longer trusted: ${t.repository.root}`))}e.forEach(t=>t.dispose())}catch(e){this.logger.warn(`[Model][onDidChangeWorkspaceTrustedFolders] Error: ${e}`)}}onDidChangeConfiguration(){let e=(K.workspace.workspaceFolders||[]).filter(r=>K.workspace.getConfiguration("git",r.uri).get("enabled")===!0).filter(r=>!this.getOpenRepository(r.uri)),t=this.openRepositories.map(r=>({repository:r,root:K.Uri.file(r.repository.root)})).filter(({root:r})=>K.workspace.getConfiguration("git",r).get("enabled")!==!0).map(({repository:r})=>r);this.logger.trace(`[Model][onDidChangeConfiguration] Workspace folders: [${e.map(r=>r.uri.fsPath).join(", ")}]`),e.forEach(r=>this.openRepository(r.uri.fsPath)),t.forEach(r=>r.dispose())}async onDidChangeVisibleTextEditors(e){try{if(!K.workspace.isTrusted){this.logger.trace("[Model][onDidChangeVisibleTextEditors] Workspace is not trusted.");return}let r=K.workspace.getConfiguration("git").get("autoRepositoryDetection");if(r!==!0&&r!=="openEditors")return;await Promise.all(e.map(async n=>{let o=n.document.uri;if(o.scheme!=="file")return;let a=this.getRepository(o);if(a){this.logger.trace(`[Model][onDidChangeVisibleTextEditors] Repository for editor resource ${o.fsPath} already exists: ${a.root}`);return}this.logger.trace(`[Model][onDidChangeVisibleTextEditors] Open repository for editor resource ${o.fsPath}`),await this.openRepository(er.dirname(o.fsPath))}))}catch(t){this.logger.warn(`[Model][onDidChangeVisibleTextEditors] Error: ${t}`)}}onDidChangeActiveTextEditor(){let e=K.window.activeTextEditor;if(e===void 0){K.commands.executeCommand("setContext","git.activeResourceHasUnstagedChanges",!1),K.commands.executeCommand("setContext","git.activeResourceHasStagedChanges",!1),K.commands.executeCommand("setContext","git.activeResourceHasMergeConflicts",!1);return}let t=this.getRepository(e.document.uri);if(!t){K.commands.executeCommand("setContext","git.activeResourceHasUnstagedChanges",!1),K.commands.executeCommand("setContext","git.activeResourceHasStagedChanges",!1),K.commands.executeCommand("setContext","git.activeResourceHasMergeConflicts",!1);return}let r=t.indexGroup.resourceStates.find(s=>et(s.resourceUri.fsPath,e.document.uri.fsPath)),n=t.workingTreeGroup.resourceStates.find(s=>et(s.resourceUri.fsPath,e.document.uri.fsPath)),a=t.mergeGroup.resourceStates.find(s=>et(s.resourceUri.fsPath,e.document.uri.fsPath))?/^(<{7,}|={7,}|>{7,})/m.test(e.document.getText()):!1;K.commands.executeCommand("setContext","git.activeResourceHasStagedChanges",r!==void 0),K.commands.executeCommand("setContext","git.activeResourceHasUnstagedChanges",n!==void 0),K.commands.executeCommand("setContext","git.activeResourceHasMergeConflicts",a)}async openRepository(e,t=!1,r=!1){this.logger.trace(`[Model][openRepository] Repository: ${e}`);let n=await this.getRepositoryExact(e);if(n){this.logger.trace(`[Model][openRepository] Repository for path ${e} already exists: ${n.root}`);return}let o=K.workspace.getConfiguration("git",K.Uri.file(e));if(!(o.get("enabled")===!0)){this.logger.trace("[Model][openRepository] Git is not enabled");return}try{let{repositoryRoot:s,unsafeRepositoryMatch:c}=await this.getRepositoryRoot(e);this.logger.trace(`[Model][openRepository] Repository root for path ${e} is: ${s}`);let l=await this.getRepositoryExact(s);if(l){this.logger.trace(`[Model][openRepository] Repository for path ${s} already exists: ${l.root}`);return}if(this.shouldRepositoryBeIgnored(s)){this.logger.trace(`[Model][openRepository] Repository for path ${s} is ignored`);return}let u=o.get("openRepositoryInParentFolders","prompt");if(u!=="always"&&this.globalState.get(`parentRepository:${s}`)!==!0){let P=await this.isRepositoryOutsideWorkspace(s);if(!r&&P){this.logger.trace(`[Model][openRepository] Repository in parent folder: ${s}`),this._parentRepositoriesManager.hasRepository(s)||(this.state==="initialized"&&u==="prompt"&&this.showParentRepositoryNotification(),this._parentRepositoriesManager.addRepository(s));return}}if(c&&c.length===3){this.logger.trace(`[Model][openRepository] Unsafe repository: ${s}`),this._state==="initialized"&&!this._unsafeRepositoriesManager.hasRepository(s)&&this.showUnsafeRepositoryNotification(),this._unsafeRepositoriesManager.addRepository(s,c[2]);return}if(!t&&this._closedRepositoriesManager.isRepositoryClosed(s)){this.logger.trace(`[Model][openRepository] Repository for path ${s} is closed`);return}let[m,f]=await Promise.all([this.git.getRepositoryDotGit(s),this.getRepositoryRootRealPath(s)]),g=m.commonPath??m.path;if(!await K.workspace.requestResourceTrust({message:K.l10n.t("You are opening a repository from a location that is not trusted. Do you trust the authors of the files in the repository you are opening?"),uri:K.Uri.file(er.dirname(g))})){this.logger.trace(`[Model][openRepository] Repository folder is not trusted: ${er.dirname(g)}`);return}let v=this.git.open(s,f,m,this.logger),_=new ha(v,this,this,this,this,this,this,this.globalState,this.logger,this.telemetryReporter,this._repositoryCache);this.open(_),this._closedRepositoriesManager.deleteRepository(_.root),this.logger.info(`[Model][openRepository] Opened repository (path): ${_.root}`),this.logger.info(`[Model][openRepository] Opened repository (real path): ${_.rootRealPath??_.root}`),this.logger.info(`[Model][openRepository] Opened repository (kind): ${v.kind}`),_.status().then(()=>{this._repositoryCache.update(_.remotes,[],_.root)})}catch(s){this.logger.trace(`[Model][openRepository] Opening repository for path='${e}' failed. Error:${s}`)}}async openParentRepository(e){this._parentRepositoriesManager.openRepository(e),await this.openRepository(e)}async getRepositoryRoot(e){try{let t=await this.git.getRepositoryRoot(e);return{repositoryRoot:K.Uri.file(t).fsPath,unsafeRepositoryMatch:null}}catch(t){let r=/^fatal: detected dubious ownership in repository at \'([^']+)\'[\s\S]*git config --global --add safe\.directory '?([^'\n]+)'?$/m.exec(t.stderr);if(r&&r.length===3)return{repositoryRoot:er.normalize(r[1]),unsafeRepositoryMatch:r};throw t}}async getRepositoryRootRealPath(e){try{let t=await Wu.promises.realpath(e);return et(e,t)?void 0:t}catch(t){this.logger.warn(`[Model][getRepositoryRootRealPath] Failed to get repository realpath for "${e}": ${t}`);return}}shouldRepositoryBeIgnored(e){let r=K.workspace.getConfiguration("git").get("ignoredRepositories")||[];for(let n of r)if(er.isAbsolute(n)){if(et(n,e))return!0}else for(let o of K.workspace.workspaceFolders||[])if(et(er.join(o.uri.fsPath,n),e))return!0;return!1}open(e){this.logger.trace(`[Model][open] Repository: ${e.root}`);let r=Ue(e.onDidChangeState,T=>T===1)(()=>w()),n=e.sourceControl.onDidDisposeParent(()=>w()),o=e.onDidChangeRepository(T=>this._onDidChangeRepository.fire({repository:e,uri:T})),a=e.onDidChangeOriginalResource(T=>this._onDidChangeOriginalResource.fire({repository:e,uri:T})),s=K.workspace.getConfiguration("git",K.Uri.file(e.root)).get("detectSubmodules"),c=K.workspace.getConfiguration("git",K.Uri.file(e.root)).get("detectSubmodulesLimit"),l=K.workspace.getConfiguration("git",K.Uri.file(e.root)).get("detectWorktrees"),u=K.workspace.getConfiguration("git",K.Uri.file(e.root)).get("detectWorktreesLimit"),m=()=>{if(!s){this.logger.trace("[Model][open] Automatic detection of git submodules is not enabled.");return}e.submodules.length>c&&(K.window.showWarningMessage(K.l10n.t(`The "{0}" repository has {1} submodules which won't be opened automatically. You can still open each one individually by opening a file within.`,er.basename(e.root),e.submodules.length)),p.dispose()),e.submodules.slice(0,c).map(T=>er.join(e.root,T.path)).forEach(T=>{this.logger.trace(`[Model][open] Opening submodule: '${T}'`),this.eventuallyScanPossibleGitRepository(T)})},f=()=>{if(!l){this.logger.trace("[Model][open] Automatic detection of git worktrees is not enabled.");return}if(e.kind==="worktree"){this.logger.trace("[Model][open] Automatic detection of git worktrees is not skipped.");return}e.worktrees.length>u&&(K.window.showWarningMessage(K.l10n.t(`The "{0}" repository has {1} worktrees which won't be opened automatically. You can still open each one individually by opening a file within.`,er.basename(e.root),e.worktrees.length)),p.dispose()),e.worktrees.slice(0,u).forEach(T=>{this.logger.trace(`[Model][open] Opening worktree: '${T.path}'`),this.eventuallyScanPossibleGitRepository(T.path)})},g=()=>{let T=[];for(let{repository:L}of this.openRepositories.values())for(let W of L.mergeGroup.resourceStates)T.push(W.resourceUri);K.commands.executeCommand("setContext","git.mergeChanges",T)},p=e.onDidRunGitStatus(()=>{m(),f(),g(),this.onDidChangeActiveTextEditor()});m(),f(),this.onDidChangeActiveTextEditor();let v=()=>{let T=!1;for(let{repository:L}of this.openRepositories.values())L.operations.shouldDisableCommands()&&(T=!0);K.commands.executeCommand("setContext","operationInProgress",T)},P=ii(e.onDidRunOperation,e.onRunOperation)(()=>v());v();let w=()=>{r.dispose(),n.dispose(),o.dispose(),a.dispose(),p.dispose(),P.dispose(),e.dispose(),this.openRepositories=this.openRepositories.filter(T=>T!==R),this._onDidCloseRepository.fire(e)},R={repository:e,dispose:w};this.openRepositories.push(R),g(),this._onDidOpenRepository.fire(e)}close(e){let t=this.getOpenRepository(e);t&&(this.logger.info(`[Model][close] Repository: ${e.root}`),this._closedRepositoriesManager.addRepository(t.repository.root),this._repositoryCache.update(e.remotes,[],e.root),t.dispose())}async pickRepository(e){if(this.openRepositories.length===0)throw new Error(K.l10n.t("There are no available repositories"));let t=this.openRepositories.filter(l=>!l.repository.isHidden&&(!e||e.includes(l.repository.kind)));if(t.length===0)throw new Error(K.l10n.t("There are no available repositories matching the filter"));if(t.length===1)return t[0].repository;let r=K.window.activeTextEditor,n=t.map((l,u)=>new el(l.repository,u)),o=r&&this.getRepository(r.document.fileName),a=n.findIndex(l=>l.repository===o);a>-1&&n.unshift(...n.splice(a,1));let s=K.l10n.t("Choose a repository"),c=await K.window.showQuickPick(n,{placeHolder:s});return c&&c.repository}getRepository(e){let t=this.getOpenRepository(e);return t&&t.repository}async getRepositoryExact(e){let t=this.openRepositories.find(r=>et(r.repository.root,e));if(t)return t.repository;try{let r=await Wu.promises.realpath(e,{encoding:"utf8"});return this.openRepositories.find(o=>et(o.repository.rootRealPath??o.repository.root,r))?.repository}catch(r){this.logger.warn(`[Model][getRepositoryExact] Failed to get repository realpath for: "${e}". Error:${r}`);return}}getOpenRepository(e){if(e){if(e instanceof ha)return this.openRepositories.filter(t=>t.repository===e)[0];if(e instanceof Yt&&(e=e.rootUri),typeof e=="string"&&(e=K.Uri.file(e)),e instanceof K.Uri){let t;e.scheme==="git"?t=Rr(e).path:t=e.fsPath;e:for(let r of this.openRepositories.sort((n,o)=>o.repository.root.length-n.repository.root.length))if(Qt(r.repository.root,t)){for(let n of r.repository.submodules){let o=er.join(r.repository.root,n.path);if(Qt(o,t))continue e}return r}return}for(let t of this.openRepositories){let r=t.repository;if(e===r.sourceControl||e===r.mergeGroup||e===r.indexGroup||e===r.workingTreeGroup||e===r.untrackedGroup)return t}}}getRepositoryForSubmodule(e){for(let t of this.repositories)for(let r of t.submodules)if(er.join(t.root,r.path)===e.fsPath)return t}registerRemoteSourcePublisher(e){return this.remoteSourcePublishers.add(e),this._onDidAddRemoteSourcePublisher.fire(e),Mr(()=>{this.remoteSourcePublishers.delete(e),this._onDidRemoveRemoteSourcePublisher.fire(e)})}getRemoteSourcePublishers(){return[...this.remoteSourcePublishers.values()]}registerBranchProtectionProvider(e,t){let r=[];return this.branchProtectionProviders.set(e.toString(),(this.branchProtectionProviders.get(e.toString())??new Set).add(t)),r.push(t.onDidChangeBranchProtection(n=>this._onDidChangeBranchProtectionProviders.fire(n))),this._onDidChangeBranchProtectionProviders.fire(e),Mr(()=>{let n=this.branchProtectionProviders.get(e.toString());n&&n.has(t)&&(n.delete(t),this.branchProtectionProviders.set(e.toString(),n),this._onDidChangeBranchProtectionProviders.fire(e)),Ge(r)})}getBranchProtectionProviders(e){return[...(this.branchProtectionProviders.get(e.toString())??new Set).values()]}registerPostCommitCommandsProvider(e){return this.postCommitCommandsProviders.add(e),this._onDidChangePostCommitCommandsProviders.fire(),Mr(()=>{this.postCommitCommandsProviders.delete(e),this._onDidChangePostCommitCommandsProviders.fire()})}getPostCommitCommandsProviders(){return[...this.postCommitCommandsProviders.values()]}registerCredentialsProvider(e){return this.askpass.registerCredentialsProvider(e)}registerPushErrorHandler(e){return this.pushErrorHandlers.add(e),Mr(()=>this.pushErrorHandlers.delete(e))}getPushErrorHandlers(){return[...this.pushErrorHandlers]}registerSourceControlHistoryItemDetailsProvider(e){return this.historyItemDetailsProviders.add(e),Mr(()=>this.historyItemDetailsProviders.delete(e))}getSourceControlHistoryItemDetailsProviders(){return[...this.historyItemDetailsProviders]}getUnsafeRepositoryPath(e){return this._unsafeRepositoriesManager.getRepositoryPath(e)}deleteUnsafeRepository(e){return this._unsafeRepositoriesManager.deleteRepository(e)}async isRepositoryOutsideWorkspace(e){if(K.workspace.workspaceFolders===void 0||K.workspace.isAgentSessionsWorkspace)return!1;let t=K.workspace.workspaceFolders.filter(o=>o.uri.scheme==="file");if(t.length===0)return!0;if(this.repositories.map(o=>o.worktrees.map(a=>a.path)).flat().some(o=>et(o,e)))return!1;let n=new Set([...t.map(o=>o.uri.fsPath),...await Promise.all(t.map(o=>this.getWorkspaceFolderRealPath(o)))]);return!Array.from(n).some(o=>o&&(et(o,e)||Qt(o,e)))}async getWorkspaceFolderRealPath(e){let t=this._workspaceFolders.get(e.uri.fsPath);if(!t)try{t=await Wu.promises.realpath(e.uri.fsPath,{encoding:"utf8"}),this._workspaceFolders.set(e.uri.fsPath,t)}catch(r){this.logger.trace(`[Model][getWorkspaceFolderRealPath] Failed to resolve workspace folder "${e.uri.fsPath}". Error:${r}`)}return t}async showParentRepositoryNotification(){let e=this.parentRepositories.length===1?K.l10n.t("A git repository was found in the parent folders of the workspace or the open file(s). Would you like to open the repository?"):K.l10n.t("Git repositories were found in the parent folders of the workspace or the open file(s). Would you like to open the repositories?"),t=K.l10n.t("Yes"),r=K.l10n.t("Always"),n=K.l10n.t("Never"),o=await K.window.showInformationMessage(e,t,r,n);if(o===t)K.commands.executeCommand("git.openRepositoriesInParentFolders");else if((o===r||o===n)&&(await K.workspace.getConfiguration("git").update("openRepositoryInParentFolders",o===r?"always":"never",!0),o===r))for(let s of this.parentRepositories)await this.openParentRepository(s)}async showUnsafeRepositoryNotification(){if(this.repositories.length===0)return;let e=this.unsafeRepositories.length===1?K.l10n.t("The git repository in the current folder is potentially unsafe as the folder is owned by someone other than the current user."):K.l10n.t("The git repositories in the current folder are potentially unsafe as the folders are owned by someone other than the current user."),t=K.l10n.t("Manage Unsafe Repositories"),r=K.l10n.t("Learn More"),n=await K.window.showErrorMessage(e,t,r);n===t?K.commands.executeCommand("git.manageUnsafeRepositories"):n===r&&K.commands.executeCommand("vscode.open",K.Uri.parse("https://aka.ms/vscode-git-unsafe-repository"))}dispose(){[...this.openRepositories].forEach(t=>t.dispose()),this.openRepositories=[],this.possibleGitRepositoryPaths.clear(),this.disposables=Ge(this.disposables)}};D([pn],Ps.prototype,"isInitialized",1),D([Ln(500)],Ps.prototype,"eventuallyScanPossibleGitRepositories",1),D([yf],Ps.prototype,"openRepository",1);var _v=st(require("os")),ot=st(require("path")),d=require("vscode");var Bn=require("vscode");function $u(i,e,t){let r=[],n=0;for(let o of t){let a=o.originalEndLineNumber===0,s=o.modifiedEndLineNumber===0,c=a?o.originalStartLineNumber:o.originalStartLineNumber-1,l=0;if(s&&o.originalEndLineNumber===i.lineCount&&(c-=1,l=i.lineAt(c).range.end.character),r.push(i.getText(new Bn.Range(n,0,c,l))),!s){let u=o.modifiedStartLineNumber-1,m=0;a&&o.originalStartLineNumber===i.lineCount&&(u-=1,m=e.lineAt(u).range.end.character),r.push(e.getText(new Bn.Range(u,m,o.modifiedEndLineNumber,0)))}n=a?o.originalStartLineNumber:o.originalEndLineNumber}return r.push(i.getText(new Bn.Range(n,0,i.lineCount,0))),r.join("")}function gv(i,e){let t=i.map(n=>{let o=e.lineAt(n.start.line),a=e.lineAt(n.end.line);return new Bn.Range(o.range.start,a.range.end)});t.sort((n,o)=>n.start.line-o.start.line);let r=t.reduce((n,o)=>{if(n.length===0)return n.push(o),n;let[a,...s]=n,c=o.intersection(a);return c?[c,...s]:o.start.line===a.end.line+1?[new Bn.Range(a.start,o.end),...s]:[o,...n]},[]);return r.reverse(),r}function If(i,e){return e.modifiedEndLineNumber===0?e.modifiedStartLineNumber===0?new Bn.Range(i.lineAt(e.modifiedStartLineNumber).range.end,i.lineAt(e.modifiedStartLineNumber).range.start):i.lineCount===e.modifiedStartLineNumber?new Bn.Range(i.lineAt(e.modifiedStartLineNumber-1).range.end,i.lineAt(e.modifiedStartLineNumber-1).range.end):new Bn.Range(i.lineAt(e.modifiedStartLineNumber-1).range.end,i.lineAt(e.modifiedStartLineNumber).range.start):new Bn.Range(i.lineAt(e.modifiedStartLineNumber-1).range.start,i.lineAt(e.modifiedEndLineNumber-1).range.end)}function hv(i,e,t){let r=If(i,e),n=t.intersection(r);if(!n)return null;if(e.modifiedEndLineNumber===0)return e;{let o=n.start.line+1,a=n.end.line+1;if(e.originalEndLineNumber-e.originalStartLineNumber===e.modifiedEndLineNumber-e.modifiedStartLineNumber){let s=o-e.modifiedStartLineNumber,c=a-o;return{originalStartLineNumber:e.originalStartLineNumber+s,originalEndLineNumber:e.originalStartLineNumber+s+c,modifiedStartLineNumber:o,modifiedEndLineNumber:a}}else return{originalStartLineNumber:e.originalStartLineNumber,originalEndLineNumber:e.originalEndLineNumber,modifiedStartLineNumber:o,modifiedEndLineNumber:a}}}function Af(i){return{modifiedStartLineNumber:i.originalStartLineNumber,modifiedEndLineNumber:i.originalEndLineNumber,originalStartLineNumber:i.modifiedStartLineNumber,originalEndLineNumber:i.modifiedEndLineNumber}}function tl(i){return i.changes.map(e=>{let t,r,n,o;return e.original.startLineNumber===e.original.endLineNumberExclusive?(t=e.original.startLineNumber-1,r=0):(t=e.original.startLineNumber,r=e.original.endLineNumberExclusive-1),e.modified.startLineNumber===e.modified.endLineNumberExclusive?(n=e.modified.startLineNumber-1,o=0):(n=e.modified.startLineNumber,o=e.modified.endLineNumberExclusive-1),{originalStartLineNumber:t,originalEndLineNumber:r,modifiedStartLineNumber:n,modifiedEndLineNumber:o}})}function SD(i,e){let t=i.modifiedStartLineNumber-e.modifiedStartLineNumber;return t!==0||(t=i.modifiedEndLineNumber-e.modifiedEndLineNumber,t!==0)||(t=i.originalStartLineNumber-e.originalStartLineNumber,t!==0)?t:i.originalEndLineNumber-e.originalEndLineNumber}function PD(i){return i.diffInformation?.find(e=>e.original&&fn(e.original)&&Rr(e.original).ref==="HEAD"&&e.modified&&fn(e.modified)&&Rr(e.modified).ref==="")}function xs(i){return pv(i,"~")??pv(i,"")}function yv(i){return pv(i,"HEAD")}function pv(i,e){return i.diffInformation?.find(t=>t.original&&fn(t.original)&&Rr(t.original).ref===e)}var kt=require("vscode");var Oi=class i extends kt.TimelineItem{static is(e){return e instanceof i}ref;previousRef;message;constructor(e,t,r,n,o,a){let s=r.indexOf(`
`),c=s!==-1?`${mi(r,s,!1)}`:r;super(c,n),this.ref=e,this.previousRef=t,this.message=r,this.id=o,this.contextValue=a}get shortRef(){return this.shortenRef(this.ref)}get shortPreviousRef(){return this.shortenRef(this.previousRef)}shortenRef(e){return e===""||e==="~"||e==="HEAD"?e:e.endsWith("^")?`${e.substr(0,8)}^`:e.substr(0,8)}},Ku=class{constructor(e,t){this.model=e;this.commands=t;this.disposable=kt.Disposable.from(e.onDidOpenRepository(this.onRepositoriesChanged,this),kt.workspace.onDidChangeConfiguration(this.onConfigurationChanged,this)),e.repositories.length&&this.ensureProviderRegistration()}_onDidChange=new kt.EventEmitter;get onDidChange(){return this._onDidChange.event}id="git-history";label=kt.l10n.t("Git History");disposable;providerDisposable;repo;repoDisposable;repoOperationDate;dispose(){this.providerDisposable?.dispose(),this.disposable.dispose()}async provideTimeline(e,t,r){let n=this.model.getRepository(e);if(!n)return this.repoDisposable?.dispose(),this.repoOperationDate=void 0,this.repo=void 0,{items:[]};this.repo?.root!==n.root&&(this.repoDisposable?.dispose(),this.repo=n,this.repoOperationDate=new Date,this.repoDisposable=kt.Disposable.from(n.onDidChangeRepository(R=>this.onRepositoryChanged(n,R)),n.onDidRunGitStatus(()=>this.onRepositoryStatusChanged(n)),n.onDidRunOperation(R=>this.onRepositoryOperationRun(n,R))));let o;if(t.limit!==void 0&&typeof t.limit!="number")try{let R=await this.model.git.exec(n.root,["rev-list","--count",`${t.limit.id}..`,"--",e.fsPath]);R.exitCode||(o=Number(R.stdout)+2)}catch{o=void 0}else o=t.limit===void 0?void 0:t.limit+1;await Ds();let a=await n.logFile(e,{maxEntries:o,hash:t.cursor,follow:!0,shortStats:!0},r),s=a.length?{cursor:o===void 0?void 0:a.length>=o?a[a.length-1]?.hash:void 0}:void 0;o!==void 0&&a.length>=o&&a.splice(a.length-1,1);let c=kt.workspace.getConfiguration("git",kt.Uri.file(n.root)),l=c.get("timeline.date"),u=c.get("timeline.showAuthor"),m=c.get("timeline.showUncommitted"),f=kt.l10n.t("Open Comparison"),g=await n.getEmptyTree(),p=await n.getUnpublishedCommits(),v=await qc(this.model,n),_={commits:a.map(R=>({hash:R.hash,authorName:R.authorName,authorEmail:R.authorEmail})),size:20},P=await Rs(this.model,n,_),w=[];for(let R=0;R<a.length;R++){let T=a[R],L=l==="authored"?T.authorDate:T.commitDate,W=So(T.message),$=a[R+1]?.hash??g,G=new Oi(T.hash,$,W,L?.getTime()??0,T.hash,"git:file:commit");G.iconPath=new kt.ThemeIcon("git-commit"),u&&(G.description=T.authorName);let Y=p.has(T.hash)?[]:v??[],H=await Ss(this.model,n,W)??W,I=[Xc(e,T.hash),Zc(Y,T.hash)];G.tooltip=Qc(P?.get(T.hash),T.authorName,T.authorEmail,L,H,T.shortStat,I);let ee=this.commands.resolveTimelineOpenDiffCommand(G,e);ee&&(G.command={title:f,command:ee.command,arguments:ee.arguments}),w.push(G)}if(t.cursor===void 0){let R=kt.l10n.t("You"),T=n.indexGroup.resourceStates.find(L=>L.resourceUri.fsPath===e.fsPath);if(T){let L=this.repoOperationDate??new Date,W=new Oi("~","HEAD",kt.l10n.t("Staged Changes"),L.getTime(),"index","git:file:index");W.iconPath=new kt.ThemeIcon("git-commit"),W.description="",W.tooltip=Qc(void 0,R,void 0,L,je.getStatusText(T.type),void 0,void 0);let $=this.commands.resolveTimelineOpenDiffCommand(W,e);$&&(W.command={title:f,command:$.command,arguments:$.arguments}),w.splice(0,0,W)}if(m){let L=n.workingTreeGroup.resourceStates.find(W=>W.resourceUri.fsPath===e.fsPath);if(L){let W=new Date,$=new Oi("",T?"~":"HEAD",kt.l10n.t("Uncommitted Changes"),W.getTime(),"working","git:file:working");$.iconPath=new kt.ThemeIcon("circle-outline"),$.description="",$.tooltip=Qc(void 0,R,void 0,W,je.getStatusText(L.type),void 0,void 0);let G=this.commands.resolveTimelineOpenDiffCommand($,e);G&&($.command={title:f,command:G.command,arguments:G.arguments}),w.splice(0,0,$)}}}return{items:w,paging:s}}ensureProviderRegistration(){this.providerDisposable===void 0&&(this.providerDisposable=kt.workspace.registerTimelineProvider(["file","git","vscode-remote","vscode-local-history"],this))}onConfigurationChanged(e){(e.affectsConfiguration("git.timeline.date")||e.affectsConfiguration("git.timeline.showAuthor")||e.affectsConfiguration("git.timeline.showUncommitted"))&&this.fireChanged()}onRepositoriesChanged(e){this.ensureProviderRegistration(),this.fireChanged()}onRepositoryChanged(e,t){this.fireChanged()}onRepositoryStatusChanged(e){kt.workspace.getConfiguration("git.timeline").get("showUncommitted")===!0&&this.fireChanged()}onRepositoryOperationRun(e,t){!t.error&&!t.operation.readOnly&&t.operation.kind!=="Status"&&(this.repoOperationDate=new Date,this.fireChanged())}fireChanged(){this._onDidChange.fire(void 0)}};D([Ln(500)],Ku.prototype,"fireChanged",1);async function Nf(i={}){return ws.getAPI().pickRemoteSource(i)}async function xD(i){return ws.getAPI().getRemoteSourceActions(i)}var Ju=class{get description(){return""}get alwaysShow(){return!0}},Of=class extends Ju{get label(){return d.l10n.t("{0} Create new branch...","$(plus)")}},bv=class extends Ju{get label(){return d.l10n.t("{0} Create new branch from...","$(plus)")}},Ev=class extends Ju{get label(){return d.l10n.t("{0} Checkout detached...","$(debug-disconnect)")}},Mf=class{constructor(e){this.refType=e}get kind(){return d.QuickPickItemKind.Separator}get label(){switch(this.refType){case de.Head:return d.l10n.t("branches");case de.RemoteHead:return d.l10n.t("remote branches");case de.Tag:return d.l10n.t("tags");default:return""}}},qi=class{constructor(e,t){this.ref=e;this.shortCommitLength=t}get label(){switch(this.ref.type){case de.Head:return`$(git-branch) ${this.ref.name??this.shortCommit}`;case de.RemoteHead:return`$(cloud) ${this.ref.name??this.shortCommit}`;case de.Tag:return`$(tag) ${this.ref.name??this.shortCommit}`;default:return""}}get description(){if(this.ref.commitDetails?.commitDate)return Do(this.ref.commitDetails.commitDate,!0,!0);switch(this.ref.type){case de.Head:return this.shortCommit;case de.RemoteHead:return d.l10n.t("Remote branch at {0}",this.shortCommit);case de.Tag:return d.l10n.t("Tag at {0}",this.shortCommit);default:return""}}get detail(){if(this.ref.commitDetails?.authorName&&this.ref.commitDetails?.message)return`${this.ref.commitDetails.authorName}$(circle-small-filled)${this.shortCommit}$(circle-small-filled)${this.ref.commitDetails.message}`}get refId(){switch(this.ref.type){case de.Head:return`refs/heads/${this.ref.name}`;case de.RemoteHead:return`refs/remotes/${this.ref.name}`;case de.Tag:return`refs/tags/${this.ref.name}`;default:throw new Error("Unknown ref type")}}get refName(){return this.ref.name}get refRemote(){return this.ref.remote}get shortCommit(){return(this.ref.commit||"").substring(0,this.shortCommitLength)}get commitMessage(){return this.ref.commitDetails?.message}_buttons;get buttons(){return this._buttons}set buttons(e){this._buttons=e}},pi=class extends qi{constructor(t,r){super(t,r);this.ref=t}get description(){let t=[];return typeof this.ref.behind=="number"&&typeof this.ref.ahead=="number"&&t.push(`${this.ref.behind}\u2193 ${this.ref.ahead}\u2191`),this.ref.commitDetails?.commitDate&&t.push(Do(this.ref.commitDetails.commitDate,!0,!0)),t.length>0?t.join("$(circle-small-filled)"):this.shortCommit}},Lf=class extends pi{async run(e,t){if(!this.ref.name)return;let n=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("pullBeforeCheckout",!1)===!0,o=t?.detached?this.ref.commit??this.ref.name:this.ref.name;await e.checkout(o,{...t,pullBeforeCheckout:n})}},Cv=class extends Lf{get label(){return`$(lock) ${this.ref.name??this.shortCommit}`}},wv=class extends qi{async run(e,t){if(!this.ref.name)return;if(t?.detached){await e.checkout(this.ref.commit??this.ref.name,t);return}let r=await e.findTrackingBranches(this.ref.name);r.length>0?await e.checkout(r[0].name,t):await e.checkoutTracking(this.ref.name,t)}},Dv=class extends qi{async run(e,t){this.ref.name&&await e.checkout(this.ref.name,t)}},ju=class extends pi{async run(e,t){if(this.ref.type===de.Head&&this.refName)await e.deleteBranch(this.refName,t);else if(this.ref.type===de.RemoteHead&&this.refRemote&&this.refName){let r=this.refName.substring(this.refRemote.length+1);await e.deleteRemoteRef(this.refRemote,r,{force:t})}}},Bf=class extends qi{async run(e){this.ref.name&&await e.deleteTag(this.ref.name)}},Ff=class extends qi{get description(){return d.l10n.t("Remote tag at {0}",this.shortCommit)}async run(e,t){this.ref.name&&await e.deleteRemoteRef(t,this.ref.name)}},qu=class{constructor(e){this.worktree=e}get label(){return`$(list-tree) ${this.worktree.name}`}get description(){return this.worktree.path}},Gf=class extends qu{constructor(t,r){super(t);this.shortCommitLength=r}get description(){if(this.worktree.commitDetails)return Kc([this.worktree.detached?d.l10n.t("detached"):this.worktree.ref.substring(11),this.worktree.commitDetails.hash.substring(0,this.shortCommitLength),this.worktree.commitDetails.message.split(`
`)[0]]).join(" \u2022 ")}get detail(){return this.worktree.path}async run(t){this.worktree.path&&await t.deleteWorktree(this.worktree.path)}},rl=class extends pi{async run(e){(this.ref.name||this.ref.commit)&&await e.merge(this.ref.name??this.ref.commit)}},il=class extends pi{async run(e){this.ref?.name&&await e.rebase(this.ref.name)}},Rv=class extends il{get description(){return"(upstream)"}},Sv=class{constructor(e,t){this.repository=e;this.shortCommitLength=t}get label(){return"HEAD"}get description(){return(this.repository.HEAD?.commit??"").substring(0,this.shortCommitLength)}get alwaysShow(){return!0}get refName(){return"HEAD"}},Hf=class{constructor(e){this.cc=e}get label(){return"$(plus) "+d.l10n.t("Add a new remote...")}get description(){return""}get alwaysShow(){return!0}async run(e){await this.cc.addRemote(e)}},Vu=class{constructor(e,t){this.repository=e;this.remote=t}get label(){return`$(cloud) ${this.remote.name}`}get description(){return this.remote.fetchUrl}get remoteName(){return this.remote.name}async run(){await this.repository.fetch({remote:this.remote.name})}},Pv=class{constructor(e){this.repository=e}get label(){return d.l10n.t("{0} Fetch all remotes","$(cloud-download)")}async run(){await this.repository.fetch({all:!0})}},zu=class{constructor(e){this.path=e}get label(){return`$(repo) ${Iv(this.path)}`}get description(){return this.path}},Uf=class{constructor(e){this.stash=e}get label(){return`#${this.stash.index}: ${this.stash.description}`}get description(){return xw(this.stash)}},AD=[];function N(i,e={}){return(t,r,n)=>{if(typeof n.value!="function")throw new Error("not supported");AD.push({commandId:i,key:String(r),method:n.value,options:e})}}async function TD(i){let t=i.filter(m=>m instanceof je).filter(m=>m.resourceGroupType===0),r=m=>m.type===C.BOTH_MODIFIED||m.type===C.BOTH_ADDED,n=m=>m.type===C.DELETED_BY_THEM||m.type===C.DELETED_BY_US,o=t.filter(r),a=o.map(m=>Dw(m.resourceUri.fsPath,/^<{7}\s|^={7}$|^>{7}\s/)),s=await Promise.all(a),c=o.filter((m,f)=>!s[f]),l=t.filter(m=>n(m)),u=[...t.filter(m=>!r(m)&&!n(m)),...o.filter((m,f)=>s[f])];return{merge:t,resolved:c,unresolved:u,deletionConflicts:l}}async function EA(i,e=!1){let t=d.workspace.getConfiguration("git"),r=t.get("checkoutType"),n=t.get("showReferenceDetails")===!0,o;r==="all"||!r||r.length===0?o=["local","remote","tags"]:typeof r=="string"?o=[r]:o=r,e&&(o=o.filter(u=>u!=="tags"));let a=await i.getRefs({includeCommitDetails:n}),s=o.map(u=>wA(i,u)).filter(u=>!!u),c=await CA(i);return new Tv(i,s,c,e).processRefs(a)}async function CA(i){let e=new Map,t=async r=>(await xD(r)).map(n=>({iconPath:new d.ThemeIcon(n.icon),tooltip:n.label,actual:n}));for(let r of i.remotes){if(r.fetchUrl){let n=e.get(r.fetchUrl)??[];n.push(...await t(r.fetchUrl)),e.set(r.fetchUrl,n)}if(r.pushUrl&&r.pushUrl!==r.fetchUrl){let n=e.get(r.pushUrl)??[];n.push(...await t(r.pushUrl)),e.set(r.pushUrl,n)}}return e}var Ot=class{constructor(e,t=qi){this.type=e;this.ctor=t}refs=[];processRef(e){return!e.name&&!e.commit||e.type!==this.type?!1:(this.refs.push(e),!0)}getItems(e){let t=this.refs.map(r=>new this.ctor(r,e));return t.length===0?t:[new Mf(this.type),...t]}},Fn=class{constructor(e,t,r={}){this.repository=e;this.processors=t;this.options=r;let n=d.workspace.getConfiguration("git",d.Uri.file(e.root));this.shortCommitLength=n.get("commitShortHashLength",7)}shortCommitLength;processRefs(e){let t=this.getRefsToSkip();for(let n of e)if(!(n.name&&t.includes(n.name))){for(let o of this.processors)if(o.processRef(n))break}let r=[];for(let n of this.processors)r.push(...n.getItems(this.shortCommitLength));return r}getRefsToSkip(){let e=["origin/HEAD"];return this.options.skipCurrentBranch&&this.repository.HEAD?.name&&e.push(this.repository.HEAD.name),this.options.skipCurrentBranchRemote&&this.repository.HEAD?.upstream&&e.push(`${this.repository.HEAD.upstream.remote}/${this.repository.HEAD.upstream.name}`),e}},xv=class extends Ot{constructor(t){super(de.Head);this.repository=t}getItems(t){let r=this.refs.map(n=>this.repository.isBranchProtected(n)?new Cv(n,t):new Lf(n,t));return r.length===0?r:[new Mf(this.type),...r]}},Tv=class extends Fn{constructor(t,r,n,o=!1){super(t,r);this.buttons=n;this.detached=o;let a=t.remotes.find(c=>c.pushUrl===t.HEAD?.remote||c.fetchUrl===t.HEAD?.remote)??t.remotes[0],s=a?.pushUrl??a?.fetchUrl;s&&(this.defaultButtons=n.get(s))}defaultButtons;processRefs(t){for(let n of t)if(!(!this.detached&&n.name==="origin/HEAD")){for(let o of this.processors)if(o.processRef(n))break}let r=[];for(let n of this.processors)for(let o of n.getItems(this.shortCommitLength)){if(!(o instanceof qi)){r.push(o);continue}if(o.refRemote){let a=this.repository.remotes.find(c=>c.name===o.refRemote),s=[];a?.pushUrl&&s.push(...this.buttons.get(a.pushUrl)??[]),a?.fetchUrl&&a.fetchUrl!==a.pushUrl&&s.push(...this.buttons.get(a.fetchUrl)??[]),s.length&&(o.buttons=s)}else o.buttons=this.defaultButtons;r.push(o)}return r}};function wA(i,e){switch(e){case"local":return new xv(i);case"remote":return new Ot(de.RemoteHead,wv);case"tags":return new Ot(de.Tag,Dv);default:return}}function Iv(i){let e=d.workspace.getWorkspaceFolder(d.Uri.file(i));return e?.uri.toString()===i?e.name:ot.basename(i)}function vv(i,e){return Iv(i).localeCompare(Iv(e))}function kf(i,e){return i&&i.trim().replace(/^-+/,"").replace(/^\.|\/\.|\.\.|~|\^|:|\/$|\.lock$|\.lock\/|\\|\*|\s|^\s*$|\.$|\[|\]$/g,e)}function ID(i){return i=i.trim(),i&&i.replace(/^\.|\/\.|\.\.|~|\^|:|\/$|\.lock$|\.lock\/|\\|\*|\s|^\s*$|\.$|\[|\]$/g,"-")}var Av=class{items=new Map;set(e,t){this.items.set(e.path,t)}delete(e){this.items.delete(e.path)}provideTextDocumentContent(e){return this.items.get(e.path)}};async function DA(i,e,t){let r=d.workspace.getConfiguration("git",d.Uri.file(i.root)),n=r.get("diagnosticsCommitHook.enabled",!1)===!0,o=r.get("diagnosticsCommitHook.sources",{"*":"error"});if(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Diagnostics Commit Hook: enabled=${n}, sources=${JSON.stringify(o)}`),!n)return!0;let a=[];i.indexGroup.resourceStates.length>0?a.push(...i.indexGroup.resourceStates.map(f=>f.resourceUri)):e.all==="tracked"?a.push(...i.workingTreeGroup.resourceStates.filter(f=>f.type!==C.UNTRACKED&&f.type!==C.IGNORED).map(f=>f.resourceUri)):(a.push(...i.workingTreeGroup.resourceStates.map(f=>f.resourceUri)),a.push(...i.untrackedGroup.resourceStates.map(f=>f.resourceUri)));let s=new Map;for(let f of a){let g=d.languages.getDiagnostics(f).filter(p=>(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Evaluating diagnostic for ${f.fsPath}: source='${p.source}', severity='${p.severity}'`),!p.source||Object.keys(o).includes(p.source)&&o[p.source]==="none"?(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Ignoring diagnostic for ${f.fsPath}: source='${p.source}', severity='${p.severity}'`),!1):Object.keys(o).includes(p.source)&&p.severity<=Iy(o[p.source])?(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Found unresolved diagnostic for ${f.fsPath}: source='${p.source}', severity='${p.severity}'`),!0):Object.keys(o).includes("*")&&p.severity<=Iy(o["*"])?(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Found unresolved diagnostic for ${f.fsPath}: source='${p.source}', severity='${p.severity}'`),!0):(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Ignoring diagnostic for ${f.fsPath}: source='${p.source}', severity='${p.severity}'`),!1)));g.length>0&&s.set(f,g.length)}if(s.size===0)return!0;let c=d.l10n.t("Commit Anyway"),l=d.l10n.t("View Problems"),u=s.size===1?d.l10n.t(`The following file has unresolved diagnostics: '{0}'.

How would you like to proceed?`,ot.basename(s.keys().next().value.fsPath)):d.l10n.t(`There are {0} files that have unresolved diagnostics.

How would you like to proceed?`,s.size),m=await d.window.showWarningMessage(u,{modal:!0},c,l);return m===c?!0:(m===l&&d.commands.executeCommand("workbench.panel.markers.view.focus"),!1)}var A=class{constructor(e,t,r,n,o,a){this.git=e;this.model=t;this.globalState=r;this.logger=n;this.telemetryReporter=o;this.cloneManager=a;this.disposables=AD.map(({commandId:s,key:c,method:l,options:u})=>{let m=this.createCommand(s,c,l,u);return d.commands.registerCommand(s,m)}),this.disposables.push(d.workspace.registerTextDocumentContentProvider("git-output",this.commandErrors))}disposables;commandErrors=new Av;showOutput(){this.logger.show()}async refresh(e){await e.refresh()}async openResource(e){this.model.getRepository(e.resourceUri)&&await e.open()}async openChanges(e){for(let t of[...e.workingTreeGroup.resourceStates,...e.untrackedGroup.resourceStates])t.type===C.DELETED||t.type===C.DELETED_BY_THEM||t.type===C.DELETED_BY_US||t.type===C.BOTH_DELETED||d.commands.executeCommand("vscode.open",t.resourceUri,{background:!0,preview:!1})}async openMergeEditor(e){if(e===void 0&&d.window.tabGroups.activeTabGroup.activeTab?.input instanceof d.TabInputText&&(e=d.window.tabGroups.activeTabGroup.activeTab.input.uri),!(e instanceof d.Uri))return;let t=this.model.getRepository(e);if(!t)return;let r=!!t.rebaseCommit,n=zy(e),o=!1;try{let u=await d.workspace.openTextDocument(e);o=l(u)?.incomingChangeLabel==="Stashed changes"}catch(u){console.error(u)}let a={uri:n.ours,title:d.l10n.t("Current")},s={uri:n.theirs,title:d.l10n.t("Incoming")};o&&(s.title=d.l10n.t("Stashed Changes"));try{let[u,m,f,g]=await Promise.all([t.getCommit("HEAD"),r?t.getCommit("REBASE_HEAD"):t.getCommit("MERGE_HEAD"),await t.diffBetween(r?"REBASE_HEAD":"MERGE_HEAD","HEAD"),await t.diffBetween("HEAD",r?"REBASE_HEAD":"MERGE_HEAD")]),p=f?.find(_=>_.uri.fsPath===e.fsPath),v=g?.find(_=>_.uri.fsPath===e.fsPath);a.detail=u.refNames.map(_=>_.replace(/^HEAD ->/,"")).join(", "),a.description="$(git-commit) "+u.hash.substring(0,7),v?a.uri=$e(v.originalUri,u.hash):a.uri=$e(e,u.hash),s.detail=m.refNames.join(", "),s.description="$(git-commit) "+m.hash.substring(0,7),p?s.uri=$e(p.originalUri,m.hash):s.uri=$e(e,m.hash)}catch(u){console.error("FAILED to read HEAD, MERGE_HEAD commits"),console.error(u)}let c={base:n.base,input1:r?a:s,input2:r?s:a,output:e};await d.commands.executeCommand("_open.mergeEditor",c);function l(u){let m="<<<<<<<",f=">>>>>>>",g=!1,p="",v="",_=!1;for(let P=0;P<u.lineCount;P++){let w=u.lineAt(P).text;if(!g)w.startsWith(m)&&(p=w.substring(m.length).trim(),g=!0,_=!0);else if(w.startsWith(f)){v=w.substring(m.length).trim(),g=!1;break}}if(_)return{currentChangeLabel:p,incomingChangeLabel:v}}}getRepositoriesWithRemote(e){return e.reduce((t,r)=>{let n=r.remotes.find(o=>o.name===r.HEAD?.upstream?.remote);return n?.pushUrl&&t.push({repository:r,label:n.pushUrl}),t},[])}async continueInLocalClone(){if(this.model.repositories.length===0)return;let e=this.getRepositoriesWithRemote(this.model.repositories);if(e.length===0){let o=this.model.repositories.length===1?{repository:this.model.repositories[0]}:await d.window.showQuickPick(this.model.repositories.map(a=>({repository:a,label:a.root})),{canPickMany:!1,placeHolder:d.l10n.t("Choose which repository to publish")});if(!o||(await this.publish(o.repository),e=this.getRepositoriesWithRemote([o.repository]),e.length===0))return}let t=e[0];if(e.length>1){let o=await d.window.showQuickPick(e,{canPickMany:!1,placeHolder:d.l10n.t("Choose which repository to clone")});if(o===void 0)return;t=o}let r=t.label,n=t.repository.HEAD?.upstream?.name;if(r!==void 0){let o=`${d.env.uriScheme}://vscode.git/clone?url=${encodeURIComponent(r)}`,a=d.env.uiKind===d.UIKind.Web,s=d.env.remoteName!==void 0;if(a||s){if(n!==void 0&&(o+=`&ref=${encodeURIComponent(n)}`),a)return d.Uri.parse(o);if(s)return o+="&windowId=_blank",d.Uri.parse(o)}this.clone(r,void 0,{ref:n})}}async clone(e,t,r){return this.cloneManager.clone(e,{parentPath:t,...r})}async cloneRecursive(e,t){await this.cloneManager.clone(e,{parentPath:t,recursive:!0})}async cloneRepository(e,t,r){let n={location:d.ProgressLocation.Notification,title:d.l10n.t('Cloning git repository "{0}"...',e),cancellable:!0},o=ot.dirname(t),a=ot.basename(t);await d.window.withProgress(n,(s,c)=>this.model.git.clone(e,{parentPath:o,targetName:a,progress:s,ref:r},c))}async checkoutRepository(e,t,r){let n=await this.git.getRepositoryDotGit(e);await new ga(this.git,e,void 0,n,this.logger).checkout(t,[],r?{detached:!0}:{})}async pullRepository(e){let t=await this.git.getRepositoryDotGit(e);await new ga(this.git,e,void 0,t,this.logger).pull()}async revParseAbbrevRef(e){let t=await this.git.getRepositoryDotGit(e);return(await new ga(this.git,e,void 0,t,this.logger).exec(["rev-parse","--abbrev-ref","HEAD"])).stdout.trim()}async mergeBranch(e,t){let r=await this.git.getRepositoryDotGit(e);return(await new ga(this.git,e,void 0,r,this.logger).exec(["merge",t,"--no-edit"])).stdout.trim()}async init(e=!1){let t,r=!0;if(d.workspace.workspaceFolders)if(e&&d.workspace.workspaceFolders.length===1)t=d.workspace.workspaceFolders[0].uri.fsPath,r=!1;else{let p=d.l10n.t("Pick workspace folder to initialize git repo in"),v={label:d.l10n.t("Choose Folder...")},_=[...d.workspace.workspaceFolders.map(w=>({label:w.name,description:w.uri.fsPath,folder:w})),v],P=await d.window.showQuickPick(_,{placeHolder:p,ignoreFocusOut:!0});if(P)P.folder&&(t=P.folder.uri.fsPath,r=!1);else return}if(!t){let p=d.Uri.file(_v.homedir()),v=d.workspace.workspaceFolders&&d.workspace.workspaceFolders.length>0?d.Uri.file(d.workspace.workspaceFolders[0].uri.fsPath):p,_=await d.window.showOpenDialog({canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,defaultUri:v,openLabel:d.l10n.t("Initialize Repository")});if(!_||_.length===0)return;let P=_[0];if(p.toString().startsWith(P.toString())){let w=d.l10n.t("Initialize Repository");if(await d.window.showWarningMessage(d.l10n.t('This will create a Git repository in "{0}". Are you sure you want to continue?',P.fsPath),w)!==w)return}t=P.fsPath,d.workspace.workspaceFolders&&d.workspace.workspaceFolders.some(w=>w.uri.toString()===P.toString())&&(r=!1)}let n=d.workspace.getConfiguration("git"),o=n.get("defaultBranchName","main"),a=n.get("branchWhitespaceChar","-");await this.git.init(t,{defaultBranch:kf(o,a)});let s=d.l10n.t("Would you like to open the initialized repository?"),c=d.l10n.t("Open"),l=d.l10n.t("Open in New Window"),u=[c,l];if(!r){await this.model.openRepository(t);return}let m=d.l10n.t("Add to Workspace");d.workspace.workspaceFolders&&(s=d.l10n.t("Would you like to open the initialized repository, or add it to the current workspace?"),u.push(m));let f=await d.window.showInformationMessage(s,...u),g=d.Uri.file(t);f===c?d.commands.executeCommand("vscode.openFolder",g):f===m?d.workspace.updateWorkspaceFolders(d.workspace.workspaceFolders.length,0,{uri:g}):f===l?d.commands.executeCommand("vscode.openFolder",g,!0):await this.model.openRepository(t)}async openRepository(e){if(!e){let t=await d.window.showOpenDialog({canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,defaultUri:d.Uri.file(_v.homedir()),openLabel:d.l10n.t("Open Repository")});if(!t||t.length===0)return;e=t[0].fsPath}await this.model.openRepository(e,!0,!0)}async reopenClosedRepositories(){if(this.model.closedRepositories.length===0)return;let e=[],t=d.l10n.t("Reopen Closed Repositories"),r=d.l10n.t("Pick a repository to reopen"),o={label:d.l10n.t("All Repositories")},a=this.model.closedRepositories.sort(vv).map(l=>new zu(l)),s=this.model.closedRepositories.length===1?[...a]:[...a,{label:"",kind:d.QuickPickItemKind.Separator},o],c=await d.window.showQuickPick(s,{title:t,placeHolder:r});if(c){c===o?e.push(...this.model.closedRepositories.values()):e.push(c.path);for(let l of e)await this.model.openRepository(l,!0,!0)}}async close(e,...t){let r=t.map(n=>this.model.getRepository(n)).filter(Ty);for(let n of[e,...r])this.model.close(n)}async closeOtherRepositories(e,...t){let r=t.map(o=>this.model.getRepository(o)).filter(Ty),n=[e,...r];for(let o of this.model.repositories)n.includes(o)||this.model.close(o)}async openFile(e,...t){let r=e instanceof je,n;if(e instanceof d.Uri)fn(e)?n=[d.Uri.file(Rr(e).path)]:e.scheme==="file"&&(n=[e]);else{let l=e;l instanceof je||(l=this.getSCMResource()),l?n=[l,...t].filter(u=>u.type!==C.DELETED&&u.type!==C.INDEX_DELETED).map(u=>u.resourceUri):d.window.activeTextEditor&&(n=[d.window.activeTextEditor.document.uri])}if(!n)return;let o=d.window.activeTextEditor,a=o?.visibleRanges,s=o?.document.uri,c=o?.selection;for(let l of n){let u={preserveFocus:r,preview:!1,viewColumn:d.ViewColumn.Active};await d.commands.executeCommand("vscode.open",l,{...u,override:e instanceof je&&e.type===C.BOTH_MODIFIED?!1:void 0});let m=d.window.activeTextEditor?.document;if(!(m?.uri.toString()!==l.toString()||!o||!s||!c)&&s.path===l.path&&m){u.selection=c;let f=await d.window.showTextDocument(m,u);if(a&&a.length>0){let g=a[0];c&&a.length>1&&(g=a.find(p=>p.intersection(c))??g),f.revealRange(g)}}}}async openFile2(e,...t){this.openFile(e,...t)}async openHEADFile(e){let t,r=!(e instanceof je);if(e instanceof je?t=e:e instanceof d.Uri?t=this.getSCMResource(e):t=this.getSCMResource(),!t)return;let n=t.leftUri,a=`${ot.basename(t.resourceUri.fsPath)} (HEAD)`;if(!n){d.window.showWarningMessage(d.l10n.t('HEAD version of "{0}" is not available.',ot.basename(t.resourceUri.fsPath)));return}let s={preview:r};return await d.commands.executeCommand("vscode.open",n,s,a)}async openChange(e,...t){let r;if(e instanceof d.Uri){let n=this.getSCMResource(e);n!==void 0&&(r=[n])}else{let n;e instanceof je?n=e:n=this.getSCMResource(),n&&(r=[...t,n])}if(r)for(let n of r)await n.openChange()}async compareWithWorkspace(e){e&&await e.compareWithWorkspace()}async rename(e,t){if(t=t??d.window.activeTextEditor?.document.uri,!t)return;let r=jc(e.root,t.fsPath),n=await d.window.showInputBox({value:r,valueSelection:[r.length-ot.basename(r).length,r.length]});n=n?.trim(),n&&(await e.move(r,n),await d.commands.executeCommand("workbench.action.closeActiveEditor"),await d.commands.executeCommand("vscode.open",d.Uri.file(ot.join(e.root,n)),{viewColumn:d.ViewColumn.Active}))}async delete(e){let t=d.window.activeTextEditor?.document;if(e=e??t?.uri,!e)return;let r=this.model.getRepository(e);if(!r)return;let n=[...r.workingTreeGroup.resourceStates,...r.indexGroup.resourceStates,...r.mergeGroup.resourceStates,...r.untrackedGroup.resourceStates],o=e.toString();if(n.some(a=>et(a.resourceUri.toString(),o))){d.window.showInformationMessage(d.l10n.t("Git: Delete can only be performed on committed files without uncommitted changes."));return}await r.rm([e]),t&&!t.isDirty&&et(t.uri.toString(),o)&&await d.commands.executeCommand("workbench.action.closeActiveEditor")}async stage(...e){if(this.logger.debug(`[CommandCenter][stage] git.stage ${e.length} `),e=e.filter(u=>!!u),e.length===0||e[0]&&!(e[0].resourceUri instanceof d.Uri)){let u=this.getSCMResource();if(this.logger.debug(`[CommandCenter][stage] git.stage.getSCMResource ${u?u.resourceUri.toString():null} `),!u)return;e=[u]}let t=e.filter(u=>u instanceof je),{resolved:r,unresolved:n,deletionConflicts:o}=await TD(t);if(n.length>0){let u=n.length>1?d.l10n.t("Are you sure you want to stage {0} files with merge conflicts?",n.length):d.l10n.t("Are you sure you want to stage {0} with merge conflicts?",ot.basename(n[0].resourceUri.fsPath)),m=d.l10n.t("Yes");if(await d.window.showWarningMessage(u,{modal:!0},m)!==m)return}try{await this.runByRepository(o.map(u=>u.resourceUri),async(u,m)=>{for(let f of m)await this._stageDeletionConflict(u,f)})}catch(u){if(/Cancelled/.test(u.message))return;throw u}let a=t.filter(u=>u.resourceGroupType===2),s=t.filter(u=>u.resourceGroupType===3),c=[...a,...s,...r,...n];if(this.logger.debug(`[CommandCenter][stage] git.stage.scmResources ${c.length} `),!c.length)return;let l=c.map(u=>u.resourceUri);await this.runByRepository(l,async(u,m)=>u.add(m))}async stageAll(e){let r=[...e.workingTreeGroup.resourceStates,...e.untrackedGroup.resourceStates].map(n=>n.resourceUri);if(r.length>0){let o=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("untrackedChanges");await e.add(r,o==="mixed"?void 0:{update:!0})}}async _stageDeletionConflict(e,t){let r=t.toString(),n=e.mergeGroup.resourceStates.filter(o=>o.resourceUri.toString()===r)[0];if(n){if(n.type===C.DELETED_BY_THEM){let o=d.l10n.t("Keep Our Version"),a=d.l10n.t("Delete File"),s=await d.window.showInformationMessage(d.l10n.t(`File "{0}" was deleted by them and modified by us.

What would you like to do?`,ot.basename(t.fsPath)),{modal:!0},o,a);if(s===o)await e.add([t]);else if(s===a)await e.rm([t]);else throw new Error("Cancelled")}else if(n.type===C.DELETED_BY_US){let o=d.l10n.t("Keep Their Version"),a=d.l10n.t("Delete File"),s=await d.window.showInformationMessage(d.l10n.t(`File "{0}" was deleted by us and modified by them.

What would you like to do?`,ot.basename(t.fsPath)),{modal:!0},o,a);if(s===o)await e.add([t]);else if(s===a)await e.rm([t]);else throw new Error("Cancelled")}}}async stageAllTracked(e){let r=e.workingTreeGroup.resourceStates.filter(n=>n.type!==C.UNTRACKED&&n.type!==C.IGNORED).map(n=>n.resourceUri);await e.add(r)}async stageAllUntracked(e){let r=[...e.workingTreeGroup.resourceStates,...e.untrackedGroup.resourceStates].filter(n=>n.type===C.UNTRACKED||n.type===C.IGNORED).map(n=>n.resourceUri);await e.add(r)}async stageAllMerge(e){let t=e.mergeGroup.resourceStates.filter(s=>s instanceof je),{merge:r,unresolved:n,deletionConflicts:o}=await TD(t);try{for(let s of o)await this._stageDeletionConflict(e,s.resourceUri)}catch(s){if(/Cancelled/.test(s.message))return;throw s}if(n.length>0){let s=n.length>1?d.l10n.t("Are you sure you want to stage {0} files with merge conflicts?",r.length):d.l10n.t("Are you sure you want to stage {0} with merge conflicts?",ot.basename(r[0].resourceUri.fsPath)),c=d.l10n.t("Yes");if(await d.window.showWarningMessage(s,{modal:!0},c)!==c)return}let a=t.map(s=>s.resourceUri);a.length>0&&await e.add(a)}async stageChange(e,t,r){if(!e)return;let n=d.window.visibleTextEditors.filter(a=>a.document.uri.toString()===e.toString())[0];if(!n)return;await this._stageChanges(n,[t[r]]);let o=t[r].modifiedStartLineNumber;n.selections=[new d.Selection(o,0,o,0)]}async diffStageHunk(e){e?this.diffStageHunkOrSelection(e):await this.stageHunkAtCursor()}async diffStageSelection(e){this.diffStageHunkOrSelection(e)}async diffStageHunkOrSelection(e){if(!e)return;let t=e.modifiedUri,r;if(!t){let o=d.window.activeTextEditor;if(!o)return;r=o.document,t=r.uri}if(t.scheme!=="file")return;r||(r=await d.workspace.openTextDocument(t));let n=e.originalWithModifiedChanges;await this.runByRepository(t,async(o,a)=>await o.stage(a,n,r.encoding))}async stageHunkAtCursor(){let e=d.window.activeTextEditor;if(!e)return;let t=xs(e);if(!t)return;let r=tl(t),n=e.document,o=e.selection.active,a=r.find(s=>If(n,s).contains(o));if(!a){d.window.showInformationMessage(d.l10n.t("No hunk found at cursor position."));return}await this._stageChanges(e,[a])}async stageSelectedChanges(){let e=d.window.activeTextEditor;if(!e)return;let t=xs(e);if(!t)return;let r=tl(t);this.logger.trace(`[CommandCenter][stageSelectedChanges] diffInformation: ${JSON.stringify(t)}`),this.logger.trace(`[CommandCenter][stageSelectedChanges] diffInformation changes: ${JSON.stringify(r)}`);let n=e.document,o=gv(e.selections,n),a=r.map(s=>o.reduce((c,l)=>c||hv(n,s,l),null)).filter(s=>!!s);if(this.logger.trace(`[CommandCenter][stageSelectedChanges] selectedChanges: ${JSON.stringify(a)}`),!a.length){d.window.showInformationMessage(d.l10n.t("The selection range does not contain any changes."));return}await this._stageChanges(e,a)}async stageFile(e){if(e=e??d.window.activeTextEditor?.document.uri,!e)return;let t=this.model.getRepository(e);if(!t)return;let r=[...t.workingTreeGroup.resourceStates,...t.untrackedGroup.resourceStates].filter(n=>n.multiFileDiffEditorModifiedUri?.toString()===e.toString()||n.multiDiffEditorOriginalUri?.toString()===e.toString()).map(n=>n.resourceUri);r.length!==0&&await t.add(r)}async acceptMerge(e){let{activeTab:t}=d.window.tabGroups.activeTabGroup;if(!t||!(t.input instanceof d.TabInputTextMerge))return;let r=t.input.result,n=this.model.getRepository(r);if(!n){console.log(`FAILED to complete merge because uri ${r.toString()} doesn't belong to any repository`);return}(await d.commands.executeCommand("mergeEditor.acceptMerge")).successful&&(await n.add([r]),await d.commands.executeCommand("workbench.view.scm"))}async runGitMergeNoDiff3(){await this.runGitMerge(!1)}async runGitMergeDiff3(){await this.runGitMerge(!0)}async runGitMerge(e){let{activeTab:t}=d.window.tabGroups.activeTabGroup;if(!t)return;let r=t.input;if(!(r instanceof d.TabInputTextMerge))return;let n=await this.git.mergeFile({basePath:r.base.fsPath,input1Path:r.input1.fsPath,input2Path:r.input2.fsPath,diff3:e}),o=d.workspace.textDocuments.find(s=>s.uri.toString()===r.result.toString());if(!o)return;let a=new d.WorkspaceEdit;a.replace(r.result,new d.Range(new d.Position(0,0),new d.Position(o.lineCount,0)),n),await d.workspace.applyEdit(a)}async _stageChanges(e,t){let r=e.document,n=r.uri;if(n.scheme!=="file")return;let o=$e(n,"~"),a=await d.workspace.openTextDocument(o),s=$u(a,r,t);await this.runByRepository(n,async(c,l)=>await c.stage(l,s,r.encoding))}async revertChange(e,t,r){if(!e)return;let n=d.window.visibleTextEditors.filter(a=>a.document.uri.toString()===e.toString())[0];if(!n)return;await this._revertChanges(n,[...t.slice(0,r),...t.slice(r+1)]);let o=t[r].modifiedStartLineNumber;n.selections=[new d.Selection(o,0,o,0)]}async revertSelectedRanges(){let e=d.window.activeTextEditor;if(!e)return;let t=xs(e);if(!t)return;let r=tl(t);this.logger.trace(`[CommandCenter][revertSelectedRanges] diffInformation: ${JSON.stringify(t)}`),this.logger.trace(`[CommandCenter][revertSelectedRanges] diffInformation changes: ${JSON.stringify(r)}`);let n=e.document,o=e.selections,a=r.filter(c=>{let l=If(n,c);return o.every(u=>!u.intersection(l))});if(a.length===r.length){d.window.showInformationMessage(d.l10n.t("The selection range does not contain any changes."));return}this.logger.trace(`[CommandCenter][revertSelectedRanges] selectedChanges: ${JSON.stringify(a)}`);let s=e.selections;await this._revertChanges(e,a),e.selections=s}async _revertChanges(e,t){let r=e.document,n=r.uri;if(n.scheme!=="file")return;let o=$e(n,"~"),a=await d.workspace.openTextDocument(o),s=e.visibleRanges,c=$u(a,r,t),l=new d.WorkspaceEdit;l.replace(n,new d.Range(new d.Position(0,0),r.lineAt(r.lineCount-1).range.end),c),d.workspace.applyEdit(l),await r.save(),e.revealRange(s[0])}async unstage(...e){if(e=e.filter(n=>!!n),e.length===0||e[0]&&!(e[0].resourceUri instanceof d.Uri)){let n=this.getSCMResource();if(!n)return;e=[n]}let t=e.filter(n=>n instanceof je&&n.resourceGroupType===1);if(!t.length)return;let r=t.map(n=>n.resourceUri);await this.runByRepository(r,async(n,o)=>n.revert(o))}async unstageAll(e){await e.revert([])}async unstageSelectedRanges(){let e=d.window.activeTextEditor;if(!e)return;let t=e.document,r=t.uri,n=this.model.getRepository(r);if(!n)return;let o=n.indexGroup.resourceStates.find(p=>et(p.resourceUri.fsPath,r.fsPath));if(!o)return;let a=PD(e);if(!a)return;let s=tl(a);this.logger.trace(`[CommandCenter][unstageSelectedRanges] diffInformation: ${JSON.stringify(a)}`),this.logger.trace(`[CommandCenter][unstageSelectedRanges] diffInformation changes: ${JSON.stringify(s)}`);let c=$e(o.original,"HEAD"),l=await d.workspace.openTextDocument(c),u=gv(e.selections,t),m=s.map(p=>u.reduce((v,_)=>v||hv(t,p,_),null)).filter(p=>!!p);if(!m.length){d.window.showInformationMessage(d.l10n.t("The selection range does not contain any changes."));return}this.logger.trace(`[CommandCenter][unstageSelectedRanges] selectedDiffs: ${JSON.stringify(m)}`);let f=m.map(Af);this.logger.trace(`[CommandCenter][unstageSelectedRanges] selectedDiffsInverted: ${JSON.stringify(f)}`);let g=$u(t,l,f);await n.stage(t.uri,g,t.encoding)}async unstageFile(e){if(e=e??d.window.activeTextEditor?.document.uri,!e)return;let t=this.model.getRepository(e);if(!t)return;let r=t.indexGroup.resourceStates.filter(n=>n.multiFileDiffEditorModifiedUri?.toString()===e.toString()||n.multiDiffEditorOriginalUri?.toString()===e.toString()).map(n=>n.resourceUri);r.length!==0&&await t.revert(r)}async unstageChange(e,t,r){if(!e)return;let n=d.window.visibleTextEditors.filter(o=>o.document.uri.toString()===e.toString())[0];n&&await this._unstageChanges(n,[t[r]])}async _unstageChanges(e,t){let r=e.document,n=r.uri;if(n.scheme!=="file")return;let o=xs(e);if(!o)return;let s=tl(o).map(Af),l=[...t.map(Af),...s].sort(SD),u=$e(n,"HEAD"),m=await d.workspace.openTextDocument(u),f=$u(r,m,l);await this.runByRepository(n,async(g,p)=>await g.stage(p,f,r.encoding))}async clean(...e){let t=new Set;if(e=e.filter(n=>n===void 0||t.has(n.resourceUri.toString())?!1:(t.add(n.resourceUri.toString()),!0)),e.length===0||e[0]&&!(e[0].resourceUri instanceof d.Uri)){let n=this.getSCMResource();if(!n)return;e=[n]}let r=e.filter(n=>n instanceof je&&(n.resourceGroupType===2||n.resourceGroupType===3));r.length&&await this._cleanAll(r)}async cleanAll(e){await this._cleanAll(e.workingTreeGroup.resourceStates)}async cleanAllTracked(e){let t=e.workingTreeGroup.resourceStates.filter(r=>r.type!==C.UNTRACKED&&r.type!==C.IGNORED);t.length!==0&&await this._cleanTrackedChanges(t)}async cleanAllUntracked(e){let t=[...e.workingTreeGroup.resourceStates,...e.untrackedGroup.resourceStates].filter(r=>r.type===C.UNTRACKED||r.type===C.IGNORED);t.length!==0&&await this._cleanUntrackedChanges(t)}async _cleanAll(e){if(e.length===0)return;let t=e.filter(n=>n.type!==C.UNTRACKED&&n.type!==C.IGNORED),r=e.filter(n=>n.type===C.UNTRACKED||n.type===C.IGNORED);if(r.length===0)await this._cleanTrackedChanges(e);else if(t.length===0)await this._cleanUntrackedChanges(e);else{let[n,o]=this.getDiscardUntrackedChangesDialogDetails(r),a=t.length===1?d.l10n.t(`

Are you sure you want to discard changes in '{0}'?`,ot.basename(t[0].resourceUri.fsPath)):d.l10n.t(`

Are you sure you want to discard ALL changes in {0} files?`,t.length),s=t.length===1?d.l10n.t("Discard 1 Tracked File"):d.l10n.t("Discard All {0} Tracked Files",t.length),c=d.l10n.t("Discard All {0} Files",e.length),l=await d.window.showWarningMessage(`${n} ${o}${a}

This is IRREVERSIBLE!
Your current working set will be FOREVER LOST if you proceed.`,{modal:!0},s,c);if(l===s)e=t;else if(l!==c)return;let u=e.map(m=>m.resourceUri);await this.runByRepository(u,async(m,f)=>m.clean(f))}}async _cleanTrackedChanges(e){let t=e.every(s=>s.type===C.DELETED),r=t?e.length===1?d.l10n.t("Are you sure you want to restore '{0}'?",ot.basename(e[0].resourceUri.fsPath)):d.l10n.t("Are you sure you want to restore ALL {0} files?",e.length):e.length===1?d.l10n.t("Are you sure you want to discard changes in '{0}'?",ot.basename(e[0].resourceUri.fsPath)):d.l10n.t(`Are you sure you want to discard ALL changes in {0} files?

This is IRREVERSIBLE!
Your current working set will be FOREVER LOST if you proceed.`,e.length),n=t?e.length===1?d.l10n.t("Restore File"):d.l10n.t("Restore All {0} Files",e.length):e.length===1?d.l10n.t("Discard File"):d.l10n.t("Discard All {0} Files",e.length);if(await d.window.showWarningMessage(r,{modal:!0},n)!==n)return;let a=e.map(s=>s.resourceUri);await this.runByRepository(a,async(s,c)=>s.clean(c))}async _cleanUntrackedChanges(e){let[t,r,n]=this.getDiscardUntrackedChangesDialogDetails(e);if(await d.window.showWarningMessage(t,{detail:r,modal:!0},n)!==n)return;let a=e.map(s=>s.resourceUri);await this.runByRepository(a,async(s,c)=>s.clean(c))}getDiscardUntrackedChangesDialogDetails(e){let r=d.workspace.getConfiguration("git").get("discardUntrackedChangesToTrash",!0)&&!qm&&!Qm,n=r?"":e.length===1?`

`+d.l10n.t(`This is IRREVERSIBLE!
This file will be FOREVER LOST if you proceed.`):`

`+d.l10n.t(`This is IRREVERSIBLE!
These files will be FOREVER LOST if you proceed.`),o=e.length===1?d.l10n.t("Are you sure you want to DELETE the following untracked file: '{0}'?{1}",ot.basename(e[0].resourceUri.fsPath),n):d.l10n.t("Are you sure you want to DELETE the {0} untracked files?{1}",e.length,n),a=r?un?e.length===1?d.l10n.t("You can restore this file from the Recycle Bin."):d.l10n.t("You can restore these files from the Recycle Bin."):e.length===1?d.l10n.t("You can restore this file from the Trash."):d.l10n.t("You can restore these files from the Trash."):"",s=r?un?d.l10n.t("Move to Recycle Bin"):d.l10n.t("Move to Trash"):e.length===1?d.l10n.t("Delete File"):d.l10n.t("Delete All {0} Files",e.length);return[o,a,s]}async smartCommit(e,t,r){let n=d.workspace.getConfiguration("git",d.Uri.file(e.root)),o=n.get("promptToSaveFilesBeforeCommit");typeof o=="boolean"&&(o=o?"always":"never");let a=n.get("enableSmartCommit")===!0,s=e.indexGroup.resourceStates.length===0,c=e.workingTreeGroup.resourceStates.length===0;if(!r.empty){if(o!=="never"){let g=d.workspace.textDocuments.filter(p=>!p.isUntitled&&p.isDirty&&Qt(e.root,p.uri.fsPath));if((o==="staged"||e.indexGroup.resourceStates.length>0)&&(g=g.filter(p=>e.indexGroup.resourceStates.some(v=>et(v.resourceUri.fsPath,p.uri.fsPath)))),g.length>0){let p=g.length===1?d.l10n.t(`The following file has unsaved changes which won't be included in the commit if you proceed: {0}.

Would you like to save it before committing?`,ot.basename(g[0].uri.fsPath)):d.l10n.t(`There are {0} unsaved files.

Would you like to save them before committing?`,g.length),v=d.l10n.t("Save All & Commit Changes"),_=d.l10n.t("Commit Changes"),P=await d.window.showWarningMessage(p,{modal:!0},v,_);if(P===v)await Promise.all(g.map(w=>w.save())),g=g.filter(w=>e.indexGroup.resourceStates.some(R=>et(R.resourceUri.fsPath,w.uri.fsPath))),await e.add(g.map(w=>w.uri)),s=e.indexGroup.resourceStates.length===0,c=e.workingTreeGroup.resourceStates.length===0;else if(P!==_)return}}if(!c&&s&&!a&&!r.all&&!r.amend){if(!(n.get("suggestSmartCommit")===!0))return;let p=d.l10n.t(`There are no staged changes to commit.

Would you like to stage all your changes and commit them directly?`),v=d.l10n.t("Yes"),_=d.l10n.t("Always"),P=d.l10n.t("Never"),w=await d.window.showWarningMessage(p,{modal:!0},v,_,P);if(w===_)a=!0,n.update("enableSmartCommit",!0,!0);else if(w===P){n.update("suggestSmartCommit",!1,!0);return}else if(w===v)a=!0;else return}a&&!r.all&&(r={...r,all:s})}r.signCommit=n.get("enableCommitSigning")===!0?!0:void 0,n.get("alwaysSignOff")&&(r.signoff=!0),n.get("useEditorAsCommitInput")&&(r.useEditor=!0,n.get("verboseCommit")&&(r.verbose=!0));let l=n.get("smartCommitChanges");if((s&&c||!r.all&&s||s&&l==="tracked"&&e.workingTreeGroup.resourceStates.every(g=>g.type===C.UNTRACKED))&&!r.amend&&!r.empty&&!e.mergeInProgress&&e.rebaseCommit===void 0){let g=d.l10n.t("Create Empty Commit");if(await d.window.showInformationMessage(d.l10n.t("There are no changes to commit."),g)!==g)return;r.empty=!0}if(r.noVerify){if(!n.get("allowNoVerifyCommit")){await d.window.showErrorMessage(d.l10n.t('Commits without verification are not allowed, please enable them with the "git.allowNoVerifyCommit" setting.'));return}if(n.get("confirmNoVerifyCommit")){let g=d.l10n.t(`You are about to commit your changes without verification, this skips pre-commit hooks and can be undesirable.

Are you sure to continue?`),p=d.l10n.t("OK"),v=d.l10n.t("OK, Don't Ask Again"),_=await d.window.showWarningMessage(g,{modal:!0},p,v);if(_===v)n.update("confirmNoVerifyCommit",!1,!0);else if(_!==p)return}}let u=await t();if(!u&&!r.amend&&!r.useEditor||(r.all&&l==="tracked"&&(r.all="tracked"),r.all&&n.get("untrackedChanges")!=="mixed"&&(r.all="tracked"),!await DA(e,r,this.logger)))return;let f=n.get("branchProtectionPrompt");if(e.isBranchProtected()&&(f==="alwaysPrompt"||f==="alwaysCommitToNewBranch")){let g=d.l10n.t("Commit to a New Branch"),p=g;if(f==="alwaysPrompt"){let v=d.l10n.t("You are trying to commit to a protected branch. How would you like to proceed?"),_=d.l10n.t("Commit Anyway");p=await d.window.showWarningMessage(v,{modal:!0},g,_)}if(p){if(p===g){let v=await this.promptForBranchName(e);if(!v)return;await e.branch(v,!0)}}else return}await e.commit(u,r)}async commitWithAnyInput(e,t){let r=e.inputBox.value,n=d.Uri.file(e.root),o=d.workspace.getConfiguration("git",n),a=async()=>{let s=r;if(!s&&!o.get("useEditorAsCommitInput")){if(t&&t.amend&&e.HEAD&&e.HEAD.commit)return;let l=e.headShortName,u;l?u=d.l10n.t('Message (commit on "{0}")',l):u=d.l10n.t("Commit message"),s=await d.window.showInputBox({value:void 0,placeHolder:u,prompt:d.l10n.t("Please provide a commit message"),ignoreFocusOut:!0})}return s};await this.smartCommit(e,a,t)}async commit(e,t){await this.commitWithAnyInput(e,{postCommitCommand:t})}async commitAmend(e){await this.commitWithAnyInput(e,{amend:!0})}async commitSigned(e){await this.commitWithAnyInput(e,{signoff:!0})}async commitStaged(e){await this.commitWithAnyInput(e,{all:!1})}async commitStagedSigned(e){await this.commitWithAnyInput(e,{all:!1,signoff:!0})}async commitStagedAmend(e){await this.commitWithAnyInput(e,{all:!1,amend:!0})}async commitAll(e){await this.commitWithAnyInput(e,{all:!0})}async commitAllSigned(e){await this.commitWithAnyInput(e,{all:!0,signoff:!0})}async commitAllAmend(e){await this.commitWithAnyInput(e,{all:!0,amend:!0})}async commitMessageAccept(e){!e&&!d.window.activeTextEditor||(e??=d.window.activeTextEditor.document.uri,this._closeEditorTab(e))}async commitMessageDiscard(e){if(!e&&!d.window.activeTextEditor)return;e??=d.window.activeTextEditor.document.uri;let t=d.window.visibleTextEditors.filter(s=>s.document.languageId==="git-commit"&&s.document.uri.toString()===e.toString());if(t.length!==1)return;let r=t[0],n=r.document;!await r.edit(s=>{let c=n.lineAt(0),l=n.lineAt(n.lineCount-1);s.delete(new d.Range(c.range.start,l.range.end))})||!await n.save()||this._closeEditorTab(e)}_closeEditorTab(e){let t=d.window.tabGroups.all.map(r=>r.tabs).flat().filter(r=>r.input instanceof d.TabInputText&&r.input.uri.toString()===e.toString());d.window.tabGroups.close(t)}async _commitEmpty(e,t){let r=d.Uri.file(e.root),n=d.workspace.getConfiguration("git",r);if(n.get("confirmEmptyCommits")===!0){let a=d.l10n.t("Are you sure you want to create an empty commit?"),s=d.l10n.t("Yes"),c=d.l10n.t("Yes, Don't Show Again"),l=await d.window.showWarningMessage(a,{modal:!0},s,c);if(l===c)await n.update("confirmEmptyCommits",!1,!0);else if(l!==s)return}await this.commitWithAnyInput(e,{empty:!0,noVerify:t})}async commitEmpty(e){await this._commitEmpty(e)}async commitNoVerify(e){await this.commitWithAnyInput(e,{noVerify:!0})}async commitStagedNoVerify(e){await this.commitWithAnyInput(e,{all:!1,noVerify:!0})}async commitStagedSignedNoVerify(e){await this.commitWithAnyInput(e,{all:!1,signoff:!0,noVerify:!0})}async commitAmendNoVerify(e){await this.commitWithAnyInput(e,{amend:!0,noVerify:!0})}async commitSignedNoVerify(e){await this.commitWithAnyInput(e,{signoff:!0,noVerify:!0})}async commitStagedAmendNoVerify(e){await this.commitWithAnyInput(e,{all:!1,amend:!0,noVerify:!0})}async commitAllNoVerify(e){await this.commitWithAnyInput(e,{all:!0,noVerify:!0})}async commitAllSignedNoVerify(e){await this.commitWithAnyInput(e,{all:!0,signoff:!0,noVerify:!0})}async commitAllAmendNoVerify(e){await this.commitWithAnyInput(e,{all:!0,amend:!0,noVerify:!0})}async commitEmptyNoVerify(e){await this._commitEmpty(e,!0)}async restoreCommitTemplate(e){e.inputBox.value=await e.getCommitTemplate()}async undoCommit(e){let t=e.HEAD;if(!t||!t.commit){d.window.showWarningMessage(d.l10n.t("Can't undo because HEAD doesn't point to any commit."));return}let r=await e.getCommit("HEAD");if(r.parents.length>1){let n=d.l10n.t("Undo merge commit");if(await d.window.showWarningMessage(d.l10n.t("The last commit was a merge commit. Are you sure you want to undo it?"),{modal:!0},n)!==n)return}r.parents.length>0?await e.reset("HEAD~"):(await e.deleteRef("HEAD"),await this.unstageAll(e)),e.inputBox.value=r.message}async checkout(e,t){return this._checkout(e,{treeish:t})}async checkout2(e,t,r){let n=t?.references?.find(c=>c.id===r);if(!n)return;let a=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("pullBeforeCheckout",!1)===!0;if(n.id.startsWith("refs/heads/")||n.id.startsWith("refs/tags/")){await e.checkout(n.name,{pullBeforeCheckout:a});return}let s=await e.findTrackingBranches(n.name);s.length>0?await e.checkout(s[0].name,{pullBeforeCheckout:a}):await e.checkoutTracking(n.name)}async checkoutDetached(e,t){return this._checkout(e,{detached:!0,treeish:t})}async checkoutDetached2(e,t){return t?this._checkout(e,{detached:!0,treeish:t.id}):!1}async _checkout(e,t){if(typeof t?.treeish=="string")return await e.checkout(t?.treeish,t),!0;let r=new Of,n=new bv,o=new Ev,a=[],s=[];t?.detached||s.push(r,n,o);let c=[],l=d.window.createQuickPick();l.busy=!0,l.sortByLabel=!1,l.matchOnDetail=!1,l.placeholder=t?.detached?d.l10n.t("Select a branch to checkout in detached mode"):d.l10n.t("Select a branch or tag to checkout"),l.show(),a.push(...await EA(e,t?.detached));let u=()=>{switch(!0){case l.value==="":l.items=[...s,...a];break;case s.length===0:l.items=a;break;case a.length===0:l.items=s;break;default:l.items=[...a,{label:"",kind:d.QuickPickItemKind.Separator},...s];break}};u(),l.busy=!1;let m=await new Promise(f=>{c.push(l.onDidHide(()=>f(void 0))),c.push(l.onDidAccept(()=>f(l.activeItems[0]))),c.push(l.onDidTriggerItemButton(g=>{let p=g.button,v=g.item;p.actual&&v.refName&&p.actual.run(v.refRemote?v.refName.substring(v.refRemote.length+1):v.refName),f(void 0)})),c.push(l.onDidChangeValue(()=>u()))});if(Ge(c),l.dispose(),!m)return!1;if(m===r)await this._branch(e,l.value);else if(m===n)await this._branch(e,l.value,!0);else{if(m===o)return this._checkout(e,{detached:!0});{let f=m;try{await f.run(e,t)}catch(g){if(g.gitErrorCode!==X.DirtyWorkTree&&g.gitErrorCode!==X.WorktreeBranchAlreadyUsed)throw g;if(g.gitErrorCode===X.WorktreeBranchAlreadyUsed){if(!e.dotGit.commonPath)return await this.handleWorktreeBranchAlreadyUsed(g),!1;let w=ot.dirname(e.dotGit.commonPath);if(d.workspace.workspaceFolders&&d.workspace.workspaceFolders.some(R=>et(R.uri.fsPath,w))){let R=this.model.getRepository(w);if(R&&f.refName&&f.refName.replace(`${f.refRemote}/`,"")===R.HEAD?.name){let T=d.l10n.t('Branch "{0}" is already checked out in the current window.',f.refName);return await d.window.showErrorMessage(T,{modal:!0}),!1}}return await this.handleWorktreeBranchAlreadyUsed(g),!1}let p=d.l10n.t("Stash & Checkout"),v=d.l10n.t("Migrate Changes"),_=d.l10n.t("Force Checkout"),P=await d.window.showWarningMessage(d.l10n.t("Your local changes would be overwritten by checkout."),{modal:!0},p,v,_);P===_?(await this.cleanAll(e),await f.run(e,t)):(P===p||P===v)&&await this._stash(e,!0)&&(await f.run(e,t),P===v&&await this.stashPopLatest(e))}}}return!0}async branch(e,t){await this._branch(e,void 0,!1,t?.id)}async branchFrom(e){await this._branch(e,void 0,!0)}async promptForBranchName(e,t,r){let n=d.workspace.getConfiguration("git"),o=n.get("branchPrefix"),a=n.get("branchWhitespaceChar"),s=n.get("branchValidationRegex"),c=n.get("branchRandomName.enable",!1),l=await e.getRefs({pattern:"refs/heads"});if(t)return kf(t,a);let u=async()=>await e.generateRandomBranchName()??o,m=_=>_.startsWith(o)?[o.length,_.length]:void 0,f=_=>{let P=new RegExp(s),w=kf(_,a);return l.find(T=>T.name===w)?d.l10n.t('Branch "{0}" already exists',w):P.test(w)?_===w?void 0:{message:d.l10n.t('The new branch will be "{0}"',w),severity:d.InputBoxValidationSeverity.Info}:d.l10n.t("Branch name needs to match regex: {0}",s)},g=[],p=d.window.createInputBox();p.placeholder=d.l10n.t("Branch name"),p.prompt=d.l10n.t("Please provide a new branch name"),p.buttons=c?[{iconPath:new d.ThemeIcon("refresh"),tooltip:d.l10n.t("Regenerate Branch Name"),location:d.QuickInputButtonLocation.Inline}]:[],p.value=r??await u(),p.valueSelection=m(p.value),p.validationMessage=f(p.value),p.ignoreFocusOut=!0,p.show();let v=await new Promise(_=>{g.push(p.onDidHide(()=>_(void 0))),g.push(p.onDidAccept(()=>_(p.value))),g.push(p.onDidChangeValue(P=>{p.validationMessage=f(P)})),g.push(p.onDidTriggerButton(async()=>{p.value=await u(),p.valueSelection=m(p.value)}))});return Ge(g),p.dispose(),kf(v||"",a)}async _branch(e,t,r=!1,n){n=n??"HEAD";let o=d.workspace.getConfiguration("git"),a=o.get("showReferenceDetails")===!0,s=o.get("commitShortHashLength")??7;if(r){let l=async()=>{let f=await e.getRefs({includeCommitDetails:a}),g=new Fn(e,[new Ot(de.Head),new Ot(de.RemoteHead),new Ot(de.Tag)]);return[new Sv(e,s),...g.processRefs(f)]},u=d.l10n.t("Select a ref to create the branch from"),m=await d.window.showQuickPick(l(),{placeHolder:u});if(!m)return;m instanceof qi&&m.refName&&(n=m.refName)}let c=await this.promptForBranchName(e,t);c&&await e.branch(c,!0,n)}async pickRef(e,t){let r=[],n=d.window.createQuickPick();n.placeholder=t,n.sortByLabel=!1,n.busy=!0,n.show(),n.items=await e,n.busy=!1;let o=await new Promise(a=>{r.push(n.onDidHide(()=>a(void 0))),r.push(n.onDidAccept(()=>a(n.activeItems[0])))});return Ge(r),n.dispose(),o}async deleteBranch(e,t,r){await this._deleteBranch(e,void 0,t,{remote:!1,force:r})}async deleteBranch2(e,t,r){let n=t?.references?.find(c=>c.id===r);if(!n)return;if(n.id.startsWith("refs/heads/")){if(n.id===e.historyProvider.currentHistoryItemRef?.id){d.window.showInformationMessage(d.l10n.t("The active branch cannot be deleted."));return}await this._deleteBranch(e,void 0,n.name,{remote:!1});return}if(n.id===e.historyProvider.currentHistoryItemRemoteRef?.id){d.window.showInformationMessage(d.l10n.t("The remote branch of the active branch cannot be deleted."));return}let o=n.name.indexOf("/");if(o===-1)return;let a=n.name.substring(0,o),s=n.name.substring(o+1);await this._deleteBranch(e,a,s,{remote:!0})}async compareWithRemote(e,t){!t||!e.historyProvider.currentHistoryItemRemoteRef||await this._openChangesBetweenRefs(e,{id:e.historyProvider.currentHistoryItemRemoteRef.revision,displayId:e.historyProvider.currentHistoryItemRemoteRef.name},{id:t.id,displayId:ef(t)})}async compareWithMergeBase(e,t){!t||!e.historyProvider.currentHistoryItemBaseRef||await this._openChangesBetweenRefs(e,{id:e.historyProvider.currentHistoryItemBaseRef.revision,displayId:e.historyProvider.currentHistoryItemBaseRef.name},{id:t.id,displayId:ef(t)})}async compareRef(e,t){if(!e||!t)return;let n=d.workspace.getConfiguration("git").get("showReferenceDetails")===!0,o=async()=>{let c=await e.getRefs({includeCommitDetails:n}),l=[new Ot(de.Head,pi),new Ot(de.RemoteHead,pi),new Ot(de.Tag,pi)];return new Fn(e,l).processRefs(c)},a=d.l10n.t("Select a reference to compare with"),s=await this.pickRef(o(),a);!(s instanceof pi)||!s.ref.commit||await this._openChangesBetweenRefs(e,{id:s.ref.commit,displayId:s.ref.name},{id:t.id,displayId:ef(t)})}async _openChangesBetweenRefs(e,t,r){if(!(!e||!t.id||!r.id))try{let n=await e.diffBetweenWithStats(t.id,r.id);if(n.length===0){d.window.showInformationMessage(d.l10n.t('There are no changes between "{0}" and "{1}".',t.displayId??t.id,r.displayId??r.id));return}let o=d.Uri.from({scheme:"git-ref-compare",path:`${e.root}/${t.id}..${r.id}`}),a=n.map(s=>Cs(s,t.id,r.id));await d.commands.executeCommand("_workbench.openMultiDiffEditor",{multiDiffSourceUri:o,title:`${t.displayId??t.id} \u2194 ${r.displayId??r.id}`,resources:a})}catch(n){d.window.showErrorMessage(d.l10n.t('Failed to open changes between "{0}" and "{1}": {2}',t.displayId??t.id,r.displayId??r.id,n.message))}}async deleteRemoteBranch(e){await this._deleteBranch(e,void 0,void 0,{remote:!0})}async _deleteBranch(e,t,r,n){let o,s=d.workspace.getConfiguration("git").get("showReferenceDetails")===!0;if(!n.remote&&typeof r=="string")o=c=>e.deleteBranch(r,c);else if(n.remote&&typeof t=="string"&&typeof r=="string")o=c=>e.deleteRemoteRef(t,r,{force:c});else{let c=async()=>{let m=n.remote?"refs/remotes":"refs/heads",f=await e.getRefs({pattern:m,includeCommitDetails:s}),g=n.remote?[new Ot(de.RemoteHead,ju)]:[new Ot(de.Head,ju)];return new Fn(e,g,{skipCurrentBranch:!0,skipCurrentBranchRemote:!0}).processRefs(f)},l=n.remote?d.l10n.t("Select a remote branch to delete"):d.l10n.t("Select a branch to delete"),u=await this.pickRef(c(),l);if(!(u instanceof ju)||!u.refName)return;r=u.refName,o=m=>u.run(e,m)}try{await o(n.force)}catch(c){if(c.gitErrorCode!==X.BranchNotFullyMerged)throw c;let l=d.l10n.t('The branch "{0}" is not fully merged. Delete anyway?',r),u=d.l10n.t("Delete Branch");await d.window.showWarningMessage(l,{modal:!0},u)===u&&await o(!0)}}async renameBranch(e){let t=e.HEAD&&e.HEAD.name,r=await this.promptForBranchName(e,void 0,t);if(r)try{await e.renameBranch(r)}catch(n){switch(n.gitErrorCode){case X.InvalidBranchName:d.window.showErrorMessage(d.l10n.t("Invalid branch name"));return;case X.BranchAlreadyExists:d.window.showErrorMessage(d.l10n.t('A branch named "{0}" already exists',r));return;default:throw n}}}async merge(e){let r=d.workspace.getConfiguration("git").get("showReferenceDetails")===!0,n=async()=>{let s=await e.getRefs({includeCommitDetails:r});return new Fn(e,[new Ot(de.Head,rl),new Ot(de.RemoteHead,rl),new Ot(de.Tag,rl)],{skipCurrentBranch:!0,skipCurrentBranchRemote:!0}).processRefs(s)},o=d.l10n.t("Select a branch or tag to merge from"),a=await this.pickRef(n(),o);a instanceof rl&&await a.run(e)}async abortMerge(e){await e.mergeAbort()}async rebase(e){let t=d.workspace.getConfiguration("git"),r=t.get("showReferenceDetails")===!0,n=t.get("commitShortHashLength")??7,o=async()=>{let c=await e.getRefs({includeCommitDetails:r}),u=new Fn(e,[new Ot(de.Head,il),new Ot(de.RemoteHead,il)],{skipCurrentBranch:!0,skipCurrentBranchRemote:!0}).processRefs(c);if(e.HEAD?.upstream){let m=c.find(f=>f.type===de.RemoteHead&&f.name===`${e.HEAD.upstream.remote}/${e.HEAD.upstream.name}`);m&&u.splice(0,0,new Rv(m,n))}return u},a=d.l10n.t("Select a branch to rebase onto"),s=await this.pickRef(o(),a);s instanceof il&&await s.run(e)}async createTag(e,t){await this._createTag(e,t?.id)}async deleteTag(e){let t=d.workspace.getConfiguration("git"),r=t.get("showReferenceDetails")===!0,n=t.get("commitShortHashLength")??7,o=async()=>{let c=await e.getRefs({pattern:"refs/tags",includeCommitDetails:r});return c.length===0?[{label:d.l10n.t("$(info) This repository has no tags.")}]:c.map(l=>new Bf(l,n))},a=d.l10n.t("Select a tag to delete"),s=await this.pickRef(o(),a);s instanceof Bf&&await s.run(e)}async migrateWorktreeChanges(e){let t,r=await e.getWorktrees();if(r.length===1)t=this.model.getRepository(r[0].path);else{let n=async()=>r.length===0?[{label:d.l10n.t("$(info) This repository has no worktrees.")}]:r.map(s=>new qu(s)),o=d.l10n.t("Select a worktree to migrate changes from"),a=await this.pickRef(n(),o);if(!a||!(a instanceof qu))return;t=this.model.getRepository(a.worktree.path)}!t||t.kind!=="worktree"||await e.migrateChanges(t.root,{confirmation:!0,deleteFromSource:!0,untracked:!0})}async openWorktreeMergeEditor(e){let t=zy(e),r={uri:t.ours,title:d.l10n.t("Workspace")},n={uri:t.theirs,title:d.l10n.t("Worktree")};await d.commands.executeCommand("_open.mergeEditor",{base:t.base,input1:r,input2:n,output:e})}async createWorktree(e){e&&await this._createWorktree(e)}async _createWorktree(e){let r=d.workspace.getConfiguration("git").get("branchPrefix"),n=await this.getWorktreeCommitishAndBranch(e);if(!n)return;let{commitish:o,branch:a}=n,s=(a??o).startsWith(r)?(a??o).substring(r.length).replace(/\//g,"-"):(a??o).replace(/\//g,"-"),c=await this.getWorktreePath(e,s);if(c)try{await e.createWorktree({path:c,branch:a,commitish:o})}catch(l){if(l instanceof Ut&&l.gitErrorCode===X.WorktreeAlreadyExists)await this.handleWorktreeAlreadyExists(l);else if(l instanceof Ut&&l.gitErrorCode===X.WorktreeBranchAlreadyUsed)await this.handleWorktreeBranchAlreadyUsed(l);else throw l}}async getWorktreeCommitishAndBranch(e){let r=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("showReferenceDetails")===!0,n=new Of,o=async()=>{let c=await e.getRefs({includeCommitDetails:r}),u=new Fn(e,[new Ot(de.Head),new Ot(de.RemoteHead),new Ot(de.Tag)]).processRefs(c);return[n,{label:"",kind:d.QuickPickItemKind.Separator},...u]},a=d.l10n.t("Select a branch or tag to create the new worktree from"),s=await this.pickRef(o(),a);if(s)if(s===n){let c=await this.promptForBranchName(e);return c?{commitish:"HEAD",branch:c}:void 0}else{if(!(s instanceof qi)||!s.refName)return;if(s.refName===e.HEAD?.name){let c=d.l10n.t('Branch "{0}" is already checked out in the current repository.',s.refName),l=d.l10n.t("Create New Branch");if(await d.window.showWarningMessage(c,{modal:!0},l)===l){let m=await this.promptForBranchName(e);return m?{commitish:"HEAD",branch:m}:void 0}else return}else{let c=e.worktrees.find(l=>l.ref===s.refId);if(c){let l=d.l10n.t('Branch "{0}" is already checked out in the worktree at "{1}".',s.refName,c.path);await this.handleWorktreeConflict(c.path,l);return}return{commitish:s.refName,branch:void 0}}}}async getWorktreePath(e,t){let r=async()=>{let m=this.globalState.get(`${ha.WORKTREE_ROOT_STORAGE_KEY}:${e.root}`),f=m?d.Uri.file(m):d.Uri.file(ot.dirname(e.root)),g=await d.window.showOpenDialog({defaultUri:f,canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,openLabel:d.l10n.t("Select as Worktree Destination")});if(!(!g||g.length===0))return ot.join(g[0].fsPath,t)},n=m=>!m||!t?void 0:[m.length-t.length,m.length],o=m=>e.worktrees.find(g=>et(ot.normalize(g.path),ot.normalize(m)))?{message:d.l10n.t('A worktree already exists at "{0}".',m),severity:d.InputBoxValidationSeverity.Warning}:void 0,a=this.globalState.get(`${ha.WORKTREE_ROOT_STORAGE_KEY}:${e.root}`),s=a?ot.join(a,t):e.kind==="worktree"?ot.join(ot.dirname(e.root),t):ot.join(ot.dirname(e.root),`${ot.basename(e.root)}.worktrees`,t),c=[],l=d.window.createInputBox();c.push(l),l.placeholder=d.l10n.t("Worktree path"),l.prompt=d.l10n.t("Please provide a worktree path"),l.value=s,l.valueSelection=n(l.value),l.validationMessage=o(l.value),l.ignoreFocusOut=!0,l.buttons=[{iconPath:new d.ThemeIcon("folder"),tooltip:d.l10n.t("Select Worktree Destination"),location:d.QuickInputButtonLocation.Inline}],l.show();let u=await new Promise(m=>{c.push(l.onDidHide(()=>m(void 0))),c.push(l.onDidAccept(()=>m(l.value))),c.push(l.onDidChangeValue(f=>{l.validationMessage=o(f)})),c.push(l.onDidTriggerButton(async()=>{l.value=await r()??"",l.valueSelection=n(l.value)}))});return Ge(c),u}async handleWorktreeBranchAlreadyUsed(e){let t=e.stderr?.match(/fatal: '([^']+)' is already used by worktree at '([^']+)'/);if(!t)return;let[,r,n]=t,o=d.l10n.t('Branch "{0}" is already checked out in the worktree at "{1}".',r,n);await this.handleWorktreeConflict(n,o)}async handleWorktreeAlreadyExists(e){let t=e.stderr?.match(/fatal: '([^']+)'/);if(!t)return;let[,r]=t,n=d.l10n.t('A worktree already exists at "{0}".',r);await this.handleWorktreeConflict(r,n)}async handleWorktreeConflict(e,t){await this.model.openRepository(e,!0,!0);let r=this.model.getRepository(e);if(!r)return;let n=d.l10n.t("Open Worktree in Current Window"),o=d.l10n.t("Open Worktree in New Window"),a=await d.window.showWarningMessage(t,{modal:!0},n,o);a===n?await this.openWorktreeInCurrentWindow(r):a===o&&await this.openWorktreeInNewWindow(r)}async deleteWorktreeFromPalette(e){let r=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("commitShortHashLength")??7,n=async()=>{let s=await e.getWorktreeDetails();return s.length===0?[{label:d.l10n.t("$(info) This repository has no worktrees.")}]:s.map(c=>new Gf(c,r))},o=d.l10n.t("Select a worktree to delete"),a=await this.pickRef(n(),o);a instanceof Gf&&await a.run(e)}async deleteWorktree(e){if(!e.dotGit.commonPath)return;let t=this.model.getRepository(ot.dirname(e.dotGit.commonPath));if(!t){await d.window.showErrorMessage(d.l10n.t("You cannot delete the worktree you are currently in. Please switch to the main repository first."),{modal:!0});return}await t.deleteWorktree(e.root)}async openWorktreeInCurrentWindow(e){if(!e)return;let t=d.Uri.file(e.root);await d.commands.executeCommand("vscode.openFolder",t,{forceReuseWindow:!0})}async openWorktreeInNewWindow(e){if(!e)return;let t=d.Uri.file(e.root);await d.commands.executeCommand("vscode.openFolder",t,{forceNewWindow:!0})}async deleteTag2(e,t,r){let n=t?.references?.find(o=>o.id===r);n&&await e.deleteTag(n.name)}async deleteRemoteTag(e){let r=d.workspace.getConfiguration("git").get("commitShortHashLength")??7,n=e.remotes.filter(l=>l.pushUrl!==void 0).map(l=>new Vu(e,l));if(n.length===0){d.window.showErrorMessage(d.l10n.t("Your repository has no remotes configured to push to."));return}let o=n[0].remoteName;if(n.length>1){let l=d.l10n.t("Select a remote to delete a tag from"),u=await d.window.showQuickPick(n,{placeHolder:l});if(!u)return;o=u.remoteName}let a=async()=>{let l=await e.getRemoteRefs(o,{tags:!0}),u=new Set,m=[];for(let f of l){let g=(f.name??"").replace(/\^{}$/,"");u.has(g)||(m.push({...f,name:g}),u.add(g))}return m.length===0?[{label:d.l10n.t('$(info) Remote "{0}" has no tags.',o)}]:m.map(f=>new Ff(f,r))},s=d.l10n.t("Select a remote tag to delete"),c=await d.window.showQuickPick(a(),{placeHolder:s});c instanceof Ff&&await c.run(e,o)}async fetch(e){if(e.remotes.length===0){d.window.showWarningMessage(d.l10n.t("This repository has no remotes configured to fetch from."));return}if(e.remotes.length===1){await e.fetchDefault();return}let t=e.remotes.map(o=>new Vu(e,o));if(e.HEAD?.upstream?.remote){let o=t.findIndex(a=>a.remoteName===e.HEAD.upstream.remote);o!==-1&&t.splice(0,0,...t.splice(o,1))}let r=d.window.createQuickPick();r.placeholder=d.l10n.t("Select a remote to fetch"),r.canSelectMany=!1,r.items=[...t,{label:"",kind:d.QuickPickItemKind.Separator},new Pv(e)],r.show();let n=await new Promise(o=>{r.onDidAccept(()=>o(r.activeItems[0])),r.onDidHide(()=>o(void 0))});r.hide(),n&&await n.run()}async fetchPrune(e){if(e.remotes.length===0){d.window.showWarningMessage(d.l10n.t("This repository has no remotes configured to fetch from."));return}await e.fetchPrune()}async fetchAll(e){if(e.remotes.length===0){d.window.showWarningMessage(d.l10n.t("This repository has no remotes configured to fetch from."));return}await e.fetchAll()}async fetchRef(e,t){if(t=t??e?.historyProvider.currentHistoryItemRemoteRef?.id,!e||!t)return;let r=await e.getBranch(t);await e.fetch({remote:r.remote,ref:r.name})}async pullFrom(e){let r=d.workspace.getConfiguration("git").get("commitShortHashLength")??7,n=e.remotes;if(n.length===0){d.window.showWarningMessage(d.l10n.t("Your repository has no remotes configured to pull from."));return}let o=n[0].name;if(n.length>1){let u=n.filter(g=>g.fetchUrl!==void 0).map(g=>({label:g.name,description:g.fetchUrl})),m=d.l10n.t("Pick a remote to pull the branch from"),f=await d.window.showQuickPick(u,{placeHolder:m});if(!f)return;o=f.label}let a=async()=>(await e.getRefs({pattern:`refs/remotes/${o}/`})).map(m=>new qi(m,r)),s=d.l10n.t("Pick a branch to pull from"),c=await this.pickRef(a(),s);if(!c||!c.refName)return;let l=o.length;await e.pullFrom(!1,o,c.refName.slice(l+1))}async pull(e){if(e.remotes.length===0){d.window.showWarningMessage(d.l10n.t("Your repository has no remotes configured to pull from."));return}await e.pull(e.HEAD)}async pullRebase(e){if(e.remotes.length===0){d.window.showWarningMessage(d.l10n.t("Your repository has no remotes configured to pull from."));return}await e.pullWithRebase(e.HEAD)}async pullRef(e,t){if(t=t??e?.historyProvider.currentHistoryItemRemoteRef?.id,!e||!t)return;let r=await e.getBranch(t);await e.pullFrom(!1,r.remote,r.name)}async _push(e,t){let r=e.remotes;if(r.length===0){if(t.silent)return;let a=d.l10n.t("Add Remote");await d.window.showWarningMessage(d.l10n.t("Your repository has no remotes configured to push to."),a)===a&&await this.addRemote(e);return}let n=d.workspace.getConfiguration("git",d.Uri.file(e.root)),o;if(t.forcePush){if(!n.get("allowForcePush")){await d.window.showErrorMessage(d.l10n.t('Force push is not allowed, please enable it with the "git.allowForcePush" setting.'));return}let a=n.get("useForcePushWithLease")===!0,s=n.get("useForcePushIfIncludes")===!0;if(o=a?s?mn.ForceWithLeaseIfIncludes:mn.ForceWithLease:mn.Force,n.get("confirmForcePush")){let c=d.l10n.t(`You are about to force push your changes, this can be destructive and could inadvertently overwrite changes made by others.

Are you sure to continue?`),l=d.l10n.t("OK"),u=d.l10n.t("OK, Don't Ask Again"),m=await d.window.showWarningMessage(c,{modal:!0},l,u);if(m===u)n.update("confirmForcePush",!1,!0);else if(m!==l)return}}if(t.pushType===2){await e.pushFollowTags(void 0,o);return}if(t.pushType===3&&await e.pushTags(void 0,o),!e.HEAD||!e.HEAD.name){t.silent||d.window.showWarningMessage(d.l10n.t("Please check out a branch to push to a remote."));return}if(t.pushType===0)try{await e.push(e.HEAD,o)}catch(a){if(a.gitErrorCode!==X.NoUpstreamBranch)throw a;if(t.silent)return;if(this.globalState.get("confirmBranchPublish",!0)){let s=e.HEAD.name,c=d.l10n.t('The branch "{0}" has no remote branch. Would you like to publish this branch?',s),l=d.l10n.t("OK"),u=d.l10n.t("OK, Don't Ask Again"),m=await d.window.showWarningMessage(c,{modal:!0},l,u);(m===l||m===u)&&(m===u&&this.globalState.update("confirmBranchPublish",!1),await this.publish(e))}else await this.publish(e)}else{let a=e.HEAD.name;if(t.pushTo?.remote)await e.pushTo(t.pushTo.remote,t.pushTo.refspec||a,t.pushTo.setUpstream,o);else{let s=new Hf(this),c=[...r.filter(m=>m.pushUrl!==void 0).map(m=>({label:m.name,description:m.pushUrl})),s],l=d.l10n.t('Pick a remote to publish the branch "{0}" to:',a),u=await d.window.showQuickPick(c,{placeHolder:l});if(!u)return;if(u===s){let m=await this.addRemote(e);m&&await e.pushTo(m,a,void 0,o)}else await e.pushTo(u.label,a,void 0,o)}}}async push(e){await this._push(e,{pushType:0})}async pushForce(e){await this._push(e,{pushType:0,forcePush:!0})}async pushFollowTags(e){await this._push(e,{pushType:2})}async pushFollowTagsForce(e){await this._push(e,{pushType:2,forcePush:!0})}async pushRef(e){e&&await this._push(e,{pushType:0})}async cherryPick(e){let t=await d.window.showInputBox({placeHolder:d.l10n.t("Commit Hash"),prompt:d.l10n.t("Please provide the commit hash"),ignoreFocusOut:!0});t&&await e.cherryPick(t)}async cherryPick2(e,t){t&&await e.cherryPick(t.id)}async cherryPickAbort(e){await e.cherryPickAbort()}async pushTo(e,t,r,n){await this._push(e,{pushType:1,pushTo:{remote:t,refspec:r,setUpstream:n}})}async pushToForce(e,t,r,n){await this._push(e,{pushType:1,pushTo:{remote:t,refspec:r,setUpstream:n},forcePush:!0})}async pushTags(e){await this._push(e,{pushType:3})}async addRemote(e){let t=await Nf({providerLabel:o=>d.l10n.t("Add remote from {0}",o.name),urlLabel:d.l10n.t("Add remote from URL")});if(!t)return;let r=await d.window.showInputBox({placeHolder:d.l10n.t("Remote name"),prompt:d.l10n.t("Please provide a remote name"),ignoreFocusOut:!0,validateInput:o=>{if(ID(o)){if(e.remotes.find(a=>a.name===o))return d.l10n.t('Remote "{0}" already exists.',o)}else return d.l10n.t("Remote name format invalid");return null}}),n=ID(r||"");if(n)return await e.addRemote(n,t.trim()),await e.fetch({remote:n}),n}async removeRemote(e){if(e.remotes.length===0){d.window.showErrorMessage(d.l10n.t("Your repository has no remotes."));return}let r=e.remotes.map(a=>new Vu(e,a)),n=d.l10n.t("Pick a remote to remove"),o=await d.window.showQuickPick(r,{placeHolder:n});o&&await e.removeRemote(o.remoteName)}async _sync(e,t){let r=e.HEAD;if(r){if(!r.upstream){this._push(e,{pushType:0});return}}else return;let n=r.remote||r.upstream.remote,o=e.remotes.find(l=>l.name===n),a=o&&o.isReadOnly,s=d.workspace.getConfiguration("git");if(!a&&s.get("confirmSync")===!0){let l=d.l10n.t('This action will pull and push commits from and to "{0}/{1}".',r.upstream.remote,r.upstream.name),u=d.l10n.t("OK"),m=d.l10n.t("OK, Don't Show Again"),f=await d.window.showWarningMessage(l,{modal:!0},u,m);if(f===m)await s.update("confirmSync",!1,!0);else if(f!==u)return}await e.sync(r,t)}async sync(e){let r=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("rebaseWhenSync",!1)===!0;try{await this._sync(e,r)}catch(n){if(/Cancelled/i.test(n&&(n.message||n.stderr||"")))return;throw n}}async syncAll(){await Promise.all(this.model.repositories.map(async e=>{let r=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("rebaseWhenSync",!1)===!0,n=e.HEAD;!n||!n.upstream||await e.sync(n,r)}))}async syncRebase(e){try{await this._sync(e,!0)}catch(t){if(/Cancelled/i.test(t&&(t.message||t.stderr||"")))return;throw t}}async publish(e){let t=e.HEAD&&e.HEAD.name||"",r=e.remotes;if(r.length===0){let c=this.model.getRemoteSourcePublishers();if(c.length===0){d.window.showWarningMessage(d.l10n.t("Your repository has no remotes configured to publish to."));return}let l;if(c.length===1)l=c[0];else{let u=c.map(g=>({label:(g.icon?`$(${g.icon}) `:"")+d.l10n.t("Publish to {0}",g.name),alwaysShow:!0,provider:g})),m=d.l10n.t('Pick a provider to publish the branch "{0}" to:',t),f=await d.window.showQuickPick(u,{placeHolder:m});if(!f)return;l=f.provider}await l.publishRepository(new Yt(e)),this.model.firePublishEvent(e,t);return}if(r.length===1){await e.pushTo(r[0].name,t,!0),this.model.firePublishEvent(e,t);return}let n=new Hf(this),o=[...e.remotes.map(c=>({label:c.name,description:c.pushUrl})),n],a=d.l10n.t('Pick a remote to publish the branch "{0}" to:',t),s=await d.window.showQuickPick(o,{placeHolder:a});if(s)if(s===n){let c=await this.addRemote(e);c&&(await e.pushTo(c,t,!0),this.model.firePublishEvent(e,t))}else await e.pushTo(s.label,t,!0),this.model.firePublishEvent(e,t)}async ignore(...e){if(e=e.filter(r=>!!r),e.length===0||e[0]&&!(e[0].resourceUri instanceof d.Uri)){let r=this.getSCMResource();if(!r)return;e=[r]}let t=e.filter(r=>r instanceof je).map(r=>r.resourceUri);t.length&&await this.runByRepository(t,async(r,n)=>r.ignore(n))}async revealInExplorer(e){e&&e.resourceUri instanceof d.Uri&&await d.commands.executeCommand("revealInExplorer",e.resourceUri)}async revealFileInOS(e){e&&e.resourceUri instanceof d.Uri&&await d.commands.executeCommand("revealFileInOS",e.resourceUri)}async _stash(e,t=!1,r=!1){let n=e.workingTreeGroup.resourceStates.length===0&&(!t||e.untrackedGroup.resourceStates.length===0),o=e.indexGroup.resourceStates.length===0;if(r){if(o)return d.window.showInformationMessage(d.l10n.t("There are no staged changes to stash.")),!1}else if(n&&o)return d.window.showInformationMessage(d.l10n.t("There are no changes to stash.")),!1;let a=d.workspace.getConfiguration("git",d.Uri.file(e.root)),s=a.get("promptToSaveFilesBeforeStash");if(s!=="never"){let l=d.workspace.textDocuments.filter(u=>!u.isUntitled&&u.isDirty&&Qt(e.root,u.uri.fsPath));if((s==="staged"||e.indexGroup.resourceStates.length>0)&&(l=l.filter(u=>e.indexGroup.resourceStates.some(m=>et(m.resourceUri.fsPath,u.uri.fsPath)))),l.length>0){let u=l.length===1?d.l10n.t(`The following file has unsaved changes which won't be included in the stash if you proceed: {0}.

Would you like to save it before stashing?`,ot.basename(l[0].uri.fsPath)):d.l10n.t(`There are {0} unsaved files.

Would you like to save them before stashing?`,l.length),m=d.l10n.t("Save All & Stash"),f=d.l10n.t("Stash Anyway"),g=await d.window.showWarningMessage(u,{modal:!0},m,f);if(g===m)await Promise.all(l.map(p=>p.save()));else if(g!==f)return!1}}let c;if(a.get("useCommitInputAsStashMessage")&&(!e.sourceControl.commitTemplate||e.inputBox.value!==e.sourceControl.commitTemplate)&&(c=e.inputBox.value),c=await d.window.showInputBox({value:c,prompt:d.l10n.t("Optionally provide a stash message"),placeHolder:d.l10n.t("Stash message")}),typeof c>"u")return!1;try{return await e.createStash(c,t,r),!0}catch(l){if(/You do not have the initial commit yet/.test(l.stderr||""))return d.window.showInformationMessage(d.l10n.t("The repository does not have any commits. Please make an initial commit before creating a stash.")),!1;throw l}}async stash(e){return await this._stash(e)}async stashStaged(e){return await this._stash(e,!1,!0)}async stashIncludeUntracked(e){return await this._stash(e,!0)}async stashPop(e){let t=d.l10n.t("Pick a stash to pop"),r=await this.pickStash(e,t);r&&await e.popStash(r.index)}async stashPopLatest(e){if((await e.getStashes()).length===0){d.window.showInformationMessage(d.l10n.t("There are no stashes in the repository."));return}await e.popStash()}async stashPopEditor(e){let t=await this.getStashFromUri(e);t&&(await d.commands.executeCommand("workbench.action.closeActiveEditor"),await t.repository.popStash(t.stash.index))}async stashApply(e){let t=d.l10n.t("Pick a stash to apply"),r=await this.pickStash(e,t);r&&await e.applyStash(r.index)}async stashApplyLatest(e){if((await e.getStashes()).length===0){d.window.showInformationMessage(d.l10n.t("There are no stashes in the repository."));return}await e.applyStash()}async stashApplyEditor(e){let t=await this.getStashFromUri(e);t&&(await d.commands.executeCommand("workbench.action.closeActiveEditor"),await t.repository.applyStash(t.stash.index))}async stashDrop(e){let t=d.l10n.t("Pick a stash to drop"),r=await this.pickStash(e,t);r&&await this._stashDrop(e,r.index,r.description)}async stashDropAll(e){let t=await e.getStashes();if(t.length===0){d.window.showInformationMessage(d.l10n.t("There are no stashes in the repository."));return}let r=d.l10n.t("Yes"),n=t.length===1?d.l10n.t("Are you sure you want to drop ALL stashes? There is 1 stash that will be subject to pruning, and MAY BE IMPOSSIBLE TO RECOVER."):d.l10n.t("Are you sure you want to drop ALL stashes? There are {0} stashes that will be subject to pruning, and MAY BE IMPOSSIBLE TO RECOVER.",t.length);await d.window.showWarningMessage(n,{modal:!0},r)===r&&await e.dropStash()}async stashDropEditor(e){let t=await this.getStashFromUri(e);t&&await this._stashDrop(t.repository,t.stash.index,t.stash.description)&&await d.commands.executeCommand("workbench.action.closeActiveEditor")}async _stashDrop(e,t,r){let n=d.l10n.t("Yes");return await d.window.showWarningMessage(d.l10n.t("Are you sure you want to drop the stash: {0}?",r),{modal:!0},n)!==n?!1:(await e.dropStash(t),!0)}async stashView(e){let t=d.l10n.t("Pick a stash to view"),r=await this.pickStash(e,t);r&&await this._viewStash(e,r)}async pickStash(e,t){let r=async()=>{let o=await e.getStashes();return o.length>0?o.map(a=>new Uf(a)):[{label:d.l10n.t("$(info) This repository has no stashes.")}]},n=await d.window.showQuickPick(r(),{placeHolder:t});return n instanceof Uf?n.stash:void 0}async getStashFromUri(e){if(!e||e.scheme!=="git-stash")return;let t=Rr(e),r=this.model.getRepository(t.path);if(!r)return;let o=/^stash@{(\d+)}$/.exec(t.ref);if(!o)return;let[,a]=o,c=(await r.getStashes()).find(l=>l.index===parseInt(a));if(c)return{repository:r,stash:c}}async _viewStash(e,t){let r=await e.showStash(t.index);if(!r||r.length===0)return;let n=t.parents.length>0?t.parents[0]:`${t.hash}^`,o=t.parents.length===3?t.parents[2]:void 0,a=[];if(o){let u=await e.getObjectFiles(o);a.push(...u.map(m=>ot.join(e.root,m.file)))}let s=`Git Stash #${t.index}: ${t.description}`,c=$e(d.Uri.file(e.root),`stash@{${t.index}}`,{scheme:"git-stash"}),l=[];for(let u of r){let f=!!a.find(g=>et(g,u.uri.fsPath))?o??t.hash:t.hash;l.push(Cs(u,n,f))}d.commands.executeCommand("_workbench.openMultiDiffEditor",{multiDiffSourceUri:c,title:s,resources:l})}async timelineOpenDiff(e,t,r){let n=this.resolveTimelineOpenDiffCommand(e,t,{preserveFocus:!0,preview:!0,viewColumn:d.ViewColumn.Active});if(n!==void 0)return d.commands.executeCommand(n.command,...n.arguments??[])}resolveTimelineOpenDiffCommand(e,t,r){if(t==null||!Oi.is(e))return;let n=ot.basename(t.fsPath),o;return(e.previousRef==="HEAD"||e.previousRef==="~")&&e.ref===""?o=d.l10n.t("{0} (Working Tree)",n):e.previousRef==="HEAD"&&e.ref==="~"?o=d.l10n.t("{0} (Index)",n):o=d.l10n.t("{0} ({1}) \u2194 {0} ({2})",n,e.shortPreviousRef,e.shortRef),{command:"vscode.diff",title:d.l10n.t("Open Comparison"),arguments:[$e(t,e.previousRef),e.ref===""?t:$e(t,e.ref),o,r]}}async timelineViewCommit(e,t,r){if(!Oi.is(e))return;let n=await this._resolveTimelineOpenCommitCommand(e,t,{preserveFocus:!0,preview:!0,viewColumn:d.ViewColumn.Active});if(n!==void 0)return d.commands.executeCommand(n.command,...n.arguments??[])}async _resolveTimelineOpenCommitCommand(e,t,r){if(t==null||!Oi.is(e))return;let n=await this.model.getRepository(t.fsPath);if(!n)return;let o=await n.getCommit(e.ref),a=o.parents.length>0?o.parents[0]:await n.getEmptyTree(),c=(await n.diffBetweenWithStats(a,o.hash)).map(f=>Cs(f,a,o.hash)),l=`${e.shortRef} - ${Nu(o.message)}`,u=d.Uri.from({scheme:"scm-history-item",path:`${n.root}/${a}..${o.hash}`}),m={modifiedUri:$e(t,o.hash)};return{command:"_workbench.openMultiDiffEditor",title:d.l10n.t("Open Commit"),arguments:[{multiDiffSourceUri:u,title:l,resources:c,reveal:m},r]}}async timelineCopyCommitId(e,t,r){Oi.is(e)&&d.env.clipboard.writeText(e.ref)}async timelineCopyCommitMessage(e,t,r){Oi.is(e)&&d.env.clipboard.writeText(e.message)}_selectedForCompare;async timelineSelectForCompare(e,t,r){!Oi.is(e)||!t||(this._selectedForCompare={uri:t,item:e},await d.commands.executeCommand("setContext","git.timeline.selectedForCompare",!0))}async timelineCompareWithSelected(e,t,r){if(!Oi.is(e)||!t||!this._selectedForCompare||t.toString()!==this._selectedForCompare.uri.toString())return;let{item:n}=this._selectedForCompare,o=ot.basename(t.fsPath),a;(n.previousRef==="HEAD"||n.previousRef==="~")&&n.ref===""?a=d.l10n.t("{0} (Working Tree)",o):n.previousRef==="HEAD"&&n.ref==="~"?a=d.l10n.t("{0} (Index)",o):a=d.l10n.t("{0} ({1})",o,n.shortRef);let s;(e.previousRef==="HEAD"||e.previousRef==="~")&&e.ref===""?s=d.l10n.t("{0} (Working Tree)",o):e.previousRef==="HEAD"&&e.ref==="~"?s=d.l10n.t("{0} (Index)",o):s=d.l10n.t("{0} ({1})",o,e.shortRef);let c=d.l10n.t("{0} \u2194 {1}",a,s);await d.commands.executeCommand("vscode.diff",n.ref===""?t:$e(t,n.ref),e.ref===""?t:$e(t,e.ref),c)}async rebaseAbort(e){e.rebaseCommit?await e.rebaseAbort():await d.window.showInformationMessage(d.l10n.t("No rebase in progress."))}closeDiffEditors(e){e.closeDiffEditors(void 0,void 0,!0)}closeUnmodifiedEditors(){let e=[],t=[];for(let r of this.model.repositories)t.push(...r.indexGroup.resourceStates.map(n=>n.resourceUri.fsPath)),t.push(...r.workingTreeGroup.resourceStates.map(n=>n.resourceUri.fsPath)),t.push(...r.untrackedGroup.resourceStates.map(n=>n.resourceUri.fsPath)),t.push(...r.mergeGroup.resourceStates.map(n=>n.resourceUri.fsPath));for(let r of d.window.tabGroups.all.map(n=>n.tabs).flat())if(!r.isDirty&&(r.input instanceof d.TabInputText||r.input instanceof d.TabInputNotebook)){let{uri:n}=r.input;t.find(o=>et(o,n.fsPath))||e.push(r)}d.window.tabGroups.close(e,!0)}async openRepositoriesInParentFolders(){let e=[],t=d.l10n.t("Open Repositories In Parent Folders"),r=d.l10n.t("Pick a repository to open"),o={label:d.l10n.t("All Repositories")},a=this.model.parentRepositories.sort(vv).map(l=>new zu(l)),s=this.model.parentRepositories.length===1?[...a]:[...a,{label:"",kind:d.QuickPickItemKind.Separator},o],c=await d.window.showQuickPick(s,{title:t,placeHolder:r});if(c){c===o?e.push(...this.model.parentRepositories):e.push(c.path);for(let l of e)await this.model.openParentRepository(l)}}async manageUnsafeRepositories(){let e=[],t=d.window.createQuickPick();t.title=d.l10n.t("Manage Unsafe Repositories"),t.placeholder=d.l10n.t("Pick a repository to mark as safe and open");let r=d.l10n.t("All Repositories"),n={label:r},o=this.model.unsafeRepositories.sort(vv).map(s=>new zu(s));t.items=this.model.unsafeRepositories.length===1?[...o]:[...o,{label:"",kind:d.QuickPickItemKind.Separator},n],t.show();let a=await new Promise(s=>{t.onDidAccept(()=>s(t.activeItems[0])),t.onDidHide(()=>s(void 0))});if(t.hide(),!!a){a.label===r?e.push(...this.model.unsafeRepositories):e.push(a.path);for(let s of e)await this.git.addSafeDirectory(this.model.getUnsafeRepositoryPath(s)),await this.model.openRepository(s),this.model.deleteUnsafeRepository(s)}}async viewChanges(e){await this._viewResourceGroupChanges(e,e.workingTreeGroup)}async viewStagedChanges(e){await this._viewResourceGroupChanges(e,e.indexGroup)}async viewUnstagedChanges(e){await this._viewResourceGroupChanges(e,e.untrackedGroup)}async _viewResourceGroupChanges(e,t){if(t.resourceStates.length===0){switch(t.id){case"index":d.window.showInformationMessage(d.l10n.t("The repository does not have any staged changes."));break;case"workingTree":d.window.showInformationMessage(d.l10n.t("The repository does not have any changes."));break;case"untracked":d.window.showInformationMessage(d.l10n.t("The repository does not have any untracked changes."));break}return}await d.commands.executeCommand("_workbench.openScmMultiDiffEditor",{title:`${e.sourceControl.label}: ${t.label}`,repositoryUri:d.Uri.file(e.root),resourceGroupId:t.id})}async copyCommitId(e,t){!e||!t||d.env.clipboard.writeText(t.id)}async copyCommitMessage(e,t){!e||!t||d.env.clipboard.writeText(t.message)}async viewCommit(e,t,r){if(!e||!t)return;let n=d.Uri.file(e.root),a=d.workspace.getConfiguration("git",n).get("commitShortHashLength",7),s=await e.getCommit(t),c=`${mi(t,a,!1)} - ${Nu(s.message)}`,l=s.parents.length>0?s.parents[0]:await e.getEmptyTree(),u=d.Uri.from({scheme:"scm-history-item",path:`${e.root}/${l}..${t}`}),f=(await e.diffBetweenWithStats(l,t)).map(p=>Cs(p,l,t)),g=r?{modifiedUri:$e(r,t)}:void 0;await d.commands.executeCommand("_workbench.openMultiDiffEditor",{multiDiffSourceUri:u,title:c,resources:f,reveal:g})}async copyContentToClipboard(e){typeof e=="string"&&d.env.clipboard.writeText(e)}toggleBlameEditorDecoration(){this._toggleBlameSetting("blame.editorDecoration.enabled")}toggleBlameStatusBarItem(){this._toggleBlameSetting("blame.statusBarItem.enabled")}_toggleBlameSetting(e){let t=d.workspace.getConfiguration("git"),r=t.get(e)===!0;t.update(e,!r,!0)}async artifactGroupCreateBranch(e){e&&await this._branch(e,void 0,!1)}async artifactGroupCreateTag(e){e&&await this._createTag(e)}async artifactGroupCreateWorktree(e){e&&await this._createWorktree(e)}async artifactCheckout(e,t){!e||!t||await this._checkout(e,{treeish:t.name})}async artifactCheckoutDetached(e,t){!e||!t||await this._checkout(e,{treeish:t.name,detached:!0})}async artifactMerge(e,t){!e||!t||await e.merge(t.id)}async artifactRebase(e,t){!e||!t||await e.rebase(t.id)}async artifactCreateFrom(e,t){!e||!t||await this._branch(e,void 0,!1,t.id)}async artifactCompareWith(e,t){if(!e||!t)return;let n=d.workspace.getConfiguration("git").get("showReferenceDetails")===!0,o=async()=>{let c=await e.getRefs({includeCommitDetails:n}),l=[new Ot(de.Head,pi),new Ot(de.RemoteHead,pi),new Ot(de.Tag,pi)];return new Fn(e,l).processRefs(c)},a=d.l10n.t("Select a reference to compare with"),s=await this.pickRef(o(),a);!(s instanceof pi)||!s.ref.commit||await this._openChangesBetweenRefs(e,{id:s.ref.commit,displayId:s.ref.name},{id:t.id,displayId:t.name})}async _createTag(e,t){let r=await d.window.showInputBox({placeHolder:d.l10n.t("Tag name"),prompt:d.l10n.t("Please provide a tag name"),ignoreFocusOut:!0});if(!r)return;let n=await d.window.showInputBox({placeHolder:d.l10n.t("Message"),prompt:d.l10n.t("Please provide a message to annotate the tag"),ignoreFocusOut:!0}),o=r.replace(/^\.|\/\.|\.\.|~|\^|:|\/$|\.lock$|\.lock\/|\\|\*|\s|^\s*$|\.$/g,"-");await e.tag({name:o,message:n,ref:t})}async artifactDeleteBranch(e,t){if(!e||!t)return;let r=d.l10n.t('Are you sure you want to delete branch "{0}"? This action will permanently remove the branch reference from the repository.',t.name),n=d.l10n.t("Delete Branch");await d.window.showWarningMessage(r,{modal:!0},n)===n&&await this._deleteBranch(e,void 0,t.name,{remote:!1})}async artifactDeleteTag(e,t){if(!e||!t)return;let r=d.l10n.t('Are you sure you want to delete tag "{0}"? This action will permanently remove the tag reference from the repository.',t.name),n=d.l10n.t("Delete Tag");await d.window.showWarningMessage(r,{modal:!0},n)===n&&await e.deleteTag(t.name)}async artifactStashView(e,t){if(!e||!t)return;let n=/^stash@\{(\d+)\}$/.exec(t.id);if(!n)return;let a=(await e.getStashes()).find(s=>s.index===parseInt(n[1]));a&&await this._viewStash(e,a)}async artifactStashApply(e,t){if(!e||!t)return;let n=/^stash@\{(\d+)\}$/.exec(t.id);if(!n)return;let o=parseInt(n[1]);await e.applyStash(o)}async artifactStashPop(e,t){if(!e||!t)return;let n=/^stash@\{(\d+)\}$/.exec(t.id);if(!n)return;let o=parseInt(n[1]);await e.popStash(o)}async artifactStashDrop(e,t){if(!e||!t)return;let n=/^stash@\{(\d+)\}$/.exec(t.id);n&&await this._stashDrop(e,parseInt(n[1]),t.name)}async artifactOpenWorktree(e,t){if(!e||!t)return;let r=d.Uri.file(t.id);await d.commands.executeCommand("vscode.openFolder",r,{forceReuseWindow:!0})}async artifactOpenWorktreeInNewWindow(e,t){if(!e||!t)return;let r=d.Uri.file(t.id);await d.commands.executeCommand("vscode.openFolder",r,{forceNewWindow:!0})}async artifactDeleteWorktree(e,t){!e||!t||await e.deleteWorktree(t.id)}async artifactWorktreeCopyBranchName(e,t){if(!e||!t)return;let n=(await e.getWorktreeDetails()).find(o=>o.path===t.id);!n||n.detached||d.env.clipboard.writeText(n.ref.substring(11))}async artifactWorktreeCopyCommitHash(e,t){if(!e||!t)return;let n=(await e.getWorktreeDetails()).find(o=>o.path===t.id);n?.commitDetails&&d.env.clipboard.writeText(n.commitDetails.hash)}async artifactWorktreeCopyPath(e,t){!e||!t||d.env.clipboard.writeText(t.id)}async artifactCopyCommitHash(e,t){if(!e||!t)return;let r=await e.getCommit(t.id);d.env.clipboard.writeText(r.hash)}async artifactCopyBranchName(e,t){!e||!t||d.env.clipboard.writeText(t.name)}async artifactCopyTagName(e,t){!e||!t||d.env.clipboard.writeText(t.name)}async artifactCopyStashName(e,t){!e||!t||d.env.clipboard.writeText(t.name)}async artifactStashCopyBranchName(e,t){if(!e||!t?.description)return;let n=(await e.getStashes()).find(o=>t.id===`stash@{${o.index}}`);n?.branchName&&d.env.clipboard.writeText(n.branchName)}createCommand(e,t,r,n){let o=(...a)=>{let s;if(!n.repository)s=Promise.resolve(r.apply(this,a));else{let c=this.model.getRepository(a[0]),l;c?l=Promise.resolve(c):l=this.model.pickRepository(n.repositoryFilter),s=l.then(u=>u?Promise.resolve(r.apply(this,[u,...a.slice(1)])):Promise.resolve())}return this.telemetryReporter.sendTelemetryEvent("git.command",{command:e}),s.catch(c=>{let l={modal:!0},u,m="error",f=new Map,g=d.l10n.t("Open Git Log"),p=this.logger;f.set(g,()=>p.show());let v=d.l10n.t("Show Command Output");switch(c.stderr&&f.set(v,async()=>{let _=new Date().getTime(),P=d.Uri.parse(`git-output:/git-error-${_}`),w="git";c.gitArgs?w=`${w} ${c.gitArgs.join(" ")}`:c.gitCommand&&(w=`${w} ${c.gitCommand}`),this.commandErrors.set(P,`> ${w}
${c.stderr}`);try{let R=await d.workspace.openTextDocument(P);await d.window.showTextDocument(R)}finally{this.commandErrors.delete(P)}}),c.gitErrorCode){case X.DirtyWorkTree:u=d.l10n.t("Please clean your repository working tree before checkout.");break;case X.PushRejected:u=d.l10n.t(`Can't push refs to remote. Try running "Pull" first to integrate your changes.`);break;case X.ForcePushWithLeaseRejected:case X.ForcePushWithLeaseIfIncludesRejected:u=d.l10n.t(`Can't force push refs to remote. The tip of the remote-tracking branch has been updated since the last checkout. Try running "Pull" first to pull the latest changes from the remote branch first.`);break;case X.Conflict:u=d.l10n.t("There are merge conflicts. Please resolve them before committing your changes."),m="warning",f.clear(),f.set(d.l10n.t("Show Changes"),()=>d.commands.executeCommand("workbench.view.scm")),l.modal=!1;break;case X.StashConflict:u=d.l10n.t("There are merge conflicts while applying the stash. Please resolve them before committing your changes."),m="warning",f.clear(),f.set(d.l10n.t("Show Changes"),()=>d.commands.executeCommand("workbench.view.scm")),l.modal=!1;break;case X.AuthenticationFailed:{let P=/Authentication failed for '(.*)'/i.exec(c.stderr||String(c));u=P?d.l10n.t(`Failed to authenticate to git remote:

{0}`,P[1]):d.l10n.t("Failed to authenticate to git remote.");break}case X.NoUserNameConfigured:case X.NoUserEmailConfigured:u=d.l10n.t('Make sure you configure your "user.name" and "user.email" in git.'),f.set(d.l10n.t("Learn More"),()=>d.commands.executeCommand("vscode.open",d.Uri.parse("https://aka.ms/vscode-setup-git")));break;case X.EmptyCommitMessage:u=d.l10n.t("Commit operation was cancelled due to empty commit message."),f.clear(),m="information",l.modal=!1;break;case X.CherryPickEmpty:u=d.l10n.t("The changes are already present in the current branch."),f.clear(),m="information",l.modal=!1;break;case X.CherryPickConflict:u=d.l10n.t("There were merge conflicts while cherry picking the changes. Resolve the conflicts before committing them."),m="warning",f.set(d.l10n.t("Show Changes"),()=>d.commands.executeCommand("workbench.view.scm")),l.modal=!1;break;default:{let _=(c.stderr||c.stdout||c.message||String(c)).replace(/^error: /mi,"").replace(/^> husky.*$/mi,"").split(/[\r\n]/).filter(P=>!!P);u=_.length>0?d.l10n.t("Git: {0}",c.stdout?_[_.length-1]:_[0]):d.l10n.t("Git error");break}}if(!u){console.error(c);return}this.showErrorNotification(m,u,l,f)})};return this[t]=o,o}async showErrorNotification(e,t,r,n){let o,a=Array.from(n.keys());switch(e){case"error":o=await d.window.showErrorMessage(t,r,...a);break;case"warning":o=await d.window.showWarningMessage(t,r,...a);break;case"information":o=await d.window.showInformationMessage(t,r,...a);break}o&&n.get(o)?.()}getSCMResource(e){e=e||d.window.activeTextEditor&&d.window.activeTextEditor.document.uri,this.logger.debug(`[CommandCenter][getSCMResource] git.getSCMResource.uri: ${e&&e.toString()}`);for(let t of this.model.repositories.map(r=>r.root))this.logger.debug(`[CommandCenter][getSCMResource] repo root: ${t}`);if(e){if(fn(e)){let{path:t}=Rr(e);e=d.Uri.file(t)}if(e.scheme==="file"){let t=e.toString(),r=this.model.getRepository(e);return r?r.workingTreeGroup.resourceStates.filter(n=>n.resourceUri.toString()===t)[0]||r.indexGroup.resourceStates.filter(n=>n.resourceUri.toString()===t)[0]||r.mergeGroup.resourceStates.filter(n=>n.resourceUri.toString()===t)[0]:void 0}}}async runByRepository(e,t){let r=e instanceof d.Uri?[e]:e,n=e instanceof d.Uri,a=r.reduce((s,c)=>{let l=this.model.getRepository(c);if(!l)return console.warn("Could not find git repository for ",c),s;et(c.fsPath,l.root)&&(l=this.model.getRepositoryForSubmodule(c)||l);let u=s.filter(m=>m.repository===l)[0];return u?u.resources.push(c):s.push({repository:l,resources:[c]}),s},[]).map(({repository:s,resources:c})=>t(s,n?c[0]:c));return Promise.all(a)}dispose(){this.disposables.forEach(e=>e.dispose())}};D([N("git.showOutput")],A.prototype,"showOutput",1),D([N("git.refresh",{repository:!0})],A.prototype,"refresh",1),D([N("git.openResource")],A.prototype,"openResource",1),D([N("git.openAllChanges",{repository:!0})],A.prototype,"openChanges",1),D([N("git.openMergeEditor")],A.prototype,"openMergeEditor",1),D([N("git.continueInLocalClone")],A.prototype,"continueInLocalClone",1),D([N("git.clone")],A.prototype,"clone",1),D([N("git.cloneRecursive")],A.prototype,"cloneRecursive",1),D([N("_git.cloneRepository")],A.prototype,"cloneRepository",1),D([N("_git.checkout")],A.prototype,"checkoutRepository",1),D([N("_git.pull")],A.prototype,"pullRepository",1),D([N("_git.revParseAbbrevRef")],A.prototype,"revParseAbbrevRef",1),D([N("_git.mergeBranch")],A.prototype,"mergeBranch",1),D([N("git.init")],A.prototype,"init",1),D([N("git.openRepository",{repository:!1})],A.prototype,"openRepository",1),D([N("git.reopenClosedRepositories",{repository:!1})],A.prototype,"reopenClosedRepositories",1),D([N("git.close",{repository:!0})],A.prototype,"close",1),D([N("git.closeOtherRepositories",{repository:!0})],A.prototype,"closeOtherRepositories",1),D([N("git.openFile")],A.prototype,"openFile",1),D([N("git.openFile2")],A.prototype,"openFile2",1),D([N("git.openHEADFile")],A.prototype,"openHEADFile",1),D([N("git.openChange")],A.prototype,"openChange",1),D([N("git.compareWithWorkspace")],A.prototype,"compareWithWorkspace",1),D([N("git.rename",{repository:!0})],A.prototype,"rename",1),D([N("git.delete")],A.prototype,"delete",1),D([N("git.stage")],A.prototype,"stage",1),D([N("git.stageAll",{repository:!0})],A.prototype,"stageAll",1),D([N("git.stageAllTracked",{repository:!0})],A.prototype,"stageAllTracked",1),D([N("git.stageAllUntracked",{repository:!0})],A.prototype,"stageAllUntracked",1),D([N("git.stageAllMerge",{repository:!0})],A.prototype,"stageAllMerge",1),D([N("git.stageChange")],A.prototype,"stageChange",1),D([N("git.diff.stageHunk")],A.prototype,"diffStageHunk",1),D([N("git.diff.stageSelection")],A.prototype,"diffStageSelection",1),D([N("git.stageSelectedRanges")],A.prototype,"stageSelectedChanges",1),D([N("git.stageFile")],A.prototype,"stageFile",1),D([N("git.acceptMerge")],A.prototype,"acceptMerge",1),D([N("git.runGitMerge")],A.prototype,"runGitMergeNoDiff3",1),D([N("git.runGitMergeDiff3")],A.prototype,"runGitMergeDiff3",1),D([N("git.revertChange")],A.prototype,"revertChange",1),D([N("git.revertSelectedRanges")],A.prototype,"revertSelectedRanges",1),D([N("git.unstage")],A.prototype,"unstage",1),D([N("git.unstageAll",{repository:!0})],A.prototype,"unstageAll",1),D([N("git.unstageSelectedRanges")],A.prototype,"unstageSelectedRanges",1),D([N("git.unstageFile")],A.prototype,"unstageFile",1),D([N("git.unstageChange")],A.prototype,"unstageChange",1),D([N("git.clean")],A.prototype,"clean",1),D([N("git.cleanAll",{repository:!0})],A.prototype,"cleanAll",1),D([N("git.cleanAllTracked",{repository:!0})],A.prototype,"cleanAllTracked",1),D([N("git.cleanAllUntracked",{repository:!0})],A.prototype,"cleanAllUntracked",1),D([N("git.commit",{repository:!0})],A.prototype,"commit",1),D([N("git.commitAmend",{repository:!0})],A.prototype,"commitAmend",1),D([N("git.commitSigned",{repository:!0})],A.prototype,"commitSigned",1),D([N("git.commitStaged",{repository:!0})],A.prototype,"commitStaged",1),D([N("git.commitStagedSigned",{repository:!0})],A.prototype,"commitStagedSigned",1),D([N("git.commitStagedAmend",{repository:!0})],A.prototype,"commitStagedAmend",1),D([N("git.commitAll",{repository:!0})],A.prototype,"commitAll",1),D([N("git.commitAllSigned",{repository:!0})],A.prototype,"commitAllSigned",1),D([N("git.commitAllAmend",{repository:!0})],A.prototype,"commitAllAmend",1),D([N("git.commitMessageAccept")],A.prototype,"commitMessageAccept",1),D([N("git.commitMessageDiscard")],A.prototype,"commitMessageDiscard",1),D([N("git.commitEmpty",{repository:!0})],A.prototype,"commitEmpty",1),D([N("git.commitNoVerify",{repository:!0})],A.prototype,"commitNoVerify",1),D([N("git.commitStagedNoVerify",{repository:!0})],A.prototype,"commitStagedNoVerify",1),D([N("git.commitStagedSignedNoVerify",{repository:!0})],A.prototype,"commitStagedSignedNoVerify",1),D([N("git.commitAmendNoVerify",{repository:!0})],A.prototype,"commitAmendNoVerify",1),D([N("git.commitSignedNoVerify",{repository:!0})],A.prototype,"commitSignedNoVerify",1),D([N("git.commitStagedAmendNoVerify",{repository:!0})],A.prototype,"commitStagedAmendNoVerify",1),D([N("git.commitAllNoVerify",{repository:!0})],A.prototype,"commitAllNoVerify",1),D([N("git.commitAllSignedNoVerify",{repository:!0})],A.prototype,"commitAllSignedNoVerify",1),D([N("git.commitAllAmendNoVerify",{repository:!0})],A.prototype,"commitAllAmendNoVerify",1),D([N("git.commitEmptyNoVerify",{repository:!0})],A.prototype,"commitEmptyNoVerify",1),D([N("git.restoreCommitTemplate",{repository:!0})],A.prototype,"restoreCommitTemplate",1),D([N("git.undoCommit",{repository:!0})],A.prototype,"undoCommit",1),D([N("git.checkout",{repository:!0})],A.prototype,"checkout",1),D([N("git.graph.checkout",{repository:!0})],A.prototype,"checkout2",1),D([N("git.checkoutDetached",{repository:!0})],A.prototype,"checkoutDetached",1),D([N("git.graph.checkoutDetached",{repository:!0})],A.prototype,"checkoutDetached2",1),D([N("git.branch",{repository:!0})],A.prototype,"branch",1),D([N("git.branchFrom",{repository:!0})],A.prototype,"branchFrom",1),D([N("git.deleteBranch",{repository:!0})],A.prototype,"deleteBranch",1),D([N("git.graph.deleteBranch",{repository:!0})],A.prototype,"deleteBranch2",1),D([N("git.graph.compareWithRemote",{repository:!0})],A.prototype,"compareWithRemote",1),D([N("git.graph.compareWithMergeBase",{repository:!0})],A.prototype,"compareWithMergeBase",1),D([N("git.graph.compareRef",{repository:!0})],A.prototype,"compareRef",1),D([N("git.deleteRemoteBranch",{repository:!0})],A.prototype,"deleteRemoteBranch",1),D([N("git.renameBranch",{repository:!0})],A.prototype,"renameBranch",1),D([N("git.merge",{repository:!0})],A.prototype,"merge",1),D([N("git.mergeAbort",{repository:!0})],A.prototype,"abortMerge",1),D([N("git.rebase",{repository:!0})],A.prototype,"rebase",1),D([N("git.createTag",{repository:!0})],A.prototype,"createTag",1),D([N("git.deleteTag",{repository:!0})],A.prototype,"deleteTag",1),D([N("git.migrateWorktreeChanges",{repository:!0,repositoryFilter:["repository","submodule"]})],A.prototype,"migrateWorktreeChanges",1),D([N("git.openWorktreeMergeEditor")],A.prototype,"openWorktreeMergeEditor",1),D([N("git.createWorktree",{repository:!0,repositoryFilter:["repository","submodule"]})],A.prototype,"createWorktree",1),D([N("git.deleteWorktree",{repository:!0,repositoryFilter:["repository","submodule"]})],A.prototype,"deleteWorktreeFromPalette",1),D([N("git.deleteWorktree2",{repository:!0,repositoryFilter:["worktree"]})],A.prototype,"deleteWorktree",1),D([N("git.openWorktree",{repository:!0})],A.prototype,"openWorktreeInCurrentWindow",1),D([N("git.openWorktreeInNewWindow",{repository:!0})],A.prototype,"openWorktreeInNewWindow",1),D([N("git.graph.deleteTag",{repository:!0})],A.prototype,"deleteTag2",1),D([N("git.deleteRemoteTag",{repository:!0})],A.prototype,"deleteRemoteTag",1),D([N("git.fetch",{repository:!0})],A.prototype,"fetch",1),D([N("git.fetchPrune",{repository:!0})],A.prototype,"fetchPrune",1),D([N("git.fetchAll",{repository:!0})],A.prototype,"fetchAll",1),D([N("git.fetchRef",{repository:!0})],A.prototype,"fetchRef",1),D([N("git.pullFrom",{repository:!0})],A.prototype,"pullFrom",1),D([N("git.pull",{repository:!0})],A.prototype,"pull",1),D([N("git.pullRebase",{repository:!0})],A.prototype,"pullRebase",1),D([N("git.pullRef",{repository:!0})],A.prototype,"pullRef",1),D([N("git.push",{repository:!0})],A.prototype,"push",1),D([N("git.pushForce",{repository:!0})],A.prototype,"pushForce",1),D([N("git.pushWithTags",{repository:!0})],A.prototype,"pushFollowTags",1),D([N("git.pushWithTagsForce",{repository:!0})],A.prototype,"pushFollowTagsForce",1),D([N("git.pushRef",{repository:!0})],A.prototype,"pushRef",1),D([N("git.cherryPick",{repository:!0})],A.prototype,"cherryPick",1),D([N("git.graph.cherryPick",{repository:!0})],A.prototype,"cherryPick2",1),D([N("git.cherryPickAbort",{repository:!0})],A.prototype,"cherryPickAbort",1),D([N("git.pushTo",{repository:!0})],A.prototype,"pushTo",1),D([N("git.pushToForce",{repository:!0})],A.prototype,"pushToForce",1),D([N("git.pushTags",{repository:!0})],A.prototype,"pushTags",1),D([N("git.addRemote",{repository:!0})],A.prototype,"addRemote",1),D([N("git.removeRemote",{repository:!0})],A.prototype,"removeRemote",1),D([N("git.sync",{repository:!0})],A.prototype,"sync",1),D([N("git._syncAll")],A.prototype,"syncAll",1),D([N("git.syncRebase",{repository:!0})],A.prototype,"syncRebase",1),D([N("git.publish",{repository:!0})],A.prototype,"publish",1),D([N("git.ignore")],A.prototype,"ignore",1),D([N("git.revealInExplorer")],A.prototype,"revealInExplorer",1),D([N("git.revealFileInOS.linux"),N("git.revealFileInOS.mac"),N("git.revealFileInOS.windows")],A.prototype,"revealFileInOS",1),D([N("git.stash",{repository:!0})],A.prototype,"stash",1),D([N("git.stashStaged",{repository:!0})],A.prototype,"stashStaged",1),D([N("git.stashIncludeUntracked",{repository:!0})],A.prototype,"stashIncludeUntracked",1),D([N("git.stashPop",{repository:!0})],A.prototype,"stashPop",1),D([N("git.stashPopLatest",{repository:!0})],A.prototype,"stashPopLatest",1),D([N("git.stashPopEditor")],A.prototype,"stashPopEditor",1),D([N("git.stashApply",{repository:!0})],A.prototype,"stashApply",1),D([N("git.stashApplyLatest",{repository:!0})],A.prototype,"stashApplyLatest",1),D([N("git.stashApplyEditor")],A.prototype,"stashApplyEditor",1),D([N("git.stashDrop",{repository:!0})],A.prototype,"stashDrop",1),D([N("git.stashDropAll",{repository:!0})],A.prototype,"stashDropAll",1),D([N("git.stashDropEditor")],A.prototype,"stashDropEditor",1),D([N("git.stashView",{repository:!0})],A.prototype,"stashView",1),D([N("git.timeline.openDiff",{repository:!1})],A.prototype,"timelineOpenDiff",1),D([N("git.timeline.viewCommit",{repository:!1})],A.prototype,"timelineViewCommit",1),D([N("git.timeline.copyCommitId",{repository:!1})],A.prototype,"timelineCopyCommitId",1),D([N("git.timeline.copyCommitMessage",{repository:!1})],A.prototype,"timelineCopyCommitMessage",1),D([N("git.timeline.selectForCompare",{repository:!1})],A.prototype,"timelineSelectForCompare",1),D([N("git.timeline.compareWithSelected",{repository:!1})],A.prototype,"timelineCompareWithSelected",1),D([N("git.rebaseAbort",{repository:!0})],A.prototype,"rebaseAbort",1),D([N("git.closeAllDiffEditors",{repository:!0})],A.prototype,"closeDiffEditors",1),D([N("git.closeAllUnmodifiedEditors")],A.prototype,"closeUnmodifiedEditors",1),D([N("git.openRepositoriesInParentFolders")],A.prototype,"openRepositoriesInParentFolders",1),D([N("git.manageUnsafeRepositories")],A.prototype,"manageUnsafeRepositories",1),D([N("git.viewChanges",{repository:!0})],A.prototype,"viewChanges",1),D([N("git.viewStagedChanges",{repository:!0})],A.prototype,"viewStagedChanges",1),D([N("git.viewUntrackedChanges",{repository:!0})],A.prototype,"viewUnstagedChanges",1),D([N("git.copyCommitId",{repository:!0})],A.prototype,"copyCommitId",1),D([N("git.copyCommitMessage",{repository:!0})],A.prototype,"copyCommitMessage",1),D([N("git.viewCommit",{repository:!0})],A.prototype,"viewCommit",1),D([N("git.copyContentToClipboard")],A.prototype,"copyContentToClipboard",1),D([N("git.blame.toggleEditorDecoration")],A.prototype,"toggleBlameEditorDecoration",1),D([N("git.blame.toggleStatusBarItem")],A.prototype,"toggleBlameStatusBarItem",1),D([N("git.repositories.createBranch",{repository:!0})],A.prototype,"artifactGroupCreateBranch",1),D([N("git.repositories.createTag",{repository:!0})],A.prototype,"artifactGroupCreateTag",1),D([N("git.repositories.createWorktree",{repository:!0})],A.prototype,"artifactGroupCreateWorktree",1),D([N("git.repositories.checkout",{repository:!0})],A.prototype,"artifactCheckout",1),D([N("git.repositories.checkoutDetached",{repository:!0})],A.prototype,"artifactCheckoutDetached",1),D([N("git.repositories.merge",{repository:!0})],A.prototype,"artifactMerge",1),D([N("git.repositories.rebase",{repository:!0})],A.prototype,"artifactRebase",1),D([N("git.repositories.createFrom",{repository:!0})],A.prototype,"artifactCreateFrom",1),D([N("git.repositories.compareRef",{repository:!0})],A.prototype,"artifactCompareWith",1),D([N("git.repositories.deleteBranch",{repository:!0})],A.prototype,"artifactDeleteBranch",1),D([N("git.repositories.deleteTag",{repository:!0})],A.prototype,"artifactDeleteTag",1),D([N("git.repositories.stashView",{repository:!0})],A.prototype,"artifactStashView",1),D([N("git.repositories.stashApply",{repository:!0})],A.prototype,"artifactStashApply",1),D([N("git.repositories.stashPop",{repository:!0})],A.prototype,"artifactStashPop",1),D([N("git.repositories.stashDrop",{repository:!0})],A.prototype,"artifactStashDrop",1),D([N("git.repositories.openWorktree",{repository:!0})],A.prototype,"artifactOpenWorktree",1),D([N("git.repositories.openWorktreeInNewWindow",{repository:!0})],A.prototype,"artifactOpenWorktreeInNewWindow",1),D([N("git.repositories.deleteWorktree",{repository:!0})],A.prototype,"artifactDeleteWorktree",1),D([N("git.repositories.worktreeCopyBranchName",{repository:!0})],A.prototype,"artifactWorktreeCopyBranchName",1),D([N("git.repositories.worktreeCopyCommitHash",{repository:!0})],A.prototype,"artifactWorktreeCopyCommitHash",1),D([N("git.repositories.worktreeCopyPath",{repository:!0})],A.prototype,"artifactWorktreeCopyPath",1),D([N("git.repositories.copyCommitHash",{repository:!0})],A.prototype,"artifactCopyCommitHash",1),D([N("git.repositories.copyBranchName",{repository:!0})],A.prototype,"artifactCopyBranchName",1),D([N("git.repositories.copyTagName",{repository:!0})],A.prototype,"artifactCopyTagName",1),D([N("git.repositories.copyStashName",{repository:!0})],A.prototype,"artifactCopyStashName",1),D([N("git.repositories.stashCopyBranchName",{repository:!0})],A.prototype,"artifactStashCopyBranchName",1);var xt=require("vscode");var RA=1e3*60*3,SA=1e3*60*5;function ND(i,e,t,r){if(i==="~"){let o=xt.Uri.file(e).toString(),[a]=r.indexGroup.resourceStates.filter(s=>s.resourceUri.toString()===o);return a?"":"HEAD"}return/^~\d$/.test(i)?`:${i[1]}`:t&&(i==="index"||i==="wt")?"HEAD":i}var nl=class{constructor(e,t){this.model=e;this.logger=t;this.disposables.push(e.onDidChangeRepository(this.onDidChangeRepository,this),e.onDidChangeOriginalResource(this.onDidChangeOriginalResource,this),xt.workspace.registerFileSystemProvider("git",this,{isReadonly:!0,isCaseSensitive:!0})),setInterval(()=>this.cleanup(),SA)}_onDidChangeFile=new xt.EventEmitter;onDidChangeFile=this._onDidChangeFile.event;changedRepositoryRoots=new Set;cache=new Map;mtime=new Date().getTime();disposables=[];onDidChangeRepository({repository:e}){this.changedRepositoryRoots.add(e.root),this.eventuallyFireChangeEvents()}onDidChangeOriginalResource({uri:e}){if(e.scheme!=="file")return;let t=$e(e,"~"),r=$e(e,"",{replaceFileExtension:!0});this.mtime=new Date().getTime(),this._onDidChangeFile.fire([{type:xt.FileChangeType.Changed,uri:t},{type:xt.FileChangeType.Changed,uri:r}])}eventuallyFireChangeEvents(){this.fireChangeEvents()}async fireChangeEvents(){if(!xt.window.state.focused){let t=Ue(xt.window.onDidChangeWindowState,r=>r.focused);await Ai(t)}let e=[];for(let{uri:t}of this.cache.values()){let r=t.fsPath;for(let n of this.changedRepositoryRoots)if(Qt(n,r)){e.push({type:xt.FileChangeType.Changed,uri:t});break}}e.length>0&&(this.mtime=new Date().getTime(),this._onDidChangeFile.fire(e)),this.changedRepositoryRoots.clear()}cleanup(){let e=new Date().getTime(),t=new Map;for(let r of this.cache.values()){let{path:n}=Rr(r.uri);(xt.workspace.textDocuments.filter(a=>a.uri.scheme==="file").some(a=>et(a.uri.fsPath,n))||e-r.timestamp<RA)&&t.set(r.uri.toString(),r)}this.cache=t}async getOrOpenRepository(e){let t=this.model.getRepository(e);if(t)return t;if(xt.workspace.workspaceFolders===void 0||xt.workspace.isAgentSessionsWorkspace){let r=typeof e=="string"?e:Rr(e).path;this.logger.info(`[GitFileSystemProvider][getOrOpenRepository] Opening repository for ${r}`),await this.model.openRepository(r,!0,!0),t=this.model.getRepository(e)}return t}watch(){return dn}async stat(e){await this.model.isInitialized;let{submoduleOf:t,path:r,ref:n}=Rr(e),o=t?await this.getOrOpenRepository(t):await this.getOrOpenRepository(e);if(!o)throw this.logger.warn(`[GitFileSystemProvider][stat] Repository not found - ${e.toString()}`),xt.FileSystemError.FileNotFound();try{let a=await o.getObjectDetails(ND(n,r,t,o),r);return{type:xt.FileType.File,size:a.size,mtime:this.mtime,ctime:0}}catch{if(n===await o.getEmptyTree())return this.logger.warn(`[GitFileSystemProvider][stat] Empty tree - ${e.toString()}`),{type:xt.FileType.File,size:0,mtime:this.mtime,ctime:0};throw this.logger.warn(`[GitFileSystemProvider][stat] File not found - ${e.toString()}`),xt.FileSystemError.FileNotFound()}}readDirectory(){throw new Error("Method not implemented.")}createDirectory(){throw new Error("Method not implemented.")}async readFile(e){await this.model.isInitialized;let{path:t,ref:r,submoduleOf:n}=Rr(e);if(n){let c=await this.getOrOpenRepository(n);if(!c)throw xt.FileSystemError.FileNotFound();let l=new TextEncoder;return r==="index"?l.encode(await c.diffIndexWithHEAD(t)):l.encode(await c.diffWithHEAD(t))}let o=await this.getOrOpenRepository(e);if(!o)throw this.logger.warn(`[GitFileSystemProvider][readFile] Repository not found - ${e.toString()}`),xt.FileSystemError.FileNotFound();let a=new Date().getTime(),s={uri:e,timestamp:a};this.cache.set(e.toString(),s);try{return await o.buffer(ND(r,t,n,o),t)}catch{if(r===await o.getEmptyTree())return this.logger.warn(`[GitFileSystemProvider][readFile] Empty tree - ${e.toString()}`),new Uint8Array(0);throw this.logger.warn(`[GitFileSystemProvider][readFile] File not found - ${e.toString()}`),xt.FileSystemError.FileNotFound()}}writeFile(){throw new Error("Method not implemented.")}delete(){throw new Error("Method not implemented.")}rename(){throw new Error("Method not implemented.")}dispose(){this.disposables.forEach(e=>e.dispose())}};D([Ln(1100)],nl.prototype,"eventuallyFireChangeEvents",1),D([Sr],nl.prototype,"fireChangeEvents",1);var Tt=require("vscode"),OD=st(require("path"));function kD(i,e){return i===e?!0:i?.id===e?.id&&i?.name===e?.name&&i?.revision===e?.revision}var Wf=class Wf{constructor(e){this.model=e;let t=ii(Ue(Tt.workspace.onDidSaveTextDocument,r=>/\.gitignore$|\.git\/info\/exclude$/.test(r.uri.path)),e.onDidOpenRepository,e.onDidCloseRepository);this.disposables.push(t(()=>this._onDidChangeDecorations.fire(void 0))),this.disposables.push(Tt.window.registerFileDecorationProvider(this))}static Decoration={color:new Tt.ThemeColor("gitDecoration.ignoredResourceForeground")};_onDidChangeDecorations=new Tt.EventEmitter;onDidChangeFileDecorations=this._onDidChangeDecorations.event;queue=new Map;disposables=[];async provideFileDecoration(e){let t=this.model.getRepository(e);if(!t)return;let r=this.queue.get(t.root);r||(r={repository:t,queue:new Map},this.queue.set(t.root,r));let n=r.queue.get(e.fsPath);return n||(n=new Jm,r.queue.set(e.fsPath,n),this.checkIgnoreSoon()),await n.promise}checkIgnoreSoon(){let e=new Map(this.queue.entries());this.queue.clear();for(let[,t]of e){let r=[...t.queue.keys()];t.repository.checkIgnore(r).then(n=>{for(let[o,a]of t.queue.entries())a.resolve(n.has(o)?Wf.Decoration:void 0)},n=>{n.gitErrorCode!==X.IsInSubmodule&&console.error(n);for(let[,o]of t.queue.entries())o.reject(n)})}}dispose(){this.disposables.forEach(e=>e.dispose()),this.queue.clear()}};D([Ln(500)],Wf.prototype,"checkIgnoreSoon",1);var Nv=Wf,kv=class i{constructor(e){this.repository=e;this.disposables.push(Tt.window.registerFileDecorationProvider(this),Sy(e.onDidRunGitStatus,()=>this.onDidRunGitStatus()))}static SubmoduleDecorationData={tooltip:"Submodule",badge:"S",color:new Tt.ThemeColor("gitDecoration.submoduleResourceForeground")};_onDidChangeDecorations=new Tt.EventEmitter;onDidChangeFileDecorations=this._onDidChangeDecorations.event;disposables=[];decorations=new Map;onDidRunGitStatus(){let e=new Map;this.collectDecorationData(this.repository.indexGroup,e),this.collectDecorationData(this.repository.untrackedGroup,e),this.collectDecorationData(this.repository.workingTreeGroup,e),this.collectDecorationData(this.repository.mergeGroup,e),this.collectSubmoduleDecorationData(e);let t=new Set([...this.decorations.keys()].concat([...e.keys()]));this.decorations=e,this._onDidChangeDecorations.fire([...t.values()].map(r=>Tt.Uri.parse(r,!0)))}collectDecorationData(e,t){for(let r of e.resourceStates){let n=r.resourceDecoration;n&&(t.set(r.original.toString(),n),r.type===C.DELETED&&r.rightUri&&t.set(r.rightUri.toString(),n),(r.type===C.INDEX_RENAMED||r.type===C.INTENT_TO_RENAME)&&t.set(r.resourceUri.toString(),n))}}collectSubmoduleDecorationData(e){for(let t of this.repository.submodules)e.set(Tt.Uri.file(OD.join(this.repository.root,t.path)).toString(),i.SubmoduleDecorationData)}provideFileDecoration(e){return this.decorations.get(e.toString())}dispose(){this.disposables.forEach(e=>e.dispose())}},Ov=class{constructor(e){this.repository=e;this.disposables.push(Tt.window.registerFileDecorationProvider(this),Sy(e.historyProvider.onDidChangeCurrentHistoryItemRefs,()=>this.onDidChangeCurrentHistoryItemRefs()))}_onDidChangeDecorations=new Tt.EventEmitter;onDidChangeFileDecorations=this._onDidChangeDecorations.event;_currentHistoryItemRef;_currentHistoryItemRemoteRef;_decorations=new Map;disposables=[];async onDidChangeCurrentHistoryItemRefs(){let e=this.repository.historyProvider,t=e.currentHistoryItemRef,r=e.currentHistoryItemRemoteRef;if(kD(this._currentHistoryItemRef,t)&&kD(this._currentHistoryItemRemoteRef,r))return;let n=new Map;await this.collectIncomingChangesFileDecorations(n);let o=new Set([...this._decorations.keys()].concat([...n.keys()]));this._decorations=n,this._currentHistoryItemRef=t,this._currentHistoryItemRemoteRef=r,this._onDidChangeDecorations.fire([...o.values()].map(a=>Tt.Uri.parse(a,!0)))}async collectIncomingChangesFileDecorations(e){for(let t of await this.getIncomingChanges())switch(t.status){case C.INDEX_ADDED:e.set(t.uri.toString(),{badge:"\u2193A",tooltip:Tt.l10n.t("Incoming Changes (added)")});break;case C.DELETED:e.set(t.uri.toString(),{badge:"\u2193D",tooltip:Tt.l10n.t("Incoming Changes (deleted)")});break;case C.INDEX_RENAMED:e.set(t.originalUri.toString(),{badge:"\u2193R",tooltip:Tt.l10n.t("Incoming Changes (renamed)")});break;case C.MODIFIED:e.set(t.uri.toString(),{badge:"\u2193M",tooltip:Tt.l10n.t("Incoming Changes (modified)")});break;default:{e.set(t.uri.toString(),{badge:"\u2193~",tooltip:Tt.l10n.t("Incoming Changes")});break}}}async getIncomingChanges(){try{let e=this.repository.historyProvider,t=e.currentHistoryItemRef,r=e.currentHistoryItemRemoteRef;if(!t||!r)return[];let n=await e.resolveHistoryItemRefsCommonAncestor([t.id,r.id]);return n?await this.repository.diffBetweenWithStats(n,r.id):[]}catch{return[]}}provideFileDecoration(e){return this._decorations.get(e.toString())}dispose(){Ge(this.disposables)}},Yf=class{constructor(e){this.model=e;this.disposables.push(new Nv(e)),Ue(Tt.workspace.onDidChangeConfiguration,r=>r.affectsConfiguration("git.decorations.enabled"))(this.update,this,this.disposables),this.update()}enabled=!1;disposables=[];modelDisposables=[];providers=new Map;update(){let t=Tt.workspace.getConfiguration("git").get("decorations.enabled")===!0;this.enabled!==t&&(t?this.enable():this.disable(),this.enabled=t)}enable(){this.model.onDidOpenRepository(this.onDidOpenRepository,this,this.modelDisposables),this.model.onDidCloseRepository(this.onDidCloseRepository,this,this.modelDisposables),this.model.repositories.forEach(this.onDidOpenRepository,this)}disable(){this.modelDisposables=Ge(this.modelDisposables),this.providers.forEach(e=>e.dispose()),this.providers.clear()}onDidOpenRepository(e){let t=vs([new kv(e),new Ov(e)]);this.providers.set(e,t)}onDidCloseRepository(e){let t=this.providers.get(e);t&&(t.dispose(),this.providers.delete(e))}dispose(){this.disable(),this.disposables=Ge(this.disposables)}};var qr=require("vscode");var $f=class{constructor(e,t,r){this.ipc=e;this.logger=t;e&&(this.disposable=e.registerHandler("askpass",this));let n=this.ipc?r.askpass:r.askpassEmpty,o=this.ipc?r.sshAskpass:r.sshAskpassEmpty;this.env={GIT_ASKPASS:n,VSCODE_GIT_ASKPASS_NODE:process.execPath,VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",VSCODE_GIT_ASKPASS_MAIN:r.askpassMain},this.sshEnv={SSH_ASKPASS:o,SSH_ASKPASS_REQUIRE:"force"}}env;sshEnv;disposable=dn;cache=new Map;credentialsProviders=new Set;featureDescription="git auth provider";async handle(e){return this.logger.trace(`[Askpass][handle] ${JSON.stringify(e)}`),qr.workspace.getConfiguration("git",null).get("enabled")?e.askpassType==="https"?await this.handleAskpass(e.argv):await this.handleSSHAskpass(e.argv):(this.logger.trace("[Askpass][handle] Git is disabled"),"")}async handleAskpass(e){let t=e[2],r=e[4].replace(/^["']+|["':]+$/g,"");this.logger.trace(`[Askpass][handleAskpass] request: ${t}, host: ${r}`);let n=qr.Uri.parse(r),o=n.authority.replace(/^.*@/,""),a=/password/i.test(t),s=this.cache.get(o);if(s&&a)return this.cache.delete(o),s.password;if(!a)for(let l of this.credentialsProviders)try{let u=await l.getCredentials(n);if(u)return this.cache.set(o,u),setTimeout(()=>this.cache.delete(o),6e4),u.username}catch{}let c={password:a,placeHolder:t,prompt:`Git: ${r}`,ignoreFocusOut:!0};return await qr.window.showInputBox(c)||""}async handleSSHAskpass(e){let t=e[3];if(/passphrase/i.test(t)){let s;e[5]&&!/key/i.test(e[5])?s=Ay(e,5):e[6]&&(s=Ay(e,6)),this.logger.trace(`[Askpass][handleSSHAskpass] request: ${t}, file: ${s}`);let c={password:!0,placeHolder:qr.l10n.t("Passphrase"),prompt:s?`SSH Key: ${s}`:void 0,ignoreFocusOut:!0};return await qr.window.showInputBox(c)||""}let r=e[6].replace(/^["']+|["':]+$/g,""),n=e[15];this.logger.trace(`[Askpass][handleSSHAskpass] request: ${t}, host: ${r}, fingerprint: ${n}`);let o={canPickMany:!1,ignoreFocusOut:!0,placeHolder:qr.l10n.t("Are you sure you want to continue connecting?"),title:qr.l10n.t('"{0}" has fingerprint "{1}"',r??"",n??"")},a=[qr.l10n.t("yes"),qr.l10n.t("no")];return await qr.window.showQuickPick(a,o)??""}getEnv(){return qr.workspace.getConfiguration("git").get("useIntegratedAskPass")?{...this.env,...this.sshEnv}:{}}getTerminalEnv(){let e=qr.workspace.getConfiguration("git");return e.get("useIntegratedAskPass")&&e.get("terminalAuthentication")?this.env:{}}registerCredentialsProvider(e){return this.credentialsProviders.add(e),Mr(()=>this.credentialsProviders.delete(e))}dispose(){this.disposable.dispose()}};var o0=st(GT());var Vi=require("vscode");var HT=st(require("querystring")),iM=un?new Set(["git","http","https","ssh"]):new Set(["file","git","http","https","ssh"]),nM=/^$|[~\^:\\\*\s\[\]]|^-|^\.|\/\.|\.\.|\.lock\/|\.lock$|\/$|\.$/,zh=class{constructor(e){this.logger=e;this.disposables.push(Vi.window.registerUriHandler(this))}disposables=[];handleUri(e){this.logger.info(`[GitProtocolHandler][handleUri] URI:(${e.toString()})`),e.path==="/clone"&&this.clone(e)}async clone(e){let t=HT.parse(e.query),r=t.ref;if(!t.url){this.logger.warn("[GitProtocolHandler][clone] Failed to open URI:"+e.toString());return}if(Array.isArray(t.url)&&t.url.length===0){this.logger.warn("[GitProtocolHandler][clone] Failed to open URI:"+e.toString());return}if(r!==void 0&&typeof r!="string"){this.logger.warn("[GitProtocolHandler][clone] Failed to open URI due to multiple references:"+e.toString());return}let n;try{let o=Array.isArray(t.url)?t.url[0]:t.url;if(o=o.replace(/^(git@[^\/:]+)(:)/i,"ssh://$1/"),n=Vi.Uri.parse(o,!0),!iM.has(n.scheme.toLowerCase()))throw new Error("Unsupported scheme.");if(typeof r=="string"&&nM.test(r))throw new Error("Invalid reference.")}catch{this.logger.warn("[GitProtocolHandler][clone] Invalid URI:"+e.toString());return}if((await Vi.commands.getCommands(!0)).includes("git.clone")){let o=n.toString(!0);this.logger.info(`[GitProtocolHandler][clone] Executing git.clone for ${o}`),Vi.commands.executeCommand("git.clone",o,void 0,{ref:r})}else{this.logger.error("[GitProtocolHandler][clone] Could not complete git clone operation as git installation was not found.");let o=Vi.l10n.t("Could not clone your repository as Git is not installed."),a=Vi.l10n.t("Download Git");await Vi.window.showErrorMessage(o,{modal:!0},a)===a&&Vi.commands.executeCommand("vscode.open",Vi.Uri.parse("https://aka.ms/vscode-download-git"));return}}dispose(){this.disposables=Ge(this.disposables)}};var YT=require("vscode");function UT(i,e,t){if(typeof t.value!="function")throw new Error("not supported");let r=t.value;t.value=function(...n){return console.warn(`Git extension API method '${String(e)}' is deprecated.`),r.apply(this,n)}}var ps=class{enabled=!1;_onDidChangeEnablement=new YT.EventEmitter;onDidChangeEnablement=this._onDidChangeEnablement.event;_model=void 0;_cloneManager=void 0;set model(e){this._model=e;let t=!!e;this.enabled!==t&&(this.enabled=t,this._onDidChangeEnablement.fire(this.enabled))}get model(){return this._model}set cloneManager(e){this._cloneManager=e}constructor(e){e&&(this.enabled=!0,this._model=e.model,this._cloneManager=e.cloneManager)}async getGitPath(){if(!this._model)throw new Error("Git model not found");return this._model.git.path}async getRepositories(){if(!this._model)throw new Error("Git model not found");return this._model.repositories.map(e=>new Yt(e))}getAPI(e){if(!this._model||!this._cloneManager)throw new Error("Git model not found");if(e!==1)throw new Error(`No API version ${e} found.`);return new pf({model:this._model,cloneManager:this._cloneManager})}};D([UT],ps.prototype,"getGitPath",1),D([UT],ps.prototype,"getRepositories",1);var Bc=st(require("path")),a0=st(require("fs")),_o=st(require("os"));var Lc=require("vscode");var Jh=class{constructor(e,t){this.context=e;this.envProviders=t;this.disposable=Ue(Lc.workspace.onDidChangeConfiguration,r=>r.affectsConfiguration("git"))(this.refresh,this),this.refresh()}disposable;refresh(){let e=Lc.workspace.getConfiguration("git",null);if(this.context.environmentVariableCollection.clear(),!e.get("enabled",!0))return;let t=[];for(let r of this.envProviders){let n=r?.getTerminalEnv()??{};for(let o of Object.keys(n))this.context.environmentVariableCollection.replace(o,n[o]);r?.featureDescription&&Object.keys(n).length>0&&t.push(r.featureDescription)}t.length&&(this.context.environmentVariableCollection.description=Lc.l10n.t("Enables the following features: {0}",t.join(", ")))}dispose(){this.disposable.dispose()}},qh=class{constructor(e,t){this.model=e;this.logger=t;Lc.window.onDidEndTerminalShellExecution(this.onDidEndTerminalShellExecution,this,this.disposables)}subcommands=new Set(["add","branch","checkout","cherry-pick","clean","commit","fetch","merge","mv","rebase","reset","restore","revert","rm","pull","push","stash","switch"]);disposables=[];onDidEndTerminalShellExecution(e){let{execution:t,exitCode:r,shellIntegration:n}=e,[o,a]=t.commandLine.value.split(/\s+/),s=t.cwd??n.cwd;if(o.toLowerCase()!=="git"||!this.subcommands.has(a?.toLowerCase())||!s||r!==0)return;this.logger.trace(`[TerminalShellExecutionManager][onDidEndTerminalShellExecution] Matched git subcommand: ${a}`);let c=this.model.getRepository(s);if(!c){this.logger.trace(`[TerminalShellExecutionManager][onDidEndTerminalShellExecution] Unable to find repository for current working directory: ${s.toString()}`);return}c.status()}dispose(){Ge(this.disposables)}};var bC=st(require("path")),WT=st(require("http")),$T=st(require("os")),Qh=st(require("fs")),Xh=st(require("crypto"));function oM(i){return process.platform==="win32"?`\\\\.\\pipe\\vscode-git-${i}-sock`:process.platform!=="darwin"&&process.env.XDG_RUNTIME_DIR?bC.join(process.env.XDG_RUNTIME_DIR,`vscode-git-${i}.sock`):bC.join($T.tmpdir(),`vscode-git-${i}.sock`)}async function KT(i){let e=WT.createServer(),t=Xh.createHash("sha256");if(i)t.update(i);else{let n=await new Promise((o,a)=>Xh.randomBytes(20,(s,c)=>s?a(s):o(c)));t.update(n)}let r=oM(t.digest("hex").substring(0,10));if(process.platform!=="win32")try{await Qh.promises.unlink(r)}catch{}return new Promise((n,o)=>{try{e.on("error",a=>o(a)),e.listen(r),n(new EC(e,r))}catch(a){o(a)}})}var EC=class{constructor(e,t){this.server=e;this._ipcHandlePath=t;this.server.on("request",this.onRequest.bind(this))}handlers=new Map;get ipcHandlePath(){return this._ipcHandlePath}registerHandler(e,t){return this.handlers.set(`/${e}`,t),Mr(()=>this.handlers.delete(e))}onRequest(e,t){if(!e.url){console.warn("Request lacks url");return}let r=this.handlers.get(e.url);if(!r){console.warn(`IPC handler for ${e.url} not found`);return}let n=[];e.on("data",o=>n.push(o)),e.on("end",()=>{let o=JSON.parse(Buffer.concat(n).toString("utf8"));r.handle(o).then(a=>{t.writeHead(200),t.end(JSON.stringify(a))},()=>{t.writeHead(500),t.end()})})}getEnv(){return{VSCODE_GIT_IPC_HANDLE:this.ipcHandlePath}}getTerminalEnv(){return{VSCODE_GIT_IPC_HANDLE:this.ipcHandlePath}}dispose(){this.handlers.clear(),this.server.close(),this._ipcHandlePath&&process.platform!=="win32"&&Qh.unlinkSync(this._ipcHandlePath)}};var Zh=st(require("path")),kr=require("vscode");var ey=class{env;disposable=dn;featureDescription="git editor";constructor(e){e&&(this.disposable=e.registerHandler("git-editor",this)),this.env={GIT_EDITOR:`"${Zh.join(__dirname,e?"git-editor.sh":"git-editor-empty.sh")}"`,VSCODE_GIT_EDITOR_NODE:process.execPath,VSCODE_GIT_EDITOR_EXTRA_ARGS:"",VSCODE_GIT_EDITOR_MAIN:Zh.join(__dirname,"git-editor-main.js")}}async handle({commitMessagePath:e}){if(e){let t=kr.Uri.file(e),r=await kr.workspace.openTextDocument(t);return await kr.window.showTextDocument(r,{preview:!1}),new Promise(n=>{let o=kr.window.tabGroups.onDidChangeTabs(async a=>{if(a.closed.some(s=>s.input instanceof kr.TabInputText&&s.input.uri.toString()===t.toString()))return o.dispose(),n(!0)})})}return Promise.resolve(!1)}getEnv(){return kr.workspace.getConfiguration("git").get("useEditorAsCommitInput")?this.env:{}}getTerminalEnv(){let e=kr.workspace.getConfiguration("git");return e.get("useEditorAsCommitInput")&&e.get("terminalGitEditor")?this.env:{}}dispose(){this.disposable.dispose()}},ty=class{constructor(e){this._model=e}_regex=/^#\s+(modified|new file|deleted|renamed|copied|type change):\s+(?<file1>.*?)(?:\s+->\s+(?<file2>.*))*$/gm;provideDocumentLinks(e,t){if(t.isCancellationRequested)return[];let r=this._model.getRepository(e.uri);if(!r)return[];let n=[];for(let o of e.getText().matchAll(this._regex)){if(!o.groups)continue;let{file1:a,file2:s}=o.groups;a&&n.push(this._createDocumentLink(r,e,o,a)),s&&n.push(this._createDocumentLink(r,e,o,s))}return n}_createDocumentLink(e,t,r,n){let o=r[0].indexOf(n),a=t.positionAt(r.index+o),s=t.positionAt(r.index+o+n.length),c=new kr.DocumentLink(new kr.Range(a,s),kr.Uri.file(Zh.join(e.root,n)));return c.tooltip=kr.l10n.t("Open File"),c}};var CC=st(require("path")),Rt=st(require("vscode"));var ry=class{constructor(e){this.model=e;this.providerRegistration=Rt.Disposable.from(Rt.workspace.registerEditSessionIdentityProvider("file",this),Rt.workspace.onWillCreateEditSessionIdentity(t=>{t.waitUntil(this._onWillCreateEditSessionIdentity(t.workspaceFolder).catch(r=>{if(r instanceof Rt.CancellationError)throw r}))}))}providerRegistration;dispose(){this.providerRegistration.dispose()}async provideEditSessionIdentity(e,t){await this.model.openRepository(CC.dirname(e.uri.fsPath));let r=this.model.getRepository(e.uri);if(await r?.status(),!r||!r?.HEAD?.upstream)return;let n=r.remotes.find(a=>a.name===r.HEAD?.upstream?.remote)?.pushUrl?.replace(/^(git@[^\/:]+)(:)/i,"ssh://$1/"),o=n?await Rt.workspace.getCanonicalUri(Rt.Uri.parse(n),{targetScheme:"https"},t):null;return JSON.stringify({remote:o?.toString()??n,ref:r.HEAD?.upstream?.name??null,sha:r.HEAD?.commit??null})}provideEditSessionIdentityMatch(e,t){try{let r=jT(e),n=jT(t);return r.remote===n.remote&&r.ref===n.ref&&r.sha===n.sha?Rt.EditSessionIdentityMatch.Complete:r.remote===n.remote&&r.ref===n.ref&&r.sha!==n.sha?Rt.EditSessionIdentityMatch.Partial:Rt.EditSessionIdentityMatch.None}catch{return Rt.EditSessionIdentityMatch.Partial}}async _onWillCreateEditSessionIdentity(e){await this._doPublish(e)}async _doPublish(e){await this.model.openRepository(CC.dirname(e.uri.fsPath));let t=this.model.getRepository(e.uri);if(t)if(await t.status(),t.HEAD?.commit){if(!t.HEAD?.upstream&&t.HEAD?.type===de.Head){let r=Rt.l10n.t("Publish Branch");if(await Rt.window.showInformationMessage(Rt.l10n.t("The current branch is not published to the remote. Would you like to publish it to access your changes elsewhere?"),{modal:!0},r)!==r)throw new Rt.CancellationError;await Rt.commands.executeCommand("git.publish")}}else{let r=Rt.l10n.t("Yes");if(await Rt.window.showInformationMessage(Rt.l10n.t("Would you like to publish this repository to continue working on it elsewhere?"),{modal:!0},r)!==r)throw new Rt.CancellationError;await t.commit("Initial commit",{all:!0}),await Rt.commands.executeCommand("git.publish")}}};function jT(i){let{remote:e,ref:t,sha:r}=JSON.parse(i);return typeof e=="string"&&e.endsWith(".git")&&(e=e.slice(0,e.length-4)),{remote:e,ref:t,sha:r}}var mt=require("vscode");var iy=class{constructor(e){this.model=e;this.diagnostics=mt.languages.createDiagnosticCollection(),this.migrateInputValidationSettings().then(()=>{pa(Ue(mt.workspace.onDidChangeTextDocument,t=>t.document.uri.scheme==="vscode-scm"),t=>t.document)(this.onDidChangeTextDocument,this,this.disposables),Ue(mt.workspace.onDidChangeConfiguration,t=>t.affectsConfiguration("git.inputValidation")||t.affectsConfiguration("git.inputValidationLength")||t.affectsConfiguration("git.inputValidationSubjectLength"))(this.onDidChangeConfiguration,this,this.disposables)})}diagnostics;severity=mt.DiagnosticSeverity.Warning;disposables=[];getDiagnostics(e){return this.diagnostics.get(e)??[]}async migrateInputValidationSettings(){try{let e=mt.workspace.getConfiguration("git"),t=e.inspect("inputValidation");if(t===void 0)return;typeof t.workspaceValue=="string"&&await e.update("inputValidation",t.workspaceValue!=="off",!1),typeof t.globalValue=="string"&&await e.update("inputValidation",t.workspaceValue!=="off",!0)}catch{}}onDidChangeConfiguration(){for(let e of this.model.repositories)this.onDidChangeTextDocument(e.inputBox.document)}onDidChangeTextDocument(e){let t=mt.workspace.getConfiguration("git");if(!t.get("inputValidation",!1)){this.diagnostics.set(e.uri,void 0);return}if(/^\s+$/.test(e.getText())){let s=new mt.Range(e.lineAt(0).range.start,e.lineAt(e.lineCount-1).range.end),c=new mt.Diagnostic(s,mt.l10n.t("Current commit message only contains whitespace characters"),this.severity);c.code="empty_message",this.diagnostics.set(e.uri,[c]);return}let n=[],o=t.get("inputValidationLength",50),a=t.get("inputValidationSubjectLength",void 0);for(let s=0;s<e.lineCount;s++){let c=e.lineAt(s),l=s===0?a??o:o;if(c.text.length>l){let u=new mt.Diagnostic(c.range,mt.l10n.t("{0} characters over {1} in current line",c.text.length-l,l),this.severity);u.code="line_length",n.push(u)}}this.diagnostics.set(e.uri,n)}dispose(){Ge(this.disposables)}},ny=class{constructor(e){this.diagnosticsManager=e;this.disposables.push(mt.languages.registerCodeActionsProvider({scheme:"vscode-scm"},this))}disposables=[];provideCodeActions(e,t){let r=[],n=this.diagnosticsManager.getDiagnostics(e.uri),o=this.getWrapAllLinesCodeAction(e,n);for(let a of n)if(a.range.contains(t))switch(a.code){case"empty_message":{let s=new mt.WorkspaceEdit;s.delete(e.uri,a.range);let c=new mt.CodeAction(mt.l10n.t("Clear whitespace characters"),mt.CodeActionKind.QuickFix);c.diagnostics=[a],c.edit=s,r.push(c);break}case"line_length":{let s=this.getWrapLineWorkspaceEdit(e,a.range),c=new mt.CodeAction(mt.l10n.t("Hard wrap line"),mt.CodeActionKind.QuickFix);c.diagnostics=[a],c.edit=s,r.push(c),o&&(o.diagnostics=[a],r.push(o));break}}return r}getWrapLineWorkspaceEdit(e,t){let r=this.wrapTextDocumentLine(e,t.start.line),n=new mt.WorkspaceEdit;return n.replace(e.uri,t,r.join(`
`)),n}getWrapAllLinesCodeAction(e,t){let r=t.filter(o=>o.code==="line_length");if(r.length<2)return;let n=new mt.CodeAction(mt.l10n.t("Hard wrap all lines"),mt.CodeActionKind.QuickFix);return n.edit=this.getWrapAllLinesWorkspaceEdit(e,r),n}getWrapAllLinesWorkspaceEdit(e,t){let r=new mt.WorkspaceEdit;for(let n of t){let o=this.wrapTextDocumentLine(e,n.range.start.line);r.replace(e.uri,n.range,o.join(`
`))}return r}wrapTextDocumentLine(e,t){let r=mt.workspace.getConfiguration("git"),n=r.get("inputValidationLength",50),o=r.get("inputValidationSubjectLength",void 0),a=t===0?o??n:n,s=[],c=e.lineAt(t).text.trim(),l=0;for(;c.length-l>a;){let u=c.lastIndexOf(" ",l+a);if(u!==-1&&u>l)s.push(c.substring(l,u)),l=u+1;else{let m=c.indexOf(" ",l+a);m!==-1?(s.push(c.substring(l,m)),l=m+1):(s.push(c.substring(l)),l=c.length)}}return l<c.length&&s.push(c.substring(l)),s}dispose(){Ge(this.disposables)}};var Ie=require("vscode");function VT(i,e){return i.some(t=>t.modified.startLineNumber<=e&&e<t.modified.endLineNumberExclusive)}function oy(i,e){return e-i}function aM(i,e){if(e.length===0)return i;for(let t of e){if(i<t.modified.startLineNumber)break;if(t.kind===Ie.TextEditorChangeKind.Addition)i=i-oy(t.modified.startLineNumber,t.modified.endLineNumberExclusive);else if(t.kind===Ie.TextEditorChangeKind.Deletion)i=i+oy(t.original.startLineNumber,t.original.endLineNumberExclusive);else if(t.kind===Ie.TextEditorChangeKind.Modification){let r=oy(t.original.startLineNumber,t.original.endLineNumberExclusive),n=oy(t.modified.startLineNumber,t.modified.endLineNumberExclusive);r!==n&&(i=i-(n-r))}else throw new Error("Unexpected change kind")}return i}function zT(i){let e=new Ie.Position(i,Number.MAX_SAFE_INTEGER);return new Ie.Range(e,e)}function JT(i){return i.scheme==="file"||fn(i)}function sM(i,e){if(i===e)return!0;if(!i||!e||i.resource.toString()!==e.resource.toString()||i.blameInformation.length!==e.blameInformation.length)return!1;for(let t=0;t<i.blameInformation.length;t++){if(i.blameInformation[t].lineNumber!==e.blameInformation[t].lineNumber)return!1;let r=i.blameInformation[t].blameInformation,n=e.blameInformation[t].blameInformation;if(typeof r=="string"&&typeof n=="string"){if(r!==n)return!1}else if(typeof r!="string"&&typeof n!="string"){if(r.hash!==n.hash)return!1}else return!1}return!0}var wC=class{_cache=new Map;clear(){this._cache.clear()}delete(e){return this._cache.delete(e)}get(e,t,r){let n=this._getCacheKey(t,r);return this._cache.get(e)?.get(n)}set(e,t,r,n){this._cache.has(e)||this._cache.set(e,new xo(100));let o=this._getCacheKey(t,r);this._cache.get(e).set(o,n)}_getCacheKey(e,t){return $e(e,t).toString()}},Tm=class{constructor(e){this._model=e;Ie.workspace.onDidChangeConfiguration(this._onDidChangeConfiguration,this,this._disposables),this._onDidChangeConfiguration()}_subjectMaxLength=50;_onDidChangeBlameInformation=new Ie.EventEmitter;onDidChangeBlameInformation=this._onDidChangeBlameInformation.event;_textEditorBlameInformation;get textEditorBlameInformation(){return this._textEditorBlameInformation}set textEditorBlameInformation(e){sM(this._textEditorBlameInformation,e)||(this._textEditorBlameInformation=e,this._onDidChangeBlameInformation.fire())}_HEAD;_commitInformationCache=new xo(100);_repositoryBlameCache=new wC;_editorDecoration;_statusBarItem;_repositoryDisposables=new Map;_enablementDisposables=[];_disposables=[];formatBlameInformationMessage(e,t,r){let n={hash:r.hash,hashShort:_s(e,r.hash),subject:So(mi(r.subject??"",this._subjectMaxLength)),authorName:r.authorName??"",authorEmail:r.authorEmail??"",authorDate:new Date(r.authorDate??new Date).toLocaleString(),authorDateAgo:Do(r.authorDate??new Date,!0,!0)};return t.replace(/\$\{(.+?)\}/g,(o,a)=>n.hasOwnProperty(a)?n[a]:`\${${a}}`)}async getBlameInformationHover(e,t){let r=[],n,o,a,s=this._model.getRepository(e);if(s){try{o=this._commitInformationCache.get(t.hash),o||(o=await s.getCommit(t.hash),this._commitInformationCache.set(t.hash,o));let v={commits:[{hash:t.hash,authorName:t.authorName,authorEmail:t.authorEmail}],size:bf};n=(await Rs(this._model,s,v))?.get(t.hash)}catch{}(await s.getUnpublishedCommits()).has(t.hash)||r.push(...await qc(this._model,s)??[]),a=await Ss(this._model,s,o?.message??t.subject??"")}let c=o?.hash??t.hash,l=o?.authorName??t.authorName,u=o?.authorEmail??t.authorEmail,m=o?.authorDate??t.authorDate,f=a??o?.message??t.subject??"",g=[Xc(e,c),Zc(r,c)];return g.push([{title:"$(gear)",tooltip:Ie.l10n.t("Open Settings"),command:"workbench.action.openSettings",arguments:["git.blame"]}]),Qc(n,l,u,m,f,o?.shortStat,g,o?.coAuthors)}_onDidChangeConfiguration(e){if(e&&!e.affectsConfiguration("git.blame.ignoreWhitespace")&&!e.affectsConfiguration("git.blame.editorDecoration.enabled")&&!e.affectsConfiguration("git.blame.statusBarItem.enabled"))return;if(e&&e.affectsConfiguration("git.blame.ignoreWhitespace")){this._repositoryBlameCache.clear(),this._updateTextEditorBlameInformation(Ie.window.activeTextEditor);return}let t=Ie.workspace.getConfiguration("git"),r=t.get("blame.editorDecoration.enabled")===!0,n=t.get("blame.statusBarItem.enabled")===!0;if(r?this._editorDecoration||(this._editorDecoration=new DC(this)):(this._editorDecoration?.dispose(),this._editorDecoration=void 0),n?this._statusBarItem||(this._statusBarItem=new RC(this)):(this._statusBarItem?.dispose(),this._statusBarItem=void 0),r||n){if(this._enablementDisposables.length===0){this._model.onDidOpenRepository(this._onDidOpenRepository,this,this._enablementDisposables),this._model.onDidCloseRepository(this._onDidCloseRepository,this,this._enablementDisposables);for(let o of this._model.repositories)this._onDidOpenRepository(o);Ie.window.onDidChangeActiveTextEditor(o=>this._updateTextEditorBlameInformation(o),this,this._enablementDisposables),Ie.window.onDidChangeTextEditorSelection(o=>this._updateTextEditorBlameInformation(o.textEditor,"selection"),this,this._enablementDisposables),Ie.window.onDidChangeTextEditorDiffInformation(o=>this._updateTextEditorBlameInformation(o.textEditor),this,this._enablementDisposables)}}else this._enablementDisposables=Ge(this._enablementDisposables);this._updateTextEditorBlameInformation(Ie.window.activeTextEditor)}_onDidOpenRepository(e){let t=[];e.onDidRunGitStatus(()=>this._onDidRunGitStatus(e),this,t),this._repositoryDisposables.set(e,t)}_onDidCloseRepository(e){let t=this._repositoryDisposables.get(e);t&&Ge(t),this._repositoryDisposables.delete(e),this._repositoryBlameCache.delete(e)}_onDidRunGitStatus(e){!e.HEAD?.commit||this._HEAD===e.HEAD.commit||(this._HEAD=e.HEAD.commit,this._updateTextEditorBlameInformation(Ie.window.activeTextEditor))}async _getBlameInformation(e,t){let r=this._model.getRepository(e);if(!r)return;let n=this._repositoryBlameCache.get(r,e,t);if(n)return n;await Ds();let o=await r.blame2(e.fsPath,t)??[];return this._repositoryBlameCache.set(r,e,t,o),o}async _updateTextEditorBlameInformation(e,t){if(e){if(!e.diffInformation||e!==Ie.window.activeTextEditor)return}else{this.textEditorBlameInformation=void 0;return}let r=this._model.getRepository(e.document.uri);if(!r||!r.HEAD?.commit)return;if(!JT(e.document.uri)){this.textEditorBlameInformation=void 0;return}if(t!=="selection"&&e.selections.length===1&&e.selections[0].start.line===0&&e.selections[0].start.character===0&&e.selections[0].end.line===0&&e.selections[0].end.character===0){this.textEditorBlameInformation=void 0;return}let n,o,a;if(fn(e.document.uri)){let{ref:u}=Rr(e.document.uri);if(/^[0-9a-f]{40}$/i.test(u)||u==="HEAD"||u==="~")o=n=[],a=void 0;else if(u===""){let m=yv(e);if(m&&m.isStale){this.textEditorBlameInformation=void 0;return}o=[],a=n=m?.changes??[]}else throw new Error(`Unexpected ref: ${u}`)}else{let u=xs(e);if(!u||u.isStale){this.textEditorBlameInformation=void 0;return}let m=yv(e);if(m&&m.isStale){this.textEditorBlameInformation=void 0;return}o=u.changes,a=m?.changes,n=a??o}let s;if(!fn(e.document.uri))s=r.HEAD.commit;else{let{ref:u}=Rr(e.document.uri);s=/^[0-9a-f]{40}$/i.test(u)?u:r.HEAD.commit}let c=await this._getBlameInformation(e.document.uri,s);if(!c)return;let l=[];for(let u of new Set(e.selections.map(m=>m.active.line))){if(VT(o,u+1)){t==="selection"&&l.push({lineNumber:u,blameInformation:Ie.l10n.t("Not Committed Yet")});continue}if(VT(a??[],u+1)){l.push({lineNumber:u,blameInformation:Ie.l10n.t("Not Committed Yet (Staged)")});continue}let m=aM(u+1,n),f=c.find(g=>g.ranges.find(p=>m>=p.startLineNumber&&m<=p.endLineNumber));f&&l.push({lineNumber:u,blameInformation:f})}this.textEditorBlameInformation={resource:e.document.uri,blameInformation:l}}dispose(){for(let e of this._repositoryDisposables.values())Ge(e);this._repositoryDisposables.clear(),this._disposables=Ge(this._disposables)}};D([Sr],Tm.prototype,"_updateTextEditorBlameInformation",1);var DC=class{constructor(e){this._controller=e;this._decoration=Ie.window.createTextEditorDecorationType({after:{color:new Ie.ThemeColor("git.blame.editorDecorationForeground")}}),this._disposables.push(this._decoration),Ie.workspace.onDidChangeConfiguration(this._onDidChangeConfiguration,this,this._disposables),Ie.window.onDidChangeActiveTextEditor(this._onDidChangeActiveTextEditor,this,this._disposables),this._controller.onDidChangeBlameInformation(()=>this._onDidChangeBlameInformation(),this,this._disposables),this._onDidChangeConfiguration()}_template="";_decoration;_hoverDisposable;_disposables=[];async provideHover(e,t,r){if(r.isCancellationRequested)return;let n=Ie.window.activeTextEditor;if(!n||t.character!==e.lineAt(t.line).range.end.character)return;let a=this._controller.textEditorBlameInformation?.blameInformation?.find(c=>c.lineNumber===t.line);if(!a||typeof a.blameInformation=="string")return;let s=await this._controller.getBlameInformationHover(n.document.uri,a.blameInformation);if(!(!s||r.isCancellationRequested))return{range:zT(t.line),contents:[s]}}_onDidChangeConfiguration(e){if(e&&!e.affectsConfiguration("git.commitShortHashLength")&&!e.affectsConfiguration("git.blame.editorDecoration.template")&&!e.affectsConfiguration("git.blame.editorDecoration.disableHover"))return;let t=Ie.workspace.getConfiguration("git");this._template=t.get("blame.editorDecoration.template","${subject}, ${authorName} (${authorDateAgo})"),this._registerHoverProvider(),this._onDidChangeBlameInformation()}_onDidChangeActiveTextEditor(){for(let e of Ie.window.visibleTextEditors)e!==Ie.window.activeTextEditor&&e.setDecorations(this._decoration,[]);this._registerHoverProvider()}_onDidChangeBlameInformation(){let e=Ie.window.activeTextEditor;if(!e)return;let t=this._controller.textEditorBlameInformation?.blameInformation;if(!t||t.length===0){e.setDecorations(this._decoration,[]);return}let r=t.map(n=>{let o=typeof n.blameInformation!="string"?this._controller.formatBlameInformationMessage(e.document.uri,this._template,n.blameInformation):n.blameInformation;return this._createDecoration(n.lineNumber,o)});e.setDecorations(this._decoration,r)}_createDecoration(e,t){return{range:zT(e),renderOptions:{after:{contentText:t,margin:"0 0 0 50px"}}}}_registerHoverProvider(){this._hoverDisposable?.dispose(),!Ie.workspace.getConfiguration("git").get("blame.editorDecoration.disableHover",!1)&&Ie.window.activeTextEditor&&JT(Ie.window.activeTextEditor.document.uri)&&(this._hoverDisposable=Ie.languages.registerHoverProvider({pattern:Ie.window.activeTextEditor.document.uri.fsPath},this))}dispose(){this._hoverDisposable?.dispose(),this._hoverDisposable=void 0,this._disposables=Ge(this._disposables)}},RC=class{constructor(e){this._controller=e;this._statusBarItem=Ie.window.createStatusBarItem("git.blame",Ie.StatusBarAlignment.Right,200),this._statusBarItem.name=Ie.l10n.t("Git Blame Information"),this._disposables.push(this._statusBarItem),Ie.workspace.onDidChangeConfiguration(this._onDidChangeConfiguration,this,this._disposables),this._controller.onDidChangeBlameInformation(()=>this._onDidChangeBlameInformation(),this,this._disposables),this._onDidChangeConfiguration()}_template="";_statusBarItem;_disposables=[];_onDidChangeConfiguration(e){if(e&&!e.affectsConfiguration("git.commitShortHashLength")&&!e.affectsConfiguration("git.blame.statusBarItem.template"))return;let t=Ie.workspace.getConfiguration("git");this._template=t.get("blame.statusBarItem.template","${authorName} (${authorDateAgo})"),this._onDidChangeBlameInformation()}async _onDidChangeBlameInformation(){if(!Ie.window.activeTextEditor){this._statusBarItem.hide();return}let e=this._controller.textEditorBlameInformation?.blameInformation;if(!e||e.length===0){this._statusBarItem.hide();return}if(typeof e[0].blameInformation=="string")this._statusBarItem.text=`$(git-commit) ${e[0].blameInformation}`,this._statusBarItem.tooltip=Ie.l10n.t("Git Blame Information"),this._statusBarItem.command=void 0;else{this._statusBarItem.text=`$(git-commit) ${this._controller.formatBlameInformationMessage(Ie.window.activeTextEditor.document.uri,this._template,e[0].blameInformation)}`,this._statusBarItem.tooltip2=n=>this._provideTooltip(Ie.window.activeTextEditor.document.uri,e[0].blameInformation,n);let t=Ie.window.activeTextEditor.document.uri,r=e[0].blameInformation.hash;this._statusBarItem.command={title:Ie.l10n.t("Open Commit"),command:"git.viewCommit",arguments:[t,r,t]}}this._statusBarItem.show()}async _provideTooltip(e,t,r){if(r.isCancellationRequested)return;let n=await this._controller.getBlameInformationHover(e,t);return r.isCancellationRequested?void 0:n}dispose(){this._disposables=Ge(this._disposables)}};var SC=st(require("path")),qT=st(require("fs")),PC=st(require("os"));var dt=require("vscode");var ay=class{constructor(e,t,r){this.model=e;this.telemetryReporter=t;this.repositoryCache=r}async clone(e,t={}){if((!e||typeof e!="string")&&(e=await Nf({providerLabel:n=>dt.l10n.t("Clone from {0}",n.name),urlLabel:dt.l10n.t("Clone from URL")})),!e){this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"no_URL"});return}e=e.trim().replace(/^git\s+clone\s+/,"");let r=this.repositoryCache.get(e);return r&&r.length>0?this.tryOpenExistingRepository(r,e,t.postCloneAction,t.parentPath,t.ref):this.cloneRepository(e,t.parentPath,t)}async cloneRepository(e,t,r={}){if(!t){let o=dt.workspace.getConfiguration("git").get("defaultCloneDirectory")||PC.homedir();o=o.replace(/^~/,PC.homedir());let a=await dt.window.showOpenDialog({canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,defaultUri:dt.Uri.file(o),title:dt.l10n.t("Choose a folder to clone {0} into",e),openLabel:dt.l10n.t("Select as Repository Destination")});if(!a||a.length===0){this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"no_directory"});return}t=a[0].fsPath}try{let n={location:dt.ProgressLocation.Notification,title:dt.l10n.t('Cloning git repository "{0}"...',e),cancellable:!0},o=await dt.window.withProgress(n,(a,s)=>this.model.git.clone(e,{parentPath:t,progress:a,recursive:r.recursive,ref:r.ref},s));return await this.doPostCloneAction(o,r.postCloneAction),o}catch(n){if(/already exists and is not an empty directory/.test(n&&n.stderr||""))this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"directory_not_empty"});else{if(/Cancelled/i.test(n&&(n.message||n.stderr||"")))return;this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"error"})}throw n}}async doPostCloneAction(e,t){let n=dt.workspace.getConfiguration("git").get("openAfterClone"),o;if(t&&t==="none"?o=3:n==="always"?o=0:n==="alwaysNewWindow"?o=1:n==="whenNoFolderOpen"&&!dt.workspace.workspaceFolders&&(o=0),o===void 0){let s=dt.l10n.t("Would you like to open the repository?"),c=dt.l10n.t("Open"),l=dt.l10n.t("Open in New Window"),u=[c,l],m=dt.l10n.t("Add to Workspace");dt.workspace.workspaceFolders&&(s=dt.l10n.t("Would you like to open the repository, or add it to the current workspace?"),u.push(m));let f=await dt.window.showInformationMessage(s,{modal:!0},...u);o=f===c?0:f===l?1:f===m?2:void 0}this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"success"},{openFolder:o===0||o===1?1:0});let a=dt.Uri.file(e);o===0?dt.commands.executeCommand("vscode.openFolder",a,{forceReuseWindow:!0}):o===2?dt.workspace.updateWorkspaceFolders(dt.workspace.workspaceFolders.length,0,{uri:a}):o===1&&dt.commands.executeCommand("vscode.openFolder",a,{forceNewWindow:!0})}async chooseExistingRepository(e,t,r,n,o){try{let a=t.map(u=>({label:u.workspacePath.endsWith(".code-workspace")?dt.l10n.t("Workspace: {0}",SC.basename(u.workspacePath,".code-workspace")):SC.basename(u.workspacePath),description:u.workspacePath,item:u})),s={label:dt.l10n.t("Clone again")};a.push(s);let c=dt.l10n.t("Open Existing Repository Clone"),l=await dt.window.showQuickPick(a,{placeHolder:c,canPickMany:!1});return l===s?await this.cloneRepository(e,n,{ref:r,postCloneAction:o})??void 0:l?.item?l.item.workspacePath:void 0}catch{return}}async tryOpenExistingRepository(e,t,r,n,o){let a=(await Promise.all(e.map(async l=>{if(await qT.promises.stat(l.workspacePath).catch(()=>{}))return l}))).filter(l=>l!==void 0);if(!a.length)return await this.cloneRepository(t,n,{ref:o,postCloneAction:r})??void 0;let s=a?.find(l=>dt.workspace.workspaceFolders?.some(u=>u.uri.fsPath===l.workspacePath));if(s)return s.workspacePath;let c=a.length===1?a[0].workspacePath:void 0;if(c||(c=await this.chooseExistingRepository(t,a,o,n,r)),c)return await this.doPostCloneAction(c,r),c}};var XT=st(require("crypto")),zi=st(require("fs")),qt=st(require("path")),ZT=st(require("child_process")),e0=require("vscode");function cM(){if(process.platform!=="win32")return!1;try{let i=qt.join(e0.env.appRoot,"product.json"),t=JSON.parse(zi.readFileSync(i,"utf8")).target;return t==="user"||t==="system"}catch{return!1}}function lM(i){let e=XT.createHash("sha256"),t=[i.askpass,i.askpassMain,i.sshAskpass,i.askpassEmpty,i.sshAskpassEmpty];for(let r of t){let n=zi.readFileSync(r);e.update(n),e.update(qt.basename(r))}return e.digest("hex").substring(0,16)}async function t0(i,e){let t=process.env.USERNAME;if(!t){e.warn("[askpassManager] Cannot set Windows permissions: USERNAME not set");return}return new Promise(r=>{let n=[i,"/inheritance:r","/grant:r",`${t}:F`];ZT.execFile("icacls",n,(o,a,s)=>{o?(e.warn(`[askpassManager] Failed to set permissions on ${i}: ${o.message}`),s&&e.warn(`[askpassManager] icacls stderr: ${s}`)):e.trace(`[askpassManager] Set permissions on ${i}`),r()})})}async function Im(i,e,t){let r=await zi.promises.readFile(i);await zi.promises.writeFile(e,r),await t0(e,t)}async function QT(i,e){try{let t=new Date;await zi.promises.utimes(i,t,t),e.trace(`[askpassManager] Updated mtime for ${i}`)}catch(t){e.warn(`[askpassManager] Failed to update mtime for ${i}: ${t}`)}}async function uM(i,e,t){try{try{await zi.promises.access(i)}catch{return}let r=await zi.promises.readdir(i),n=Date.now()-10080*60*1e3;for(let o of r){if(o===e)continue;let a=qt.join(i,o);try{let s=await zi.promises.stat(a);if(!s.isDirectory())continue;s.mtime.getTime()<n?(t.info(`[askpassManager] Removing old askpass directory: ${a} (last used: ${s.mtime.toISOString()})`),await zi.promises.rm(a,{recursive:!0,force:!0})):t.trace(`[askpassManager] Keeping askpass directory: ${a} (last used: ${s.mtime.toISOString()})`)}catch(s){t.warn(`[askpassManager] Failed to process/remove directory ${a}: ${s}`)}}}catch(r){t.warn(`[askpassManager] Failed to garbage collect old directories: ${r}`)}}async function dM(i,e,t){let r={askpass:qt.join(i,"askpass.sh"),askpassMain:qt.join(i,"askpass-main.js"),sshAskpass:qt.join(i,"ssh-askpass.sh"),askpassEmpty:qt.join(i,"askpass-empty.sh"),sshAskpassEmpty:qt.join(i,"ssh-askpass-empty.sh")},n=lM(r);t.trace(`[askpassManager] Content hash: ${n}`);let o=qt.join(e,"askpass"),a=qt.join(o,n),s={askpass:qt.join(a,"askpass.sh"),askpassMain:qt.join(a,"askpass-main.js"),sshAskpass:qt.join(a,"ssh-askpass.sh"),askpassEmpty:qt.join(a,"askpass-empty.sh"),sshAskpassEmpty:qt.join(a,"ssh-askpass-empty.sh")};try{if((await zi.promises.stat(s.askpass)).isFile())return t.trace(`[askpassManager] Using existing content-addressed askpass at ${a}`),await QT(a,t),s}catch{}return t.info(`[askpassManager] Creating content-addressed askpass scripts at ${a}`),await zi.promises.mkdir(a,{recursive:!0}),await t0(a,t),await Promise.all([Im(r.askpass,s.askpass,t),Im(r.askpassMain,s.askpassMain,t),Im(r.sshAskpass,s.sshAskpass,t),Im(r.askpassEmpty,s.askpassEmpty,t),Im(r.sshAskpassEmpty,s.sshAskpassEmpty,t)]),t.info("[askpassManager] Successfully created content-addressed askpass scripts"),await QT(a,t),await uM(o,n,t),s}async function r0(i,e,t){if(e&&cM())try{return await dM(i,e,t)}catch(r){t.error(`[askpassManager] Failed to create content-addressed askpass scripts: ${r}`)}return{askpass:qt.join(i,"askpass.sh"),askpassMain:qt.join(i,"askpass-main.js"),sshAskpass:qt.join(i,"ssh-askpass.sh"),askpassEmpty:qt.join(i,"askpass-empty.sh"),sshAskpassEmpty:qt.join(i,"ssh-askpass-empty.sh")}}var s0=[];async function fM(){for(let i of s0)await i()}async function n0(i,e,t,r){let n=ke.workspace.getConfiguration("git").get("path"),o=Array.isArray(n)?n:n?[n]:[],{isTrusted:a,workspaceFolders:s=[]}=ke.workspace,c=a?[]:s.map(H=>Bc.normalize(H.uri.fsPath).replace(/[\r\n]+$/,""));!a&&o.length!==0&&(o=o.filter(H=>Bc.isAbsolute(H)));let l=await Hw(o,H=>{if(e.info(ke.l10n.t('[main] Validating found git in: "{0}"',H)),c.length===0)return!0;let I=Bc.normalize(H).replace(/[\r\n]+$/,""),ee=c.some(ce=>I.startsWith(ce));return ee&&e.info(ke.l10n.t('[main] Skipped found git in: "{0}"',H)),!ee},e),u;try{u=await KT(i.storagePath)}catch(H){e.error(`[main] Failed to create git IPC: ${H}`)}let m=await r0(__dirname,i.globalStorageUri.fsPath,e),f=new $f(u,e,m);r.push(f);let g=new ey(u);r.push(g);let p={...f.getEnv(),...g.getEnv(),...u?.getEnv()},v=new Jh(i,[f,g,u]);r.push(v),e.info(ke.l10n.t('[main] Using git "{0}" from "{1}"',l.version,l.path));let _=new af({gitPath:l.path,userAgent:`git/${l.version} (${_o.version()??_o.type()} ${_o.release()}; ${_o.platform()} ${_o.arch()}) vscode/${ke.version} (${ke.env.appName})`,version:l.version,env:p}),P=new Ps(_,f,i.globalState,i.workspaceState,e,t);r.push(P);let w=new ay(P,t,P.repositoryCache),R=()=>ke.commands.executeCommand("setContext","gitOpenRepositoryCount",`${P.repositories.length}`);P.onDidOpenRepository(R,null,r),P.onDidCloseRepository(R,null,r),R();let T=H=>{let I=H.split(/\r?\n/mg);for(;/^\s*$/.test(I[I.length-1]);)I.pop();e.appendLine(I.join(`
`))};_.onOutput.addListener("log",T),r.push(Mr(()=>_.onOutput.removeListener("log",T)));let L=new A(_,P,i.globalState,e,t,w);r.push(L,new nl(P,e),new Yf(P),new Tm(P),new Ku(P,L),new ry(P),new qh(P,e));let W=new Ef(P);P.registerPostCommitCommandsProvider(W);let $=new iy(P);r.push($);let G=new ny($);r.push(G);let Y=ke.languages.registerDocumentLinkProvider("git-commit",new ty(P));return r.push(Y),_M(l),ke.commands.executeCommand("setContext","gitVersion2.35",_.compareGitVersionTo("2.35")>=0),{model:P,cloneManager:w}}async function pM(i){if(i.uri.scheme!=="file")return!1;let e=Bc.join(i.uri.fsPath,".git");try{return(await new Promise((r,n)=>a0.stat(e,(o,a)=>o?n(o):r(a)))).isDirectory()}catch{return!1}}async function gM(){let i=ke.workspace.getConfiguration("git");if(i.get("ignoreMissingGitWarning")===!0||!ke.workspace.workspaceFolders||(await Promise.all(ke.workspace.workspaceFolders.map(pM))).every(a=>!a))return;let r=ke.l10n.t("Download Git"),n=ke.l10n.t("Don't Show Again"),o=await ke.window.showWarningMessage(ke.l10n.t('Git not found. Install it or configure it using the "git.path" setting.'),r,n);o===r?ke.commands.executeCommand("vscode.open",ke.Uri.parse("https://aka.ms/vscode-download-git")):o===n&&await i.update("ignoreMissingGitWarning",!0,!0)}async function c0(i){let e=[];i.subscriptions.push(new ke.Disposable(()=>ke.Disposable.from(...e).dispose()));let t=ke.window.createOutputChannel("Git",{log:!0});e.push(t);let r=c=>{t.appendLine(ke.l10n.t("[main] Log level: {0}",ke.LogLevel[c]))};e.push(t.onDidChangeLogLevel(r)),r(t.logLevel);let{aiKey:n}=i0(),o=new o0.default(n);if(s0.push(()=>o.dispose()),!ke.workspace.getConfiguration("git",null).get("enabled")){let c=Ue(ke.workspace.onDidChangeConfiguration,m=>m.affectsConfiguration("git")),l=Ue(c,()=>ke.workspace.getConfiguration("git",null).get("enabled")===!0),u=new ps;return Ai(l).then(async()=>{let{model:m,cloneManager:f}=await n0(i,t,o,e);u.model=m,u.cloneManager=f}),u}try{let{model:c,cloneManager:l}=await n0(i,t,o,e);return new ps({model:c,cloneManager:l})}catch(c){if(console.warn(c.message),t.warn(`[main] Failed to create model: ${c}`),!/Git installation not found/.test(c.message||""))throw c;return o.sendTelemetryEvent("git.missing"),ke.commands.executeCommand("setContext","git.missing",!0),gM(),new ps}finally{e.push(new zh(t))}}var l0;function ev(){return l0}async function hM(i){l0=i;let e=await c0(i);return i.subscriptions.push(vD(e)),e}async function yM(i){let e=ke.workspace.getConfiguration("git");if(e.get("ignoreLegacyWarning")===!0||!/^[01]/.test(i.version))return;let r=ke.l10n.t("Update Git"),n=ke.l10n.t("Don't Show Again"),o=await ke.window.showWarningMessage(ke.l10n.t('You seem to have git "{0}" installed. Code works best with git >= 2',i.version),r,n);o===r?ke.commands.executeCommand("vscode.open",ke.Uri.parse("https://aka.ms/vscode-download-git")):o===n&&await e.update("ignoreLegacyWarning",!0,!0)}async function vM(i){if(!/^2\.(25|26)\./.test(i.version))return;let e=ke.workspace.getConfiguration("git");if(e.get("ignoreWindowsGit27Warning")===!0)return;let r=ke.l10n.t("Update Git"),n=ke.l10n.t("Don't Show Again"),o=await ke.window.showWarningMessage(ke.l10n.t('There are known issues with the installed Git "{0}". Please update to Git >= 2.27 for the git features to work correctly.',i.version),r,n);o===r?ke.commands.executeCommand("vscode.open",ke.Uri.parse("https://aka.ms/vscode-download-git")):o===n&&await e.update("ignoreWindowsGit27Warning",!0,!0)}async function _M(i){await yM(i),process.platform==="win32"&&await vM(i)}0&&(module.exports={_activate,activate,deactivate,getExtensionContext});
/*! Bundled license information:

ieee754/index.js:
  (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)

@nevware21/ts-utils/dist/es5/mod/ts-utils.js:
  (*! https://github.com/nevware21/ts-utils v0.11.6 *)

@nevware21/ts-async/dist/es5/mod/ts-async.js:
  (*!
   * NevWare21 Solutions LLC - ts-async, 0.5.4
   * https://github.com/nevware21/ts-async
   * Copyright (c) NevWare21 Solutions LLC and contributors. All rights reserved.
   * Licensed under the MIT license.
   *)
*/
//# sourceMappingURL=main.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit