code-server
Version:
Run VS Code on a remote server.
140 lines • 765 kB
JavaScript
"use strict";var MI=Object.create;var Zu=Object.defineProperty;var yE=Object.getOwnPropertyDescriptor;var LI=Object.getOwnPropertyNames;var FI=Object.getPrototypeOf,BI=Object.prototype.hasOwnProperty;var J=(i,e,t)=>()=>{if(t)throw t[0];try{return i&&(e=i(i=0)),e}catch(r){throw t=[r],r}};var Tt=(i,e)=>()=>{try{return e||i((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},dl=(i,e)=>{for(var t in e)Zu(i,t,{get:e[t],enumerable:!0})},vE=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of LI(e))!BI.call(i,n)&&n!==t&&Zu(i,n,{get:()=>e[n],enumerable:!(r=yE(e,n))||r.enumerable});return i};var ze=(i,e,t)=>(t=i!=null?MI(FI(i)):{},vE(e||!i||!i.__esModule?Zu(t,"default",{value:i,enumerable:!0}):t,i)),fl=i=>vE(Zu({},"__esModule",{value:!0}),i),D=(i,e,t,r)=>{for(var n=r>1?void 0:r?yE(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&&Zu(e,t,n),n};var bE=Tt(ml=>{"use strict";Object.defineProperty(ml,"__esModule",{value:!0});ml.sync=ml.isexe=void 0;var GI=require("fs"),HI=require("fs/promises"),UI=async(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return _E(await(0,HI.stat)(i),e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};ml.isexe=UI;var WI=(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return _E((0,GI.statSync)(i),e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};ml.sync=WI;var _E=(i,e)=>i.isFile()&&YI(i,e),YI=(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),f=parseInt("001",8),m=l|u;return!!(a&f||a&u&&o.has(c)||a&l&&s===t||a&m&&t===0)}});var wE=Tt(pl=>{"use strict";Object.defineProperty(pl,"__esModule",{value:!0});pl.sync=pl.isexe=void 0;var $I=require("fs"),KI=require("fs/promises"),jI=async(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return CE(await(0,KI.stat)(i),i,e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};pl.isexe=jI;var zI=(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return CE((0,$I.statSync)(i),i,e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};pl.sync=zI;var VI=(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},CE=(i,e,t)=>i.isFile()&&VI(e,t)});var DE=Tt(EE=>{"use strict";Object.defineProperty(EE,"__esModule",{value:!0})});var IE=Tt(br=>{"use strict";var RE=br&&br.__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]})),JI=br&&br.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),SE=br&&br.__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)&&RE(e,i,t);return JI(e,i),e},qI=br&&br.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&RE(e,i,t)};Object.defineProperty(br,"__esModule",{value:!0});br.sync=br.isexe=br.posix=br.win32=void 0;var xE=SE(bE());br.posix=xE;var PE=SE(wE());br.win32=PE;qI(DE(),br);var QI=process.env._ISEXE_TEST_PLATFORM_||process.platform,TE=QI==="win32"?PE:xE;br.isexe=TE.isexe;br.sync=TE.sync});var HE=Tt((PB,GE)=>{var{isexe:XI,sync:ZI}=IE(),{join:eA,delimiter:tA,sep:AE,posix:kE}=require("path"),NE=process.platform==="win32",OE=new RegExp(`[${kE.sep}${AE===kE.sep?"":AE}]`.replace(/(\\)/g,"\\$1")),rA=new RegExp(`^\\.${OE.source}`),ME=i=>Object.assign(new Error(`not found: ${i}`),{code:"ENOENT"}),LE=(i,{path:e=process.env.PATH,pathExt:t=process.env.PATHEXT,delimiter:r=tA})=>{let n=i.match(OE)?[""]:[...NE?[process.cwd()]:[],...(e||"").split(r)];if(NE){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:[""]}},FE=(i,e)=>{let t=/^".*"$/.test(i)?i.slice(1,-1):i;return(!t&&rA.test(e)?e.slice(0,2):"")+eA(t,e)},BE=async(i,e={})=>{let{pathEnv:t,pathExt:r,pathExtExe:n}=LE(i,e),o=[];for(let a of t){let s=FE(a,i);for(let c of r){let l=s+c;if(await XI(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 ME(i)},iA=(i,e={})=>{let{pathEnv:t,pathExt:r,pathExtExe:n}=LE(i,e),o=[];for(let a of t){let s=FE(a,i);for(let c of r){let l=s+c;if(ZI(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 ME(i)};GE.exports=BE;BE.sync=iA});var $E=Tt(Uy=>{Uy.read=function(i,e,t,r,n){var o,a,s=n*8-r-1,c=(1<<s)-1,l=c>>1,u=-7,f=t?n-1:0,m=t?-1:1,h=i[e+f];for(f+=m,o=h&(1<<-u)-1,h>>=-u,u+=s;u>0;o=o*256+i[e+f],f+=m,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=r;u>0;a=a*256+i[e+f],f+=m,u-=8);if(o===0)o=1-l;else{if(o===c)return a?NaN:(h?-1:1)*(1/0);a=a+Math.pow(2,r),o=o-l}return(h?-1:1)*a*Math.pow(2,o-r)};Uy.write=function(i,e,t,r,n,o){var a,s,c,l=o*8-n-1,u=(1<<l)-1,f=u>>1,m=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,p=r?1:-1,y=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+f>=1?e+=m/c:e+=m*Math.pow(2,1-f),e*c>=2&&(a++,c/=2),a+f>=u?(s=0,a=u):a+f>=1?(s=(e*c-1)*Math.pow(2,n),a=a+f):(s=e*Math.pow(2,f-1)*Math.pow(2,n),a=0));n>=8;i[t+h]=s&255,h+=p,s/=256,n-=8);for(a=a<<n|s,l+=n;l>0;i[t+h]=a&255,h+=p,a/=256,l-=8);i[t+h-p]|=y*128}});var XE=Tt((PG,QE)=>{var gl=1e3,yl=gl*60,vl=yl*60,Fs=vl*24,vA=Fs*7,_A=Fs*365.25;QE.exports=function(i,e){e=e||{};var t=typeof i;if(t==="string"&&i.length>0)return bA(i);if(t==="number"&&isFinite(i))return e.long?wA(i):CA(i);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(i))};function bA(i){if(i=String(i),!(i.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(i);if(e){var t=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return t*_A;case"weeks":case"week":case"w":return t*vA;case"days":case"day":case"d":return t*Fs;case"hours":case"hour":case"hrs":case"hr":case"h":return t*vl;case"minutes":case"minute":case"mins":case"min":case"m":return t*yl;case"seconds":case"second":case"secs":case"sec":case"s":return t*gl;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function CA(i){var e=Math.abs(i);return e>=Fs?Math.round(i/Fs)+"d":e>=vl?Math.round(i/vl)+"h":e>=yl?Math.round(i/yl)+"m":e>=gl?Math.round(i/gl)+"s":i+"ms"}function wA(i){var e=Math.abs(i);return e>=Fs?_m(i,e,Fs,"day"):e>=vl?_m(i,e,vl,"hour"):e>=yl?_m(i,e,yl,"minute"):e>=gl?_m(i,e,gl,"second"):i+" ms"}function _m(i,e,t,r){var n=e>=t*1.5;return Math.round(i/t)+" "+r+(n?"s":"")}});var Yy=Tt((TG,ZE)=>{function EA(i){t.debug=t,t.default=t,t.coerce=c,t.disable=a,t.enable=n,t.enabled=s,t.humanize=XE(),t.destroy=l,Object.keys(i).forEach(u=>{t[u]=i[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let f=0;for(let m=0;m<u.length;m++)f=(f<<5)-f+u.charCodeAt(m),f|=0;return t.colors[Math.abs(f)%t.colors.length]}t.selectColor=e;function t(u){let f,m=null,h,p;function y(...v){if(!y.enabled)return;let S=y,E=Number(new Date),R=E-(f||E);S.diff=R,S.prev=f,S.curr=E,f=E,v[0]=t.coerce(v[0]),typeof v[0]!="string"&&v.unshift("%O");let P=0;v[0]=v[0].replace(/%([a-zA-Z%])/g,(W,K)=>{if(W==="%%")return"%";P++;let H=t.formatters[K];if(typeof H=="function"){let $=v[P];W=H.call(S,$),v.splice(P,1),P--}return W}),t.formatArgs.call(S,v),(S.log||t.log).apply(S,v)}return y.namespace=u,y.useColors=t.useColors(),y.color=t.selectColor(u),y.extend=r,y.destroy=t.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(h!==t.namespaces&&(h=t.namespaces,p=t.enabled(u)),p),set:v=>{m=v}}),typeof t.init=="function"&&t.init(y),y}function r(u,f){let m=t(this.namespace+(typeof f>"u"?":":f)+u);return m.log=this.log,m}function n(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let f=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of f)m[0]==="-"?t.skips.push(m.slice(1)):t.names.push(m)}function o(u,f){let m=0,h=0,p=-1,y=0;for(;m<u.length;)if(h<f.length&&(f[h]===u[m]||f[h]==="*"))f[h]==="*"?(p=h,y=m,h++):(m++,h++);else if(p!==-1)h=p+1,y++,m=y;else return!1;for(;h<f.length&&f[h]==="*";)h++;return h===f.length}function a(){let u=[...t.names,...t.skips.map(f=>"-"+f)].join(",");return t.enable(""),u}function s(u){for(let f of t.skips)if(o(u,f))return!1;for(let f of t.names)if(o(u,f))return!0;return!1}function c(u){return u instanceof Error?u.stack||u.message:u}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}ZE.exports=EA});var eD=Tt((wi,bm)=>{wi.formatArgs=RA;wi.save=SA;wi.load=xA;wi.useColors=DA;wi.storage=PA();wi.destroy=(()=>{let i=!1;return()=>{i||(i=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();wi.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function DA(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let i;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(i=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(i[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function RA(i){if(i[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+i[0]+(this.useColors?"%c ":" ")+"+"+bm.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;i.splice(1,0,e,"color: inherit");let t=0,r=0;i[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(r=t))}),i.splice(r,0,e)}wi.log=console.debug||console.log||(()=>{});function SA(i){try{i?wi.storage.setItem("debug",i):wi.storage.removeItem("debug")}catch{}}function xA(){let i;try{i=wi.storage.getItem("debug")||wi.storage.getItem("DEBUG")}catch{}return!i&&typeof process<"u"&&"env"in process&&(i=process.env.DEBUG),i}function PA(){try{return localStorage}catch{}}bm.exports=Yy()(wi);var{formatters:TA}=bm.exports;TA.j=function(i){try{return JSON.stringify(i)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var rD={};dl(rD,{createSupportsColor:()=>Ky,default:()=>OA});function an(i,e=globalThis.Deno?globalThis.Deno.args:wm.default.argv){let t=i.startsWith("-")?"":i.length===1?"-":"--",r=e.indexOf(t+i),n=e.indexOf("--");return r!==-1&&(n===-1||r<n)}function IA(){if("FORCE_COLOR"in Ut)return Ut.FORCE_COLOR==="true"?1:Ut.FORCE_COLOR==="false"?0:Ut.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Ut.FORCE_COLOR,10),3)}function AA(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function kA(i,{streamIsTTY:e,sniffFlags:t=!0}={}){let r=IA();r!==void 0&&(Cm=r);let n=t?Cm:r;if(n===0)return 0;if(t){if(an("color=16m")||an("color=full")||an("color=truecolor"))return 3;if(an("color=256"))return 2}if("TF_BUILD"in Ut&&"AGENT_NAME"in Ut)return 1;if(i&&!e&&n===void 0)return 0;let o=n||0;if(Ut.TERM==="dumb")return o;if(wm.default.platform==="win32"){let a=tD.default.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in Ut)return"GITHUB_ACTIONS"in Ut||"GITEA_ACTIONS"in Ut?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in Ut)||Ut.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in Ut)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ut.TEAMCITY_VERSION)?1:0;if(Ut.COLORTERM==="truecolor"||Ut.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in Ut){let a=Number.parseInt((Ut.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ut.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ut.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ut.TERM)||"COLORTERM"in Ut?1:o}function Ky(i,e={}){let t=kA(i,{streamIsTTY:i&&i.isTTY,...e});return AA(t)}var wm,tD,$y,Ut,Cm,NA,OA,iD=J(()=>{wm=ze(require("node:process"),1),tD=ze(require("node:os"),1),$y=ze(require("node:tty"),1);({env:Ut}=wm.default);an("no-color")||an("no-colors")||an("color=false")||an("color=never")?Cm=0:(an("color")||an("colors")||an("color=true")||an("color=always"))&&(Cm=1);NA={stdout:Ky({isTTY:$y.default.isatty(1)}),stderr:Ky({isTTY:$y.default.isatty(2)})},OA=NA});var oD=Tt((Ir,Dm)=>{var MA=require("tty"),Em=require("util");Ir.init=WA;Ir.log=GA;Ir.formatArgs=FA;Ir.save=HA;Ir.load=UA;Ir.useColors=LA;Ir.destroy=Em.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ir.colors=[6,2,3,4,5,1];try{let i=(iD(),fl(rD));i&&(i.stderr||i).level>=2&&(Ir.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ir.inspectOpts=Object.keys(process.env).filter(i=>/^debug_/i.test(i)).reduce((i,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(n,o)=>o.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),i[t]=r,i},{});function LA(){return"colors"in Ir.inspectOpts?!!Ir.inspectOpts.colors:MA.isatty(process.stderr.fd)}function FA(i){let{namespace:e,useColors:t}=this;if(t){let r=this.color,n="\x1B[3"+(r<8?r:"8;5;"+r),o=` ${n};1m${e} \x1B[0m`;i[0]=o+i[0].split(`
`).join(`
`+o),i.push(n+"m+"+Dm.exports.humanize(this.diff)+"\x1B[0m")}else i[0]=BA()+e+" "+i[0]}function BA(){return Ir.inspectOpts.hideDate?"":new Date().toISOString()+" "}function GA(...i){return process.stderr.write(Em.formatWithOptions(Ir.inspectOpts,...i)+`
`)}function HA(i){i?process.env.DEBUG=i:delete process.env.DEBUG}function UA(){return process.env.DEBUG}function WA(i){i.inspectOpts={};let e=Object.keys(Ir.inspectOpts);for(let t=0;t<e.length;t++)i.inspectOpts[e[t]]=Ir.inspectOpts[e[t]]}Dm.exports=Yy()(Ir);var{formatters:nD}=Dm.exports;nD.o=function(i){return this.inspectOpts.colors=this.useColors,Em.inspect(i,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};nD.O=function(i){return this.inspectOpts.colors=this.useColors,Em.inspect(i,this.inspectOpts)}});var aD=Tt((IG,jy)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?jy.exports=eD():jy.exports=oD()});var rv=Tt((iH,_l)=>{var tv=require("stream"),bk=require("util"),Ck=require("timers");_l.exports=function(i,e){return _l.exports.createStream(i,e)};_l.exports.createStream=function(i,e){return i?TD(i,e):new Ia(e)};_l.exports.createLineStream=function(i){return console.log("WARNING: byline#createLineStream is deprecated and will be removed soon"),TD(i)};function TD(i,e){if(!i)throw new Error("expected readStream");if(!i.readable)throw new Error("readStream must be readable");var t=new Ia(e);return i.pipe(t),t}_l.exports.LineStream=Ia;function Ia(i){tv.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 tv.Readable&&(e.encoding=t._readableState.encoding)})}bk.inherits(Ia,tv.Transform);Ia.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)};Ia.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;Ck.setImmediate(function(){n._pushBuffer(i,e,t)});return}}t()};Ia.prototype._flush=function(i){this._pushBuffer(this._chunkEncoding,0,i)};Ia.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 fd=Tt((EH,fR)=>{"use strict";var Hk=require("path"),qn="\\\\/",cR=`[^${qn}]`,Uk=0,$o="\\.",Wk="\\+",Yk="\\?",Um="\\/",$k="(?=.)",lR="[^/]",_v=`(?:${Um}|$)`,uR=`(?:^|${Um})`,bv=`${$o}{1,2}${_v}`,Kk=`(?!${$o})`,jk=`(?!${uR}${bv})`,zk=`(?!${$o}{0,1}${_v})`,Vk=`(?!${bv})`,Jk=`[^.${Um}]`,qk=`${lR}*?`,dR={DOT_LITERAL:$o,PLUS_LITERAL:Wk,QMARK_LITERAL:Yk,SLASH_LITERAL:Um,ONE_CHAR:$k,QMARK:lR,END_ANCHOR:_v,DOTS_SLASH:bv,NO_DOT:Kk,NO_DOTS:jk,NO_DOT_SLASH:zk,NO_DOTS_SLASH:Vk,QMARK_NO_DOT:Jk,STAR:qk,START_ANCHOR:uR},Qk={...dR,SLASH_LITERAL:`[${qn}]`,QMARK:cR,STAR:`${cR}*?`,DOTS_SLASH:`${$o}{1,2}(?:[${qn}]|$)`,NO_DOT:`(?!${$o})`,NO_DOTS:`(?!(?:^|[${qn}])${$o}{1,2}(?:[${qn}]|$))`,NO_DOT_SLASH:`(?!${$o}{0,1}(?:[${qn}]|$))`,NO_DOTS_SLASH:`(?!${$o}{1,2}(?:[${qn}]|$))`,QMARK_NO_DOT:`[^.${qn}]`,START_ANCHOR:`(?:^|[${qn}])`,END_ANCHOR:`(?:[${qn}]|$)`},Xk={__proto__:null,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"};fR.exports={DEFAULT_MAX_EXTGLOB_RECURSION:Uk,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Xk,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:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},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:Hk.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?Qk:dR}}});var Wm=Tt(Di=>{"use strict";var Zk=require("path"),eN=process.platform==="win32",{REGEX_BACKSLASH:tN,REGEX_REMOVE_BACKSLASH:rN,REGEX_SPECIAL_CHARS:iN,REGEX_SPECIAL_CHARS_GLOBAL:nN}=fd();Di.isObject=i=>i!==null&&typeof i=="object"&&!Array.isArray(i);Di.hasRegexChars=i=>iN.test(i);Di.isRegexChar=i=>i.length===1&&Di.hasRegexChars(i);Di.escapeRegex=i=>i.replace(nN,"\\$1");Di.toPosixSlashes=i=>i.replace(tN,"/");Di.removeBackslashes=i=>i.replace(rN,e=>e==="\\"?"":e);Di.supportsLookbehinds=()=>{let i=process.version.slice(1).split(".").map(Number);return i.length===3&&i[0]>=9||i[0]===8&&i[1]>=10};Di.isWindows=i=>i&&typeof i.windows=="boolean"?i.windows:eN===!0||Zk.sep==="\\";Di.escapeLast=(i,e,t)=>{let r=i.lastIndexOf(e,t);return r===-1?i:i[r-1]==="\\"?Di.escapeLast(i,e,r-1):`${i.slice(0,r)}\\${i.slice(r)}`};Di.removePrefix=(i,e={})=>{let t=i;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};Di.wrapOutput=(i,e={},t={})=>{let r=t.contains?"":"^",n=t.contains?"":"$",o=`${r}(?:${i})${n}`;return e.negated===!0&&(o=`(?:^(?!${o}).*$)`),o}});var bR=Tt((RH,_R)=>{"use strict";var mR=Wm(),{CHAR_ASTERISK:Cv,CHAR_AT:oN,CHAR_BACKWARD_SLASH:md,CHAR_COMMA:aN,CHAR_DOT:wv,CHAR_EXCLAMATION_MARK:Ev,CHAR_FORWARD_SLASH:vR,CHAR_LEFT_CURLY_BRACE:Dv,CHAR_LEFT_PARENTHESES:Rv,CHAR_LEFT_SQUARE_BRACKET:sN,CHAR_PLUS:cN,CHAR_QUESTION_MARK:pR,CHAR_RIGHT_CURLY_BRACE:lN,CHAR_RIGHT_PARENTHESES:hR,CHAR_RIGHT_SQUARE_BRACKET:uN}=fd(),gR=i=>i===vR||i===md,yR=i=>{i.isPrefix!==!0&&(i.depth=i.isGlobstar?1/0:1)},dN=(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,f=0,m=!1,h=!1,p=!1,y=!1,v=!1,S=!1,E=!1,R=!1,P=!1,L=!1,W=0,K,H,$={value:"",depth:0,isGlob:!1},Y=()=>l>=r,I=()=>c.charCodeAt(l+1),re=()=>(K=H,c.charCodeAt(++l));for(;l<r;){H=re();let B;if(H===md){E=$.backslashes=!0,H=re(),H===Dv&&(S=!0);continue}if(S===!0||H===Dv){for(W++;Y()!==!0&&(H=re());){if(H===md){E=$.backslashes=!0,re();continue}if(H===Dv){W++;continue}if(S!==!0&&H===wv&&(H=re())===wv){if(m=$.isBrace=!0,p=$.isGlob=!0,L=!0,n===!0)continue;break}if(S!==!0&&H===aN){if(m=$.isBrace=!0,p=$.isGlob=!0,L=!0,n===!0)continue;break}if(H===lN&&(W--,W===0)){S=!1,m=$.isBrace=!0,L=!0;break}}if(n===!0)continue;break}if(H===vR){if(o.push(l),a.push($),$={value:"",depth:0,isGlob:!1},L===!0)continue;if(K===wv&&l===u+1){u+=2;continue}f=l+1;continue}if(t.noext!==!0&&(H===cN||H===oN||H===Cv||H===pR||H===Ev)===!0&&I()===Rv){if(p=$.isGlob=!0,y=$.isExtglob=!0,L=!0,H===Ev&&l===u&&(P=!0),n===!0){for(;Y()!==!0&&(H=re());){if(H===md){E=$.backslashes=!0,H=re();continue}if(H===hR){p=$.isGlob=!0,L=!0;break}}continue}break}if(H===Cv){if(K===Cv&&(v=$.isGlobstar=!0),p=$.isGlob=!0,L=!0,n===!0)continue;break}if(H===pR){if(p=$.isGlob=!0,L=!0,n===!0)continue;break}if(H===sN){for(;Y()!==!0&&(B=re());){if(B===md){E=$.backslashes=!0,re();continue}if(B===uN){h=$.isBracket=!0,p=$.isGlob=!0,L=!0;break}}if(n===!0)continue;break}if(t.nonegate!==!0&&H===Ev&&l===u){R=$.negated=!0,u++;continue}if(t.noparen!==!0&&H===Rv){if(p=$.isGlob=!0,n===!0){for(;Y()!==!0&&(H=re());){if(H===Rv){E=$.backslashes=!0,H=re();continue}if(H===hR){L=!0;break}}continue}break}if(p===!0){if(L=!0,n===!0)continue;break}}t.noext===!0&&(y=!1,p=!1);let le=c,T="",b="";u>0&&(T=c.slice(0,u),c=c.slice(u),f-=u),le&&p===!0&&f>0?(le=c.slice(0,f),b=c.slice(f)):p===!0?(le="",b=c):le=c,le&&le!==""&&le!=="/"&&le!==c&&gR(le.charCodeAt(le.length-1))&&(le=le.slice(0,-1)),t.unescape===!0&&(b&&(b=mR.removeBackslashes(b)),le&&E===!0&&(le=mR.removeBackslashes(le)));let x={prefix:T,input:i,start:u,base:le,glob:b,isBrace:m,isBracket:h,isGlob:p,isExtglob:y,isGlobstar:v,negated:R,negatedExtglob:P};if(t.tokens===!0&&(x.maxDepth=0,gR(H)||a.push($),x.tokens=a),t.parts===!0||t.tokens===!0){let B;for(let k=0;k<o.length;k++){let ue=B?B+1:u,ee=o[k],Ce=i.slice(ue,ee);t.tokens&&(k===0&&u!==0?(a[k].isPrefix=!0,a[k].value=T):a[k].value=Ce,yR(a[k]),x.maxDepth+=a[k].depth),(k!==0||Ce!=="")&&s.push(Ce),B=ee}if(B&&B+1<i.length){let k=i.slice(B+1);s.push(k),t.tokens&&(a[a.length-1].value=k,yR(a[a.length-1]),x.maxDepth+=a[a.length-1].depth)}x.slashes=o,x.parts=s}return x};_R.exports=dN});var RR=Tt((SH,DR)=>{"use strict";var pd=fd(),ii=Wm(),{MAX_LENGTH:Ym,POSIX_REGEX_SOURCE:fN,REGEX_NON_SPECIAL_CHARS:mN,REGEX_SPECIAL_CHARS_BACKREF:pN,REPLACEMENTS:CR}=pd,hN=(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=>ii.escapeRegex(n)).join("..")}return t},wl=(i,e)=>`Missing ${i}: "${e}" - use "\\\\${e}" to match literal characters`,wR=i=>{let e=[],t=0,r=0,n=0,o="",a=!1;for(let s of i){if(a===!0){o+=s,a=!1;continue}if(s==="\\"){o+=s,a=!0;continue}if(s==='"'){n=n===1?0:1,o+=s;continue}if(n===0){if(s==="[")t++;else if(s==="]"&&t>0)t--;else if(t===0){if(s==="(")r++;else if(s===")"&&r>0)r--;else if(s==="|"&&r===0){e.push(o),o="";continue}}}o+=s}return e.push(o),e},gN=i=>{let e=!1;for(let t of i){if(e===!0){e=!1;continue}if(t==="\\"){e=!0;continue}if(/[?*+@!()[\]{}]/.test(t))return!1}return!0},ER=i=>{let e=i.trim(),t=!0;for(;t===!0;)t=!1,/^@\([^\\()[\]{}|]+\)$/.test(e)&&(e=e.slice(2,-1),t=!0);if(gN(e))return e.replace(/\\(.)/g,"$1")},yN=i=>{let e=i.map(ER).filter(Boolean);for(let t=0;t<e.length;t++)for(let r=t+1;r<e.length;r++){let n=e[t],o=e[r],a=n[0];if(!(!a||n!==a.repeat(n.length)||o!==a.repeat(o.length))&&(n===o||n.startsWith(o)||o.startsWith(n)))return!0}return!1},Sv=(i,e=!0)=>{if(i[0]!=="+"&&i[0]!=="*"||i[1]!=="(")return;let t=0,r=0,n=0,o=!1;for(let a=1;a<i.length;a++){let s=i[a];if(o===!0){o=!1;continue}if(s==="\\"){o=!0;continue}if(s==='"'){n=n===1?0:1;continue}if(n!==1){if(s==="["){t++;continue}if(s==="]"&&t>0){t--;continue}if(!(t>0)){if(s==="("){r++;continue}if(s===")"&&(r--,r===0))return e===!0&&a!==i.length-1?void 0:{type:i[0],body:i.slice(2,a),end:a}}}}},vN=i=>{let e=0,t=[];for(;e<i.length;){let n=Sv(i.slice(e),!1);if(!n||n.type!=="*")return;let o=wR(n.body).map(s=>s.trim());if(o.length!==1)return;let a=ER(o[0]);if(!a||a.length!==1)return;t.push(a),e+=n.end+1}return t.length<1?void 0:`${t.length===1?ii.escapeRegex(t[0]):`[${t.map(n=>ii.escapeRegex(n)).join("")}]`}*`},_N=i=>{let e=0,t=i.trim(),r=Sv(t);for(;r;)e++,t=r.body.trim(),r=Sv(t);return e},bN=(i,e)=>{if(e.maxExtglobRecursion===!1)return{risky:!1};let t=typeof e.maxExtglobRecursion=="number"?e.maxExtglobRecursion:pd.DEFAULT_MAX_EXTGLOB_RECURSION,r=wR(i).map(n=>n.trim());if(r.length>1&&(r.some(n=>n==="")||r.some(n=>/^[*?]+$/.test(n))||yN(r)))return{risky:!0};for(let n of r){let o=vN(n);if(o)return{risky:!0,safeOutput:o};if(_N(n)>t)return{risky:!0}}return{risky:!1}},xv=(i,e)=>{if(typeof i!="string")throw new TypeError("Expected a string");i=CR[i]||i;let t={...e},r=typeof t.maxLength=="number"?Math.min(Ym,t.maxLength):Ym,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=ii.isWindows(e),l=pd.globChars(c),u=pd.extglobChars(l),{DOT_LITERAL:f,PLUS_LITERAL:m,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:y,NO_DOT:v,NO_DOT_SLASH:S,NO_DOTS_SLASH:E,QMARK:R,QMARK_NO_DOT:P,STAR:L,START_ANCHOR:W}=l,K=ie=>`(${s}(?:(?!${W}${ie.dot?y:f}).)*?)`,H=t.dot?"":v,$=t.dot?R:P,Y=t.bash===!0?K(t):L;t.capture&&(Y=`(${Y})`),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=ii.removePrefix(i,I),n=i.length;let re=[],le=[],T=[],b=o,x,B=()=>I.index===n-1,k=I.peek=(ie=1)=>i[I.index+ie],ue=I.advance=()=>i[++I.index]||"",ee=()=>i.slice(I.index+1),Ce=(ie="",$e=0)=>{I.consumed+=ie,I.index+=$e},ce=ie=>{I.output+=ie.output!=null?ie.output:ie.value,Ce(ie.value)},U=()=>{let ie=1;for(;k()==="!"&&(k(2)!=="("||k(3)==="?");)ue(),I.start++,ie++;return ie%2===0?!1:(I.negated=!0,I.start++,!0)},et=ie=>{I[ie]++,T.push(ie)},ot=ie=>{I[ie]--,T.pop()},xe=ie=>{if(b.type==="globstar"){let $e=I.braces>0&&(ie.type==="comma"||ie.type==="brace"),ne=ie.extglob===!0||re.length&&(ie.type==="pipe"||ie.type==="paren");ie.type!=="slash"&&ie.type!=="paren"&&!$e&&!ne&&(I.output=I.output.slice(0,-b.output.length),b.type="star",b.value="*",b.output=Y,I.output+=b.output)}if(re.length&&ie.type!=="paren"&&(re[re.length-1].inner+=ie.value),(ie.value||ie.output)&&ce(ie),b&&b.type==="text"&&ie.type==="text"){b.value+=ie.value,b.output=(b.output||"")+ie.value;return}ie.prev=b,a.push(ie),b=ie},wt=(ie,$e)=>{let ne={...u[$e],conditions:1,inner:""};ne.prev=b,ne.parens=I.parens,ne.output=I.output,ne.startIndex=I.index,ne.tokensIndex=a.length;let he=(t.capture?"(":"")+ne.open;et("parens"),xe({type:ie,value:$e,output:I.output?"":p}),xe({type:"paren",extglob:!0,value:ue(),output:he}),re.push(ne)},ui=ie=>{let $e=i.slice(ie.startIndex,I.index+1),ne=i.slice(ie.startIndex+2,I.index),he=bN(ne,t);if((ie.type==="plus"||ie.type==="star")&&he.risky){let Ae=he.safeOutput?(ie.output?"":p)+(t.capture?`(${he.safeOutput})`:he.safeOutput):void 0,G=a[ie.tokensIndex];G.type="text",G.value=$e,G.output=Ae||ii.escapeRegex($e);for(let se=ie.tokensIndex+1;se<a.length;se++)a[se].value="",a[se].output="",delete a[se].suffix;I.output=ie.output+G.output,I.backtrack=!0,xe({type:"paren",extglob:!0,value:x,output:""}),ot("parens");return}let Ee=ie.close+(t.capture?")":""),Ke;if(ie.type==="negate"){let Ae=Y;if(ie.inner&&ie.inner.length>1&&ie.inner.includes("/")&&(Ae=K(t)),(Ae!==Y||B()||/^\)+$/.test(ee()))&&(Ee=ie.close=`)$))${Ae}`),ie.inner.includes("*")&&(Ke=ee())&&/^\.[^\\/.]+$/.test(Ke)){let G=xv(Ke,{...e,fastpaths:!1}).output;Ee=ie.close=`)${G})${Ae})`}ie.prev.type==="bos"&&(I.negatedExtglob=!0)}xe({type:"paren",extglob:!0,value:x,output:Ee}),ot("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(i)){let ie=!1,$e=i.replace(pN,(ne,he,Ee,Ke,Ae,G)=>Ke==="\\"?(ie=!0,ne):Ke==="?"?he?he+Ke+(Ae?R.repeat(Ae.length):""):G===0?$+(Ae?R.repeat(Ae.length):""):R.repeat(Ee.length):Ke==="."?f.repeat(Ee.length):Ke==="*"?he?he+Ke+(Ae?Y:""):Y:he?ne:`\\${ne}`);return ie===!0&&(t.unescape===!0?$e=$e.replace(/\\/g,""):$e=$e.replace(/\\+/g,ne=>ne.length%2===0?"\\\\":ne?"\\":"")),$e===i&&t.contains===!0?(I.output=i,I):(I.output=ii.wrapOutput($e,I,e),I)}for(;!B();){if(x=ue(),x==="\0")continue;if(x==="\\"){let ne=k();if(ne==="/"&&t.bash!==!0||ne==="."||ne===";")continue;if(!ne){x+="\\",xe({type:"text",value:x});continue}let he=/^\\+/.exec(ee()),Ee=0;if(he&&he[0].length>2&&(Ee=he[0].length,I.index+=Ee,Ee%2!==0&&(x+="\\")),t.unescape===!0?x=ue():x+=ue(),I.brackets===0){xe({type:"text",value:x});continue}}if(I.brackets>0&&(x!=="]"||b.value==="["||b.value==="[^")){if(t.posix!==!1&&x===":"){let ne=b.value.slice(1);if(ne.includes("[")&&(b.posix=!0,ne.includes(":"))){let he=b.value.lastIndexOf("["),Ee=b.value.slice(0,he),Ke=b.value.slice(he+2),Ae=fN[Ke];if(Ae){b.value=Ee+Ae,I.backtrack=!0,ue(),!o.output&&a.indexOf(b)===1&&(o.output=p);continue}}}(x==="["&&k()!==":"||x==="-"&&k()==="]")&&(x=`\\${x}`),x==="]"&&(b.value==="["||b.value==="[^")&&(x=`\\${x}`),t.posix===!0&&x==="!"&&b.value==="["&&(x="^"),b.value+=x,ce({value:x});continue}if(I.quotes===1&&x!=='"'){x=ii.escapeRegex(x),b.value+=x,ce({value:x});continue}if(x==='"'){I.quotes=I.quotes===1?0:1,t.keepQuotes===!0&&xe({type:"text",value:x});continue}if(x==="("){et("parens"),xe({type:"paren",value:x});continue}if(x===")"){if(I.parens===0&&t.strictBrackets===!0)throw new SyntaxError(wl("opening","("));let ne=re[re.length-1];if(ne&&I.parens===ne.parens+1){ui(re.pop());continue}xe({type:"paren",value:x,output:I.parens?")":"\\)"}),ot("parens");continue}if(x==="["){if(t.nobracket===!0||!ee().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(wl("closing","]"));x=`\\${x}`}else et("brackets");xe({type:"bracket",value:x});continue}if(x==="]"){if(t.nobracket===!0||b&&b.type==="bracket"&&b.value.length===1){xe({type:"text",value:x,output:`\\${x}`});continue}if(I.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(wl("opening","["));xe({type:"text",value:x,output:`\\${x}`});continue}ot("brackets");let ne=b.value.slice(1);if(b.posix!==!0&&ne[0]==="^"&&!ne.includes("/")&&(x=`/${x}`),b.value+=x,ce({value:x}),t.literalBrackets===!1||ii.hasRegexChars(ne))continue;let he=ii.escapeRegex(b.value);if(I.output=I.output.slice(0,-b.value.length),t.literalBrackets===!0){I.output+=he,b.value=he;continue}b.value=`(${s}${he}|${b.value})`,I.output+=b.value;continue}if(x==="{"&&t.nobrace!==!0){et("braces");let ne={type:"brace",value:x,output:"(",outputIndex:I.output.length,tokensIndex:I.tokens.length};le.push(ne),xe(ne);continue}if(x==="}"){let ne=le[le.length-1];if(t.nobrace===!0||!ne){xe({type:"text",value:x,output:x});continue}let he=")";if(ne.dots===!0){let Ee=a.slice(),Ke=[];for(let Ae=Ee.length-1;Ae>=0&&(a.pop(),Ee[Ae].type!=="brace");Ae--)Ee[Ae].type!=="dots"&&Ke.unshift(Ee[Ae].value);he=hN(Ke,t),I.backtrack=!0}if(ne.comma!==!0&&ne.dots!==!0){let Ee=I.output.slice(0,ne.outputIndex),Ke=I.tokens.slice(ne.tokensIndex);ne.value=ne.output="\\{",x=he="\\}",I.output=Ee;for(let Ae of Ke)I.output+=Ae.output||Ae.value}xe({type:"brace",value:x,output:he}),ot("braces"),le.pop();continue}if(x==="|"){re.length>0&&re[re.length-1].conditions++,xe({type:"text",value:x});continue}if(x===","){let ne=x,he=le[le.length-1];he&&T[T.length-1]==="braces"&&(he.comma=!0,ne="|"),xe({type:"comma",value:x,output:ne});continue}if(x==="/"){if(b.type==="dot"&&I.index===I.start+1){I.start=I.index+1,I.consumed="",I.output="",a.pop(),b=o;continue}xe({type:"slash",value:x,output:h});continue}if(x==="."){if(I.braces>0&&b.type==="dot"){b.value==="."&&(b.output=f);let ne=le[le.length-1];b.type="dots",b.output+=x,b.value+=x,ne.dots=!0;continue}if(I.braces+I.parens===0&&b.type!=="bos"&&b.type!=="slash"){xe({type:"text",value:x,output:f});continue}xe({type:"dot",value:x,output:f});continue}if(x==="?"){if(!(b&&b.value==="(")&&t.noextglob!==!0&&k()==="("&&k(2)!=="?"){wt("qmark",x);continue}if(b&&b.type==="paren"){let he=k(),Ee=x;if(he==="<"&&!ii.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(b.value==="("&&!/[!=<:]/.test(he)||he==="<"&&!/<([!=]|\w+>)/.test(ee()))&&(Ee=`\\${x}`),xe({type:"text",value:x,output:Ee});continue}if(t.dot!==!0&&(b.type==="slash"||b.type==="bos")){xe({type:"qmark",value:x,output:P});continue}xe({type:"qmark",value:x,output:R});continue}if(x==="!"){if(t.noextglob!==!0&&k()==="("&&(k(2)!=="?"||!/[!=<:]/.test(k(3)))){wt("negate",x);continue}if(t.nonegate!==!0&&I.index===0){U();continue}}if(x==="+"){if(t.noextglob!==!0&&k()==="("&&k(2)!=="?"){wt("plus",x);continue}if(b&&b.value==="("||t.regex===!1){xe({type:"plus",value:x,output:m});continue}if(b&&(b.type==="bracket"||b.type==="paren"||b.type==="brace")||I.parens>0){xe({type:"plus",value:x});continue}xe({type:"plus",value:m});continue}if(x==="@"){if(t.noextglob!==!0&&k()==="("&&k(2)!=="?"){xe({type:"at",extglob:!0,value:x,output:""});continue}xe({type:"text",value:x});continue}if(x!=="*"){(x==="$"||x==="^")&&(x=`\\${x}`);let ne=mN.exec(ee());ne&&(x+=ne[0],I.index+=ne[0].length),xe({type:"text",value:x});continue}if(b&&(b.type==="globstar"||b.star===!0)){b.type="star",b.star=!0,b.value+=x,b.output=Y,I.backtrack=!0,I.globstar=!0,Ce(x);continue}let ie=ee();if(t.noextglob!==!0&&/^\([^?]/.test(ie)){wt("star",x);continue}if(b.type==="star"){if(t.noglobstar===!0){Ce(x);continue}let ne=b.prev,he=ne.prev,Ee=ne.type==="slash"||ne.type==="bos",Ke=he&&(he.type==="star"||he.type==="globstar");if(t.bash===!0&&(!Ee||ie[0]&&ie[0]!=="/")){xe({type:"star",value:x,output:""});continue}let Ae=I.braces>0&&(ne.type==="comma"||ne.type==="brace"),G=re.length&&(ne.type==="pipe"||ne.type==="paren");if(!Ee&&ne.type!=="paren"&&!Ae&&!G){xe({type:"star",value:x,output:""});continue}for(;ie.slice(0,3)==="/**";){let se=i[I.index+4];if(se&&se!=="/")break;ie=ie.slice(3),Ce("/**",3)}if(ne.type==="bos"&&B()){b.type="globstar",b.value+=x,b.output=K(t),I.output=b.output,I.globstar=!0,Ce(x);continue}if(ne.type==="slash"&&ne.prev.type!=="bos"&&!Ke&&B()){I.output=I.output.slice(0,-(ne.output+b.output).length),ne.output=`(?:${ne.output}`,b.type="globstar",b.output=K(t)+(t.strictSlashes?")":"|$)"),b.value+=x,I.globstar=!0,I.output+=ne.output+b.output,Ce(x);continue}if(ne.type==="slash"&&ne.prev.type!=="bos"&&ie[0]==="/"){let se=ie[1]!==void 0?"|$":"";I.output=I.output.slice(0,-(ne.output+b.output).length),ne.output=`(?:${ne.output}`,b.type="globstar",b.output=`${K(t)}${h}|${h}${se})`,b.value+=x,I.output+=ne.output+b.output,I.globstar=!0,Ce(x+ue()),xe({type:"slash",value:"/",output:""});continue}if(ne.type==="bos"&&ie[0]==="/"){b.type="globstar",b.value+=x,b.output=`(?:^|${h}|${K(t)}${h})`,I.output=b.output,I.globstar=!0,Ce(x+ue()),xe({type:"slash",value:"/",output:""});continue}I.output=I.output.slice(0,-b.output.length),b.type="globstar",b.output=K(t),b.value+=x,I.output+=b.output,I.globstar=!0,Ce(x);continue}let $e={type:"star",value:x,output:Y};if(t.bash===!0){$e.output=".*?",(b.type==="bos"||b.type==="slash")&&($e.output=H+$e.output),xe($e);continue}if(b&&(b.type==="bracket"||b.type==="paren")&&t.regex===!0){$e.output=x,xe($e);continue}(I.index===I.start||b.type==="slash"||b.type==="dot")&&(b.type==="dot"?(I.output+=S,b.output+=S):t.dot===!0?(I.output+=E,b.output+=E):(I.output+=H,b.output+=H),k()!=="*"&&(I.output+=p,b.output+=p)),xe($e)}for(;I.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(wl("closing","]"));I.output=ii.escapeLast(I.output,"["),ot("brackets")}for(;I.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(wl("closing",")"));I.output=ii.escapeLast(I.output,"("),ot("parens")}for(;I.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(wl("closing","}"));I.output=ii.escapeLast(I.output,"{"),ot("braces")}if(t.strictSlashes!==!0&&(b.type==="star"||b.type==="bracket")&&xe({type:"maybe_slash",value:"",output:`${h}?`}),I.backtrack===!0){I.output="";for(let ie of I.tokens)I.output+=ie.output!=null?ie.output:ie.value,ie.suffix&&(I.output+=ie.suffix)}return I};xv.fastpaths=(i,e)=>{let t={...e},r=typeof t.maxLength=="number"?Math.min(Ym,t.maxLength):Ym,n=i.length;if(n>r)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${r}`);i=CR[i]||i;let o=ii.isWindows(e),{DOT_LITERAL:a,SLASH_LITERAL:s,ONE_CHAR:c,DOTS_SLASH:l,NO_DOT:u,NO_DOTS:f,NO_DOTS_SLASH:m,STAR:h,START_ANCHOR:p}=pd.globChars(o),y=t.dot?f:u,v=t.dot?m:u,S=t.capture?"":"?:",E={negated:!1,prefix:""},R=t.bash===!0?".*?":h;t.capture&&(R=`(${R})`);let P=H=>H.noglobstar===!0?R:`(${S}(?:(?!${p}${H.dot?l:a}).)*?)`,L=H=>{switch(H){case"*":return`${y}${c}${R}`;case".*":return`${a}${c}${R}`;case"*.*":return`${y}${R}${a}${c}${R}`;case"*/*":return`${y}${R}${s}${c}${v}${R}`;case"**":return y+P(t);case"**/*":return`(?:${y}${P(t)}${s})?${v}${c}${R}`;case"**/*.*":return`(?:${y}${P(t)}${s})?${v}${R}${a}${c}${R}`;case"**/.*":return`(?:${y}${P(t)}${s})?${a}${c}${R}`;default:{let $=/^(.*?)\.(\w+)$/.exec(H);if(!$)return;let Y=L($[1]);return Y?Y+a+$[2]:void 0}}},W=ii.removePrefix(i,E),K=L(W);return K&&t.strictSlashes!==!0&&(K+=`${s}?`),K};DR.exports=xv});var xR=Tt((xH,SR)=>{"use strict";var CN=require("path"),wN=bR(),Pv=RR(),Tv=Wm(),EN=fd(),DN=i=>i&&typeof i=="object"&&!Array.isArray(i),or=(i,e,t=!1)=>{if(Array.isArray(i)){let u=i.map(m=>or(m,e,t));return m=>{for(let h of u){let p=h(m);if(p)return p}return!1}}let r=DN(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=Tv.isWindows(e),a=r?or.compileRe(i,e):or.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=or(n.ignore,u,t)}let l=(u,f=!1)=>{let{isMatch:m,match:h,output:p}=or.test(u,a,e,{glob:i,posix:o}),y={glob:i,state:s,regex:a,posix:o,input:u,output:p,match:h,isMatch:m};return typeof n.onResult=="function"&&n.onResult(y),m===!1?(y.isMatch=!1,f?y:!1):c(u)?(typeof n.onIgnore=="function"&&n.onIgnore(y),y.isMatch=!1,f?y:!1):(typeof n.onMatch=="function"&&n.onMatch(y),f?y:!0)};return t&&(l.state=s),l};or.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?Tv.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=or.matchBase(i,e,t,n):s=e.exec(c)),{isMatch:!!s,match:s,output:c}};or.matchBase=(i,e,t,r=Tv.isWindows(t))=>(e instanceof RegExp?e:or.makeRe(e,t)).test(CN.basename(i));or.isMatch=(i,e,t)=>or(e,t)(i);or.parse=(i,e)=>Array.isArray(i)?i.map(t=>or.parse(t,e)):Pv(i,{...e,fastpaths:!1});or.scan=(i,e)=>wN(i,e);or.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=or.toRegex(s,e);return r===!0&&(c.state=i),c};or.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=Pv.fastpaths(i,e)),n.output||(n=Pv(i,e)),or.compileRe(n,e,t,r)};or.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/$^/}};or.constants=EN;SR.exports=or});var TR=Tt((PH,PR)=>{"use strict";PR.exports=xR()});var Nl,Vo,io,Tn,Ol,xd,b_=J(()=>{Nl="function",Vo="object",io="undefined",Tn="prototype",Ol=Object,xd=Ol[Tn]});function Xt(i,e){return i||e}function Et(i,e){return i?.[e]}function Ue(i,e){try{return{v:i.apply(this,e)}}catch(t){return{e:t}}}function aO(i,e,t){var r=Ue(i,t);return r.e?e:r.v}function Ip(i){return function(e){return typeof e===i}}function uS(i){var e="[object "+i+"]";return function(t){return!!(t&&Ap(t)===e)}}function Ap(i){return Nd[kd].call(i)}function B_(i,e){return typeof i===e}function Je(i){return typeof i===tc||i===tc}function sO(i){return i===Kr}function Z(i){return i===$t||Je(i)}function In(i){return i===$t||i===Kr}function dS(i){return!!i||i!==Kr}function cO(i){return!C_&&(C_=["string","number","boolean",tc,"symbol","bigint"]),i!==Ad&&C_.indexOf(i)!==-1}function Kt(i){return!i&&Z(i)?!1:!!i&&typeof i===Ad}function pi(i){return!!(i&&i.then&&Se(i.then))}function G_(i){return!i||!An(i)}function An(i){return!(!i||aO(function(){return!(i&&0+i)},!i))}function H_(){}function lO(){return[]}function uO(){return!1}function ve(i,e){var t=M_,r=Nd[kd][lr](i);r===dO&&(i={stack:cr(i.stack),message:cr(i.message),name:cr(i.name)});try{t=JSON.stringify(i,$t,e?typeof e=="number"?e:4:Kr),t=(t?t.replace(/"(\w+)"\s*:\s{0,1}/g,"$1: "):$t)||cr(i)}catch(n){t=" - "+ve(n,e)}return r+": "+t}function Zt(i){throw new Error(i)}function oi(i){throw new TypeError(i)}function Np(i){In(i)&&oi("Cannot convert undefined or null to object")}function fS(i){We(i)||oi("'"+ve(i)+"' is not a string")}function Cr(i,e){return!!i&&Nd.hasOwnProperty[lr](i,e)}function mO(i,e){return Np(i),Cr(i,e)||!!fO(i,e)}function pO(i){return i===Td||i===Id||i===jr}function we(i,e,t){if(i&&(Kt(i)||Se(i))){for(var r in i)if(ln(i,r)&&e[lr](In(t)?i:t,r,i[r])===-1)break}}function V(i,e,t){if(i)for(var r=i[ic]>>>0,n=0;n<r&&!(n in i&&e[lr](In(t)?i:t,i[n],n,i)===-1);n++);}function Fl(i,e,t){var r=e?e[i]:$t;return function(n){var o=(n?n[i]:$t)||r;if(o||t){var a=arguments;return(o||t).apply(n,o?no[lr](a,1):a)}oi('"'+cr(i)+'" not defined for '+ve(n))}}function hO(i,e,t){var r=e?e[i]:$t;return function(n){var o=r;if(o||t){var a=arguments;return(o||t).apply(n,o?no[lr](a,1):a)}oi('"'+cr(i)+'" not defined for '+ve(n))}}function gO(i){return function(e){return e[i]}}function yO(i,e){var t,r=Mr.getOwnPropertyDescriptor;return!In(i)&&r&&(t=Ue(r,[i,e]).v||$t),!t&&!In(i)&&(t=Ue(function(){for(var n in i)if(n==e)return{enumerable:Cr(i,n)}}).v),t&&t.enumerable||!1}function mS(i){var e={};if(e[Ep.c]=!0,e[Ep.e]=!0,i.l){e.get=function(){return i.l.v};var t=_O(i.l,"v");t&&t.set&&(e.set=function(r){i.l.v=r})}return we(i,function(r,n){e[Ep[r]]=sO(n)?e[Ep[r]]:n}),e}function W_(i,e,t,r,n,o){var a={e:o,c:n};return t&&(a.g=t),r&&(a.s=r),Pi(i,e,mS(a))}function ft(i,e,t){return Pi(i,e,mS(t))}function pS(i,e,t,r,n){var o={};return we(i,function(a,s){xp(o,a,e?s:a),xp(o,s,t?s:a)}),r?r(o):o}function xp(i,e,t,r){Pi(i,e,{value:t,enumerable:!0,writable:!1})}function gS(i){return i}function CO(i){return Np(i),i[Td]||$t}function yS(i,e){if((ye(i)||Kt(i)||Se(i))&&!bO(i)){for(var t=0;t<e.length;t++)if(e[t]===i)return i;e.push(i),we(i,function(r,n){yS(n,e)}),un(i)}return i}function ao(i){return hS?yS(i,[]):i}function vS(i){return pS(i,1,0,un)}function wO(i){return pS(i,0,0,un)}function EO(i){var e={};return we(i,function(t,r){xp(e,t,r[1]),xp(e,r[0],r[1])}),un(e)}function _S(i){return EO(i)}function CS(){var i;return typeof globalThis!==tc&&(i=globalThis),!i&&typeof self!==tc&&(i=self),!i&&typeof window!==tc&&(i=window),!i&&typeof global!==tc&&(i=global),i}function Op(){if(!w_){var i=Ue(CS).v||{};w_=i[rS]=i[rS]||{}}return w_}function RO(i,e,t){return Np(i),t<0?M_:(e=e||0,e<0&&(e=DO(e+i[ic],0)),Je(t)?iS(i,e):iS(i,e,e+t))}function ac(i,e){return wr(i,0,e)}function SO(i,e){return i&&(Ue(function(){i[eS]=!0,i[tS]=e}),Ue(ft,[i,eS,{v:!0,w:!1,e:!1}]),Ue(ft,[i,tS,{v:e,w:!1,e:!1}])),i}function xO(i,e){var t=null;function r(){}if(In(i))t={};else{var n=typeof i;n!==Ad&&n!==Tp&&oi("Prototype must be an Object or function: "+ve(i)),r[jr]=i,Ue(function(){r[Td]=i}),t=new r}return e&&Ue(U_,[t,e]),t}function jt(){return(Date.now||PO)()}function PO(){return new Date().getTime()}function rc(i,e,t){return i.apply(e,t)}function Oa(){mr=Op()}function $_(i,e){var t={};return!mr&&Oa(),t.b=mr.lzy,Pi(t,"v",{configurable:!0,get:function(){var r=rc(i,null,e);return mr.lzy||Pi(t,"v",{value:r}),t.b=mr.lzy,r}}),t}function NO(){if(!E_){var i=Op();E_=i.gblSym=i.gblSym||{k:{},s:{}}}return E_}function K_(i){var e="_"+kO+++"_"+IO.v,t=L_+"("+i+")";function r(o,a){ft(n,o,{v:a,e:!1,w:!1})}var n=kn(null);return r("description",cr(i)),r(kd,function(){return t+AO+e}),r("valueOf",function(){return n}),r("v",t),r("_uid",e),SO(n,"symbol")}function OO(i){var e=NO();if(!ln(e.k,i)){var t=K_(i),r=Vr(e.s).length;t[nS]=function(){return r+"_"+t[kd]()},e.k[i]=t,e.s[t[nS]()]=cr(i)}return e.k[i]}function MO(i){!Dp&&(Dp={});var e,t=bS[i];return t&&(e=Dp[t]=Dp[t]||K_(L_+"."+t)),e}function Ti(i){return Pi({toJSON:function(){return i}},"v",{value:i})}function Od(i,e){var t;return function(){return!mr&&Oa(),(!t||mr.lzy)&&(t=Ti(Ue(i,e).v)),t.v}}function hi(i){return!mr&&Oa(),(!Pd||i===!1||mr.lzy)&&(Pd=Ti(Ue(CS).v||$t)),Pd.v}function Ie(i,e){var t;if(!Pd||e===!1?t=hi(e):t=Pd.v,t&&t[i])return t[i];if(i===wS)try{return window}catch{}return $t}function sc(){return!!er()}function Gl(){return!!pr()}function Md(){return!!Er()}function j_(){return!!Mp()}function Lp(){return Ml=Ti(Ue(Ie,[L_]).v),Ml}function LO(i){var e=(mr.lzy?0:Ml)||Lp();return e.v?e.v[i]:Kr}function DS(){return!!FO()}function FO(){return!mr&&Oa(),((mr.lzy?0:Ml)||Lp()).v}function Ld(i,e){var t=bS[i];!mr&&Oa();var r=(mr.lzy?0:Ml)||Lp();return r.v?r.v[t||i]:e?Kr:MO(i)}function Hl(i,e){!mr&&Oa();var t=(mr.lzy?0:Ml)||Lp();return t.v?t.v(i):e?$t:K_(i)}function Fp(i){return!mr&&Oa(),D_=(mr.lzy?0:D_)||Ti(Ue(LO,["for"]).v),(D_.v||OO)(i)}function Pp(i){return!!i&&Se(i.next)}function z_(i){return!In(i)&&Se(i[Ld(3)])}function Bp(i,e,t){if(i&&(Pp(i)||(!Rp&&(Rp=Ti(Ld(3))),i=i[Rp.v]?i[Rp.v]():$t),Pp(i))){var r=Kr,n=Kr;try{for(var o=0;!(n=i.next()).done&&e[lr](In(t)?i:t,n.value,o,i)!==-1;)o++}catch(a){r={e:a},i.throw&&(n=$t,i.throw(r))}finally{try{n&&!n.done&&i.return&&i.return(n)}finally{if(r)throw r.e}}}}function Nn(i,e){return!Je(e)&&i&&(ye(e)?rc(i.push,i,e):Pp(e)||z_(e)?Bp(e,function(t){i.push(t)}):i.push(e)),i}function Ul(i,e,t){return((i?i.slice:$t)||no).apply(i,no[lr](arguments,1))}function BO(i,e,t){return mt(i,e,t)!==-1}function GO(i,e){var t;return!R_&&(R_=Ti((t={},t[Td]=[],t instanceof Array))),R_.v?i[Td]=e:we(e,function(r,n){return i[r]=n}),i}function HO(i,e,t){Ue(ft,[e,Sp,{v:i,c:!0,e:!1}]),e=RS(e,t);function r(){this[Id]=e,Ue(ft,[this,Sp,{v:i,c:!0,e:!1}])}return e[jr]=t===$t?kn(t):(r[jr]=t[jr],new r),e}function oS(i,e){e&&(i[Sp]=e)}function J_(i,e,t,r){var n=t||Error,o=n[jr][Sp],a=Error.captureStackTrace;return HO(i,function(){var s=this,c=arguments;try{Ue(oS,[n,i]);var l=rc(n,s,r?r(c):no[lr](c))||s;if(l!==s){var u=O_(s);u!==O_(l)&&RS(l,u)}return a&&a(l,s[Id]),e&&e(l,c),l}finally{Ue(oS,[n,o])}},n)}function WO(i){return function(t){return Np(t),t=cr(t),t&&(t=UO(t,i,M_)),t}}function KO(i,e,t){if(i!==$t&&i!==Kr){for(var r in i)if(ln(i,r)&&e[lr](In(t)?i:t,r,i[r])===-1)return;V($O(i),function(n){if(vO(i,n)&&e[lr](In(t)?i:t,n,i[n])===-1)return-1})}}function jO(i,e,t){KO(i,function(r,n){if(!pO(r))return e[lr](In(t)?i:t,r,n)},t)}function Jr(i){if(!i||typeof i!==Ad)return!1;P_||(P_=Gl()?pr():!0);var e=!1;if(i!==P_){x_||(S_=Function[jr][kd],x_=S_[lr](Mr));try{var t=O_(i);e=!t,e||(Cr(t,Id)&&(t=t[Id]),e=!!(t&&typeof t===Tp&&S_[lr](t)===x_))}catch{}}return e}function zO(i,e){e&&i.push(e)}function Qt(i,e){e&&e[jr]}function VO(){var i=[Nd,Jo,Ll,JN,QN,ZN,tO,iO,oO];return Ue(Ie,["Map"]).v,Ue(Ie,["Set"]).v,Ue(Ie,["WeakMap"]).v,Ue(Ie,["WeakSet"]).v,Ue(Ie,["Promise"]).v,Ue(Ie,["Symbol"]).v,Ue(Ie,["ArrayBuffer"]).v,Ue(Ie,["SharedArrayBuffer"]).v,Ue(Ie,["DataView"]).v,Ue(Ie,["Int8Array"]).v,Ue(Ie,["Uint8Array"]).v,Ue(Ie,["Uint8ClampedArray"]).v,Ue(Ie,["Int16Array"]).v,Ue(Ie,["Uint16Array"]).v,Ue(Ie,["Int32Array"]).v,Ue(Ie,["Uint32Array"]).v,Ue(Ie,["Float32Array"]).v,Ue(Ie,["Float64Array"]).v,Ue(Ie,["BigInt64Array"]).v,Ue(Ie,["BigUint64Array"]).v,Ue(Ie,["WeakRef"]).v,Ue(Ie,["FinalizationRegistry"]).v,i}function JO(i){return T_||(T_=Ti(VO())),mt(T_.v,i)>=0}function qO(i){return i.value&&PS(i),!0}function QO(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 q_(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===$t;l||(e&&s===Ad?c=Jr(e):l=cO(s));var u={type:s,isPrim:l,isPlain:c,value:e,result:e,path:o,origin:t.src,copy:function(f,m){return q_(i,f,m?a:t,m)},copyTo:function(f,m){return xS(i,f,m,a)}};return u.isPrim?n&&n[lr](t,u)?u.result:e:QO(i,e,o,function(f){ft(u,"result",{g:function(){return f.v},s:function(p){f.v=p}});for(var m=0,h=n;!(h||(m<aS.length?aS[m++]:qO))[lr](t,u);)h=$t})}function xS(i,e,t,r){return JO(t)||jO(t,function(n,o){e[n]=q_(i,o,r,n)}),e}function XO(i,e,t){var r={handler:t,src:e,path:[]};return xS([],i,e,r)}function ZO(i,e){var t={handler:e,src:i};return q_([],i,t)}function eM(i){var e=i.value;if(ye(e)){var t=i.result=[];return t.length=e.length,i.copyTo(t,e),!0}return!1}function tM(i){var e=i.value;return kp(e)?(i.result=new Date(e.getTime()),!0):!1}function rM(i){return i.type===Tp}function PS(i){var e=i.value;if(e&&i.isPlain){var t=i.result={};return i.copyTo(t,e),!0}return!1}function iM(i,e){return V(e,function(t){XO(i,t)}),i}function Q_(i,e,t,r,n,o,a){return iM(ZO(i)||{},no[lr](arguments))}function Ma(){return!mr&&Oa(),(!I_||mr.lzy)&&(I_=Ti(Ue(Ie,["performance"]).v)),I_.v}function Bd(){var i=Ma();return i&&i.now?i.now():jt()}function nM(i,e,t){fS(i);var r=We(e)?e:cr(e),n=!Je(t)&&t<i[ic]?t:i[ic];return wr(i,n-r[ic],n)===r}function oM(i,e,t){fS(i);var r=We(e)?e:cr(e),n=t>0?t:0;return wr(i,n,n+r[ic])===r}function sM(i,e,t){var r=!0,n=i?e($t):$t,o;function a(){return r=!1,n&&n[k_]&&n[k_](),o}function s(){n&&t(n),n=$t}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[N_]=function(){return n&&n[N_]?n[N_]():r},o[A_]=function(){return r=!0,n&&n[A_]&&n[A_](),o},o[k_]=a,o=Pi(o,aM,{get:function(){return!!n},set:l}),{h:o,dn:function(){n=$t}}}function uM(i){var e=Se(i)?i:cM;if(!e){var t=Op().tmOut||[];ye(t)&&t.length>0&&Se(t[0])&&(e=t[0])}return e||setTimeout}function dM(i){var e=Se(i)?i:lM;if(!e){var t=Op().tmOut||[];ye(t)&&t.length>1&&Se(t[1])&&(e=t[1])}return e||clearTimeout}function X_(i,e,t){var r=ye(e),n=r?e.length:0,o=uM(n>0?e[0]:r?Kr:e),a=dM(n>1?e[1]:Kr),s=t[0];t[0]=function(){c.dn(),rc(s,Kr,no[lr](arguments))};var c=sM(i,function(l){if(l){if(l.refresh)return l.refresh(),l;rc(a,Kr,[l])}return rc(o,Kr,t)},function(l){rc(a,Kr,[l])});return c.h}function ji(i,e){return X_(!0,Kr,no[lr](arguments))}function TS(i,e,t){return X_(!0,i,no[lr](arguments,1))}function IS(i,e){return X_(!1,Kr,no[lr](arguments))}var Kr,$t,M_,Tp,Ad,jr,Td,tc,Id,L_,ic,Sp,lr,kd,F_,zN,Mr,Nd,sS,Jo,cS,lS,Ll,no,VN,JN,qN,QN,XN,ZN,eO,tO,rO,iO,nO,oO,eS,tS,C_,We,Se,ye,kp,zr,oo,nc,cr,dO,fO,ln,oc,vO,_O,Ep,Pi,U_,bO,hS,Bl,Vr,un,Y_,O_,bS,rS,w_,DO,iS,wr,so,kn,mr,TO,IO,nS,AO,E_,kO,Dp,wS,Pd,er,pr,Er,Mp,ES,Ml,D_,Rp,mt,qo,V_,Wl,Fd,R_,RS,UO,YO,pt,SS,$O,S_,x_,P_,T_,aS,I_,Ii,cc,Yl,A_,k_,N_,aM,cM,lM,Fe=J(()=>{Kr=void 0,$t=null,M_="",Tp="function",Ad="object",jr="prototype",Td="__proto__",tc="undefined",Id="constructor",L_="Symbol",ic="length",Sp="name",lr="call",kd="toString",F_="getOwnPropertyDescriptor",zN="getOwnPropertySymbols",Mr=Xt(Object),Nd=Et(Mr,jr),sS=Xt(String),Jo=Et(sS,jr),cS=Xt(Math),lS=Xt(Array),Ll=Et(lS,jr),no=Et(Ll,"slice"),VN=Xt(Number),JN=Et(VN,jr),qN=Xt(Function),QN=Et(qN,jr),XN=Xt(Date),ZN=Et(XN,jr),eO=Xt(RegExp),tO=Et(eO,jr),rO=Xt(Boolean),iO=Et(rO,jr),nO=Xt(Error),oO=Et(nO,jr),eS="_polyfill",tS="__nw21$polytype__";We=Ip("string"),Se=Ip(Tp);ye=Et(lS,"isArray"),kp=uS("Date"),zr=Ip("number"),oo=Ip("boolean"),nc=uS("Error");cr=Xt(sS),dO="[object Error]";fO=Xt(Et(Mr,F_),H_),ln=Xt(Et(Mr,"hasOwn"),mO);oc=Fl;vO=hO("propertyIsEnumerable",Nd,yO),_O=Xt(Et(Mr,F_),H_),Ep={e:"enumerable",c:"configurable",v:"value",w:"writable",g:"get",s:"set"};Pi=Et(Mr,"defineProperty"),U_=Et(Mr,"defineProperties");bO=Xt(Et(Mr,"isFrozen"),uO),hS=Et(Mr,"freeze");Bl=Et(Mr,"assign"),Vr=Et(Mr,"keys");un=Xt(hS,gS),Y_=Xt(Et(Mr,"seal"),gS),O_=Xt(Et(Mr,"getPrototypeOf"),CO);bS=wO({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}),rS="__tsUtils$gblCfg";DO=Et(cS,"max"),iS=oc("slice",Jo),wr=oc("substring",Jo),so=Fl("substr",Jo,RO);kn=Xt(Et(Mr,"create"),xO);TO=Et(cS,"random"),IO=$_(function(){for(var i=jt().toString(36).slice(2);i.length<16;)i+=TO().toString(36).slice(2);return i=i.substring(0,16),i}),nS="_urid",AO="$nw21sym",kO=0;wS="window";er=Od(Ie,["document"]);pr=Od(Ie,[wS]);Er=Od(Ie,["navigator"]);Mp=Od(Ie,["history"]),ES=Od(function(){return!!Ue(function(){return process&&(process.versions||{}).node}).v});mt=oc("indexOf",Ll),qo=oc("map",Ll);V_=Fl("includes",Ll,BO),Wl=gO(ic),Fd=oc("reduce",Ll),RS=Xt(Et(Mr,"setPrototypeOf"),GO);UO=oc("replace",Jo);YO=WO(/^\s+|(?=\s)\s+$/g),pt=Fl("trim",Jo,YO),SS=Xt(Et(Mr,F_),H_),$O=Xt(Et(Mr,zN),lO);aS=[eM,PS,rM,tM];Ii=oc("indexOf",Jo),cc=Fl("endsWith",Jo,nM);Yl=Fl("startsWith",Jo,oM);A_="ref",k_="unref",N_="hasRef",aM="enabled"});function Ai(i,e){typeof e!==Nl&&e!==null&&oi("Class extends value "+String(e)+" is not a constructor or null"),Z_(i,e);function t(){this.constructor=i}i[Tn]=e===null?kn(e):(t[Tn]=e[Tn],new t)}function Gp(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i}var d$,f$,AS,mM,dn,Z_,kS=J(()=>{Fe();b_();d$=(hi()||{}).Symbol,f$=(hi()||{}).Reflect,AS="hasOwnProperty",mM=function(i){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var n in e)xd[AS].call(e,n)&&(i[n]=e[n])}return i},dn=Bl||mM,Z_=function(i,e){return Z_=Ol.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var n in r)r[AS](n)&&(t[n]=r[n])},Z_(i,e)}});var NS=J(()=>{});var ki=J(()=>{b_();kS();NS();Fe()});function Yp(i){return i&&(i===sb[Qo]||i===Array[Qo])}function cb(i){return Yp(i)||i===Function[Qo]}function lc(i){var e;if(i){if(Hd)return Hd(i);var t=i[ab]||i[Qo]||(i[$p]?i[$p][Qo]:null);e=i[Up]||t,Cr(i,Up)||(delete i[eb],e=i[Up]=i[eb]||i[Up],i[eb]=t)}return e}function zp(i,e){var t=[];if(LS)t=LS(i);else for(var r in i)typeof r=="string"&&Cr(i,r)&&t.push(r);if(t&&t.length>0)for(var n=0;n<t.length;n++)e(t[n])}function lb(i,e,t){return e!==$p&&typeof i[e]===Kp&&(t||Cr(i,e))&&e!==ab&&e!==Qo}function Vp(i){oi("DynamicProto: "+i)}function hM(i){var e=kn(null);return zp(i,function(t){!e[t]&&lb(i,t,!1)&&(e[t]=i[t])}),e}function ub(i,e){for(var t=i.length-1;t>=0;t--)if(i[t]===e)return!0;return!1}function gM(i,e,t,r){function n(c,l,u){var f=l[u];if(f[rb]&&r){var m=c[jp]||{};m[Gd]!==!1&&(f=(m[l[$l]]||{})[u]||f)}return function(){return f.apply(c,arguments)}}var o=kn(null);zp(t,function(c){o[c]=n(e,t,c)});for(var a=lc(i),s=[];a&&!cb(a)&&!ub(s,a);)zp(a,function(c){!o[c]&&lb(a,c,!Hd)&&(o[c]=n(e,a,c))}),s.push(a),a=lc(a);return o}function yM(i,e,t,r){var n=null;if(i&&Cr(t,$l)){var o=i[jp]||kn(null);if(n=(o[t[$l]]||kn(null))[e],n||Vp("Missing ["+e+"] "+Kp),!n[ib]&&o[Gd]!==!1){for(var a=!Cr(i,e),s=lc(i),c=[];a&&s&&!cb(s)&&!ub(c,s);){var l=s[e];if(l){a=l===r;break}c.push(s),s=lc(s)}try{a&&(i[e]=n),n[ib]=1}catch{o[Gd]=!1}}}return n}function vM(i,e,t){var r=e[i];return r===t&&(r=lc(e)[i]),typeof r!==Kp&&Vp("["+i+"] is not a "+Kp),r}function _M(i,e,t,r,n){function o(c,l){var u=function(){var f=yM(this,l,c,u)||vM(l,c,u);return f.apply(this,arguments)};return u[rb]=1,u}if(!Yp(i)){var a=t[jp]=t[jp]||kn(null);if(!Yp(a)){var s=a[e]=a[e]||kn(null);a[Gd]!==!1&&(a[Gd]=!!n),Yp(s)||zp(t,function(c){lb(t,c,!1)&&t[c]!==r[c]&&(s[c]=t[c],delete t[c],(!Cr(i,c)||i[c]&&!i[c][rb])&&(i[c]=o(i,c)))})}}}function bM(i,e){if(Hd){for(var t=[],r=lc(e);r&&!cb(r)&&!ub(t,r);){if(r===i)return!0;t.push(r),r=lc(r)}return!1}return!0}function tb(i,e){return Cr(i,Qo)?i.name||e||OS:((i||{})[$p]||{}).name||e||OS}function rt(i,e,t,r){Cr(i,Qo)||Vp("theClass is an invalid class definition.");var n=i[Qo];bM(n,e)||Vp("["+tb(i)+"] not in hierarchy of ["+tb(e)+"]");var o=null;Cr(n,$l)?o=n[$l]:(o=pM+tb(i,"_")+"$"+ob.n,ob.n++,n[$l]=o);var a=rt[BS],s=!!a[Wp];s&&r&&r[Wp]!==void 0&&(s=!!r[Wp]);var c=hM(e),l=gM(n,e,c,s);t(e,l);var u=!!Hd&&!!a[nb];u&&r&&(u=!!r[nb]),_M(n,o,e,c,u!==!1)}var Hp,$p,Qo,Kp,jp,rb,$l,pM,ib,Gd,BS,OS,ab,Up,MS,eb,Wp,nb,sb,Hd,LS,FS,ob,Lr=J(()=>{Fe();$p="constructor",Qo="prototype",Kp="function",jp="_dynInstFuncs",rb="_isDynProxy",$l="_dynClass",pM="_dynCls$",ib="_dynInstChk",Gd=ib,BS="_dfOpts",OS="_unknown_",ab="__proto__",Up="_dyn"+ab,MS="__dynProto$Gbl",eb="_dynInstProto",Wp="useBaseInst",nb="setInstFuncs",sb=Object,Hd=sb.getPrototypeOf,LS=sb.getOwnPropertyNames,FS=hi(),ob=FS[MS]||(FS[MS]={o:(Hp={},Hp[nb]=!0,Hp[Wp]=!0,Hp),n:1e3});rt[BS]=ob.o});var db,GS=J(()=>{"use strict";db=100});var tr,fb,Ud=J(()=>{Fe();tr=vS,fb=_S});var On,CM,HS=J(()=>{Ud();On=tr({Unknown:0,NonRetryableStatus:1,InvalidEvent:2,SizeLimitExceeded:3,KillSwitch:4,QueueFull:5}),CM=tr({Unknown:0,NonRetryableStatus:1,CleanStorage:2,MaxInStorageTimeExceeded:3})});var zi,mb=J(()=>{Ud();zi=tr({NONE:0,PENDING:3,INACTIVE:1,ACTIVE:2})});var Ni,La,me,uc,dc,Kl,Xo,Mn,Ln,Dt,Fa,qe,co,Jp,Zo,ea,lo,jl,zl,Oi,pb,qp,fc,Wd,Ba,Fr,Vl,Ga,Dr,Qp,hb,Ha,gb,Mi,Yd,mc,Xp,uo,Vi,Jl,fo,Fn,Li,Ua,pc,Ji,Wa,Zp,$d,fn,eh,Bn,yb,Fi,Kd,hc,vb,_b,jd,Ya,gc,Gn,th,bb,ql,Cb,rh,yc,wb,Ql,Xl,$a,ih,bt=J(()=>{Ni="toLowerCase",La="blkVal",me="length",uc="rdOnly",dc="notify",Kl="warnToConsole",Xo="throwInternal",Mn="setDf",Ln="watch",Dt="logger",Fa="apply",qe="push",co="splice",Jp="hdlr",Zo="cancel",ea="initialize",lo="identifier",jl="removeNotificationListener",zl="addNotificationListener",Oi="isInitialized",pb="instrumentationKey",qp="INACTIVE",fc="value",Wd="getNotifyMgr",Ba="getPlugin",Fr="name",Vl="iKey",Ga="time",Dr="processNext",Qp="getProcessTelContext",hb="pollInternalLogs",Ha="enabled",gb="stopPollingInternalLogs",Mi="unload",Yd="onComplete",mc="version",Xp="loggingLevelConsole",uo="createNew",Vi="teardown",Jl="messageId",fo="message",Fn="isAsync",Li="diagLog",Ua="_doTeardown",pc="update",Ji="getNext",Wa="setNextPlugin",Zp="protocol",$d="userAgent",fn="split",eh="nodeType",Bn="replace",yb="logInternalMessage",Fi="type",Kd="handler",hc="status",vb="getResponseHeader",_b="getAllResponseHeaders",jd="isChildEvt",Ya="data",gc="getCtx",Gn="setCtx",th="complete",bb="itemsReceived",ql="urlString",Cb="sendPOST",rh="headers",yc="timeout",wb="setRequestHeader",Ql="traceId",Xl="spanId",$a="traceFlags",ih="getAttribute"});function US(i,e){Eb||(Eb=J_("AggregationError",function(r,n){n[me]>1&&(r.errors=n[1])}));var t=i||"One or more errors occurred.";throw V(e,function(r,n){t+=`
`.concat(n," > ").concat(ve(r))}),new Eb(t,e||[])}var Eb,WS=J(()=>{Fe();bt()});function qi(i,e){return jS(i,function(t){return e?e({status:"fulfilled",rejected:!1,value:t}):t},function(t){return e?e({status:Ab,rejected:!0,reason:t}):t})}function jS(i,e,t,r){var n=i;try{if(pi(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&&wM(n,r)}return n}function wM(i,e){var t=i;return e&&(pi(i)?i.finally?t=i.finally(e):t=i.then(function(r){return e(),r},function(r){throw e(),r}):e()),t}function EM(i,e,t,r){Db=Db||{toString:function(){return"[[PromiseState]]"}},Rb=Rb||{toString:function(){return"[[PromiseResult]]"}},Sb=Sb||{toString:function(){return"[[PromiseIsHandled]]"}};var n={};n[Db]={get:e},n[Rb]={get:t},n[Sb]={get:r},U_(i,n)}function DM(i){var e;return i&&i.createEvent&&(e=i.createEvent("Event")),!!e&&e.initEvent}function RM(i,e,t,r){var n=er();!nh&&(nh=Ti(!!Ue(DM,[n]).v));var o=nh.v?n.createEvent("Event"):r?new Event(e):{};if(t&&t(o),nh.v&&o.initEvent(e,!1,!0),o&&i[$S])i[$S](o);else{var a=i["on"+e];if(a)a(o);else{var s=Ie("console");s&&(s.error||s.log)(e,ve(o))}}}function KS(i){return Se(i)?i.toString():ve(i)}function JS(i,e,t){var r=Ul(arguments,3),n=0,o=!1,a,s=[],c=xM++,l=zd.length>0?zd[zd.length-1]:void 0,u=!1,f=null,m;function h(L,W){try{zd.push(c),u=!0,f&&f.cancel(),f=null;var K=i(function(H,$){s.push(function(){try{var Y=n===2?L:W,I=Je(Y)?a:Se(Y)?Y(a):Y;pi(I)?I.then(H,$):Y?H(I):n===3?$(I):H(I)}catch(re){$(re)}}),o&&S()},r);return K}finally{zd.pop()}}function p(L){return h(void 0,L)}function y(L){var W=L,K=L;return Se(L)&&(W=function(H){return L&&L(),H},K=function(H){throw L&&L(),H}),h(W,K)}function v(){return zS[n]}function S(){if(s.length>0){var L=s.slice();s=[],u=!0,f&&f.cancel(),f=null,e(L)}}function E(L,W){return function(K){if(n===W){if(L===2&&pi(K)){n=1,K.then(E(2,1),E(3,1));return}n=L,o=!0,a=K,S(),!u&&L===3&&!f&&(f=ji(R,PM))}}}function R(){if(!u)if(u=!0,ES())process.emit(VS,a,m);else{var L=pr()||hi();!xb&&(xb=Ti(Ue(Ie,[oh+"RejectionEvent"]).v)),RM(L,SM,function(W){return ft(W,"promise",{g:function(){return m}}),W.reason=a,W},!!xb.v)}}m={then:h,catch:p,finally:y},Pi(m,"state",{get:v}),YS&&EM(m,v,function(){return Ap(a)},function(){return u}),DS()&&(m[Ld(11)]="IPromise");function P(){return"IPromise"+(YS?"["+c+(Je(l)?"":":"+l)+"]":"")+" "+v()+(o?" - "+KS(a):"")}return m.toString=P,(function(){Se(t)||oi(oh+": executor is not a function - "+KS(t));var W=E(3,0);try{t.call(m,E(2,0),W)}catch(K){W(K)}})(),m}function TM(i){return function(e){var t=Ul(arguments,1);return i(function(r,n){try{var o=[],a=1;Bp(e,function(s,c){s&&(a++,jS(s,function(l){o[c]=l,--a===0&&r(o)},n))}),a--,a===0&&r(o)}catch(s){n(s)}},t)}}function IM(i){return Ti(function(e){var t=Ul(arguments,1);return i(function(r,n){var o=[],a=1;function s(c,l){a++,qi(c,function(u){u.rejected?o[l]={status:Ab,reason:u.reason}:o[l]={status:"fulfilled",value:u.value},--a===0&&r(o)})}try{ye(e)?V(e,s):z_(e)?Bp(e,s):oi("Input is not an iterable"),a--,a===0&&r(o)}catch(c){n(c)}},t)})}function qS(i){V(i,function(e){try{e()}catch{}})}function AM(i){var e=zr(i)?i:0;return function(t){ji(function(){qS(t)},e)}}function QS(i,e){return JS(QS,AM(e),i,e)}function kM(i,e){!Pb&&(Pb=Ti(Ue(Ie,[oh]).v||null));var t=Pb.v;if(!t)return QS(i);Se(i)||oi(oh+": executor is not a function - "+ve(i));var r=0;function n(){return zS[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 Pi(o,"state",{get:n}),o}function Vd(i){return JS(Vd,qS,i)}function XS(i,e){return!Tb&&(Tb=IM(Vd)),Tb.v(i,e)}function mn(i,e){return!Ib&&(Ib=Ti(kM)),Ib.v.call(this,i,e)}var oh,Ab,Db,Rb,Sb,YS,zS,$S,nh,VS,SM,zd,xM,PM,xb,Pb,Tb,Ib,ZS,J$,vc=J(()=>{Fe();oh="Promise",Ab="rejected";YS=!1;zS=["pending","resolving","resolved",Ab],$S="dispatchEvent";VS="unhandledRejection",SM=VS.toLowerCase(),zd=[],xM=0,PM=10;ZS=TM(mn),J$=Ld(11)});var Qi,Be,Ka,zt,ah,Jd,ta,_c,Bi,bc,Zl,ja,eu,mo,sh,ch,lh,tu,uh,dh,ex,hr=J(()=>{Qi=void 0,Be="",Ka="channels",zt="core",ah="createPerfMgr",Jd="disabled",ta="extensionConfig",_c="extensions",Bi="processTelemetry",bc="priority",Zl="eventsSent",ja="eventsDiscarded",eu="eventsSendRequest",mo="perfEvent",sh="offlineEventsStored",ch="offlineBatchSent",lh="offlineBatchDrop",tu="getPerfMgr",uh="domain",dh="path",ex="Not dynamic - "});function pn(i){return!Z(i)}function Cc(i){var e=i;return e&&We(e)&&(e=e[Bn](OM,function(t,r){return r.toUpperCase()}),e=e[Bn](MM,"_"),e=e[Bn](LM,function(t,r){return"_"+r})),e}function ur(i,e){return i&&e?Ii(i,e)!==-1:!1}function Xi(i){return i&&i.toISOString()||""}function Pt(i){return nc(i)?i[Fr]:Be}function hn(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 qd(i,e,t){var r;return i?(r=i[e],!r&&Z(r)&&(r=Je(t)?{}:t,i[e]=r)):r=Je(t)?{}:t,r}function rx(i,e){var t=null,r=null;return Se(i)?t=i:r=i,function(){var n=arguments;if(t&&(r=t()),r)return r[e][Fa](r,n)}}function kb(i,e,t){if(i&&e&&Kt(i)&&Kt(e)){var r=function(o){if(We(o)){var a=e[o];Se(a)?(!t||t(o,!0,e,i))&&(i[o]=rx(e,o)):(!t||t(o,!1,e,i))&&(ln(i,o)&&delete i[o],ft(i,o,{g:function(){return e[o]},s:function(s){e[o]=s}}))}};for(var n in e)r(n)}return i}function ra(i,e,t,r,n){i&&e&&t&&(n!==!1||Je(i[e]))&&(i[e]=rx(t,r))}function Zi(i,e,t,r){return i&&e&&Kt(i)&&ye(t)&&V(t,function(n){We(n)&&ra(i,n,e,n,r)}),i}function Nb(i){return(function(){function e(){var t=this;i&&we(i,function(r,n){t[r]=n})}return e})()}function Gi(i){return i&&Bl&&(i=Ol(Bl({},i))),i}function fh(i,e,t,r,n,o){var a=arguments,s=a[0]||{},c=a[me],l=!1,u=1;for(c>0&&oo(s)&&(l=s,s=a[u]||{},u++),Kt(s)||(s={});u<c;u++){var f=a[u],m=ye(f),h=Kt(f);for(var p in f){var y=m&&p in f||h&&ln(f,p);if(y){var v=f[p],S=void 0;if(l&&v&&((S=ye(v))||Jr(v))){var E=s[p];S?ye(E)||(E=[]):Jr(E)||(E={}),v=fh(l,E,v)}v!==void 0&&(s[p]=v)}}}return s}function Hn(i){try{return i.responseText}catch{}return null}function wc(i,e){return i?"XDomainRequest,Response:"+Hn(i)||"":e}function ia(i,e){return i?"XMLHttpRequest,Status:"+i[hc]+",Response:"+Hn(i)||i.response||"":e}function na(i,e){return e&&(zr(e)?i=[e].concat(i):ye(e)&&(i=e.concat(i))),i}function Ob(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,FM,r),t&&a(s,tx,t),s.open(i,e,!n),t&&a(s,tx,t),!n&&o&&a(s,BM,o),s}function mh(i){var e={};if(We(i)){var t=pt(i)[fn](/[\r\n]+/);V(t,function(r){if(r){var n=r.indexOf(": ");if(n!==-1){var o=pt(r.substring(0,n))[Ni](),a=pt(r.substring(n+1));e[o]=a}else e[pt(r)]=1}})}return e}function ru(i,e,t){if(!i[t]&&e&&e[vb]){var r=e[vb](t);r&&(i[t]=pt(r))}return i}function oa(i,e){var t={};return i[_b]?t=mh(i[_b]()):e&&(t=ru(t,i,UM),t=ru(t,i,GM),t=ru(t,i,HM)),t}var NM,OM,MM,LM,rK,FM,tx,BM,GM,HM,UM,po=J(()=>{ki();Fe();bt();hr();NM="getPrototypeOf",OM=/-([a-z])/g,MM=/([^\w\d_$])/g,LM=/^(\d+[\w\d_$])/,rK=Object[NM];FM="Microsoft_ApplicationInsights_BypassAjaxInstrumentation",tx="withCredentials",BM="timeout";GM="kill-duration",HM="kill-duration-seconds",UM="time-delta-millis"});function ax(i,e){var t=!1;if(i){try{if(t=e in i,!t){var r=i[Tn];r&&(t=e in r)}}catch{}if(!t)try{var n=new i;t=!Je(n[e])}catch{}}return t}function Hb(i){ox=i}function Ec(i){if(i&&ox){var e=Ie("__mockLocation");if(e)return e}return typeof location===Vo&&location?location:Ie(YM)}function Qd(){return typeof console!==io?console:Ie($M)}function ho(){return!!(typeof JSON===Vo&&JSON||Ie(ix)!==null)}function qr(){return ho()?JSON||Ie(ix):null}function Xd(){return Ie(KM)}function Zd(){return Ie(jM)}function za(){var i=Er();return i&&i.product?i.product===zM:!1}function Va(){var i=Er();if(i&&(i[$d]!==Lb||Mb===null)){Lb=i[$d];var e=(Lb||Be)[Ni]();Mb=ur(e,Bb)||ur(e,Gb)}return Mb}function ef(i){if(i===void 0&&(i=null),!i){var e=Er()||{};i=e?(e.userAgent||Be)[Ni]():Be}var t=(i||Be)[Ni]();if(ur(t,Bb)){var r=er()||{};return Math.max(parseInt(t[fn](Bb)[1]),r[WM]||0)}else if(ur(t,Gb)){var n=parseInt(t[fn](Gb)[1]);if(n)return n+4}return null}function Hi(i){return(Fb===null||i===!1)&&(Fb=Md()&&!!Er().sendBeacon),Fb}function aa(i){var e=!1;try{e=!!Ie("fetch");var t=Ie("Request");e&&i&&t&&(e=ax(t,"keepalive"))}catch{}return e}function tf(){return iu===null&&(iu=typeof XDomainRequest!==io,iu&&nu()&&(iu=iu&&!ax(Ie(nx),"withCredentials"))),iu}function nu(){var i=!1;try{var e=Ie(nx);i=!!e}catch{}return i}function sx(i,e){if(i)for(var t=0;t<i[me];t++){var r=i[t];if(r[Fr]&&r[Fr]===e)return r}return{}}function Ub(i){var e=er();return e&&i?sx(e.querySelectorAll("meta"),i).content:null}function Wb(i){var e,t=Ma();if(t){var r=t.getEntriesByType("navigation")||[];e=sx((r[me]>0?r[0]:{}).serverTiming,i).description}return e}var WM,YM,$M,ix,KM,jM,zM,Bb,Gb,nx,Mb,Lb,ox,iu,Fb,Ja=J(()=>{"use strict";ki();Fe();bt();po();hr();WM="documentMode",YM="location",$M="console",ix="JSON",KM="crypto",jM="msCrypto",zM="ReactNative",Bb="msie",Gb="trident/",nx="XMLHttpRequest",Mb=null,Lb=null,ox=!1,iu=null,Fb=null});function VM(i){i<0&&(i>>>=0),rf=lx+i&qa,nf=ux-i&qa,dx=!0}function JM(){try{var i=jt()&2147483647;VM((Math.random()*cx^i)+i)}catch{}}function of(i){return i>0?Math.floor(sa()/qa*(i+1))>>>0:0}function sa(i){var e=0,t=Xd()||Zd();return t&&t.getRandomValues&&(e=t.getRandomValues(new Uint32Array(1))[0]&qa),e===0&&Va()&&(dx||JM(),e=fx()&qa),e===0&&(e=Math.floor(cx*Math.random()|0)),i||(e>>>=0),e}function fx(i){nf=36969*(nf&65535)+(nf>>16)&qa,rf=18e3*(rf&65535)+(rf>>16)&qa;var e=(nf<<16)+(rf&65535)>>>0&qa|0;return i||(e>>>=0),e}function af(i){i===void 0&&(i=22);for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=sa()>>>0,r=0,n=Be;n[me]<i;)r++,n+=e.charAt(t&63),t>>>=6,r===5&&(t=(sa()<<2&4294967295|t&3)>>>0,r=0);return n}var cx,qa,lx,ux,dx,rf,nf,ph=J(()=>{Fe();bt();Ja();hr();cx=4294967296,qa=4294967295,lx=123456789,ux=987654321,dx=!1,rf=lx,nf=ux});function px(i){return i[eh]===1||i[eh]===9||!+i[eh]}function XM(i,e){var t=e[i.id];if(!t){t={};try{px(e)&&ft(e,i.id,{e:!1,v:t})}catch{}}return t}function Qr(i,e){return e===void 0&&(e=!1),Cc(i+QM+++(e?"."+mx:Be)+qM)}function hh(i){var e={id:Qr("_aiData-"+(i||Be)+"."+mx),accept:function(t){return px(t)},get:function(t,r,n,o){var a=t[e.id];return a?a[Cc(r)]:(o&&(a=XM(e,t),a[Cc(r)]=n),n)},kill:function(t,r){if(t&&t[r])try{delete t[r]}catch{}}};return e}var mx,qM,QM,ou=J(()=>{Fe();bt();po();hr();ph();mx="3.3.4",qM="."+af(6),QM=0});function gh(i){return i&&Kt(i)&&(i.isVal||i.fb||ln(i,"v")||ln(i,"mrg")||ln(i,"ref")||i.set)}function hx(i,e,t){var r,n=t.dfVal||dS;if(e&&t.fb){var o=t.fb;ye(o)||(o=[o]);for(var a=0;a<o[me];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,cr(s),c)),n(r))break}}return!n(r)&&n(t.v)&&(r=t.v),r}function Yb(i,e,t){var r=t;if(t&&gh(t)&&(r=hx(i,e,t)),r){gh(r)&&(r=Yb(i,e,r));var n;ye(r)?(n=[],n[me]=r[me]):Jr(r)&&(n={}),n&&(we(r,function(o,a){a&&gh(a)&&(a=Yb(i,e,a)),n[o]=a}),r=n)}return r}function sf(i,e,t,r){var n,o,a,s=r,c,l,u,f;gh(s)?(n=s.isVal,o=s.set,u=s[uc],f=s[La],c=s.mrg,l=s.ref,!l&&Je(l)&&(l=!!c),a=hx(i,e,s)):a=r,f&&i[La](e,t);var m,h=!0,p=e[t];(p||!Z(p))&&(m=p,h=!1,n&&m!==a&&!n(m)&&(m=a,h=!0),o&&(m=o(m,a,e),h=m===a)),h?a?m=Yb(i,e,a):m=a:(Jr(m)||ye(a))&&c&&a&&(Jr(a)||ye(a))&&we(a,function(y,v){sf(i,m,y,v)}),i.set(e,t,m),l&&i.ref(e,t),u&&i[uc](e,t)}var $b=J(()=>{Fe();bt()});function Kb(i){if(i){var e;if(ye(i)?(e=[],e[me]=i[me]):Jr(i)&&(e={}),e)return we(i,function(t,r){e[t]=Kb(r)}),e}return i}function cf(i){if(i){var e=i[go]||i;if(e.cfg&&(e.cfg===i||e.cfg[go]===e))return e}return null}function lf(i){if(i&&(Jr(i)||ye(i)))try{i[gx]=!0}catch{}return i}function jb(i){if(i)try{i[yx]=!0}catch{}return i}function yh(i,e,t){var r=!1;return t&&!i[e.blkVal]&&(r=t[yx],!r&&!t[gx]&&(r=Jr(t)||ye(t))),r}function vh(i){oi("InvalidAccess:"+i)}var go,gx,yx,_h=J(()=>{Fe();bt();go=Fp("[[ai_dynCfg_1]]"),gx=Fp("[[ai_blkDynCfg_1]]"),yx=Fp("[[ai_frcDynCfg_1]]")});function eL(i,e,t){ye(e)&&V(ZM,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[Fa](this,o);return uf(i,e,t,"Patching"),s}})}function bh(i,e){var t=SS(i,e);return t&&t.get}function tL(i,e,t,r){var n={n:t,h:[],trk:function(l){l&&l.fn&&(mt(n.h,l)===-1&&n.h[qe](l),i.trk(l,n))},clr:function(l){var u=mt(n.h,l);u!==-1&&n.h[co](u,1)}},o=!0,a=!1;function s(){o&&(a=a||yh(s,i,r),r&&!r[go]&&a&&(r=uf(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&&vh("["+t+"] is read-only:"+ve(e)),o&&(a=a||yh(s,i,r),o=!1);var u=a&&s[i.rf];if(a)if(u){we(r,function(m){r[m]=l?l[m]:Qi});try{we(l,function(m,h){df(i,r,m,h)}),l=r}catch(m){au((i.hdlr||{})[Dt],t,"Assigning",m),a=!1}}else r&&r[go]&&we(r,function(m){var h=bh(r,m);if(h){var p=h[i.prop];p&&p.chng()}});if(l!==r){var f=l&&yh(s,i,l);!u&&f&&(l=uf(i,l,t,"Converting")),r=l,a=f}i.add(n)}}ft(e,n.n,{g:s,s:c})}function df(i,e,t,r){if(e){var n=bh(e,t),o=n&&!!n[i.prop];o?e[t]=r:tL(i,e,t,r)}return e}function Ch(i,e,t,r){if(e){var n=bh(e,t),o=n&&!!n[i.prop],a=r&&r[0],s=r&&r[1],c=r&&r[2];if(!o){if(c)try{lf(e)}catch(l){au((i.hdlr||{})[Dt],t,"Blocking",l)}try{df(i,e,t,e[t]),n=bh(e,t)}catch(l){au((i.hdlr||{})[Dt],t,"State",l)}}a&&(n[i.rf]=a),s&&(n[i.ro]=s),c&&(n[i.blkVal]=!0)}return e}function uf(i,e,t,r){try{we(e,function(n,o){df(i,e,n,o)}),e[go]||(Pi(e,go,{get:function(){return i[Jp]}}),eL(i,e,t))}catch(n){au((i.hdlr||{})[Dt],t,r,n)}return e}var ZM,au,vx=J(()=>{Fe();hr();bt();_h();ZM=["push","pop","shift","unshift","splice"],au=function(i,e,t,r){i&&i[Xo](3,108,"".concat(t," [").concat(e,"] failed - ")+ve(r))}});function _x(i){var e,t=Hl(ff+"get"+i.uid+mf),r=Hl(ff+"ro"+i.uid+mf),n=Hl(ff+"rf"+i.uid+mf),o=Hl(ff+"blkVal"+i.uid+mf),a=Hl(ff+"dtl"+i.uid+mf),s=null,c=null,l;function u(p,y){var v=l.act;try{l.act=p,p&&p[a]&&(V(p[a],function(E){E.clr(p)}),p[a]=[]),y({cfg:i.cfg,set:i.set.bind(i),setDf:i[Mn].bind(i),ref:i.ref.bind(i),rdOnly:i[uc].bind(i)})}catch(E){var S=i[Dt];throw S&&S[Xo](1,107,ve(E)),E}finally{l.act=v||null}}function f(){if(s){var p=s;s=null,c&&c[Zo](),c=null;var y=[];if(V(p,function(v){if(v&&(v[a]&&(V(v[a],function(S){S.clr(v)}),v[a]=null),v.fn))try{u(v,v.fn)}catch(S){y[qe](S)}}),s)try{f()}catch(v){y[qe](v)}y[me]>0&&US("Watcher error(s): ",y)}}function m(p){if(p&&p.h[me]>0){s||(s=[]),c||(c=ji(function(){c=null,f()},0));for(var y=0;y<p.h[me];y++){var v=p.h[y];v&&mt(s,v)===-1&&s[qe](v)}}}function h(p,y){if(p){var v=p[a]=p[a]||[];mt(v,y)===-1&&v[qe](y)}}return l=(e={prop:t,ro:r,rf:n},e[La]=o,e[Jp]=i,e.add=m,e[dc]=f,e.use=u,e.trk=h,e),l}var ff,mf,bx=J(()=>{Fe();WS();bt();ff="[[ai_",mf="]]"});function rL(i,e){var t={fn:e,rm:function(){t.fn=null,i=null,e=null}};return ft(t,"toJSON",{v:function(){return"WatcherHandler"+(t.fn?"":"[X]")}}),i.use(t,e),t}function iL(i,e,t){var r,n=cf(e);if(n)return n;var o=Qr("dyncfg",!0),a=e&&t!==!1?e:Kb(e),s;function c(){s[dc]()}function l(S,E,R){try{S=df(s,S,E,R)}catch(P){au(i,E,"Setting value",P)}return S[E]}function u(S){return rL(s,S)}function f(S,E){s.use(null,function(R){var P=s.upd;try{Je(E)||(s.upd=E),S(R)}finally{s.upd=P}})}function m(S,E){var R;return Ch(s,S,E,(R={},R[0]=!0,R))[E]}function h(S,E){var R;return Ch(s,S,E,(R={},R[1]=!0,R))[E]}function p(S,E){var R;return Ch(s,S,E,(R={},R[2]=!0,R))[E]}function y(S,E){return E&&we(E,function(R,P){sf(v,S,R,P)}),S}var v=(r={uid:null,cfg:a},r[Dt]=i,r[dc]=c,r.set=l,r[Mn]=y,r[Ln]=u,r.ref=m,r[uc]=h,r[La]=p,r._block=f,r);return ft(v,"uid",{c:!1,e:!1,w:!1,v:o}),s=_x(v),uf(s,a,"config","Creating"),v}function nL(i,e){i?(i[Kl](e),i[Xo](2,108,e)):vh(e)}function Ft(i,e,t,r){var n=iL(t,i||{},r);return e&&n[Mn](n.cfg,e),n}function gr(i,e,t){var r=i[go]||i;return r.cfg&&(r.cfg===i||r.cfg[go]===r)?r[Ln](e):(nL(t,ex+ve(i)),Ft(i,null,t)[Ln](e))}var Qa=J(()=>{Fe();ou();hr();bt();$b();vx();bx();_h()});function ca(i,e){if(i&&i[Mi])return i[Mi](e)}function wh(i,e,t){var r;return t||(r=mn(function(n){t=n})),i&&Wl(i)>0?qi(ca(i[0],e),function(){wh(Ul(i,1),e,t)}):t(),r}var zb=J(()=>{vc();Fe();bt()});var Cx,Vb,Jb=J(()=>{Cx=500,Vb="Microsoft_ApplicationInsights_BypassAjaxInstrumentation"});function oL(i,e,t){return!i&&Z(i)?e:oo(i)?i:cr(i)[Ni]()==="true"}function qb(i){return{mrg:!0,v:i}}function su(i,e,t){return{fb:t,isVal:i,v:e}}function gn(i,e){return{fb:e,set:oL,v:!!i}}var Qb=J(()=>{Fe();bt()});function aL(i,e){return function(){var t=arguments,r=Zb(e);if(r){var n=r.listener;n&&n[i]&&n[i][Fa](n,t)}}}function sL(){var i=Ie("Microsoft");return i&&(Dh=i.ApplicationInsights),Dh}function Zb(i){var e=Dh;return!e&&i.disableDbgExt!==!0&&(e=Dh||sL()),e?e.ChromeDbgExt:null}function wx(i){if(!Eh){Eh={};for(var e=0;e<Xb[me];e++)Eh[Xb[e]]=aL(Xb[e],i)}return Eh}var Xb,Dh,Eh,eC=J(()=>{Fe();bt();hr();Xb=[Zl,ja,eu,mo],Dh=null});function Ex(i){return i?'"'+i[Bn](/\"/g,Be)+'"':Be}function tC(i,e){var t=Qd();if(t){var r="log";t[i]&&(r=i),Se(t[r])&&t[r](e)}}function Un(i,e){return(i||{})[Dt]||new Xa(e)}function rC(i){return i||new Xa}function ae(i,e,t,r,n,o){o===void 0&&(o=!1),rC(i)[Xo](e,t,r,n,o)}function gi(i,e){rC(i)[Kl](e)}function iC(i,e,t){rC(i)[yb](e,t)}var cu,Dx,cL,lL,uL,dL,fL,Dc,Xa,Wn=J(()=>{"use strict";Lr();Fe();Qa();bt();eC();Ja();hr();Dx="warnToConsole",cL="AI (Internal): ",lL="AI: ",uL="AITR_",dL={loggingLevelConsole:0,loggingLevelTelemetry:1,maxMessageLimit:25,enableDebug:!1},fL=(cu={},cu[0]=null,cu[1]="errorToConsole",cu[2]=Dx,cu[3]="debugToConsole",cu);Dc=(function(){function i(e,t,r,n){r===void 0&&(r=!1);var o=this;o[Jl]=e,o[fo]=(r?lL:cL)+e;var a=Be;ho()&&(a=qr().stringify(n));var s=(t?" message:"+Ex(t):Be)+(n?" props:"+Ex(a):Be);o[fo]+=s}return i.dataType="MessageData",i})();Xa=(function(){function i(e){this.identifier="DiagnosticLogger",this.queue=[];var t=0,r={},n,o,a,s,c;rt(i,this,function(l){c=f(e||{}),l.consoleLoggingLevel=function(){return n},l[Xo]=function(p,y,v,S,E){E===void 0&&(E=!1);var R=new Dc(y,v,E,S);if(s)throw ve(R);var P=fL[p]||Dx;if(Je(R[fo]))h("throw"+(p===1?"Critical":"Warning"),R);else{if(E){var L=+R[Jl];!r[L]&&n>=p&&(l[P](R[fo]),r[L]=!0)}else n>=p&&l[P](R[fo]);u(p,R)}},l.debugToConsole=function(p){tC("debug",p),h("warning",p)},l[Kl]=function(p){tC("warn",p),h("warning",p)},l.errorToConsole=function(p){tC("error",p),h("error",p)},l.resetInternalMessageCount=function(){t=0,r={}},l[yb]=u,l[Mi]=function(p){c&&c.rm(),c=null};function u(p,y){if(!m()){var v=!0,S=uL+y[Jl];if(r[S]?v=!1:r[S]=!0,v&&(p<=o&&(l.queue[qe](y),t++,h(p===1?"error":"warn",y)),t===a)){var E="Internal events throttle limit per PageView reached for this app.",R=new Dc(23,E,!1);l.queue[qe](R),p===1?l.errorToConsole(E):l[Kl](E)}}}function f(p){return gr(Ft(p,dL,l).cfg,function(y){var v=y.cfg;n=v[Xp],o=v.loggingLevelTelemetry,a=v.maxMessageLimit,s=v.enableDebug})}function m(){return t>=a}function h(p,y){var v=Zb(e||{});v&&v[Li]&&v[Li](p,y)}})}return i.__ieDyn=1,i})()});function lC(){!yo&&(yo=$_(function(){return er()}))}function pL(i,e){var t=la[Za]||xh[Za];return t||(t=la[Za]=la(i,e),xh[Za]=t),t}function Sh(i){return i?i.isEnabled():!0}function Ox(i,e){return e&&i&&ye(i.ignoreCookies)?mt(i.ignoreCookies,e)!==-1:!1}function hL(i,e){return e&&i&&ye(i.blockedCookies)&&mt(i.blockedCookies,e)!==-1?!0:Ox(i,e)}function Ix(i,e){var t=e[Ha];if(Z(t)){var r=void 0;Je(i[xx])||(r=!i[xx]),Je(i[sC])||(r=!i[sC]),t=r}return t}function uC(i,e){var t;if(i)t=i.getCookieMgr();else if(e){var r=e.cookieCfg;r&&r[Za]?t=r[Za]:t=la(e)}return t||(t=pL(e,(i||{})[Dt])),t}function la(i,e){var t,r,n,o,a,s,c,l,u;i=Ft(i||xh,null,e).cfg,a=gr(i,function(m){m[Mn](m.cfg,mL),r=m.ref(m.cfg,"cookieCfg"),n=r[dh]||"/",o=r[uh],s=Ix(i,r)!==!1,c=r.getCookie||gL,l=r.setCookie||Nx,u=r.delCookie||Nx},e);var f=(t={isEnabled:function(){var m=Ix(i,r)!==!1&&s&&lu(e),h=xh[Za];return m&&h&&f!==h&&(m=Sh(h)),m},setEnabled:function(m){s=m!==!1,r[Ha]=m},set:function(m,h,p,y,v){var S=!1;if(Sh(f)&&!hL(r,m)){var E={},R=pt(h||Be),P=Ii(R,";");if(P!==-1&&(R=pt(ac(h,P)),E=Mx(wr(h,P+1))),hn(E,uh,y||o,An,Je),!Z(p)){var L=Va();if(Je(E[oC])){var W=jt(),K=W+p*1e3;if(K>0){var H=new Date;H.setTime(K),hn(E,oC,Ax(H,L?Rx:Sx)||Ax(H,L?Rx:Sx)||Be,An)}}L||hn(E,"max-age",Be+p,null,Je)}var $=Ec();$&&$[Zp]==="https:"&&(hn(E,"secure",null,null,Je),aC===null&&(aC=!Ph((Er()||{})[$d])),aC&&hn(E,"SameSite","None",null,Je)),hn(E,dh,v||n,null,Je),l(m,kx(R,E)),S=!0}return S},get:function(m){var h=Be;return Sh(f)&&!Ox(r,m)&&(h=c(m)),h},del:function(m,h){var p=!1;return Sh(f)&&(p=f.purge(m,h)),p},purge:function(m,h){var p,y=!1;if(lu(e)){var v=(p={},p[dh]=h||"/",p[oC]="Thu, 01 Jan 1970 00:00:01 GMT",p);Va()||(v["max-age"]="0"),u(m,kx(Be,v)),y=!0}return y}},t[Mi]=function(m){a&&a.rm(),a=null},t);return f[Za]=f,f}function lu(i){if(Rh===null){Rh=!1,!yo&&lC();try{var e=yo.v||{};Rh=e[cC]!==void 0}catch(t){ae(i,2,68,"Cannot access document.cookie - "+Pt(t),{exception:ve(t)})}}return Rh}function Mx(i){var e={};if(i&&i[me]){var t=pt(i)[fn](";");V(t,function(r){if(r=pt(r||Be),r){var n=Ii(r,"=");n===-1?e[r]=null:e[pt(ac(r,n))]=pt(wr(r,n+1))}})}return e}function Ax(i,e){return Se(i[e])?i[e]():null}function kx(i,e){var t=i||Be;return we(e,function(r,n){t+="; "+r+(Z(n)?Be:"="+n)}),t}function gL(i){var e=Be;if(!yo&&lC(),yo.v){var t=yo.v[cC]||Be;Px!==t&&(Tx=Mx(t),Px=t),e=pt(Tx[i]||Be)}return e}function Nx(i,e){!yo&&lC(),yo.v&&(yo.v[cC]=i+"="+e)}function Ph(i){return We(i)?!!(ur(i,"CPU iPhone OS 12")||ur(i,"iPad; CPU OS 12")||ur(i,"Macintosh; Intel Mac OS X 10_14")&&ur(i,"Version/")&&ur(i,"Safari")||ur(i,"Macintosh; Intel Mac OS X 10_14")&&cc(i,"AppleWebKit/605.1.15 (KHTML, like Gecko)")||ur(i,"Chrome/5")||ur(i,"Chrome/6")||ur(i,"UnrealEngine")&&!ur(i,"Chrome")||ur(i,"UCBrowser/12")||ur(i,"UCBrowser/11")):!1}var nC,Rc,Rx,Sx,cC,oC,xx,sC,Za,Rh,aC,Px,yo,Tx,xh,mL,dC=J(()=>{Fe();Qb();Qa();bt();Wn();Ja();po();hr();Rx="toGMTString",Sx="toUTCString",cC="cookie",oC="expires",xx="isCookieUseDisabled",sC="disableCookiesUsage",Za="_ckMgr",Rh=null,aC=null,Px=null,Tx={},xh={},mL=(nC={cookieCfg:qb((Rc={},Rc[uh]={fb:"cookieDomain",dfVal:pn},Rc.path={fb:"cookiePath",dfVal:pn},Rc.enabled=Qi,Rc.ignoreCookies=Qi,Rc.blockedCookies=Qi,Rc)),cookieDomain:Qi,cookiePath:Qi},nC[sC]=Qi,nC)});function vL(i){i.h=null;var e=i.cb;i.cb=[],V(e,function(t){Ue(t.fn,[t.arg])})}function es(i,e,t,r){V(i,function(n){n&&n[e]&&(t?(t.cb[qe]({fn:r,arg:n}),t.h=t.h||ji(vL,0,t)):Ue(r,[n]))})}var yL,pf,fC=J(()=>{Lr();vc();Fe();Qa();bt();hr();yL={perfEvtsSendAll:!1};pf=(function(){function i(e){this.listeners=[];var t,r,n=[],o={h:null,cb:[]},a=Ft(e,yL);r=a[Ln](function(s){t=!!s.cfg.perfEvtsSendAll}),rt(i,this,function(s){ft(s,"listeners",{g:function(){return n}}),s[zl]=function(c){n[qe](c)},s[jl]=function(c){for(var l=mt(n,c);l>-1;)n[co](l,1),l=mt(n,c)},s[Zl]=function(c){es(n,Zl,o,function(l){l[Zl](c)})},s[ja]=function(c,l){es(n,ja,o,function(u){u[ja](c,l)})},s[eu]=function(c,l){es(n,eu,l?o:null,function(u){u[eu](c,l)})},s[mo]=function(c){c&&(t||!c[jd]())&&es(n,mo,null,function(l){c[Fn]?ji(function(){return l[mo](c)},0):l[mo](c)})},s[sh]=function(c){c&&c[me]&&es(n,sh,o,function(l){l[sh](c)})},s[ch]=function(c){c&&c[Ya]&&es(n,ch,o,function(l){l[ch](c)})},s[lh]=function(c,l){if(c>0){var u=l||0;es(n,lh,o,function(f){f[lh](c,u)})}},s[Mi]=function(c){var l=function(){r&&r.rm(),r=null,n=[],o.h&&o.h[Zo](),o.h=null,o.cb=[]},u;if(es(n,"unload",null,function(f){var m=f[Mi](c);m&&(u||(u=[]),u[qe](m))}),u)return mn(function(f){return qi(ZS(u),function(){l(),f()})});l()}})}return i.__ieDyn=1,i})()});function rr(i,e,t,r,n){if(i){var o=i;if(o[tu]&&(o=o[tu]()),o){var a=void 0,s=o[gc](mC);try{if(a=o.create(e(),r,n),a){if(s&&a[Gn]&&(a[Gn](Sc[pC],s),s[gc]&&s[Gn])){var c=s[gc](Sc[hf]);c||(c=[],s[Gn](Sc[hf],c)),c[qe](a)}return o[Gn](mC,a),t(a)}}catch(l){a&&a[Gn]&&a[Gn]("exception",l)}finally{a&&o.fire(a),o[Gn](mC,s)}}}return t()}function hC(){return _L}var uu,pC,hf,_L,Sc,gf,mC,Th=J(()=>{Lr();Fe();bt();hr();uu="ctx",pC="ParentContextKey",hf="ChildrenContextKey",_L=null,Sc=(function(){function i(e,t,r){var n=this;if(n.start=jt(),n[Fr]=e,n[Fn]=r,n[jd]=function(){return!1},Se(t)){var o;ft(n,"payload",{g:function(){return!o&&Se(t)&&(o=t(),t=null),o}})}n[gc]=function(a){return a?a===i[pC]||a===i[hf]?n[a]:(n[uu]||{})[a]:null},n[Gn]=function(a,s){if(a)if(a===i[pC])n[a]||(n[jd]=function(){return!0}),n[a]=s;else if(a===i[hf])n[a]=s;else{var c=n[uu]=n[uu]||{};c[a]=s}},n[th]=function(){var a=0,s=n[gc](i[hf]);if(ye(s))for(var c=0;c<s[me];c++){var l=s[c];l&&(a+=l[Ga])}n[Ga]=jt()-n.start,n.exTime=n[Ga]-a,n[th]=function(){}}}return i.ParentContextKey="parent",i.ChildrenContextKey="childEvts",i})(),gf=(function(){function i(e){this.ctx={},rt(i,this,function(t){t.create=function(r,n,o){return new Sc(r,n,o)},t.fire=function(r){r&&(r[th](),e&&Se(e[mo])&&e[mo](r))},t[Gn]=function(r,n){if(r){var o=t[uu]=t[uu]||{};o[r]=n}},t[gc]=function(r){return(t[uu]||{})[r]}})}return i.__ieDyn=1,i})(),mC="CoreUtils.doPerf"});function yf(){var i=xc();return wr(i,0,8)+"-"+wr(i,8,12)+"-"+wr(i,12,16)+"-"+wr(i,16,20)+"-"+wr(i,20)}function xc(){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=sa(),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+(sa()&3)|0];return so(e,0,8)+so(e,9,4)+"4"+so(e,13,3)+n+so(e,16,3)+so(e,19,12)}var gC=J(()=>{"use strict";Fe();hr();ph()});function ua(i,e,t){return i&&i[me]===e&&i!==t?!!i.match(/^[\da-f]*$/i):!1}function Fx(i,e,t){return ua(i,e)?i:t}function Bx(i){(isNaN(i)||i<0||i>255)&&(i=1);for(var e=i.toString(16);e[me]<2;)e="0"+e;return e}function vf(i,e,t,r){var n;return n={},n[mc]=ua(r,2,vC)?r:yC,n[Ql]=vo(i)?i:xc(),n[Xl]=_o(e)?e:ac(xc(),16),n.traceFlags=t>=0&&t<=255?t:1,n}function Pc(i,e){var t;if(!i||(ye(i)&&(i=i[0]||""),!i||!We(i)||i[me]>8192))return null;if(i.indexOf(",")!==-1){var r=i[fn](",");i=r[e>0&&r[me]>e?e:0]}var n=bL.exec(pt(i));return!n||n[1]===vC||n[2]===Ih||n[3]===Ah?null:(t={version:(n[1]||Be)[Ni](),traceId:(n[2]||Be)[Ni](),spanId:(n[3]||Be)[Ni]()},t[$a]=parseInt(n[4],16),t)}function vo(i){return ua(i,32,Ih)}function _o(i){return ua(i,16,Ah)}function du(i){return!(!i||!ua(i[mc],2,vC)||!ua(i[Ql],32,Ih)||!ua(i[Xl],16,Ah)||!ua(Bx(i[$a]),2))}function _f(i){return du(i)?(i[$a]&Lx)===Lx:!1}function bf(i){if(i){var e=Bx(i[$a]);ua(e,2)||(e="01");var t=i[mc]||yC;return t!=="00"&&t!=="ff"&&(t=yC),"".concat(t.toLowerCase(),"-").concat(Fx(i.traceId,32,Ih).toLowerCase(),"-").concat(Fx(i.spanId,16,Ah).toLowerCase(),"-").concat(e.toLowerCase())}return""}function Cf(i){var e="traceparent",t=Pc(Ub(e),i);return t||(t=Pc(Wb(e),i)),t}function _C(i){var e=i.getElementsByTagName("script"),t=[];return V(e,function(r){var n=r[ih]("src");if(n){var o=r[ih]("crossorigin"),a=r.hasAttribute("async")===!0,s=r.hasAttribute("defer")===!0,c=r[ih]("referrerpolicy"),l={url:n};o&&(l.crossOrigin=o),a&&(l.async=a),s&&(l.defer=s),c&&(l.referrerPolicy=c),t[qe](l)}}),t}var bL,yC,vC,Ih,Ah,Lx,bC=J(()=>{Fe();bt();gC();Ja();hr();bL=/^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]{1,64})?$/i,yC="00",vC="ff",Ih="00000000000000000000000000000000",Ah="0000000000000000",Lx=1});function da(i){return CL.get(i,"state",{},!0)}function CC(i,e){for(var t=[],r=null,n=i[Ji](),o;n;){var a=n[Ba]();if(a){r&&r[Wa]&&a[Bi]&&r[Wa](a),o=da(a);var s=!!o[Oi];a[Oi]&&(s=a[Oi]()),s||t[qe](a),r=a,n=n[Ji]()}}V(t,function(c){var l=i[zt]();c[ea](i.getCfg(),l,e,i[Ji]()),o=da(c),!c[zt]&&!o[zt]&&(o[zt]=l),o[Oi]=!0,delete o[Vi]})}function kh(i){return i.sort(function(e,t){var r=0;if(t){var n=t[Bi];e[Bi]?r=n?e[bc]-t[bc]:1:n&&(r=-1)}else r=e?1:-1;return r})}function Gx(i){var e={};return{getName:function(){return e[Fr]},setName:function(t){i&&i.setName(t),e[Fr]=t},getTraceId:function(){return e[Ql]},setTraceId:function(t){i&&i.setTraceId(t),vo(t)&&(e[Ql]=t)},getSpanId:function(){return e[Xl]},setSpanId:function(t){i&&i.setSpanId(t),_o(t)&&(e[Xl]=t)},getTraceFlags:function(){return e[$a]},setTraceFlags:function(t){i&&i.setTraceFlags(t),e[$a]=t}}}var CL,wC=J(()=>{"use strict";Fe();bt();ou();hr();bC();CL=hh("plugin")});function EL(i,e,t){for(;i;){if(i[Ba]()===t)return i;i=i[Ji]()}return ts([t],e.config||{},e)}function EC(i,e,t,r){var n=null,o=[];e||(e=Ft({},null,t[Dt])),r!==null&&(n=r?EL(i,t,r):i);var a={_next:c,ctx:{core:function(){return t},diagLog:function(){return Un(t,e.cfg)},getCfg:function(){return e.cfg},getExtCfg:u,getConfig:f,hasNext:function(){return!!n},getNext:function(){return n},setNext:function(h){n=h},iterate:m,onComplete:s}};function s(h,p){for(var y=[],v=2;v<arguments.length;v++)y[v-2]=arguments[v];h&&o[qe]({func:h,self:Je(p)?a.ctx:p,args:y})}function c(){var h=n;if(n=h?h[Ji]():null,!h){var p=o;p&&p[me]>0&&(V(p,function(y){try{y.func.call(y.self,y.args)}catch(v){ae(t[Dt],2,73,"Unexpected Exception during onComplete - "+ve(v))}}),o=[])}return h}function l(h,p){var y=null,v=e.cfg;if(v&&h){var S=v[ta];!S&&p&&(S={}),v[ta]=S,S=e.ref(v,ta),S&&(y=S[h],!y&&p&&(y={}),S[h]=y,y=e.ref(S,h))}return y}function u(h,p){var y=l(h,!0);return p&&we(p,function(v,S){if(Z(y[v])){var E=e.cfg[v];(E||!Z(E))&&(y[v]=E)}sf(e,y,v,S)}),e[Mn](y,p)}function f(h,p,y){y===void 0&&(y=!1);var v,S=l(h,!1),E=e.cfg;return S&&(S[p]||!Z(S[p]))?v=S[p]:(E[p]||!Z(E[p]))&&(v=E[p]),v||!Z(v)?v:y}function m(h){for(var p;p=a._next();){var y=p[Ba]();y&&h(y)}}return a}function yi(i,e,t,r){var n=Ft(e),o=EC(i,n,t,r),a=o.ctx;function s(l){var u=o._next();return u&&u[Bi](l,a),!u}function c(l,u){return l===void 0&&(l=null),ye(l)&&(l=ts(l,n.cfg,t,u)),yi(l||a[Ji](),n.cfg,t,u)}return a[Dr]=s,a[uo]=c,a}function fu(i,e,t){var r=Ft(e.config),n=EC(i,r,e,t),o=n.ctx;function a(c){var l=n._next();return l&&l[Mi](o,c),!l}function s(c,l){return c===void 0&&(c=null),ye(c)&&(c=ts(c,r.cfg,e,l)),fu(c||o[Ji](),e,l)}return o[Dr]=a,o[uo]=s,o}function wf(i,e,t){var r=Ft(e.config),n=EC(i,r,e,t),o=n.ctx;function a(c){return o.iterate(function(l){Se(l[pc])&&l[pc](o,c)})}function s(c,l){return c===void 0&&(c=null),ye(c)&&(c=ts(c,r.cfg,e,l)),wf(c||o[Ji](),e,l)}return o[Dr]=a,o[uo]=s,o}function ts(i,e,t,r){var n=null,o=!r;if(ye(i)&&i[me]>0){var a=null;V(i,function(s){if(!o&&r===s&&(o=!0),o&&s&&Se(s[Bi])){var c=DL(s,e,t);n||(n=c),a&&a._setNext(c),a=c}})}return r&&!n?ts([r],e,t):n}function DL(i,e,t){var r=null,n=Se(i[Bi]),o=Se(i[Wa]),a;i?a=i[lo]+"-"+i[bc]+"-"+Wx++:a="Unknown-0-"+Wx++;var s={getPlugin:function(){return i},getNext:function(){return r},processTelemetry:u,unload:f,update:m,_id:a,_setNext:function(h){r=h}};function c(){var h;return i&&Se(i[Ux])&&(h=i[Ux]()),h||(h=yi(s,e,t)),h}function l(h,p,y,v,S){var E=!1,R=i?i[lo]:wL,P=h[Hx];return P||(P=h[Hx]={}),h.setNext(r),i&&rr(h[zt](),function(){return R+":"+y},function(){P[a]=!0;try{var L=r?r._id:Be;L&&(P[L]=!1),E=p(h)}catch(K){var W=r?P[r._id]:!0;W&&(E=!0),(!r||!W)&&ae(h[Li](),1,73,"Plugin ["+R+"] failed during "+y+" - "+ve(K)+", run flags: "+ve(P))}},v,S),E}function u(h,p){p=p||c();function y(v){if(!i||!n)return!1;var S=da(i);return S[Vi]||S[Jd]?!1:(o&&i[Wa](r),i[Bi](h,v),!0)}l(p,y,"processTelemetry",function(){return{item:h}},!h.sync)||p[Dr](h)}function f(h,p){function y(){var v=!1;if(i){var S=da(i),E=i[zt]||S[zt];i&&(!E||E===h.core())&&!S[Vi]&&(S[zt]=null,S[Vi]=!0,S[Oi]=!1,i[Vi]&&i[Vi](h,p)===!0&&(v=!0))}return v}l(h,y,"unload",function(){},p[Fn])||h[Dr](p)}function m(h,p){function y(){var v=!1;if(i){var S=da(i),E=i[zt]||S[zt];i&&(!E||E===h.core())&&!S[Vi]&&i[pc]&&i[pc](h,p)===!0&&(v=!0)}return v}l(h,y,"update",function(){},!1)||h[Dr](p)}return un(s)}var wL,Hx,Ux,Wx,DC,Nh=J(()=>{"use strict";Fe();$b();Qa();bt();Wn();po();hr();Th();wC();wL="TelemetryPluginChain",Hx="_hasRun",Ux="_getTelCtx",Wx=0;DC=(function(){function i(e,t,r,n){var o=this,a=yi(e,t,r,n);Zi(o,a,Vr(a))}return i})()});function Tc(){var i=[];function e(r){r&&i[qe](r)}function t(r,n){V(i,function(o){try{o(r,n)}catch(a){ae(r[Li](),2,73,"Unexpected error calling unload handler - "+ve(a))}}),i=[]}return{add:e,run:t}}var Oh=J(()=>{Fe();bt();Wn()});function RC(i,e){Ef=i,Df=e}function Rf(){var i=[];function e(r){var n=i;i=[],V(n,function(o){try{(o.rm||o.remove).call(o)}catch(a){ae(r,2,73,"Unloading:"+ve(a))}}),Ef&&n[me]>Ef&&(Df?Df("doUnload",n):ae(null,1,48,"Max unload hooks exceeded. An excessive number of unload hooks has been detected."))}function t(r){r&&(Nn(i,r),Ef&&i[me]>Ef&&(Df?Df("Add",i):ae(null,1,48,"Max unload hooks exceeded. An excessive number of unload hooks has been detected.")))}return{run:e,add:t}}var Ef,Df,Mh=J(()=>{Fe();bt();Wn()});var SC,rs,RL,fa,xC=J(()=>{"use strict";Lr();Fe();Qa();bt();Wn();po();hr();Nh();Oh();Mh();rs="getPlugin",RL=(SC={},SC[ta]={isVal:pn,v:{}},SC),fa=(function(){function i(){var e=this,t,r,n,o,a;l(),rt(i,e,function(u){u[ea]=function(f,m,h,p){c(f,m,p),t=!0},u[Vi]=function(f,m){var h,p=u[zt];if(!p||f&&p!==f[zt]())return;var y,v=!1,S=f||fu(null,p,n&&n[rs]?n[rs]():n),E=m||(h={reason:0},h[Fn]=!1,h);function R(){v||(v=!0,o.run(S,m),a.run(S[Li]()),y===!0&&S[Dr](E),l())}return!u[Ua]||u[Ua](S,E,R)!==!0?R():y=!0,y},u[pc]=function(f,m){var h=u[zt];if(!h||f&&h!==f[zt]())return;var p,y=!1,v=f||wf(null,h,n&&n[rs]?n[rs]():n),S=m||{reason:0};function E(){y||(y=!0,c(v.getCfg(),v.core(),v[Ji]()))}return!u._doUpdate||u._doUpdate(v,S,E)!==!0?E():p=!0,p},ra(u,"_addUnloadCb",function(){return o},"add"),ra(u,"_addHook",function(){return a},"add"),ft(u,"_unloadHooks",{g:function(){return a}})}),e[Li]=function(u){return s(u)[Li]()},e[Oi]=function(){return t},e.setInitialized=function(u){t=u},e[Wa]=function(u){n=u},e[Dr]=function(u,f){f?f[Dr](u):n&&Se(n[Bi])&&n[Bi](u,null)},e._getTelCtx=s;function s(u){u===void 0&&(u=null);var f=u;if(!f){var m=r||yi(null,{},e[zt]);n&&n[rs]?f=m[uo](null,n[rs]):f=m[uo](null,n)}return f}function c(u,f,m){Ft(u,RL,Un(f)),!m&&f&&(m=f[Qp]()[Ji]());var h=n;n&&n[rs]&&(h=n[rs]()),e[zt]=f,r=yi(m,u,f,h)}function l(){t=!1,e[zt]=null,r=null,n=null,a=Rf(),o=Tc()}}return i.__ieDyn=1,i})()});function SL(i,e,t){var r={id:e,fn:t};Nn(i,r);var n={remove:function(){V(i,function(o,a){if(o.id===r.id)return i[co](a,1),-1})}};return n}function xL(i,e,t){for(var r=!1,n=i[me],o=0;o<n;++o){var a=i[o];if(a)try{if(a.fn[Fa](null,[e])===!1){r=!0;break}}catch(s){ae(t,2,64,"Telemetry initializer failed: "+Pt(s),{exception:ve(s)},!0)}}return!r}var Yx,$x=J(()=>{ki();Lr();Fe();bt();xC();Wn();po();hr();Yx=(function(i){Ai(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 SL(n,r++,c)},a[Bi]=function(c,l){xL(n,c,l?l[Li]():a[Li]())&&a[Dr](c,l)},a[Ua]=function(){o()}});function o(){r=0,n=[]}return t}return e.__ieDyn=1,e})(fa)});function kL(i,e){return new gf(e)}function NL(i,e,t){var r,n=[],o=[],a={};return V(t,function(s){(Z(s)||Z(s[ea]))&&Zt(Vx);var c=s[bc],l=s[lo];s&&c&&(Z(a[c])?a[c]=l:gi(i,"Two extensions have same priority #"+c+" - "+a[c]+", "+l)),!c||c<e?n[qe](s):o[qe](s)}),r={},r[zt]=n,r[Ka]=o,r}function jx(i,e){var t=!1;return V(e,function(r){if(r===i)return t=!0,-1}),t}function TC(i,e,t,r){t&&we(t,function(n,o){r&&Jr(o)&&Jr(e[n])&&TC(i,e[n],o,r),r&&Jr(o)&&Jr(e[n])?TC(i,e[n],o,r):i.set(e,n,o)})}function zx(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 OL(i,e){var t=zx(i,e).l;return t||(t={w:e,rm:function(){var r=zx(i,e);r.i!==-1&&i[co](r.i,1)}},i[qe](t)),t}function ML(i,e,t){V(e,function(r){var n=gr(i,r.w,t);delete r.w,r.rm=function(){n.rm()}})}function LL(i,e,t,r){return e.add(i[Ln](function(n){var o=n.cfg.disableDbgExt;o===!0&&r&&(t[jl](r),r=null),t&&!r&&o!==!0&&(r=wx(n.cfg),t[zl](r))})),r}function FL(i){return ft({rm:function(){i.rm()}},"toJSON",{v:function(){return"aicore::onCfgChange<"+JSON.stringify(i)+">"}})}var is,Vx,PL,Kx,TL,IL,AL,PC,ma,Jx=J(()=>{"use strict";ki();Lr();vc();Fe();Qa();mb();bt();zb();Jb();dC();ou();eC();Wn();po();hr();fC();Th();Nh();wC();$x();Oh();Mh();Vx="Plugins must provide initialize method",PL="_notificationManager",Kx="SDK is still unloading...",TL="SDK is not initialized",IL=100,AL=5e4,PC=ao((is={cookieCfg:{}},is[_c]={rdOnly:!0,ref:!0,v:[]},is[Ka]={rdOnly:!0,ref:!0,v:[]},is[ta]={ref:!0,v:{}},is[ah]=Qi,is.loggingLevelConsole=0,is.diagnosticLogInterval=Qi,is));ma=(function(){function i(){var e,t,r,n,o,a,s,c,l,u,f,m,h,p,y,v,S,E,R,P,L,W,K,H,$,Y,I,re,le,T,b,x,B;rt(i,this,function(k){U(),k._getDbgPlgTargets=function(){return[K,n]},k[Oi]=function(){return t},k.activeStatus=function(){return Y},k._setPendingStatus=function(){Y=3},k[ea]=function(G,se,De,pe){h&&Zt(Kx),k[Oi]()&&Zt("Core cannot be initialized more than once"),e=Ft(G,PC,De||k[Dt],!1),G=e.cfg,Ae(e[Ln](function(it){var ht=it.cfg,kt=Y===3;if(!kt){re=ht.initInMemoMaxSize||IL;var Vt=ht[pb],ti=ht.endpointUrl;if(Z(Vt)){L=null,Y=zi[qp];var ri="Please provide instrumentation key";t?(ae(r,1,100,ri),ee()):Zt(ri);return}var on=[];if(pi(Vt)?(on[qe](Vt),L=null):L=Vt,pi(ti)?(on[qe](ti),I=null):I=ti,on[me]){le=!1,Y=3;var Tr=pn(ht.initTimeOut)?ht.initTimeOut:AL,Bo=XS(on);T=ji(function(){T=null,le||ue()},Tr),qi(Bo,function(q){try{if(le)return;if(!q.rejected){var oe=q[fc];if(oe&&oe[me]){var ge=oe[0];if(L=ge&&ge[fc],oe[me]>1){var Ne=oe[1];I=Ne&&Ne[fc]}}L&&(G[pb]=L,G.endpointUrl=I)}ue()}catch{le||ue()}})}else ue();var O=it.ref(it.cfg,ta);we(O,function(q){it.ref(O,q)})}})),o=pe,R=LL(e,E,o&&k[Wd](),R),ne(),k[Dt]=De;var Re=G[_c];if(u=[],u[qe].apply(u,Gp(Gp([],se,!1),Re,!1)),f=G[Ka],ot(null),(!m||m[me]===0)&&Zt("No "+Ka+" available"),f&&f[me]>1){var ct=k[Ba]("TeeChannelController");(!ct||!ct.plugin)&&ae(r,1,28,"TeeChannel required")}ML(G,W,r),W=null,t=!0,Y===zi.ACTIVE&&ee()},k.getChannels=function(){var G=[];return m&&V(m,function(se){G[qe](se)}),un(G)},k.track=function(G){rr(k[tu](),function(){return"AppInsightsCore:track"},function(){G===null&&(Ke(G),Zt("Invalid telemetry item")),!G[Fr]&&Z(G[Fr])&&(Ke(G),Zt("telemetry name required")),G[Vl]=G[Vl]||L,G[Ga]=G[Ga]||Xi(new Date),G.ver=G.ver||"4.0",!h&&k[Oi]()&&Y===zi.ACTIVE?et()[Dr](G):Y!==zi[qp]&&n[me]<=re&&n[qe](G)},function(){return{item:G}},!G.sync)},k[Qp]=et,k[Wd]=function(){return o||(o=new pf(e.cfg),k[PL]=o),o},k[zl]=function(G){k.getNotifyMgr()[zl](G)},k[jl]=function(G){o&&o[jl](G)},k.getCookieMgr=function(){return c||(c=la(e.cfg,k[Dt])),c},k.setCookieMgr=function(G){c!==G&&(ca(c,!1),c=G)},k[tu]=function(){return a||s||hC()},k.setPerfMgr=function(G){a=G},k.eventCnt=function(){return n[me]},k.releaseQueue=function(){if(t&&n[me]>0){var G=n;n=[],Y===2?V(G,function(se){se[Vl]=se[Vl]||L,et()[Dr](se)}):ae(r,2,20,"core init status is not active")}},k[hb]=function(G){return y=G||null,B=!1,b&&b[Zo](),Ce(!0)};function ue(){le=!0,Z(L)?(Y=zi[qp],ae(r,1,112,"ikey can't be resolved from promises")):Y=zi.ACTIVE,ee()}function ee(){t&&(k.releaseQueue(),k[hb]())}function Ce(G){if((!b||!b[Ha])&&!B){var se=G||r&&r.queue[me]>0;se&&(x||(x=!0,Ae(e[Ln](function(De){var pe=De.cfg.diagnosticLogInterval;(!pe||!(pe>0))&&(pe=1e4);var Re=!1;b&&(Re=b[Ha],b[Zo]()),b=IS(ie,pe),b.unref(),b[Ha]=Re}))),b[Ha]=!0)}return b}k[gb]=function(){B=!0,b&&b[Zo](),ie()},Zi(k,function(){return p},["addTelemetryInitializer"]),k[Mi]=function(G,se,De){var pe;G===void 0&&(G=!0),t||Zt(TL),h&&Zt(Kx);var Re=(pe={reason:50},pe[Fn]=G,pe.flushComplete=!1,pe),ct;G&&!se&&(ct=mn(function(kt){se=kt}));var it=fu(wt(),k);it[Yd](function(){E.run(k[Dt]),wh([c,o,r],G,function(){U(),se&&se(Re)})},k);function ht(kt){Re.flushComplete=kt,h=!0,S.run(it,Re),k[gb](),it[Dr](Re)}return ie(),$e(G,ht,6,De)||ht(!1),ct},k[Ba]=xe,k.addPlugin=function(G,se,De,pe){if(!G){pe&&pe(!1),Ee(Vx);return}var Re=xe(G[lo]);if(Re&&!se){pe&&pe(!1),Ee("Plugin ["+G[lo]+"] is already loaded!");return}var ct={reason:16};function it(Vt){u[qe](G),ct.added=[G],ot(ct),pe&&pe(!0)}if(Re){var ht=[Re.plugin],kt={reason:2,isAsync:!!De};ui(ht,kt,function(Vt){Vt?(ct.removed=ht,ct.reason|=32,it(!0)):pe&&pe(!1)})}else it(!1)},k.updateCfg=function(G,se){se===void 0&&(se=!0);var De;if(k[Oi]()){De={reason:1,cfg:e.cfg,oldCfg:Q_({},e.cfg),newConfig:Q_({},G),merge:se},G=De.newConfig;var pe=e.cfg;G[_c]=pe[_c],G[Ka]=pe[Ka]}e._block(function(Re){var ct=Re.cfg;TC(Re,ct,G,se),se||we(ct,function(it){ln(G,it)||Re.set(ct,it,Qi)}),Re[Mn](ct,PC)},!0),e[dc](),De&&he(De)},k.evtNamespace=function(){return v},k.flush=$e,k.getTraceCtx=function(G){return P||(P=Gx()),P},k.setTraceCtx=function(G){P=G||null},k.addUnloadHook=Ae,ra(k,"addUnloadCb",function(){return S},"add"),k.onCfgChange=function(G){var se;return t?se=gr(e.cfg,G,k[Dt]):se=OL(W,G),FL(se)},k.getWParam=function(){return sc()||e.cfg.enableWParam?0:-1};function ce(){var G={};H=[];var se=function(De){De&&V(De,function(pe){if(pe[lo]&&pe[mc]&&!G[pe.identifier]){var Re=pe[lo]+"="+pe[mc];H[qe](Re),G[pe.identifier]=pe}})};se(m),f&&V(f,function(De){se(De)}),se(u)}function U(){t=!1,e=Ft({},PC,k[Dt]),e.cfg[Xp]=1,ft(k,"config",{g:function(){return e.cfg},s:function(se){k.updateCfg(se,!1)}}),ft(k,"pluginVersionStringArr",{g:function(){return H||ce(),H}}),ft(k,"pluginVersionString",{g:function(){return $||(H||ce(),$=H.join(";")),$||Be}}),ft(k,"logger",{g:function(){return r||(r=new Xa(e.cfg),e[Dt]=r),r},s:function(se){e[Dt]=se,r!==se&&(ca(r,!1),r=se)}}),k[Dt]=new Xa(e.cfg),K=[];var G=k.config[_c]||[];G.splice(0,G[me]),Nn(G,K),p=new Yx,n=[],ca(o,!1),o=null,a=null,s=null,ca(c,!1),c=null,l=null,u=[],f=null,m=null,h=!1,y=null,v=Qr("AIBaseCore",!0),S=Tc(),P=null,L=null,E=Rf(),W=[],$=null,H=null,B=!1,b=null,x=!1,Y=0,I=null,re=null,le=!1,T=null}function et(){var G=yi(wt(),e.cfg,k);return G[Yd](Ce),G}function ot(G){var se=NL(k[Dt],Cx,u);l=null,$=null,H=null,m=(f||[])[0]||[],m=kh(Nn(m,se[Ka]));var De=Nn(kh(se[zt]),m);K=un(De);var pe=k.config[_c]||[];pe.splice(0,pe[me]),Nn(pe,K);var Re=et();m&&m[me]>0&&CC(Re[uo](m),De),CC(Re,De),G&&he(G)}function xe(G){var se=null,De=null,pe=[];return V(K,function(Re){if(Re[lo]===G&&Re!==p)return De=Re,-1;Re.getChannel&&pe[qe](Re)}),!De&&pe[me]>0&&V(pe,function(Re){if(De=Re.getChannel(G),!De)return-1}),De&&(se={plugin:De,setEnabled:function(Re){da(De)[Jd]=!Re},isEnabled:function(){var Re=da(De);return!Re[Vi]&&!Re[Jd]},remove:function(Re,ct){var it;Re===void 0&&(Re=!0);var ht=[De],kt=(it={reason:1},it[Fn]=Re,it);ui(ht,kt,function(Vt){Vt&&ot({reason:32,removed:ht}),ct&&ct(Vt)})}}),se}function wt(){if(!l){var G=(K||[]).slice();mt(G,p)===-1&&G[qe](p),l=ts(kh(G),e.cfg,k)}return l}function ui(G,se,De){if(G&&G[me]>0){var pe=ts(G,e.cfg,k),Re=fu(pe,k);Re[Yd](function(){var ct=!1,it=[];V(u,function(kt,Vt){jx(kt,G)?ct=!0:it[qe](kt)}),u=it,$=null,H=null;var ht=[];f&&(V(f,function(kt,Vt){var ti=[];V(kt,function(ri){jx(ri,G)?ct=!0:ti[qe](ri)}),ht[qe](ti)}),f=ht),De&&De(ct),Ce()}),Re[Dr](se)}else De(!1)}function ie(){if(r&&r.queue){var G=r.queue.slice(0);r.queue[me]=0,V(G,function(se){var De,pe=(De={},De[Fr]=y||"InternalMessageId: "+se[Jl],De[Vl]=L,De[Ga]=Xi(new Date),De.baseType=Dc.dataType,De.baseData={message:se[fo]},De);k.track(pe)})}}function $e(G,se,De,pe){var Re=1,ct=!1,it=null;pe=pe||5e3;function ht(){Re--,ct&&Re===0&&(it&&it[Zo](),it=null,se&&se(ct),se=null)}if(m&&m[me]>0){var kt=et()[uo](m);kt.iterate(function(Vt){if(Vt.flush){Re++;var ti=!1;Vt.flush(G,function(){ti=!0,ht()},De)||ti||(G&&it==null?it=ji(function(){it=null,ht()},pe):ht())}})}return ct=!0,ht(),!0}function ne(){var G;Ae(e[Ln](function(se){var De=se.cfg.enablePerfMgr;if(De){var pe=se.cfg[ah];(G!==pe||!G)&&(pe||(pe=kL),qd(se.cfg,ah,pe),G=pe,s=null),!a&&!s&&Se(pe)&&(s=pe(k,k[Wd]()))}else s=null,G=null}))}function he(G){var se=wf(wt(),k);se[Yd](Ce),(!k._updateHook||k._updateHook(se,G)!==!0)&&se[Dr](G)}function Ee(G){var se=k[Dt];se?(ae(se,2,73,G),Ce()):Zt(G)}function Ke(G){var se=k[Wd]();se&&se[ja]([G],2)}function Ae(G){E.add(G)}})}return i.__ieDyn=1,i})()});function Ic(i,e){try{if(i&&i!==""){var t=qr().parse(i);if(t&&t[bb]&&t[bb]>=t.itemsAccepted&&t.itemsReceived-t.itemsAccepted===t.errors[me])return t}}catch(r){ae(e,1,43,"Cannot parse the response. "+(r[Fr]||ve(r)),{response:i})}return null}var qx=J(()=>{Fe();bt();Wn();Ja()});var bo,BL,Qx,IC,Ac,Xx=J(()=>{Lr();vc();Fe();bt();Jb();Wn();Ja();po();bo="",BL="NoResponseBody",Qx="&"+BL+"=true",IC="POST",Ac=(function(){function i(){var e=0,t,r,n,o,a,s,c,l,u,f,m,h,p,y;rt(i,this,function(v,S){var E=!0;le(),v[ea]=function(T,b){n=b,r&&ae(n,1,28,"Sender is already initialized"),v.SetConfig(T),r=!0},v._getDbgPlgTargets=function(){return[r,o,s,t]},v.SetConfig=function(T){try{if(a=T.senderOnCompleteCallBack||{},s=!!T.disableCredentials,c=T.fetchCredentials,o=!!T.isOneDs,t=!!T.enableSendPromise,u=!!T.disableXhr,f=!!T.disableBeacon,m=!!T.disableBeaconSync,y=T.timeWrapper,p=!!T.addNoResponse,h=!!T.disableFetchKeepAlive,l={sendPOST:Y},o||(E=!1),s){var b=Ec();b&&b.protocol&&b.protocol[Ni]()==="file:"&&(E=!1)}return!0}catch{}return!1},v.getSyncFetchPayload=function(){return e},v.getSenderInst=function(T,b){return T&&T[me]?W(T,b):null},v.getFallbackInst=function(){return l},v[Ua]=function(T,b){le()};function R(T,b){K(b,200,{},T)}function P(T,b){ae(n,2,26,"Failed to send telemetry.",{message:T}),K(b,400,{})}function L(T){P("No endpoint url is provided for the batch",T)}function W(T,b){for(var x,B=0,k=null,ue=0;k==null&&ue<T[me];)B=T[ue],!u&&B===1?tf()?k=re:nu()&&(k=Y):B===2&&aa(b)&&(!b||!h)?k=I:B===3&&Hi()&&(b?!m:!f)&&(k=$),ue++;return k?(x={_transport:B,_isSync:b},x[Cb]=k,x):null}function K(T,b,x,B){try{T&&T(b,x,B)}catch{}}function H(T,b){var x=Er(),B=T[ql];if(!B)return L(b),!0;B=T[ql]+(p?Qx:bo);var k=T[Ya],ue=o?k:new Blob([k],{type:"text/plain;charset=UTF-8"}),ee=x.sendBeacon(B,ue);return ee}function $(T,b,x){var B=T[Ya];try{if(B)if(H(T,b))R(bo,b);else{var k=a&&a.beaconOnRetry;k&&Se(k)?k(T,b,H):(l&&l[Cb](T,b,!0),ae(n,2,40,". Failed to send telemetry with Beacon API, retried with normal sender."))}}catch(ue){o&&gi(n,"Failed to send telemetry using sendBeacon API. Ex:"+ve(ue)),K(b,o?0:400,{},bo)}}function Y(T,b,x){var B,k,ue,ee=T[rh]||{};!x&&t&&(B=mn(function(et,ot){k=et,ue=ot})),o&&x&&T.disableXhrSync&&(x=!1);var Ce=T[ql];if(!Ce){L(b),k&&k(!1);return}var ce=Ob(IC,Ce,E,!0,x,T[yc]);o||ce[wb]("Content-type","application/json"),V(Vr(ee),function(et){ce[wb](et,ee[et])}),ce.onreadystatechange=function(){o||(U(ce),ce.readyState===4&&k&&k(!0))},ce.onload=function(){o&&U(ce)};function U(et){var ot=a&&a.xhrOnComplete,xe=ot&&Se(ot);if(xe)ot(et,b,T);else{var wt=Hn(et);K(b,et[hc],oa(et,o),wt)}}return ce.onerror=function(et){K(b,o?ce[hc]:400,oa(ce,o),o?bo:ia(ce)),ue&&ue(et)},ce.ontimeout=function(){K(b,o?ce[hc]:500,oa(ce,o),o?bo:ia(ce)),k&&k(!1)},ce.send(T[Ya]),B}function I(T,b,x){var B,k=T[ql],ue=T[Ya],ee=o?ue:new Blob([ue],{type:"application/json"}),Ce,ce,U,et=new Headers,ot=ue[me],xe=!1,wt=!1,ui=T[rh]||{},ie=(B={method:IC,body:ee},B[Vb]=!0,B);T.headers&&Vr(T.headers)[me]>0&&(V(Vr(ui),function(Ee){et.append(Ee,ui[Ee])}),ie[rh]=et),c?ie.credentials=c:E&&o&&(ie.credentials="include"),x&&(ie.keepalive=!0,e+=ot,o?T._sendReason===2&&(xe=!0,p&&(k+=Qx)):xe=!0);var $e=new Request(k,ie);try{$e[Vb]=!0}catch{}if(!x&&t&&(Ce=mn(function(Ee,Ke){ce=Ee,U=Ke})),!k){L(b),ce&&ce(!1);return}function ne(Ee){K(b,o?0:400,{},o?bo:Ee)}function he(Ee,Ke,Ae){var G=Ee[hc],se=a.fetchOnComplete;se&&Se(se)?se(Ee,b,Ae||bo,Ke):K(b,G,{},Ae||bo)}try{qi(fetch(o?k:$e,o?ie:null),function(Ee){if(x&&(e-=ot,ot=0),!wt)if(wt=!0,Ee.rejected)ne(Ee.reason&&Ee.reason[fo]),U&&U(Ee.reason);else{var Ke=Ee[fc];try{!o&&!Ke.ok?(ne(Ke.statusText),ce&&ce(!1)):o&&!Ke.body?(he(Ke,null,bo),ce&&ce(!0)):qi(Ke.text(),function(Ae){he(Ke,T,Ae[fc]),ce&&ce(!0)})}catch(Ae){ne(ve(Ae)),U&&U(Ae)}}})}catch(Ee){wt||(ne(ve(Ee)),U&&U(Ee))}return xe&&!wt&&(wt=!0,K(b,200,{}),ce&&ce(!0)),o&&!wt&&T[yc]>0&&y&&y.set(function(){wt||(wt=!0,K(b,500,{}),ce&&ce(!0))},T[yc]),Ce}function re(T,b,x){var B=pr(),k=new XDomainRequest,ue=T[Ya];k.onload=function(){var et=Hn(k),ot=a&&a.xdrOnComplete;ot&&Se(ot)?ot(k,b,T):K(b,200,{},et)},k.onerror=function(){K(b,400,{},o?bo:wc(k))},k.ontimeout=function(){K(b,500,{})},k.onprogress=function(){};var ee=B&&B.location&&B.location[Zp]||"",Ce=T[ql];if(!Ce){L(b);return}if(!o&&Ce.lastIndexOf(ee,0)!==0){var ce="Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";ae(n,2,40,". "+ce),P(ce,b);return}var U=o?Ce:Ce[Bn](/^(https?:)/,"");k.open(IC,U),T[yc]&&(k[yc]=T[yc]),k.send(ue),o&&x?y&&y.set(function(){k.send(ue)},0):k.send(ue)}function le(){e=0,r=!1,t=!1,n=null,o=null,a=null,s=null,c=null,l=null,u=!1,f=!1,m=!1,h=!1,p=!1,y=null}})}return i.__ieDyn=1,i})()});function iP(i){return i&&i[Bn]?i[Bn](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g,Be):i}function Bh(i,e){var t;if(e){var r=Be;ye(e)?(r=Be,V(e,function(o){o=iP(o),o&&(o[0]!=="."&&(o="."+o),r+=o)})):r=iP(e),r&&(r[0]!=="."&&(r="."+r),i=(i||Be)+r)}var n=WL.exec(i||Be)||[];return t={},t[Fi]=n[1],t.ns=(n[2]||Be).replace(GL,".").replace(HL,Be)[fn](".").sort().join("."),t}function AC(i,e,t){var r=[],n=xf.get(i,Lh,{},!1),o=Bh(e,t);return we(n,function(a,s){V(s,function(c){var l;(!o[Fi]||o[Fi]===c.evtName[Fi])&&(!o.ns||o.ns===o.ns)&&r[qe]((l={},l[Fr]=c.evtName[Fi]+(c.evtName.ns?"."+c.evtName.ns:Be),l.handler=c[Kd],l))})}),r}function dP(i,e,t){t===void 0&&(t=!0);var r=xf.get(i,Lh,{},t),n=r[e];return n||(n=r[e]=[]),n}function fP(i,e,t,r){i&&e&&e[Fi]&&(i[rP]?i[rP](e[Fi],t,r):i[tP]&&i[tP](oP+e[Fi],t))}function YL(i,e,t,r){var n=!1;return i&&e&&e[Fi]&&t&&(i[eP]?(i[eP](e[Fi],t,r),n=!0):i[Zx]&&(i[Zx](oP+e[Fi],t),n=!0)),n}function nP(i,e,t,r){for(var n=e[me];n--;){var o=e[n];o&&(!t.ns||t.ns===o.evtName.ns)&&(!r||r(o))&&(fP(i,o.evtName,o[Kd],o.capture),e[co](n,1))}}function $L(i,e,t){if(e[Fi])nP(i,dP(i,e[Fi]),e,t);else{var r=xf.get(i,Lh,{});we(r,function(n,o){nP(i,o,e,t)}),Vr(r)[me]===0&&xf.kill(i,Lh)}}function en(i,e){var t;return e?(ye(e)?t=[i].concat(e):t=[i,e],t=Bh("xx",t).ns[fn](".")):t=i,t}function Co(i,e,t,r,n){var o;n===void 0&&(n=!1);var a=!1;if(i)try{var s=Bh(e,r);if(a=YL(i,s,t,n),a&&xf.accept(i)){var c=(o={guid:UL++,evtName:s},o[Kd]=t,o.capture=n,o);dP(i,s.type)[qe](c)}}catch{}return a}function pa(i,e,t,r,n){if(n===void 0&&(n=!1),i)try{var o=Bh(e,r),a=!1;$L(i,o,function(s){return o.ns&&!t||s[Kd]===t?(a=!0,!0):!1}),a||fP(i,o,t,n)}catch{}}function kC(i,e,t,r){return r===void 0&&(r=!1),Co(i,e,t,null,r)}function NC(i,e,t,r){r===void 0&&(r=!1),pa(i,e,t,null,r)}function Gh(i,e,t){var r=!1,n=pr();n&&(r=Co(n,i,e,t),r=Co(n.body,i,e,t)||r);var o=er();return o&&(r=Co(o,i,e,t)||r),r}function Hh(i,e,t){var r=pr();r&&(pa(r,i,e,t),pa(r.body,i,e,t));var n=er();n&&pa(n,i,e,t)}function mu(i,e,t,r){var n=!1;return e&&i&&i[me]>0&&V(i,function(o){o&&(!t||mt(t,o)===-1)&&(n=Gh(o,e,r)||n)}),n}function Uh(i,e,t,r){var n=!1;return e&&i&&ye(i)&&(n=mu(i,e,t,r),!n&&t&&t[me]>0&&(n=mu(i,e,null,r))),n}function ns(i,e,t){i&&ye(i)&&V(i,function(r){r&&Hh(r,e,t)})}function Pf(i,e,t){return Uh([cP,sP,Fh],i,e,t)}function Tf(i,e){ns([cP,sP,Fh],i,e)}function pu(i,e,t){function r(a){var s=er();i&&s&&s.visibilityState==="hidden"&&i(a)}var n=en(lP,t),o=mu([Fh],i,e,n);return(!e||mt(e,Sf)===-1)&&(o=mu([Sf],r,e,n)||o),!o&&e&&(o=pu(i,null,t)),o}function If(i,e){var t=en(lP,e);ns([Fh],i,t),ns([Sf],null,t)}function hu(i,e,t){function r(a){var s=er();i&&s&&s.visibilityState==="visible"&&i(a)}var n=en(uP,t),o=mu([aP],i,e,n);return o=mu([Sf],r,e,n)||o,!o&&e&&(o=hu(i,null,t)),o}function Af(i,e){var t=en(uP,e);ns([aP],i,t),ns([Sf],null,t)}var oP,Zx,eP,tP,rP,Lh,Sf,Fh,aP,sP,cP,lP,uP,GL,HL,UL,xf,WL,mP=J(()=>{Fe();bt();ou();hr();oP="on",Zx="attachEvent",eP="addEventListener",tP="detachEvent",rP="removeEventListener",Lh="events",Sf="visibilitychange",Fh="pagehide",aP="pageshow",sP="unload",cP="beforeunload",lP=Qr("aiEvtPageHide"),uP=Qr("aiEvtPageShow"),GL=/\.[\.]+/g,HL=/[\.]+$/,UL=1,xf=hh("events"),WL=/^([^.]*)(?:\.(.+)|)/});var OC,pP=J(()=>{Ud();OC=tr({DISABLED:0,CRITICAL:1,WARNING:2,DEBUG:3})});var yt=J(()=>{GS();HS();mb();Jx();xC();ph();gC();zb();po();qx();Xx();Fe();Ud();mP();Ja();ki();fC();Th();Wn();Nh();pP();dC();ou();Oh();Mh();bC();Qa();_h();Qb()});var wo,hP,MC,Wh,Yh=J(()=>{wo="",hP="https://browser.events.data.microsoft.com/OneCollector/1.0/",MC="version",Wh="properties"});var LC,FC,gu,Eo,BC,Bt,kc,ha,$h,Kh,jh,zh,kf,Vh=J(()=>{LC="initialize",FC="logger",gu="indexOf",Eo="timings",BC="pollInternalLogs",Bt="value",kc="kind",ha="length",$h="processTelemetryStart",Kh="handleField",jh="rmSanitizer",zh="rmFieldSanitizer",kf="canHandle"});function Br(i){return!(i===wo||Z(i))}function Jh(i){if(i){var e=Ii(i,"-");if(e>-1)return ac(i,e)}return wo}function bP(){return GC===null&&(GC=!Je(Uint8Array)&&!JL()&&!za()),GC}function qh(i){return!!(i&&zr(i)&&i>=1&&i<=4)}function Qh(i,e,t){if(!e&&!Br(e)||typeof i!="string")return null;var r=typeof e;if(r==="string"||r==="number"||r==="boolean"||ye(e))e={value:e};else if(r==="object"&&!yP.call(e,"value"))e={value:t?JSON.stringify(e):e};else if(Z(e[Bt])||e[Bt]===wo||!We(e[Bt])&&!zr(e[Bt])&&!oo(e[Bt])&&!ye(e[Bt]))return null;if(ye(e[Bt])&&!UC(e[Bt]))return null;if(!Z(e[kc])){if(ye(e[Bt])||!Nf(e[kc]))return null;e[Bt]=e[Bt].toString()}return e}function vu(i,e,t){var r=-1;if(!Je(i))if(e>0&&(e===32?r=8192:e<=13&&(r=e<<5)),VL(t))r===-1&&(r=0),r|=t;else{var n=zL[Do(i)]||-1;r!==-1&&n!==-1?r|=n:n===6&&(r=n)}return r}function CP(i,e,t){t===void 0&&(t=!0);var r;return i&&(r=i.get(e),t&&r&&decodeURIComponent&&(r=decodeURIComponent(r))),r||wo}function wP(i){i===void 0&&(i="D");var e=yf();return i==="B"?e="{"+e+"}":i==="P"?e="("+e+")":i==="N"&&(e=e.replace(/-/g,wo)),e}function Nc(i,e,t,r,n){var o={},a=!1,s=0,c=arguments[ha],l=arguments;for(oo(l[0])&&(a=l[0],s++);s<c;s++){var i=l[s];we(i,function(f,m){a&&m&&Kt(m)?ye(m)?(o[f]=o[f]||[],V(m,function(h,p){h&&Kt(h)?o[f][p]=Nc(!0,o[f][p],h):o[f][p]=h})):o[f]=Nc(!0,o[f],m):o[f]=m})}return o}function Nf(i){return i===0||i>0&&i<=13||i===32}function VL(i){return i>=0&&i<=9}function JL(){var i=Er();if(!Je(i)&&i.userAgent){var e=i.userAgent.toLowerCase();if((e[gu]("safari")>=0||e[gu]("firefox")>=0)&&e[gu]("chrome")<0)return!0}return!1}function UC(i){return i[ha]>0}function Of(i,e){var t=i;t[Eo]=t[Eo]||{},t[Eo][$h]=t[Eo][$h]||{},t[Eo][$h][e]=Ui()}function Do(i){var e=0;if(i!=null){var t=typeof i;t==="string"?e=1:t==="number"?e=2:t==="boolean"?e=3:t===Vo&&(e=4,ye(i)?(e=4096,i[ha]>0&&(e|=Do(i[0]))):yP.call(i,"value")&&(e=8192|Do(i[Bt])))}return e}function Xh(){return!!Ie("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,KL,r),t&&a(s,gP,t),s.open(i,e,!n),t&&a(s,gP,t),!n&&o&&a(s,jL,o),s}function os(i){return i>0}var ga,HC,yu,yP,KL,gP,jL,zL,GC,vP,_P,Ui,Zh=J(()=>{yt();ki();Fe();Yh();Vh();HC="4.3.4",yu="1DS-Web-JS-"+HC,yP=xd.hasOwnProperty,KL="Microsoft_ApplicationInsights_BypassAjaxInstrumentation",gP="withCredentials",jL="timeout",zL=(ga={},ga[0]=0,ga[2]=6,ga[1]=1,ga[3]=7,ga[4098]=6,ga[4097]=1,ga[4099]=7,ga),GC=null,vP=sc(),_P=Gl();Ui=Bd});function QL(i){return i&&(!i.getProperty||!i.setProperty)&&Zt("Invalid property storage override passed."),!0}var qL,DP,RP=J(()=>{ki();Lr();yt();Fe();Yh();Zh();Vh();qL=ao({endpointUrl:hP,propertyStorageOverride:{isVal:QL}});DP=(function(i){Ai(e,i);function e(){var t=i.call(this)||this;return rt(e,t,function(r,n){r[LC]=function(o,a,s,c){rr(r,function(){return"AppInsightsCore.initialize"},function(){try{n[LC](Ft(o,qL,s||r[FC],!1).cfg,a,s,c)}catch(f){var l=r[FC],u=ve(f);u[gu]("channels")!==-1&&(u+=`
- Channels must be provided through config.channels only!`),ae(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){rr(r,function(){return"AppInsightsCore.track"},function(){var a=o;if(a){a[Eo]=a[Eo]||{},a[Eo].trackStart=Ui(),qh(a.latency)||(a.latency=1);var s=a.ext=a.ext||{};s.sdk=s.sdk||{},s.sdk.ver=yu;var c=a.baseData=a.baseData||{};c[Wh]=c[Wh]||{};var l=c[Wh];l[MC]=l[MC]||r.pluginVersionString||wo}n.track(a)},function(){return{item:o}},!o.sync)},r[BC]=function(o){return n[BC](o||"InternalLog")}}),t}return e.__ieDyn=1,e})(ma)});var SP,xP,PP,TP,IP,AP=J(()=>{yt();SP=tr({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}),xP=tr({Normal:1,CostDeferred:2,RealTime:3,Immediate:4}),PP=tr({Unspecified:0,String:1,Int32:2,UInt32:3,Int64:4,UInt64:5,Double:6,Bool:7,Guid:8,DateTime:9}),TP=tr({Normal:1,Critical:2}),IP=tr({NONE:0,ERROR:1,WARNING:2,INFORMATION:3})});var kP,NP=J(()=>{yt();Fe();Yh();Zh();Vh();kP=(function(){function i(e){var t=this,r={},n=[],o=[];e&&o.push(e);function a(u,f){var m,h=r[u];if(h&&(m=h[f]),!m&&m!==null){if(We(u)&&We(f))if(o[ha]>0){for(var p=0;p<o[ha];p++)if(o[p][Kh](u,f)){m={canHandle:!0,fieldHandler:o[p]};break}}else n[ha]===0&&(m={canHandle:!0});if(!m&&m!==null){m=null;for(var p=0;p<n[ha];p++)if(n[p][Kh](u,f)){m={canHandle:!0,handler:n[p],fieldHandler:null};break}}h||(h=r[u]={}),h[f]=m}return m}t.clearCache=function(){r={}},t.addSanitizer=function(u){u&&(V_(n,u)||n.push(u),r={})},t.addFieldSanitizer=function(u){u&&(V_(o,u)||o.push(u),r={})},t[jh]=function(u){if(u){var f=mt(n,u);f!==-1&&(n.splice(f,1),r={}),V(n,function(m){m&&m[jh]&&m[jh](u)})}},t[zh]=function(u){if(u){var f=mt(o,u);f!==-1&&(o.splice(f,1),r={}),V(n,function(m){m&&m[zh]&&m[zh](u)})}},t.isEmpty=function(){return Wl(n)+Wl(o)===0},t[Kh]=function(u,f){var m=a(u,f);return m?m[kf]:!1},t[Bt]=function(u,f,m,h){var p=a(u,f);if(p&&p[kf]){if(!p||!p[kf])return null;if(p.handler)return p.handler[Bt](u,f,m,h);if(!We(f)||Z(m)||m===wo)return null;var y=null,v=Do(m);if((v&8192)===8192){var S=v&-8193;if(y=m,!Br(y[Bt])||S!==1&&S!==2&&S!==3&&(S&4096)!==4096)return null}else v===1||v===2||v===3||(v&4096)===4096?y=c(u,f,m):v===4&&(y=c(u,f,h?JSON.stringify(m):m));if(y)return s(p,u,f,v,y,h)}return null},t.property=function(u,f,m,h){var p=a(u,f);if(!p||!p[kf]||!We(f)||Z(m)||!Br(m[Bt]))return null;var y=Do(m[Bt]);return y===0?null:s(p,u,f,y,m,h)};function s(u,f,m,h,p,y){if(u.handler)return u.handler.property(f,m,p,y);if(!Z(p[kc])){if((h&4096)===4096||!Nf(p[kc]))return null;p[Bt]=p[Bt].toString()}return l(u.fieldHandler,f,m,h,p)}function c(u,f,m){return Br(m)?{value:m}:null}function l(u,f,m,h,p){if(p&&u){var y=u.getSanitizer(f,m,h,p[kc],p.propertyType);if(y)if(h===4){var v={},S=p[Bt];we(S,function(R,P){var L=f+"."+m;if(Br(P)){var W=c(L,R,P);W=l(u,L,R,Do(P),W),W&&(v[R]=W[Bt])}}),p[Bt]=v}else{var E={path:f,name:m,type:h,prop:p,sanitizer:t};p=y.call(t,E)}}return p}}return i.getFieldType=Do,i})()});var OP={};dl(OP,{ActiveStatus:()=>zi,AppInsightsCore:()=>DP,BaseTelemetryPlugin:()=>fa,DiagnosticLogger:()=>Xa,EventLatency:()=>xP,EventPersistence:()=>TP,EventPropertyType:()=>PP,EventsDiscardedReason:()=>On,FullVersionString:()=>yu,InternalAppInsightsCore:()=>ma,LoggingSeverity:()=>OC,MinChannelPriorty:()=>db,NotificationManager:()=>pf,PerfEvent:()=>Sc,PerfManager:()=>gf,ProcessTelemetryContext:()=>DC,SenderPostManager:()=>Ac,TraceLevel:()=>IP,Undefined:()=>io,ValueKind:()=>SP,ValueSanitizer:()=>kP,Version:()=>HC,_InternalLogMessage:()=>Dc,__getRegisteredEvents:()=>AC,_appendHeader:()=>ru,_getAllResponseHeaders:()=>oa,_logInternalMessage:()=>iC,_testHookMaxUnloadHooksCb:()=>RC,_throwInternal:()=>ae,_warnToConsole:()=>gi,addEventHandler:()=>Gh,addEventListeners:()=>Uh,addPageHideEventListener:()=>pu,addPageShowEventListener:()=>hu,addPageUnloadEventListener:()=>Pf,areCookiesSupported:()=>lu,arrForEach:()=>V,arrIndexOf:()=>mt,arrMap:()=>qo,arrReduce:()=>Fd,attachEvent:()=>kC,blockDynamicConversion:()=>lf,convertAllHeadersToMap:()=>mh,cookieAvailable:()=>lu,createCookieMgr:()=>la,createDynamicConfig:()=>Ft,createEnumStyle:()=>tr,createGuid:()=>wP,createProcessTelemetryContext:()=>yi,createTraceParent:()=>vf,createUniqueNamespace:()=>Qr,createUnloadHandlerContainer:()=>Tc,dateNow:()=>jt,detachEvent:()=>NC,disallowsSameSiteNone:()=>Ph,doPerf:()=>rr,dumpObj:()=>ve,eventOff:()=>pa,eventOn:()=>Co,extend:()=>Nc,findW3cTraceParent:()=>Cf,forceDynamicConversion:()=>jb,formatErrorMessageXdr:()=>wc,formatErrorMessageXhr:()=>ia,formatTraceParent:()=>bf,generateW3CId:()=>xc,getCommonSchemaMetaData:()=>vu,getConsole:()=>Qd,getCookieValue:()=>CP,getCrypto:()=>Xd,getDocument:()=>er,getDynamicConfigHandler:()=>cf,getExceptionName:()=>Pt,getFieldValueType:()=>Do,getGlobal:()=>hi,getGlobalInst:()=>Ie,getHistory:()=>Mp,getIEVersion:()=>ef,getISOString:()=>Xi,getJSON:()=>qr,getLocation:()=>Ec,getMsCrypto:()=>Zd,getNavigator:()=>Er,getPerformance:()=>Ma,getResponseText:()=>Hn,getSetValue:()=>qd,getTenantId:()=>Jh,getTime:()=>Ui,getWindow:()=>pr,hasDocument:()=>sc,hasHistory:()=>j_,hasJSON:()=>ho,hasNavigator:()=>Md,hasOwnProperty:()=>Cr,hasWindow:()=>Gl,isArray:()=>ye,isArrayValid:()=>UC,isBeaconsSupported:()=>Hi,isBoolean:()=>oo,isChromium:()=>Xh,isDate:()=>kp,isDocumentObjectAvailable:()=>vP,isError:()=>nc,isFetchSupported:()=>aa,isFunction:()=>Se,isGreaterThanZero:()=>os,isIE:()=>Va,isLatency:()=>qh,isNotTruthy:()=>G_,isNullOrUndefined:()=>Z,isNumber:()=>zr,isObject:()=>Kt,isReactNative:()=>za,isSampledFlag:()=>_f,isString:()=>We,isTruthy:()=>An,isTypeof:()=>B_,isUint8ArrayAvailable:()=>bP,isUndefined:()=>Je,isValidSpanId:()=>_o,isValidTraceId:()=>vo,isValidTraceParent:()=>du,isValueAssigned:()=>Br,isValueKind:()=>Nf,isWindowObjectAvailable:()=>_P,isXhrSupported:()=>nu,mergeEvtNamespace:()=>en,newGuid:()=>yf,newId:()=>af,normalizeJsName:()=>Cc,objDefineAccessors:()=>W_,objForEachKey:()=>we,objFreeze:()=>un,objKeys:()=>Vr,objSeal:()=>Y_,onConfigChange:()=>gr,openXhr:()=>EP,optimizeObject:()=>Gi,parseResponse:()=>Ic,parseTraceParent:()=>Pc,perfNow:()=>Bd,prependTransports:()=>na,proxyAssign:()=>kb,proxyFunctionAs:()=>ra,proxyFunctions:()=>Zi,random32:()=>sa,randomValue:()=>of,removeEventHandler:()=>Hh,removeEventListeners:()=>ns,removePageHideEventListener:()=>If,removePageShowEventListener:()=>Af,removePageUnloadEventListener:()=>Tf,safeGetCookieMgr:()=>uC,safeGetLogger:()=>Un,sanitizeProperty:()=>Qh,setEnableEnvMocks:()=>Hb,setProcessTelemetryTimings:()=>Of,setValue:()=>hn,strContains:()=>ur,strEndsWith:()=>cc,strFunction:()=>Nl,strObject:()=>Vo,strPrototype:()=>Tn,strStartsWith:()=>Yl,strTrim:()=>pt,strUndefined:()=>io,throwError:()=>Zt,toISOString:()=>Xi,useXDomainRequest:()=>tf});var Oc=J(()=>{RP();AP();NP();yt();Zh()});var Mc,eg,tg,WC=J(()=>{Mc="REAL_TIME",eg="NEAR_REAL_TIME",tg="BEST_EFFORT"});var Yn,rg,MP,YC,LP,FP,$C,ig,Mf,_u,BP,GP,HP,ng,KC,og,ag,sg,Lf,jC,zC,UP,bu,VC,cg,Ff=J(()=>{Yn="",rg="drop",MP="send",YC="requeue",LP="rspFail",FP="oth",$C="no-cache, no-store",ig="application/x-json-stream",Mf="cache-control",_u="content-type",BP="kill-tokens",GP="kill-duration",HP="time-delta-millis",ng="client-version",KC="client-id",og="time-delta-to-apply-millis",ag="upload-time",sg="apikey",Lf="AuthMsaDeviceTicket",jC="WebAuthToken",zC="AuthXToken",UP="NoResponseBody",bu="msfpc",VC="trace",cg="user"});var Bf,lg,ug,dg,Gf,Ze,Ro,tn,ir,So,Rr,xo,Lc,fg,Fc,mg,Bc,pg,hg,WP,JC,qC,YP,$P,gg,QC,XC,KP,jP,ZC,ew,tw,zP,yg,vg,_g,Hf,rw,$n,Cu,iw,ai,Wi,Uf,Wf,wu,bg,Yf,VP,Eu,Cg,wg,Du,nw,$f,Eg,Dg,Ru,JP,Rg,Sg,xg,Kf,qP,QP,ow,aw,XP,ZP,e0,Pg,jf,as,Gc,Su=J(()=>{Bf="allowRequestSending",lg="firstRequestSent",ug="shouldAddClockSkewHeaders",dg="getClockSkewHeaderValue",Gf="setClockSkew",Ze="length",Ro="concat",tn="iKey",ir="count",So="events",Rr="push",xo="split",Lc="splice",fg="toLowerCase",Fc="hdrs",mg="useHdrs",Bc="initialize",pg="setTimeoutOverride",hg="clearTimeoutOverride",WP="payloadPreprocessor",JC="overrideEndpointUrl",qC="avoidOptions",YP="disableEventTimings",$P="stringifyObjects",gg="enableCompoundKey",QC="disableXhrSync",XC="disableFetchKeepAlive",KP="addNoResponse",jP="excludeCsMetaData",ZC="useSendBeacon",ew="fetchCredentials",tw="alwaysUseXhrOverride",zP="unloadTransports",yg="serializeOfflineEvt",vg="getOfflineRequestDetails",_g="createPayload",Hf="createOneDSPayload",rw="payloadBlob",$n="headers",Cu="_thePayload",iw="urlString",ai="batches",Wi="sendType",Uf="addHeader",Wf="canSendRequest",wu="sendQueuedRequests",bg="isCompletelyIdle",Yf="setUnloading",VP="isTenantKilled",Eu="resume",Cg="sendSynchronousBatch",wg="_transport",Du="getWParam",nw="isBeacon",$f="timings",Eg="isTeardown",Dg="isSync",Ru="data",JP="timeout",Rg="_sendReason",Sg="setKillSwitchTenants",xg="_backOffTransmission",Kf="identifier",qP="disableOptimizeObj",QP="ignoreMc1Ms0CookieProcessing",ow="eventsLimitInMem",aw="autoFlushEventsLimit",XP="disableAutoBatchFlushLimit",ZP="overrideInstrumentationKey",e0="disableTelemetry",Pg="baseData",jf="sendAttempt",as="latency",Gc="sync"});function r0(i){var e=(i.ext||{}).intweb;return e&&Br(e[bu])?e[bu]:null}function t0(i){for(var e=null,t=0;e===null&&t<i[Ze];t++)e=r0(i[t]);return e}var ss,Tg=J(()=>{Oc();Ff();Su();ss=(function(){function i(e,t){var r=t?[][Ro](t):[],n=this,o=t0(r);n[tn]=function(){return e},n.Msfpc=function(){return o||Yn},n[ir]=function(){return r[Ze]},n[So]=function(){return r},n.addEvent=function(a){return a?(r[Rr](a),o||(o=r0(a)),!0):!1},n[xo]=function(a,s){var c;if(a<r[Ze]){var l=r[Ze]-a;Z(s)||(l=s<l?s:l),c=r[Lc](a,l),o=t0(r)}return new i(e,c)}}return i.create=function(e,t){return new i(e,t)},i})()});var i0,n0=J(()=>{Lr();Su();i0=(function(){function i(){var e=!0,t=!0,r=!0,n="use-collector-delta",o=!1;rt(i,this,function(a){a[Bf]=function(){return e},a[lg]=function(){r&&(r=!1,o||(e=!1))},a[ug]=function(){return t},a[dg]=function(){return n},a[Gf]=function(s){o||(s?(n=s,t=!0,o=!0):t=!1,e=!0)}})}return i.__ieDyn=1,i})()});var XL,o0,a0=J(()=>{Lr();Oc();Su();XL=1e3,o0=(function(){function i(){var e={};function t(r){var n=[];return r&&V(r,function(o){n[Rr](pt(o))}),n}rt(i,this,function(r){r[Sg]=function(n,o){if(n&&o)try{var a=t(n[xo](","));if(o==="this-request-only")return a;for(var s=parseInt(o,10)*XL,c=0;c<a[Ze];++c)e[a[c]]=jt()+s}catch{return[]}return[]},r[VP]=function(n){var o=e,a=pt(n);return o[a]!==void 0&&o[a]>jt()?!0:(delete o[a],!1)}})}return i.__ieDyn=1,i})()});function c0(i){return!(i>=300&&i<500&&i!=429||i==501||i==505)}function Ig(i){var e=0,t=s0*ZL,r=s0*eF,n=Math.floor(Math.random()*(r-t))+t;return e=Math.pow(2,i)*n,Math.min(e,tF)}var ZL,eF,s0,tF,sw=J(()=>{ZL=.8,eF=1.2,s0=3e3,tF=6e5});function aF(i,e,t,r,n){if(n&&e){var o=i(n.value,n.kind,n.propertyType);if(o>-1){var a=e[l0];a||(a=e[l0]={f:{}});var s=a[Ag];if(s||(s=a[Ag]={}),t)for(var c=0;c<t.length;c++){var l=t[c];s[l]||(s[l]={f:{}});var u=s[l][Ag];u||(u=s[l][Ag]={}),s=u}s=s[r]={},ye(n.value)?s.a={t:o}:s.t=o}}}var rF,iF,u0,d0,nF,l0,Ag,oF,f0,m0=J(()=>{Lr();Oc();Tg();Ff();Fe();rF=20,iF=3984588,u0=65e3,d0=2e6,nF=Math.min(d0,u0),l0="metadata",Ag="f",oF=/\./,f0=(function(){function i(e,t,r,n,o,a){var s="data",c="baseData",l="ext",u=!!n,f=!0,m=t,h={},p=!!a,y=o||vu;rt(i,this,function(v){v.createPayload=function(R,P,L,W,K,H){return{apiKeys:[],payloadBlob:Yn,overflow:null,sizeExceed:[],failedEvts:[],batches:[],numEvents:0,retryCnt:R,isTeardown:P,isSync:L,isBeacon:W,sendType:H,sendReason:K}},v.appendPayload=function(R,P,L){var W=R&&P&&!R.overflow;return W&&rr(e,function(){return"Serializer:appendPayload"},function(){for(var K=P.events(),H=R.payloadBlob,$=R.numEvents,Y=!1,I=[],re=[],le=R.isBeacon,T=le?u0:iF,b=le?nF:d0,x=0,B=0;x<K.length;){var k=K[x];if(k){if($>=L){R.overflow=P.split(x);break}var ue=v.getEventBlob(k);if(ue&&ue.length<=b){var ee=ue.length,Ce=H.length;if(Ce+ee>T){R.overflow=P.split(x);break}H&&(H+=`
`),H+=ue,B++,B>rF&&(so(H,0,1),B=0),Y=!0,$++}else ue?I.push(k):re.push(k),K.splice(x,1),x--}x++}if(I.length>0&&R.sizeExceed.push(ss.create(P.iKey(),I)),re.length>0&&R.failedEvts.push(ss.create(P.iKey(),re)),Y){R.batches.push(P),R.payloadBlob=H,R.numEvents=$;var ce=P.iKey();mt(R.apiKeys,ce)===-1&&R.apiKeys.push(ce)}},function(){return{payload:R,theBatch:{iKey:P.iKey(),evts:P.events()},max:L}}),W},v.getEventBlob=function(R){try{return rr(e,function(){return"Serializer.getEventBlob"},function(){var P={};P.name=R.name,P.time=R.time,P.ver=R.ver,P.iKey="o:"+Jh(R.iKey);var L={},W;p||(W=function(Y,I,re){aF(y,L,Y,I,re)});var K=R[l];K&&(P[l]=L,we(K,function(Y,I){var re=L[Y]={};E(I,re,"ext."+Y,!0,null,null,!0)}));var H=P[s]={};H.baseType=R.baseType;var $=H[c]={};return E(R.baseData,$,c,!1,[c],W,f),E(R.data,H,s,!1,[],W,f),JSON.stringify(P)},function(){return{item:R}})}catch{return null}};function S(R,P){var L=h[R];return L===void 0&&(R.length>=7&&(L=Yl(R,"ext.metadata")||Yl(R,"ext.web")),h[R]=L),L}function E(R,P,L,W,K,H,$){we(R,function(Y,I){var re=null;if(I||Br(I)){var le=L,T=Y,b=K,x=P;if(u&&!W&&oF.test(Y)){var B=Y.split("."),k=B.length;if(k>1){b&&(b=b.slice());for(var ue=0;ue<k-1;ue++){var ee=B[ue];x=x[ee]=x[ee]||{},le+="."+ee,b&&b.push(ee)}T=B[k-1]}}var Ce=W&&S(le,T);if(!Ce&&m&&m.handleField(le,T)?re=m.value(le,T,I,r):re=Qh(T,I,r),re){var ce=re.value;if(x[T]=ce,H&&H(b,T,re),$&&typeof ce=="object"&&!ye(ce)){var U=b;U&&(U=U.slice(),U.push(T)),E(I,ce,le+"."+T,W,U,H,$)}}}})}})}return i.__ieDyn=1,i})()});function xu(i,e){return{set:function(t,r){for(var n=[],o=2;o<arguments.length;o++)n[o-2]=arguments[o];return TS([i,e],t,r,n)}}}var cw=J(()=>{Fe()});function Uc(i,e,t){uw[i]=e,t!==!1&&(dw[e]=i)}function kg(i,e){var t=!1;if(i&&e){var r=Vr(i);if(r&&r[Ze]>0)for(var n=e[fg](),o=0;o<r[Ze];o++){var a=r[o];if(a&&Cr(e,a)&&a[fg]()===n){t=!0;break}}}return t}function Pu(i,e,t,r){e&&t&&t[Ze]>0&&(r&&uw[e]?(i[Fc][uw[e]]=t,i[mg]=!0):i.url+="&"+e+"="+t)}function uF(i,e,t){for(var r=0;r<i[Ze];r++)if(i[r].name===e){i[r].value=t;return}i[Rr]({name:e,value:t})}function dF(i,e){for(var t=0;t<i[Ze];t++)if(i[t].name===e){i[Lc](t,1);return}}var Hc,lw,sF,cF,lF,uw,dw,p0,h0=J(()=>{Lr();Oc();Fe();n0();Tg();Ff();a0();sw();m0();cw();Su();lw="sendAttempt",sF="&"+UP+"=true",cF="?cors=true&"+_u[fg]()+"="+ig,lF=(Hc={},Hc[1]=YC,Hc[100]=YC,Hc[200]="sent",Hc[8004]=rg,Hc[8003]=rg,Hc),uw={},dw={};Uc(Lf,Lf,!1);Uc(ng,ng);Uc(KC,"Client-Id");Uc(sg,sg);Uc(og,og);Uc(ag,ag);Uc(zC,zC);p0=(function(){function i(e,t,r,n){var o,a,s,c,l=!1,u,f,m,h,p,y,v,S,E,R,P,L,W,K,H,$,Y,I,re,le,T,b,x,B,k,ue,ee,Ce;rt(i,this,function(ce){wt();var U=!0;ce[Bc]=function(O,q,oe){B||(p=q,L=q.getCookieMgr(),f=oe,m=f.diagLog(),Nn(le,gr(O,function(ge){var Ne,Xe=ge.cfg,_e=ge.cfg.extensionConfig[oe.identifier];k=xu(_e[pg],_e[hg]),Br(Xe.anonCookieName)?uF(v,"anoncknm",Xe.anonCookieName):dF(v,"anoncknm"),T=_e[WP],b=_e.payloadListener;var g=_e.httpXHROverride,C=_e[JC]?_e[JC]:Xe.endpointUrl;o=C+cF,K=Je(_e[qC])?!0:!_e[qC],P=!_e[YP];var M=_e.valueSanitizer,F=_e[$P],z=!!Xe[gg];Je(_e[gg])||(z=!!_e[gg]),H=_e.xhrTimeout,$=!!_e[QC],Y=!!_e[XC],re=_e[KP]!==!1,ue=!!_e[jP],q.getPlugin("LocalStorage")&&(Y=!0),l=!za(),R=new f0(p,M,F,z,vu,ue),Z(_e[ZC])||(l=!!_e[ZC]),_e[ew]&&(Ce=_e[ew]);var Q=ot();ee?ee.SetConfig(Q):(ee=new Ac,ee[Bc](Q,m));var fe=g,Me=_e[tw]?g:null,nt=_e[tw]?g:null,Te=[3,2];if(!g){y=!1;var vi=[];za()?(vi=[2,1],Te=[2,1,3]):vi=[1,2,3],vi=na(vi,_e.transports),g=et(vi,!1),g||gi(m,"No available transport to send events"),fe=et(vi,!0)}Me||(Te=na(Te,_e[zP]),Me=et(Te,!0)),I=!y&&(l&&Hi()||!Y&&aa(!0)),h=(Ne={},Ne[0]=g,Ne[1]=fe||et([1,2,3],!0),Ne[2]=Me||fe||et([1],!0),Ne[3]=nt||et([2,3],!0)||fe||et([1],!0),Ne)})),B=!0)},ce.addResponseHandler=function(O){return x[Rr](O),{rm:function(){var q=x.indexOf(O);q>=0&&x[Lc](q,1)}}},ce[yg]=function(O){try{if(R)return R.getEventBlob(O)}catch{}return Yn},ce[vg]=function(){try{var O=R&&R[_g](0,!1,!1,!1,1,0);return pe(O,K)}catch{}return null},ce[Hf]=function(O,q){try{var oe=[];V(O,function(g){q&&(g=Gi(g));var C=ss.create(g[tn],[g]);oe[Rr](C)});for(var ge=null;oe[Ze]>0&&R;){var Ne=oe.shift();Ne&&Ne[ir]()>0&&(ge=ge||R[_g](0,!1,!1,!1,1,0),R.appendPayload(ge,Ne,e))}var Xe=pe(ge,K),_e={data:ge[rw],urlString:Xe.url,headers:Xe[Fc],timeout:H,disableXhrSync:$,disableFetchKeepAlive:Y};return K&&(kg(_e[$n],Mf)||(_e[$n][Mf]=$C),kg(_e[$n],_u)||(_e[$n][_u]=ig)),_e}catch{}return null};function et(O,q){try{return ee&&ee.getSenderInst(O,q)}catch{}return null}ce._getDbgPlgTargets=function(){return[h[0],a,R,h,ot(),o]};function ot(){try{var O={xdrOnComplete:xe,fetchOnComplete:ui,xhrOnComplete:ie,beaconOnRetry:ne},q={enableSendPromise:!1,isOneDs:!0,disableCredentials:!U,fetchCredentials:Ce,disableXhr:!1,disableBeacon:!l,disableBeaconSync:!l,disableFetchKeepAlive:Y,timeWrapper:k,addNoResponse:re,senderOnCompleteCallBack:O};return q}catch{}return null}function xe(O,q,oe){var ge=Hn(O);$e(q,200,{},ge),on(ge)}function wt(){var O;o=null,a=new o0,s=!1,c=new i0,l=!1,u=0,f=null,m=null,h=null,p=null,y=!0,v=[],S={},E=[],R=null,P=!1,L=null,W=!1,K=!1,H=O,$=O,Y=O,I=O,re=O,le=[],T=O,b=O,x=[],B=!1,k=xu(),ue=!1,ee=null}function ui(O,q,oe,ge){var Ne=function(g,C,M){$e(q,g,C,M),on(M)},Xe={},_e=O[$n];_e&&_e.forEach(function(g,C){Xe[C]=g}),Ne(O.status,Xe,oe||Yn)}function ie(O,q,oe){var ge=Hn(O);$e(q,O.status,oa(O,!0),ge),on(ge)}function $e(O,q,oe,ge){try{O(q,oe,ge)}catch(Ne){ae(m,2,518,ve(Ne))}}function ne(O,q,oe){var ge=O,Ne=200,Xe=ge[Cu],_e=O[iw]+(re?sF:Yn);try{var g=Er();if(Xe){var C=!!p.getPlugin("LocalStorage"),M=[],F=[];V(Xe[ai],function(z){if(M&&z&&z[ir]()>0)for(var Q=z[So](),fe=0;fe<Q[Ze];fe++)if(g.sendBeacon(_e,R.getEventBlob(Q[fe])))F[Rr](z[fe]);else{M[Rr](z[xo](fe));break}else M[Rr](z[xo](0))}),F[Ze]>0&&(Xe.sentEvts=F),C||Tr(M,8003,Xe[Wi],!0)}else Ne=0}catch(z){gi(m,"Failed to send telemetry using sendBeacon API. Ex:"+ve(z)),Ne=0}finally{$e(q,Ne,{},Yn)}}function he(O){return O===2||O===3}function Ee(O){return W&&he(O)&&(O=2),O}ce[Uf]=function(O,q){S[O]=q},ce.removeHeader=function(O){delete S[O]},ce[Wf]=function(){return Ke()&&c[Bf]()},ce[wu]=function(O,q){Je(O)&&(O=0),W&&(O=Ee(O),q=2),G(E,O,0)&&De(Ae(),0,!1,O,q||0)},ce[bg]=function(){return!s&&u===0&&E[Ze]===0},ce[Yf]=function(O){W=O},ce.addBatch=function(O){if(O&&O[ir]()>0){if(a.isTenantKilled(O[tn]()))return!1;E[Rr](O)}return!0},ce.teardown=function(){E[Ze]>0&&De(Ae(),0,!0,2,2),V(le,function(O){O&&O.rm&&O.rm()}),le=[]},ce.pause=function(){s=!0},ce[Eu]=function(){s=!1,ce[wu](0,4)},ce[Cg]=function(O,q,oe){O&&O[ir]()>0&&(Z(q)&&(q=1),W&&(q=Ee(q),oe=2),De([O],0,!1,q,oe||0))};function Ke(){return!s&&u<t}function Ae(){var O=E;return E=[],O}function G(O,q,oe){var ge=!1;return O&&O[Ze]>0&&!s&&h[q]&&R&&(ge=q!==0||Ke()&&(oe>0||c[Bf]())),ge}function se(O){var q={};return O&&V(O,function(oe,ge){q[ge]={iKey:oe[tn](),evts:oe[So]()}}),q}function De(O,q,oe,ge,Ne){if(!(!O||O[Ze]===0)){if(s){Tr(O,1,ge);return}ge=Ee(ge);try{var Xe=O,_e=ge!==0;rr(p,function(){return"HttpManager:_sendBatches"},function(g){g&&(O=O.slice(0));for(var C=[],M=null,F=Ui(),z=h[ge]||(_e?h[1]:h[0]),Q=z&&z[wg],fe=I&&(W||he(ge)||Q===3||z._isSync&&Q===2);G(O,ge,q);){var Me=O.shift();Me&&Me[ir]()>0&&(a.isTenantKilled(Me[tn]())?C[Rr](Me):(M=M||R[_g](q,oe,_e,fe,Ne,ge),R.appendPayload(M,Me,e)?M.overflow!==null&&(O=[M.overflow][Ro](O),M.overflow=null,ct(M,F,Ui(),Ne),F=Ui(),M=null):(ct(M,F,Ui(),Ne),F=Ui(),O=[Me][Ro](O),M=null)))}M&&ct(M,F,Ui(),Ne),O[Ze]>0&&(E=O[Ro](E)),Tr(C,8004,ge)},function(){return{batches:se(Xe),retryCount:q,isTeardown:oe,isSynchronous:_e,sendReason:Ne,useSendBeacon:he(ge),sendType:ge}},!_e)}catch(g){ae(m,2,48,"Unexpected Exception sending batch: "+ve(g))}}}function pe(O,q){var oe={url:o,hdrs:{},useHdrs:!1};q?(oe[Fc]=Nc(oe[Fc],S),oe.useHdrs=Vr(oe.hdrs)[Ze]>0):we(S,function(g,C){dw[g]?Pu(oe,dw[g],C,!1):(oe[Fc][g]=C,oe[mg]=!0)}),Pu(oe,KC,"NO_AUTH",q),Pu(oe,ng,yu,q);var ge=Yn;V(O.apiKeys,function(g){ge[Ze]>0&&(ge+=","),ge+=g}),Pu(oe,sg,ge,q),Pu(oe,ag,jt().toString(),q);var Ne=ri(O);if(Br(Ne)&&(oe.url+="&ext.intweb.msfpc="+Ne),c[ug]()&&Pu(oe,og,c[dg](),q),p[Du]){var Xe=p[Du]();Xe>=0&&(oe.url+="&w="+Xe)}for(var _e=0;_e<v[Ze];_e++)oe.url+="&"+v[_e].name+"="+v[_e].value;return oe}function Re(O,q,oe){O[q]=O[q]||{},O[q][f.identifier]=oe}function ct(O,q,oe,ge){if(O&&O.payloadBlob&&O.payloadBlob[Ze]>0){var Ne=!!T,Xe=h[O.sendType];!he(O[Wi])&&O[nw]&&O.sendReason===2&&(Xe=h[2]||h[3]||Xe);var _e=K;(O.isBeacon||Xe[wg]===3)&&(_e=!1);var g=pe(O,_e);_e=_e||g[mg];var C=Ui();rr(p,function(){return"HttpManager:_doPayloadSend"},function(){for(var M=0;M<O.batches[Ze];M++)for(var F=O[ai][M],z=F[So](),Q=0;Q<z[Ze];Q++){var fe=z[Q];if(P){var Me=fe[$f]=fe[$f]||{};Re(Me,"sendEventStart",C),Re(Me,"serializationStart",q),Re(Me,"serializationCompleted",oe)}fe[lw]>0?fe[lw]++:fe[lw]=1}Tr(O[ai],1e3+(ge||0),O[Wi],!0);var nt={data:O[rw],urlString:g.url,headers:g[Fc],_thePayload:O,_sendReason:ge,timeout:H,disableXhrSync:$,disableFetchKeepAlive:Y};_e&&(kg(nt[$n],Mf)||(nt[$n][Mf]=$C),kg(nt[$n],_u)||(nt[$n][_u]=ig));var Te=null;Xe&&(Te=function(vi){c[lg]();var Go=function(zn,dm){ht(zn,dm,O,ge)},_i=O[Eg]||O[Dg];try{Xe.sendPOST(vi,Go,_i),b&&b(nt,vi,_i,O[nw])}catch(zn){gi(m,"Unexpected exception sending payload. Ex:"+ve(zn)),$e(Go,0,{})}}),rr(p,function(){return"HttpManager:_doPayloadSend.sender"},function(){if(Te)if(O[Wi]===0&&u++,Ne&&!O.isBeacon&&Xe[wg]!==3){var vi={data:nt[Ru],urlString:nt[iw],headers:Nc({},nt[$n]),timeout:nt[JP],disableXhrSync:nt[QC],disableFetchKeepAlive:nt[XC]},Go=!1;rr(p,function(){return"HttpManager:_doPayloadSend.sendHook"},function(){try{T(vi,function(_i){Go=!0,!y&&!_i[Cu]&&(_i[Cu]=_i[Cu]||nt[Cu],_i[Rg]=_i[Rg]||nt[Rg]),Te(_i)},O.isSync||O[Eg])}catch{Go||Te(nt)}})}else Te(nt)})},function(){return{thePayload:O,serializationStart:q,serializationCompleted:oe,sendReason:ge}},O[Dg])}O.sizeExceed&&O.sizeExceed[Ze]>0&&Tr(O.sizeExceed,8003,O[Wi]),O.failedEvts&&O.failedEvts[Ze]>0&&Tr(O.failedEvts,8002,O[Wi])}function it(O,q){P&&V(O,function(oe){var ge=oe[$f]=oe[$f]||{};Re(ge,"sendEventCompleted",q)})}function ht(O,q,oe,ge){var Ne=9e3,Xe=null,_e=!1,g=!1;try{var C=!0;if(typeof O!==io){if(q){c[Gf](q[HP]);var M=q[GP]||q["kill-duration-seconds"];V(a[Sg](q[BP],M),function(z){V(oe[ai],function(Q){if(Q[tn]()===z){Xe=Xe||[];var fe=Q[xo](0);oe.numEvents-=fe[ir](),Xe[Rr](fe)}})})}if(O==200||O==204){Ne=200;return}(!c0(O)||oe.numEvents<=0)&&(C=!1),Ne=9e3+O%1e3}if(C){Ne=100;var F=oe.retryCnt;oe[Wi]===0&&(F<r?(_e=!0,ti(function(){oe[Wi]===0&&u--,De(oe[ai],F+1,oe[Eg],W?2:oe[Wi],5)},W,Ig(F))):(g=!0,W&&(Ne=8001)))}}finally{_e||(c[Gf](),kt(oe,Ne,ge,g)),Tr(Xe,8004,oe[Wi])}}function kt(O,q,oe,ge){try{ge&&f[xg]();var Ne=O[ai];q===200&&(Ne=O.sentEvts||O[ai],!ge&&!O[Dg]&&f._clearBackOff(),Vt(Ne)),Tr(Ne,q,O[Wi],!0)}finally{O[Wi]===0&&(u--,oe!==5&&ce.sendQueuedRequests(O[Wi],oe))}}function Vt(O){if(P){var q=Ui();V(O,function(oe){oe&&oe[ir]()>0&&it(oe[So](),q)})}}function ti(O,q,oe){q?O():k.set(O,oe)}function ri(O){for(var q=0;q<O.batches[Ze];q++){var oe=O[ai][q].Msfpc();if(oe)return encodeURIComponent(oe)}return Yn}function on(O){var q=x;try{for(var oe=0;oe<q[Ze];oe++)try{q[oe](O)}catch(Ne){ae(m,1,519,"Response handler failed: "+Ne)}if(O){var ge=JSON.parse(O);Br(ge.webResult)&&Br(ge.webResult[bu])&&L.set("MSFPC",ge.webResult[bu],365*86400)}}catch{}}function Tr(O,q,oe,ge){if(O&&O[Ze]>0&&n){var Ne=n[Bo(q)];if(Ne){var Xe=oe!==0;rr(p,function(){return"HttpManager:_sendBatchesNotification"},function(){ti(function(){try{Ne.call(n,O,q,Xe,oe)}catch(_e){ae(m,1,74,"send request notification failed: "+_e)}},ge||Xe,0)},function(){return{batches:se(O),reason:q,isSync:Xe,sendSync:ge,sendType:oe}},!Xe)}}}function Bo(O){var q=lF[O];return Br(q)||(q=FP,O>=9e3&&O<=9999?q=LP:O>=8e3&&O<=8999?q=rg:O>=1e3&&O<=1999&&(q=MP)),q}})}return i.__ieDyn=1,i})()});function yF(i){return i&&i.sendPOST}var fF,g0,mF,_0,b0,pF,y0,hF,fw,Wc,v0,yr,gF,C0,w0=J(()=>{ki();Lr();Oc();vc();Fe();WC();Tg();h0();Ff();sw();cw();Su();fF=.25,g0=500,mF=20,_0=6,b0=2,pF=4,y0=2,hF=1,fw=1e4,Wc="eventsDiscarded",v0="",yr=void 0,gF=ao({eventsLimitInMem:{isVal:os,v:fw},immediateEventLimit:{isVal:os,v:500},autoFlushEventsLimit:{isVal:os,v:0},disableAutoBatchFlushLimit:!1,httpXHROverride:{isVal:yF,v:yr},overrideInstrumentationKey:yr,overrideEndpointUrl:yr,disableTelemetry:!1,ignoreMc1Ms0CookieProcessing:!1,setTimeoutOverride:yr,clearTimeoutOverride:yr,payloadPreprocessor:yr,payloadListener:yr,disableEventTimings:yr,valueSanitizer:yr,stringifyObjects:yr,enableCompoundKey:yr,disableOptimizeObj:!1,fetchCredentials:yr,transports:yr,unloadTransports:yr,useSendBeacon:yr,disableFetchKeepAlive:yr,avoidOptions:!1,xhrTimeout:yr,disableXhrSync:yr,alwaysUseXhrOverride:!1,maxEventRetryAttempts:{isVal:zr,v:_0},maxUnloadEventRetryAttempts:{isVal:zr,v:b0},addNoResponse:yr,excludeCsMetaData:yr});C0=(function(i){Ai(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,f,m={},h=Mc,p,y,v,S,E,R,P,L,W,K,H,$,Y,I,re,le,T,b,x,B,k,ue;return rt(e,t,function(ee,Ce){Ee(),ee._getDbgPlgTargets=function(){return[E,r]},ee[Bc]=function(g,C,M){rr(C,function(){return"PostChannel:initialize"},function(){Ce[Bc](g,C,M),x=C.getNotifyMgr();try{re=en(Qr(ee[Kf]),C.evtNamespace&&C.evtNamespace()),ee._addHook(gr(g,function(F){var z=F.cfg,Q=yi(null,z,C);r=Q.getExtCfg(ee[Kf],gF),le=xu(r[pg],r[hg]),H=!r[qP]&&Xh(),T=r[QP],U(C),f=r[ow],l=r.immediateEventLimit,P=r[aw],Y=r.maxEventRetryAttempts,I=r.maxUnloadEventRetryAttempts,b=r[XP],pi(z.endpointUrl)?ee.pause():s&&ee[Eu](),_e(),k=r[ZP],ue=!!r[e0],B&&ce();var fe=z.disablePageUnloadEvents||[];B=Pf(xe,fe,re),B=pu(xe,fe,re)||B,B=hu(wt,z.disablePageShowEvents,re)||B})),E[Bc](g,ee.core,ee)}catch(F){throw ee.setInitialized(!1),F}},function(){return{theConfig:g,core:C,extensions:M}})},ee.processTelemetry=function(g,C){Of(g,ee[Kf]),C=C||ee._getTelCtx(C);var M=g;!ue&&!n&&(k&&(M[tn]=k),ie(M,!0),$?G(2,2):he()),ee.processNext(M,C)},ee.getOfflineSupport=function(){try{var g=E&&E[vg]();if(E)return{getUrl:function(){return g?g.url:null},serialize:ot,batch:et,shouldProcess:function(C){return!ue},createPayload:function(C){return null},createOneDSPayload:function(C){if(E[Hf])return E[Hf](C,H)}}}catch{}return null},ee._doTeardown=function(g,C){G(2,2),n=!0,E.teardown(),ce(),Ee()};function ce(){Tf(null,re),If(null,re),Af(null,re)}function U(g){var C=g[Du];g[Du]=function(){var M=0;return T&&(M=M|2),M|C.call(g)}}function et(g){var C=v0;return g&&g[Ze]&&V(g,function(M){C&&(C+=`
`),C+=M}),C}function ot(g){var C=v0;try{ui(g),C=E[yg](g)}catch{}return C}function xe(g){var C=g||pr().event;C.type!=="beforeunload"&&($=!0,E[Yf]($)),G(2,2)}function wt(g){$=!1,E[Yf]($)}function ui(g){g.ext&&g.ext[VC]&&delete g.ext[VC],g.ext&&g.ext[cg]&&g.ext[cg].id&&delete g.ext[cg].id,H&&(g.ext=Gi(g.ext),g[Pg]&&(g[Pg]=Gi(g[Pg])),g[Ru]&&(g[Ru]=Gi(g[Ru])))}function ie(g,C){if(g[jf]||(g[jf]=0),g[as]||(g[as]=1),ui(g),g[Gc]){if(v||s)g[as]=3,g[Gc]=!1;else if(E){H&&(g=Gi(g)),E[Cg](ss.create(g[tn],[g]),g[Gc]===!0?1:g[Gc],3);return}}var M=g[as],F=u,z=f;M===4&&(F=c,z=l);var Q=!1;if(F<z)Q=!Re(g,C);else{var fe=1,Me=mF;M===4&&(fe=4,Me=1),Q=!0,ct(g[tn],g[as],fe,Me)&&(Q=!Re(g,C))}Q&&Bo(Wc,[g],On.QueueFull)}ee.setEventQueueLimits=function(g,C){r[ow]=f=os(g)?g:fw,r[aw]=P=os(C)?C:0,_e();var M=u>g;if(!M&&L>0)for(var F=1;!M&&F<=3;F++){var z=R[F];z&&z[ai]&&V(z[ai],function(Q){Q&&Q[ir]()>=L&&(M=!0)})}pe(!0,M)},ee.pause=function(){Ae(),s=!0,E&&E.pause()},ee[Eu]=function(){s=!1,E&&E[Eu](),he()},ee._loadTransmitProfiles=function(g){ti(),we(g,function(C,M){var F=M[Ze];if(F>=2){var z=F>2?M[2]:0;if(M[Lc](0,F-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]}z>=0&&M[1]>=0&&z>M[1]&&(z=M[1]),M[Rr](z),m[C]=M}})},ee.flush=function(g,C,M){g===void 0&&(g=!0);var F;if(!s)if(M=M||1,g)C||(F=mn(function(Q){C=Q})),a==null?(Ae(),ht(1,0,M),a=Ke(function(){a=null,kt(C,M)},0)):o[Rr](C);else{var z=Ae();$e(1,1,M),C&&C(),z&&he()}return F},ee.setMsaAuthTicket=function(g){E[Uf](Lf,g)},ee.setAuthPluginHeader=function(g){E[Uf](jC,g)},ee.removeAuthPluginHeader=function(){E.removeHeader(jC)},ee.hasEvents=ne,ee._setTransmitProfile=function(g){h!==g&&m[g]!==void 0&&(Ae(),h=g,he())},Zi(ee,function(){return E},["addResponseHandler"]);function $e(g,C,M){var F=ht(g,C,M);return E[wu](C,M),F}function ne(){return u>0}function he(){if(W>=0&&ht(W,0,K)&&E[wu](0,K),c>0&&!y&&!s){var g=m[h][2];g>=0&&(y=Ke(function(){y=null,$e(4,0,1),he()},g))}var C=m[h][1];!p&&!a&&C>=0&&!s&&(ne()?p=Ke(function(){p=null,$e(S===0?3:1,0,1),S++,S%=2,he()},C):S=0)}ee[xg]=function(){v<pF&&(v++,Ae(),he())},ee._clearBackOff=function(){v&&(v=0,Ae(),he())};function Ee(){r=null,n=!1,o=[],a=null,s=!1,c=0,l=500,u=0,f=fw,m={},h=Mc,p=null,y=null,v=0,S=0,R={},P=0,B=!1,L=0,W=-1,K=null,H=!0,$=!1,Y=_0,I=b0,re=null,k=null,ue=!1,le=xu(),E=new p0(g0,y0,hF,{requeue:on,send:q,sent:oe,drop:ge,rspFail:Ne,oth:Xe}),ri(),se(),_e()}function Ke(g,C){C===0&&v&&(C=1);var M=1e3;return v&&(M=Ig(v-1)),le.set(g,C*M)}function Ae(){return p!==null?(p.cancel(),p=null,S=0,!0):!1}function G(g,C){Ae(),a&&(a.cancel(),a=null),s||$e(1,g,C)}function se(){R[4]={batches:[],iKeyMap:{}},R[3]={batches:[],iKeyMap:{}},R[2]={batches:[],iKeyMap:{}},R[1]={batches:[],iKeyMap:{}}}function De(g,C,M){var F=R[C];F||(C=1,F=R[C]);var z=F.iKeyMap[g];return!z&&M&&(z=ss.create(g),F.batches[Rr](z),F.iKeyMap[g]=z),z}function pe(g,C){E[Wf]()&&!v&&(P>0&&u>P&&(C=!0),C&&a==null&&ee.flush(g,function(){},20))}function Re(g,C){H&&(g=Gi(g));var M=g[as],F=De(g[tn],M,!0);return F.addEvent(g)?(M!==4?(u++,C&&g[jf]===0&&pe(!g.sync,L>0&&F[ir]()>=L)):c++,!0):!1}function ct(g,C,M,F){for(;M<=C;){var z=De(g,C,!0);if(z&&z[ir]()>0){var Q=z[xo](0,F),fe=Q[ir]();if(fe>0)return M===4?c-=fe:u-=fe,O(Wc,[Q],On.QueueFull),!0}M++}return it(),!1}function it(){for(var g=0,C=0,M=function(z){var Q=R[z];Q&&Q[ai]&&V(Q[ai],function(fe){z===4?g+=fe[ir]():C+=fe[ir]()})},F=1;F<=4;F++)M(F);u=C,c=g}function ht(g,C,M){var F=!1,z=C===0;return!z||E[Wf]()?rr(ee.core,function(){return"PostChannel._queueBatches"},function(){for(var Q=[],fe=4;fe>=g;){var Me=R[fe];Me&&Me.batches&&Me.batches[Ze]>0&&(V(Me[ai],function(nt){E.addBatch(nt)?F=F||nt&&nt[ir]()>0:Q=Q[Ro](nt[So]()),fe===4?c-=nt[ir]():u-=nt[ir]()}),Me[ai]=[],Me.iKeyMap={}),fe--}Q[Ze]>0&&Bo(Wc,Q,On.KillSwitch),F&&W>=g&&(W=-1,K=0)},function(){return{latency:g,sendType:C,sendReason:M}},!z):(W=W>=0?Math.min(W,g):g,K=Math.max(K,M)),F}function kt(g,C){$e(1,0,C),it(),Vt(function(){g&&g(),o[Ze]>0?a=Ke(function(){a=null,kt(o.shift(),C)},0):(a=null,he())})}function Vt(g){E[bg]()?g():a=Ke(function(){a=null,Vt(g)},fF)}function ti(){Ae(),ri(),h=Mc,he()}function ri(){m={},m[Mc]=[2,1,0],m[eg]=[6,3,0],m[tg]=[18,9,0]}function on(g,C){var M=[],F=Y;$&&(F=I),V(g,function(z){z&&z[ir]()>0&&V(z[So](),function(Q){Q&&(Q[Gc]&&(Q[as]=4,Q[Gc]=!1),Q[jf]<F?(Of(Q,ee[Kf]),ie(Q,!1)):M[Rr](Q))})}),M[Ze]>0&&Bo(Wc,M,On.NonRetryableStatus),$&&G(2,2)}function Tr(g,C){var M=x||{},F=M[g];if(F)try{F.apply(M,C)}catch(z){ae(ee.diagLog(),1,74,g+" notification failed: "+z)}}function Bo(g,C){for(var M=[],F=2;F<arguments.length;F++)M[F-2]=arguments[F];C&&C[Ze]>0&&Tr(g,[C][Ro](M))}function O(g,C){for(var M=[],F=2;F<arguments.length;F++)M[F-2]=arguments[F];C&&C[Ze]>0&&V(C,function(z){z&&z[ir]()>0&&Tr(g,[z.events()][Ro](M))})}function q(g,C,M){g&&g[Ze]>0&&Tr("eventsSendRequest",[C>=1e3&&C<=1999?C-1e3:0,M!==!0])}function oe(g,C){O("eventsSent",g,C),he()}function ge(g,C){O(Wc,g,C>=8e3&&C<=8999?C-8e3:On.Unknown)}function Ne(g){O(Wc,g,On.NonRetryableStatus),he()}function Xe(g,C){O(Wc,g,On.Unknown),he()}function _e(){b?L=0:L=Math.max(g0*(y0+1),f/6)}}),t}return e.__ieDyn=1,e})(fa)});var E0={};dl(E0,{BE_PROFILE:()=>tg,NRT_PROFILE:()=>eg,PostChannel:()=>C0,RT_PROFILE:()=>Mc});var D0=J(()=>{WC();w0()});var S0=Tt(Po=>{"use strict";var vF=Po&&Po.__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]})),_F=Po&&Po.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),R0=Po&&Po.__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)&&vF(e,i,t);return _F(e,i),e};Object.defineProperty(Po,"__esModule",{value:!0});Po.oneDataSystemClientFactory=void 0;var bF=async(i,e,t)=>{let r=await Promise.resolve().then(()=>R0((Oc(),fl(OP)))),n=await Promise.resolve().then(()=>R0((D0(),fl(E0)))),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},CF=async(i,e,t)=>{let r=await bF(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)})}};Po.oneDataSystemClientFactory=CF});var x0,Tu,Iu,zf,cs,Kn,Sr,Ng,yn=J(()=>{x0="Microsoft_ApplicationInsights_BypassAjaxInstrumentation",Tu="sampleRate",Iu="ProcessLegacy",zf="http.method",cs="https://dc.services.visualstudio.com",Kn="/v2/track",Sr="not_specified",Ng="iKey"});var Yc,mw=J(()=>{yt();Yc=fb({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 ya,Ge,To,ls,va,_a,Og,vr,jn,us,Mg,Lg,Fg,pw,Bg,Gg,$c,Au,hw,Vf,Kc,vn,Xr,si,jc,Io,zc,Hg,Ug,gw,Vc,ds,Jf,qf,Jc,ku,qc,yw,xr=J(()=>{ya="split",Ge="length",To="toLowerCase",ls="ingestionendpoint",va="toString",_a="push",Og="removeItem",vr="name",jn="message",us="count",Mg="preTriggerDate",Lg="disabled",Fg="interval",pw="daysOfMonth",Bg="date",Gg="getUTCDate",$c="stringify",Au="pathname",hw="correlationHeaderExcludePatterns",Vf="extensionConfig",Kc="exceptions",vn="parsedStack",Xr="properties",si="measurements",jc="sizeInBytes",Io="typeName",zc="severityLevel",Hg="problemGroup",Ug="isManual",gw="CreateFromInterface",Vc="assembly",ds="fileName",Jf="hasFullStack",qf="level",Jc="method",ku="line",qc="duration",yw="receivedResponse"});function Wg(i,e,t){var r=e[Ge],n=vw(i,e);if(n[Ge]!==r){for(var o=0,a=n;t[a]!==void 0;)o++,a=wr(n,0,147)+_w(o);n=a}return n}function vw(i,e){var t;return e&&(e=pt(cr(e)),e[Ge]>150&&(t=wr(e,0,150),ae(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=pt(cr(e)),e[Ge]>t&&(r=wr(e,0,t),ae(i,2,61,"string value is too long. It has been truncated to "+t+" characters.",{value:e},!0))),r||e}function fs(i,e){return Kg(i,e,2048,66)}function Nu(i,e){var t;return e&&e[Ge]>32768&&(t=wr(e,0,32768),ae(i,2,56,"message is too long, it has been truncated to 32768 characters.",{message:e},!0)),t||e}function Yg(i,e){var t;if(e){var r=""+e;r[Ge]>32768&&(t=wr(r,0,32768),ae(i,2,52,"exception is too long, it has been truncated to 32768 characters.",{exception:e},!0))}return t||e}function ci(i,e){if(e){var t={};we(e,function(r,n){if(Kt(n)&&ho())try{n=qr()[$c](n)}catch(o){ae(i,2,49,"custom property is not valid",{exception:o},!0)}n=Ct(i,n,8192),r=Wg(i,r,t),t[r]=n}),e=t}return e}function li(i,e){if(e){var t={};we(e,function(r,n){r=Wg(i,r,t),t[r]=n}),e=t}return e}function $g(i,e){return e&&Kg(i,e,128,69)[va]()}function Kg(i,e,t,r){var n;return e&&(e=pt(cr(e)),e[Ge]>t&&(n=wr(e,0,t),ae(i,2,r,"input is too long, it has been truncated to "+t+" characters.",{data:e},!0))),n||e}function _w(i){var e="00"+i;return so(e,e[Ge]-3)}var _n=J(()=>{yt();Fe();xr()});function Qc(i){var e=T0,t=wF,r=t[e];return P0.createElement?t[e]||(r=t[e]=P0.createElement("a")):r={host:bw(i,!0)},r.href=i,e++,e>=t[Ge]&&(e=0),T0=e,r}function I0(i){var e,t=Qc(i);return t&&(e=t.href),e}function A0(i){var e,t=Qc(i);return t&&(e=t[Au]),e}function k0(i,e){return i?i.toUpperCase()+" "+e:e}function bw(i,e){var t=Qf(i,e)||"";if(t){var r=t.match(/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);if(r!=null&&r[Ge]>3&&We(r[2])&&r[2][Ge]>0)return r[2]+(r[3]||"")}return t}function Qf(i,e){var t=null;if(i){var r=i.match(/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);if(r!=null&&r[Ge]>2&&We(r[2])&&r[2][Ge]>0&&(t=r[2]||"",e&&r[Ge]>2)){var n=(r[1]||"")[To](),o=r[3]||"";(n==="http"&&o===":80"||n==="https"&&o===":443")&&(o=""),t+=o}}return t}var P0,T0,wF,Cw=J(()=>{yt();xr();P0=er()||{},T0=0,wF=[null,null,null,null,null]});function Xf(i){return mt(EF,i[To]())!==-1}function N0(i){ww=i}function O0(){return ww}function M0(i,e,t){if(!e||i&&i.disableCorrelationHeaders)return!1;if(i&&i[hw]){for(var r=0;r<i.correlationHeaderExcludePatterns[Ge];r++)if(i[hw][r].test(e))return!1}var n=Qc(e).host[To]();if(n&&(Ii(n,":443")!==-1||Ii(n,":80")!==-1)&&(n=(Qf(e,!0)||"")[To]()),(!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[Ge]===0)return!0;for(var r=0;r<s[Ge];r++){var c=new RegExp(s[r].toLowerCase().replace(/\\/g,"\\\\").replace(/\./g,"\\.").replace(/\*/g,".*"));if(c.test(n))return!1}return n&&n[Ge]>0}function L0(i){if(i){var e=Ew(i,Yc[1]);if(e&&e!==ww)return e}}function Ew(i,e){if(i)for(var t=i[ya](","),r=0;r<t[Ge];++r){var n=t[r][ya]("=");if(n[Ge]===2&&n[0]===e)return n[1]}}function F0(i,e,t,r){var n,o=r,a=r;if(e&&e[Ge]>0){var s=Qc(e);if(n=s.host,!o)if(s[Au]!=null){var c=s.pathname[Ge]===0?"/":s[Au];c.charAt(0)!=="/"&&(c="/"+c),a=s[Au],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 B0(){var i=Ma();if(i&&i.now&&i.timing){var e=i.now()+i.timing.navigationStart;if(e>0)return e}return jt()}function G0(i,e){var t=null;return i!==0&&e!==0&&!Z(i)&&!Z(e)&&(t=e-i),t}function H0(i,e){var t=i||{};return{getName:function(){return t[vr]},setName:function(r){e&&e.setName(r),t[vr]=r},getTraceId:function(){return t.traceID},setTraceId:function(r){e&&e.setTraceId(r),vo(r)&&(t.traceID=r)},getSpanId:function(){return t.parentID},setSpanId:function(r){e&&e.setSpanId(r),_o(r)&&(t.parentID=r)},getTraceFlags:function(){return t.traceFlags},setTraceFlags:function(r){e&&e.setTraceFlags(r),t.traceFlags=r}}}var EF,ww,Dw=J(()=>{yt();Fe();yn();mw();_n();Cw();xr();EF=[cs+Kn,"https://breeze.aimon.applicationinsights.io"+Kn,"https://dc-int.services.visualstudio.com"+Kn],ww="cid-v1:"});var Ou,U0,W0,Rw=J(()=>{yt();Ou=tr({LocalStorage:0,SessionStorage:1}),U0=tr({AI:0,AI_AND_W3C:1,W3C:2}),W0=tr({Normal:1,Critical:2})});function Sw(){return Mu()?jg(Ou.LocalStorage):null}function jg(i){try{if(Z(hi()))return null;var e=new Date()[va](),t=Ie(i===Ou.LocalStorage?"localStorage":"sessionStorage"),r=Y0+e;t.setItem(r,e);var n=t.getItem(r)!==e;if(t[Og](r),!n)return t}catch{}return null}function xw(){return Xc()?jg(Ou.SessionStorage):null}function $0(){ms=!1,ps=!1}function zg(i){Y0=i||""}function K0(){ms=Mu(!0),ps=Xc(!0)}function Mu(i){return(i||ms===void 0)&&(ms=!!jg(Ou.LocalStorage)),ms}function Vg(i,e){var t=Sw();if(t!==null)try{return t.getItem(e)}catch(r){ms=!1,ae(i,2,1,"Browser failed read of local storage. "+Pt(r),{exception:ve(r)})}return null}function Jg(i,e,t){var r=Sw();if(r!==null)try{return r.setItem(e,t),!0}catch(n){ms=!1,ae(i,2,3,"Browser failed write to local storage. "+Pt(n),{exception:ve(n)})}return!1}function j0(i,e){var t=Sw();if(t!==null)try{return t[Og](e),!0}catch(r){ms=!1,ae(i,2,5,"Browser failed removal of local storage item. "+Pt(r),{exception:ve(r)})}return!1}function Xc(i){return(i||ps===void 0)&&(ps=!!jg(Ou.SessionStorage)),ps}function z0(){var i=[];return Xc()&&we(Ie("sessionStorage"),function(e){i[_a](e)}),i}function qg(i,e){var t=xw();if(t!==null)try{return t.getItem(e)}catch(r){ps=!1,ae(i,2,2,"Browser failed read of session storage. "+Pt(r),{exception:ve(r)})}return null}function Qg(i,e,t){var r=xw();if(r!==null)try{return r.setItem(e,t),!0}catch(n){ps=!1,ae(i,2,4,"Browser failed write to session storage. "+Pt(n),{exception:ve(n)})}return!1}function Xg(i,e){var t=xw();if(t!==null)try{return t[Og](e),!0}catch(r){ps=!1,ae(i,2,6,"Browser failed removal of session storage item. "+Pt(r),{exception:ve(r)})}return!1}var ms,ps,Y0,Pw=J(()=>{yt();Rw();xr();ms=void 0,ps=void 0,Y0=""});var DF,V0,J0=J(()=>{yt();Fe();Pw();xr();DF="appInsightsThrottle",V0=(function(){function i(e,t){var r=this,n,o,a,s,c,l,u,f=!1,m=!1;p(),r._getDbgPlgTargets=function(){return[u]},r.getConfig=function(){return a},r.canThrottle=function(T){var b=I(T),x=y(T);return E(x,n,b)},r.isTriggered=function(T){return re(T)},r.isReady=function(){return f},r.flush=function(T){try{var b=le(T);if(b&&b[Ge]>0){var x=b.slice(0);return u[T]=[],V(x,function(B){h(B.msgID,B[jn],B.severity,!1)}),!0}}catch{}return!1},r.flushAll=function(){try{if(u){var T=!0;return we(u,function(b){var x=r.flush(parseInt(b));T=T&&x}),T}}catch{}return!1},r.onReadyState=function(T,b){return b===void 0&&(b=!0),f=Z(T)?!0:T,f&&b?r.flushAll():null},r.sendMessage=function(T,b,x){return h(T,b,x,!0)};function h(T,b,x,B){if(f){var k=Y(T);if(!k)return;var ue=y(T),ee=I(T),Ce=E(ue,n,ee),ce=!1,U=0,et=re(T);try{Ce&&!et?(U=Math.min(ue.limit.maxSendNumber,ee[us]+1),ee[us]=0,ce=!0,c[T]=!0,ee[Mg]=new Date):(c[T]=Ce,ee[us]+=1);var ot=R(T);K(o,ot,ee);for(var xe=0;xe<U;xe++)$(T,o,b,x)}catch{}return{isThrottled:ce,throttleNum:U}}else if(B){var wt=le(T);wt[_a]({msgID:T,message:b,severity:x})}return null}function p(){o=Un(e),c={},s={},u={},a={},v(109),l=pn(t)?t:"",e.addUnloadHook(gr(e.config,function(T){var b=T.cfg;n=Mu();var x=b.throttleMgrCfg||{};we(x,function(B,k){v(parseInt(B),k)})}))}function y(T){return a[T]||a[109]}function v(T,b){var x,B;try{var k=b||{},ue={};ue[Lg]=!!k[Lg];var ee=k[Fg]||{};m=ee?.daysOfMonth&&ee?.daysOfMonth[Ge]>0,ue[Fg]=S(ee);var Ce={samplingRate:((x=k.limit)===null||x===void 0?void 0:x.samplingRate)||100,maxSendNumber:((B=k.limit)===null||B===void 0?void 0:B.maxSendNumber)||1};ue.limit=Ce,a[T]=ue}catch{}}function S(T){T=T||{};var b=T?.monthInterval,x=T?.dayInterval;return Z(b)&&Z(x)&&(T.monthInterval=3,m||(T[pw]=[28],m=!0)),T={monthInterval:T?.monthInterval,dayInterval:T?.dayInterval,daysOfMonth:T?.daysOfMonth},T}function E(T,b,x){if(T&&!T[Lg]&&b&&pn(x)){var B=W(),k=x[Bg],ue=T[Fg],ee=1;if(ue?.monthInterval){var Ce=(B.getUTCFullYear()-k.getUTCFullYear())*12+B.getUTCMonth()-k.getUTCMonth();ee=H(ue.monthInterval,0,Ce)}var ce=1;if(m)ce=mt(ue[pw],B[Gg]());else if(ue?.dayInterval){var U=Math.floor((B.getTime()-k.getTime())/864e5);ce=H(ue.dayInterval,0,U)}return ee>=0&&ce>=0}return!1}function R(T,b){var x=pn(b)?b:"";return T?DF+x+"-"+T:null}function P(T){try{if(T){var b=new Date;return T.getUTCFullYear()===b.getUTCFullYear()&&T.getUTCMonth()===b.getUTCMonth()&&T[Gg]()===b[Gg]()}}catch{}return!1}function L(T,b,x){try{var B={date:W(),count:0};if(T){var k=JSON.parse(T),ue={date:W(k[Bg])||B[Bg],count:k[us]||B[us],preTriggerDate:k.preTriggerDate?W(k[Mg]):void 0};return ue}else return K(b,x,B),B}catch{}return null}function W(T){try{if(T){var b=new Date(T);if(!isNaN(b.getDate()))return b}else return new Date}catch{}return null}function K(T,b,x){try{return Jg(T,b,pt(JSON[$c](x)))}catch{}return!1}function H(T,b,x){return T<=0?1:x>=b&&(x-b)%T==0?Math.floor((x-b)/T)+1:-1}function $(T,b,x,B){ae(b,B||1,T,x)}function Y(T){try{var b=y(T);return of(1e6)<=b.limit.samplingRate}catch{}return!1}function I(T){try{var b=s[T];if(!b){var x=R(T,l);b=L(Vg(o,x),o,x),s[T]=b}return s[T]}catch{}return null}function re(T){var b=c[T];if(Z(b)){b=!1;var x=I(T);x&&(b=P(x[Mg])),c[T]=b}return c[T]}function le(T){return u=u||{},Z(u[T])&&(u[T]=[]),u[T]}}return i})()});function Zc(i){if(!i)return{};var e=i[ya](RF),t=Fd(e,function(n,o){var a=o[ya](SF);if(a[Ge]===2){var s=a[0][To](),c=a[1];n[s]=c}return n},{});if(Vr(t)[Ge]>0){if(t.endpointsuffix){var r=t.location?t.location+".":"";t[ls]=t[ls]||"https://"+r+"dc."+t.endpointsuffix}t[ls]=t[ls]||cs,cc(t[ls],"/")&&(t[ls]=t[ls].slice(0,-1))}return t}var RF,SF,q0,Q0=J(()=>{yt();yn();xr();RF=";",SF="=";q0={parse:Zc}});var Zg,X0=J(()=>{yt();yn();xr();_n();Zg=(function(){function i(e,t,r){var n=this,o=this;o.ver=1,o.sampleRate=100,o.tags={},o[vr]=Ct(e,r)||Sr,o.data=t,o.time=Xi(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 Ao,Z0=J(()=>{yn();xr();_n();Ao=(function(){function i(e,t,r,n){this.aiDataContract={ver:1,name:1,properties:0,measurements:0};var o=this;o.ver=2,o[vr]=Ct(e,t)||Sr,o[Xr]=ci(e,r),o[si]=li(e,n)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Event",i.dataType="EventData",i})()});function kw(i,e){var t=i;return t&&!We(t)&&(JSON&&JSON[$c]?(t=JSON[$c](i),e&&(!t||t==="{}")&&(Se(i[va])?t=i[va]():t=""+i)):t=""+i+" - (Missing JSON.stringify)"),t||""}function nT(i,e){var t=i;return i&&(t&&!We(t)&&(t=i[Aw]||i[iT]||t),t&&!We(t)&&(t=kw(t,!0)),i.filename&&(t=t+" @"+(i.filename||"")+":"+(i.lineno||"?")+":"+(i.colno||"?"))),e&&e!=="String"&&e!=="Object"&&e!=="Error"&&Ii(t||"",e)===-1&&(t=e+": "+t),t||""}function PF(i){try{if(Kt(i))return"hasFullStack"in i&&"typeName"in i}catch{}return!1}function TF(i){try{if(Kt(i))return"ver"in i&&"exceptions"in i&&"properties"in i}catch{}return!1}function tT(i){return i&&i.src&&We(i.src)&&i.obj&&ye(i.obj)}function el(i){var e=i||"";We(e)||(We(e[Yi])?e=e[Yi]:e=""+e);var t=e[ya](`
`);return{src:e,obj:t}}function IF(i){for(var e=[],t=i[ya](`
`),r=0;r<t[Ge];r++){var n=t[r];t[r+1]&&(n+="@"+t[r+1],r++),e[_a](n)}return{src:i,obj:e}}function oT(i){var e=null;if(i)try{if(i[Yi])e=el(i[Yi]);else if(i[Lu]&&i[Lu][Yi])e=el(i[Lu][Yi]);else if(i.exception&&i.exception[Yi])e=el(i.exception[Yi]);else if(tT(i))e=i;else if(tT(i[Iw]))e=i[Iw];else if(pr()&&pr().opera&&i[Aw])e=IF(i[jn]);else if(i.reason&&i.reason[Yi])e=el(i.reason[Yi]);else if(We(i))e=el(i);else{var t=i[Aw]||i[iT]||"";We(i[eT])&&(t&&(t+=`
`),t+=" from "+i[eT]),t&&(e=el(t))}}catch(r){e=el(r)}return e||{src:"",obj:null}}function AF(i){var e="";return i&&(i.obj?V(i.obj,function(t){e+=t+`
`}):e=i.src||""),e}function kF(i){var e,t=i.obj;if(t&&t[Ge]>0){e=[];var r=0,n=0;V(t,function(p){var y=p[va]();if(Nw.regex.test(y)){var v=new Nw(y,r++);n+=v[jc],e[_a](v)}});var o=32*1024;if(n>o)for(var a=0,s=e[Ge]-1,c=0,l=a,u=s;a<s;){var f=e[a][jc],m=e[s][jc];if(c+=f+m,c>o){var h=u-l+1;e.splice(l,h);break}l=a,u=s,a++,s--}}return e}function ey(i){var e="";if(i&&(e=i.typeName||i[vr]||"",!e))try{var t=/function (.{1,200})\(/,r=t.exec(i.constructor[va]());e=r&&r[Ge]>1?r[1]:""}catch{}return e}function Tw(i){if(i)try{if(!We(i)){var e=ey(i),t=kw(i,!1);return(!t||t==="{}")&&(i[Lu]&&(i=i[Lu],e=ey(i)),t=kw(i,!0)),Ii(t,e)!==0&&e!=="String"?e+":"+t:t}}catch{}return""+(i||"")}var xF,Lu,Yi,Iw,eT,Aw,iT,hs,rT,Nw,aT=J(()=>{ki();yt();Fe();yn();xr();_n();xF="<no_method>",Lu="error",Yi="stack",Iw="stackDetails",eT="errorSrc",Aw="message",iT="description";hs=(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,TF(t)?(s[Kc]=t[Kc]||[],s[Xr]=t[Xr],s[si]=t[si],t[zc]&&(s[zc]=t[zc]),t.id&&(s.id=t.id,t[Xr].id=t.id),t[Hg]&&(s[Hg]=t[Hg]),Z(t[Ug])||(s[Ug]=t[Ug])):(r||(r={}),a&&(r.id=a),s[Kc]=[new rT(e,t,r)],s[Xr]=ci(e,r),s[si]=li(e,n),o&&(s[zc]=o),a&&(s.id=a))}return i.CreateAutoException=function(e,t,r,n,o,a,s,c){var l,u=ey(o||a||e);return l={},l[jn]=nT(e,u),l.url=t,l.lineNumber=r,l.columnNumber=n,l.error=Tw(o||a||e),l.evt=Tw(a||e),l[Io]=u,l.stackDetails=oT(s||o||a),l.errorSrc=c,l},i.CreateFromInterface=function(e,t,r,n){var o=t[Kc]&&qo(t[Kc],function(s){return rT[gw](e,s)}),a=new i(e,dn(dn({},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&&qo(r,function(f){return f.toInterface()})||void 0;return e={ver:"4.0"},e[Kc]=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[Jf]=!0,s.message=e,s.stack=o,s.typeName=t,s)]}},i.envelopeType="Microsoft.ApplicationInsights.{0}.Exception",i.dataType="ExceptionData",i.formatError=Tw,i})(),rT=(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(PF(t))n[Io]=t[Io],n[jn]=t[jn],n[Yi]=t[Yi],n[vn]=t[vn]||[],n[Jf]=t[Jf];else{var o=t,a=o&&o.evt;nc(o)||(o=o[Lu]||a||o),n[Io]=Ct(e,ey(o))||Sr,n[jn]=Nu(e,nT(t||o,n[Io]))||Sr;var s=t[Iw]||oT(t);n[vn]=kF(s),ye(n[vn])&&qo(n[vn],function(c){c[Vc]=Ct(e,c[Vc]),c[ds]=Ct(e,c[ds])}),n[Yi]=Yg(e,AF(s)),n.hasFullStack=ye(n.parsedStack)&&n.parsedStack[Ge]>0,r&&(r[Io]=r[Io]||n[Io])}}return i.prototype.toInterface=function(){var e,t=this,r=t[vn]instanceof Array&&qo(t[vn],function(o){return o.toInterface()}),n=(e={id:t.id,outerId:t.outerId,typeName:t[Io],message:t[jn],hasFullStack:t[Jf],stack:t[Yi]},e[vn]=r||void 0,e);return n},i.CreateFromInterface=function(e,t){var r=t[vn]instanceof Array&&qo(t[vn],function(o){return Nw[gw](o)})||t[vn],n=new i(e,dn(dn({},t),{parsedStack:r}));return n},i})(),Nw=(function(){function i(e,t){this.aiDataContract={level:1,method:1,assembly:0,fileName:0,line:0};var r=this;if(r[jc]=0,typeof e=="string"){var n=e;r[qf]=t,r[Jc]=xF,r[Vc]=pt(n),r[ds]="",r[ku]=0;var o=n.match(i.regex);o&&o[Ge]>=5&&(r[Jc]=pt(o[2])||r[Jc],r[ds]=pt(o[4]),r[ku]=parseInt(o[5])||0)}else r[qf]=e[qf],r[Jc]=e[Jc],r[Vc]=e[Vc],r[ds]=e[ds],r[ku]=e[ku],r[jc]=0;r.sizeInBytes+=r.method[Ge],r.sizeInBytes+=r.fileName[Ge],r.sizeInBytes+=r.assembly[Ge],r[jc]+=i.baseSize,r.sizeInBytes+=r.level.toString()[Ge],r.sizeInBytes+=r.line.toString()[Ge]}return i.CreateFromInterface=function(e){return new i(e,null)},i.prototype.toInterface=function(){var e=this;return{level:e[qf],method:e[Jc],assembly:e[Vc],fileName:e[ds],line:e[ku]}},i.regex=/^([\s]+at)?[\s]{0,50}([^\@\()]+?)[\s]{0,50}(\@|\()([^\(\n]+):([0-9]+):([0-9]+)(\)?)$/,i.baseSize=58,i})()});var sT,cT=J(()=>{sT=(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 ko,lT=J(()=>{yn();xr();cT();_n();ko=(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 f=new sT;f[us]=n>0?n:void 0,f.max=isNaN(a)||a===null?void 0:a,f.min=isNaN(o)||o===null?void 0:o,f[vr]=Ct(e,t)||Sr,f.value=r,f.stdDev=isNaN(s)||s===null?void 0:s,u.metrics=[f],u[Xr]=ci(e,c),u[si]=li(e,l)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Metric",i.dataType="MetricData",i})()});function uT(i,e){return e===void 0&&(e=!1),i==null?e:i.toString()[To]()==="true"}function Fu(i){(isNaN(i)||i<0)&&(i=0),i=Math.round(i);var e=Zf+i%1e3,t=Zf+Math.floor(i/1e3)%60,r=Zf+Math.floor(i/(1e3*60))%60,n=Zf+Math.floor(i/(1e3*60*60))%24,o=Math.floor(i/(1e3*60*60*24));return e=e[Ge]===1?"00"+e:e[Ge]===2?"0"+e:e,t=t[Ge]<2?"0"+t:t,r=r[Ge]<2?"0"+r:r,n=n[Ge]<2?"0"+n:n,(o>0?o+".":Zf)+n+":"+r+":"+t+"."+e}function dT(i,e){var t=null;return V(i,function(r){if(r.identifier===e)return t=r,-1}),t}function fT(i,e,t,r,n){return!n&&We(i)&&(i==="Script error."||i==="Script error")}var Zf,ty=J(()=>{yt();xr();Zf=""});var gs,mT=J(()=>{yn();ty();xr();_n();gs=(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=$g(e,s),c.url=fs(e,r),c[vr]=Ct(e,t)||Sr,isNaN(n)||(c[qc]=Fu(n)),c[Xr]=ci(e,o),c[si]=li(e,a)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Pageview",i.dataType="PageviewData",i})()});var ys,pT=J(()=>{ty();Dw();xr();_n();ys=(function(){function i(e,t,r,n,o,a,s,c,l,u,f,m){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 h=this;h.ver=2,h.id=t,h[qc]=Fu(o),h.success=a,h.resultCode=s+"",h.type=Ct(e,l);var p=F0(e,r,c,n);h.data=fs(e,n)||p.data,h.target=Ct(e,p.target),u&&(h.target="".concat(h.target," | ").concat(u)),h[vr]=Ct(e,p[vr]),h[Xr]=ci(e,f),h[si]=li(e,m)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.RemoteDependency",i.dataType="RemoteDependencyData",i})()});var vs,hT=J(()=>{yn();xr();_n();vs=(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||Sr,a[jn]=Nu(e,t),a[Xr]=ci(e,n),a[si]=li(e,o),r&&(a[zc]=r)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Message",i.dataType="MessageData",i})()});var _s,gT=J(()=>{yn();xr();_n();_s=(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=fs(e,r),c[vr]=Ct(e,t)||Sr,c[Xr]=ci(e,o),c[si]=li(e,a),s&&(c.domProcessing=s.domProcessing,c[qc]=s[qc],c.networkConnect=s.networkConnect,c.perfTotal=s.perfTotal,c[yw]=s[yw],c.sentRequest=s.sentRequest)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.PageviewPerformance",i.dataType="PageviewPerformanceData",i})()});var No,yT=J(()=>{No=(function(){function i(e,t){this.aiDataContract={baseType:1,baseData:1},this.baseType=e,this.baseData=t}return i})()});var ry,vT=J(()=>{yt();ry=tr({Verbose:0,Information:1,Warning:2,Error:3,Critical:4})});var _T,bT=J(()=>{yt();xr();_T=(function(){function i(){}return i.getConfig=function(e,t,r,n){n===void 0&&(n=!1);var o;return r&&e[Vf]&&e[Vf][r]&&!Z(e[Vf][r][t])?o=e[Vf][r][t]:o=e[t],Z(o)?n:o},i})()});function Cs(i){var e="ai."+i+".";return function(t){return e+t}}var em,Pr,iy,Bu,Ow,bs,tl,tm,Gu,Mw=J(()=>{ki();yt();em=Cs("application"),Pr=Cs("device"),iy=Cs("location"),Bu=Cs("operation"),Ow=Cs("session"),bs=Cs("user"),tl=Cs("cloud"),tm=Cs("internal"),Gu=(function(i){Ai(e,i);function e(){return i.call(this)||this}return e})(Nb({applicationVersion:em("ver"),applicationBuild:em("build"),applicationTypeId:em("typeId"),applicationId:em("applicationId"),applicationLayer:em("layer"),deviceId:Pr("id"),deviceIp:Pr("ip"),deviceLanguage:Pr("language"),deviceLocale:Pr("locale"),deviceModel:Pr("model"),deviceFriendlyName:Pr("friendlyName"),deviceNetwork:Pr("network"),deviceNetworkName:Pr("networkName"),deviceOEMName:Pr("oemName"),deviceOS:Pr("os"),deviceOSVersion:Pr("osVersion"),deviceRoleInstance:Pr("roleInstance"),deviceRoleName:Pr("roleName"),deviceScreenResolution:Pr("screenResolution"),deviceType:Pr("type"),deviceMachineName:Pr("machineName"),deviceVMName:Pr("vmName"),deviceBrowser:Pr("browser"),deviceBrowserVersion:Pr("browserVersion"),locationIp:iy("ip"),locationCountry:iy("country"),locationProvince:iy("province"),locationCity:iy("city"),operationId:Bu("id"),operationName:Bu("name"),operationParentId:Bu("parentId"),operationRootId:Bu("rootId"),operationSyntheticSource:Bu("syntheticSource"),operationCorrelationVector:Bu("correlationVector"),sessionId:Ow("id"),sessionIsFirst:Ow("isFirst"),sessionIsNew:Ow("isNew"),userAccountAcquisitionDate:bs("accountAcquisitionDate"),userAccountId:bs("accountId"),userAgent:bs("userAgent"),userId:bs("id"),userStoreRegion:bs("storeRegion"),userAuthUserId:bs("authUserId"),userAnonymousUserAcquisitionDate:bs("anonUserAcquisitionDate"),userAuthenticatedUserAcquisitionDate:bs("authUserAcquisitionDate"),cloudName:tl("name"),cloudRole:tl("role"),cloudRoleVer:tl("roleVer"),cloudRoleInstance:tl("roleInstance"),cloudEnvironment:tl("environment"),cloudLocation:tl("location"),cloudDeploymentUnit:tl("deploymentUnit"),internalNodeName:tm("nodeName"),internalSdkVersion:tm("sdkVersion"),internalAgentVersion:tm("agentVersion"),internalSnippet:tm("snippet"),internalSdkSrc:tm("sdkSrc")}))});function Lw(i,e,t,r,n,o){var a;t=Ct(r,t)||Sr,(Z(i)||Z(e)||Z(t))&&Zt("Input doesn't contain all required fields");var s="";i[Ng]&&(s=i[Ng],delete i[Ng]);var c=(a={},a[vr]=t,a.time=Xi(new Date),a.iKey=s,a.ext=o||{},a.tags=[],a.data={},a.baseType=e,a.baseData=i,a);return Z(n)||we(n,function(l,u){c.data[l]=u}),c}var CT,wT=J(()=>{yt();yn();_n();xr();CT=(function(){function i(){}return i.create=Lw,i})()});var ET,dr,DT=J(()=>{Mw();ET={UserExt:"user",DeviceExt:"device",TraceExt:"trace",WebExt:"web",AppExt:"app",OSExt:"os",SessionExt:"ses",SDKExt:"sdk"},dr=new Gu});function RT(i){var e=null;if(Se(Event))e=new Event(i);else{var t=er();t&&t.createEvent&&(e=t.createEvent("Event"),e.initEvent(i,!0,!0))}return e}var ST=J(()=>{yt()});function xT(i,e){pa(i,null,null,e)}function ny(i){var e=er(),t=Er(),r=!1,n=[],o=1;t&&!Z(t.onLine)&&!t.onLine&&(o=2);var a=0,s=m(),c=en(Qr("OfflineListener"),i);try{if(u(pr())&&(r=!0),e){var l=e.body||e;l.ononline&&u(l)&&(r=!0)}}catch{r=!1}function u(R){var P=!1;return R&&(P=Co(R,"online",y,c),P&&Co(R,"offline",v,c)),P}function f(){return s}function m(){return!(a===2||o===2)}function h(){var R=m();s!==R&&(s=R,V(n,function(P){var L={isOnline:s,rState:o,uState:a};try{P(L)}catch{}}))}function p(R){a=R,h()}function y(){o=1,h()}function v(){o=2,h()}function S(){var R=pr();if(R&&r){if(xT(R,c),e){var P=e.body||e;Je(P.ononline)||xT(P,c)}r=!1}}function E(R){return n[_a](R),{rm:function(){var P=n.indexOf(R);if(P>-1)return n.splice(P,1)}}}return{isOnline:f,isListening:function(){return r},unload:S,addListener:E,setOnlineState:p}}var PT=J(()=>{yt();xr()});var TT={};dl(TT,{AnalyticsPluginIdentifier:()=>OF,BreezeChannelIdentifier:()=>Fw,ConfigurationManager:()=>_T,ConnectionStringParser:()=>q0,ContextTagKeys:()=>Gu,CtxTagKeys:()=>dr,DEFAULT_BREEZE_ENDPOINT:()=>cs,DEFAULT_BREEZE_PATH:()=>Kn,Data:()=>No,DisabledPropertyName:()=>x0,DistributedTracingModes:()=>U0,Envelope:()=>Zg,Event:()=>Ao,EventPersistence:()=>W0,Exception:()=>hs,Extensions:()=>ET,HttpMethod:()=>zf,Metric:()=>ko,PageView:()=>gs,PageViewPerformance:()=>_s,ProcessLegacy:()=>Iu,PropertiesPluginIdentifier:()=>NF,RemoteDependencyData:()=>ys,RequestHeaders:()=>Yc,SampleRate:()=>Tu,SeverityLevel:()=>ry,TelemetryItemCreator:()=>CT,ThrottleMgr:()=>V0,Trace:()=>vs,correlationIdCanIncludeCorrelationHeader:()=>M0,correlationIdGetCorrelationContext:()=>L0,correlationIdGetCorrelationContextValue:()=>Ew,correlationIdGetPrefix:()=>O0,correlationIdSetPrefix:()=>N0,createDistributedTraceContextFromTrace:()=>H0,createDomEvent:()=>RT,createOfflineListener:()=>ny,createTelemetryItem:()=>Lw,createTraceParent:()=>vf,dataSanitizeException:()=>Yg,dataSanitizeId:()=>$g,dataSanitizeInput:()=>Kg,dataSanitizeKey:()=>vw,dataSanitizeKeyAndAddUniqueness:()=>Wg,dataSanitizeMeasurements:()=>li,dataSanitizeMessage:()=>Nu,dataSanitizeProperties:()=>ci,dataSanitizeString:()=>Ct,dataSanitizeUrl:()=>fs,dateTimeUtilsDuration:()=>G0,dateTimeUtilsNow:()=>B0,dsPadNumber:()=>_w,findAllScripts:()=>_C,findW3cTraceParent:()=>Cf,formatTraceParent:()=>bf,getExtensionByName:()=>dT,isBeaconApiSupported:()=>Hi,isCrossOriginError:()=>fT,isInternalApplicationInsightsEndpoint:()=>Xf,isSampledFlag:()=>_f,isValidSpanId:()=>_o,isValidTraceId:()=>vo,isValidTraceParent:()=>du,msToTimeSpan:()=>Fu,parseConnectionString:()=>Zc,parseTraceParent:()=>Pc,strNotSpecified:()=>Sr,stringToBoolOrDefault:()=>uT,urlGetAbsoluteUrl:()=>I0,urlGetCompleteUrl:()=>k0,urlGetPathName:()=>A0,urlParseFullHost:()=>Qf,urlParseHost:()=>bw,urlParseUrl:()=>Qc,utlCanUseLocalStorage:()=>Mu,utlCanUseSessionStorage:()=>Xc,utlDisableStorage:()=>$0,utlEnableStorage:()=>K0,utlGetLocalStorage:()=>Vg,utlGetSessionStorage:()=>qg,utlGetSessionStorageKeys:()=>z0,utlRemoveSessionStorage:()=>Xg,utlRemoveStorage:()=>j0,utlSetLocalStorage:()=>Jg,utlSetSessionStorage:()=>Qg,utlSetStoragePrefix:()=>zg});var NF,Fw,OF,ba=J(()=>{Dw();J0();Q0();mw();yn();X0();Z0();aT();lT();mT();pT();hT();gT();yT();vT();bT();Mw();_n();wT();DT();Rw();ty();yt();ST();Pw();Cw();PT();NF="AppInsightsPropertiesPlugin",Fw="AppInsightsChannelPlugin",OF="ApplicationInsightsAnalytics"});var Gw=Tt(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});oy.TelemetryUtil=void 0;var Bw=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}};oy.TelemetryUtil=Bw});var ws,IT=J(()=>{ws="duration"});var _r,ay,Zr,Oo,rl,Qe,Es,Ds,bn,Rs,Ca,Hu,wa,Ea,sy,Cn,Uu,rm,Ss,im,Wu,il,nm,cy,Da,xs,Yu,$u,ei,ly,Ku,ju,zu,uy,Hw,dy,fy,Uw,my,Ww,Ra,Yw,$w,Kw,om,jw,zw,Vw,Vu,Ps,py,am,hy,gy,yy,vy,Ju,Jw,_y,AT,Ts=J(()=>{_r="tags",ay="deviceType",Zr="data",Oo="name",rl="traceID",Qe="length",Es="stringify",Ds="measurements",bn="dataType",Rs="envelopeType",Ca="toString",Hu="_get",wa="enqueue",Ea="count",sy="eventsLimitInMem",Cn="push",Uu="item",rm="emitLineDelimitedJson",Ss="clear",im="createNew",Wu="markAsSent",il="clearSent",nm="bufferOverride",cy="BUFFER_KEY",Da="SENT_BUFFER_KEY",xs="concat",Yu="MAX_BUFFER_SIZE",$u="triggerSend",ei="diagLog",ly="initialize",Ku="_sender",ju="endpointUrl",zu="instrumentationKey",uy="customHeaders",Hw="maxBatchSizeInBytes",dy="onunloadDisableBeacon",fy="isBeaconApiDisabled",Uw="alwaysUseXhrOverride",my="disableXhr",Ww="enableSessionStorageBuffer",Ra="_buffer",Yw="onunloadDisableFetch",$w="disableSendBeaconSplit",Kw="enableSendPromise",om="getSenderInst",jw="unloadTransports",zw="convertUndefined",Vw="maxBatchInterval",Vu="serialize",Ps="_onError",py="_onPartialSuccess",am="_onSuccess",hy="itemsReceived",gy="itemsAccepted",yy="oriPayload",vy="baseType",Ju="sampleRate",Jw="eventsSendRequest",_y="getSamplingScore",AT="getHashCodeScore"});function fr(i,e,t){return hn(i,e,t,An)}function MF(i,e,t){var r=t[_r]=t[_r]||{},n=e.ext=e.ext||{},o=e[_r]=e[_r]||[],a=n.user;a&&(fr(r,dr.userAuthUserId,a.authId),fr(r,dr.userId,a.id||a.localId));var s=n.app;s&&fr(r,dr.sessionId,s.sesId);var c=n.device;c&&(fr(r,dr.deviceId,c.id||c.localId),fr(r,dr[ay],c.deviceClass),fr(r,dr.deviceIp,c.ip),fr(r,dr.deviceModel,c.model),fr(r,dr[ay],c[ay]));var l=e.ext.web;if(l){fr(r,dr.deviceLanguage,l.browserLang),fr(r,dr.deviceBrowserVersion,l.browserVer),fr(r,dr.deviceBrowser,l.browser);var u=t[Zr]=t[Zr]||{},f=u[Gt]=u[Gt]||{},m=f[Gr]=f[Gr]||{};fr(m,"domain",l.domain),fr(m,"isManual",l.isManual?kT:null),fr(m,"screenRes",l.screenRes),fr(m,"userConsent",l.userConsent?kT:null)}var h=n.os;h&&(fr(r,dr.deviceOS,h[Oo]),fr(r,dr.deviceOSVersion,h.osVer));var p=n.trace;p&&(fr(r,dr.operationParentId,p.parentID),fr(r,dr.operationName,Ct(i,p[Oo])),fr(r,dr.operationId,p[rl]));for(var y={},v=o[Qe]-1;v>=0;v--){var S=o[v];we(S,function(R,P){y[R]=P}),o.splice(v,1)}we(o,function(R,P){y[R]=P});var E=dn(dn({},r),y);E[dr.internalSdkVersion]||(E[dr.internalSdkVersion]=Ct(i,"javascript:".concat(LF.Version),64)),t[_r]=Gi(E)}function Is(i,e,t){Z(i)||we(i,function(r,n){zr(n)?t[r]=n:We(n)?e[r]=n:ho()&&(e[r]=qr()[Es](n))})}function nl(i,e){Z(i)||we(i,function(t,r){i[t]=r||e})}function ol(i,e,t,r){var n=new Zg(i,r,e);fr(n,"sampleRate",t[Tu]),(t[Gt]||{}).startTime&&(n.time=Xi(t[Gt].startTime)),n.iKey=t.iKey;var o=t.iKey.replace(/-/g,"");return n[Oo]=n[Oo].replace("{0}",o),MF(i,t,n),t[_r]=t[_r]||[],Gi(n)}function al(i,e){Z(e[Gt])&&ae(i,1,46,"telemetryItem.baseData cannot be null.")}function NT(i,e,t){al(i,e);var r=e[Gt][Ds]||{},n=e[Gt][Gr]||{};Is(e[Zr],n,r),Z(t)||nl(n,t);var o=e[Gt];if(Z(o))return gi(i,"Invalid input for dependency data"),null;var a=o[Gr]&&o[Gr][zf]?o[Gr][zf]:"GET",s=new ys(i,o.id,o.target,o[Oo],o[ws],o.success,o.responseCode,a,o.type,o.correlationContext,n,r),c=new No(ys[bn],s);return ol(i,ys[Rs],e,c)}function Qw(i,e,t){al(i,e);var r={},n={};e[qw]!==Ao[bn]&&(r.baseTypeSource=e[qw]),e[qw]===Ao[bn]?(r=e[Gt][Gr]||{},n=e[Gt][Ds]||{}):e[Gt]&&Is(e[Gt],r,n),Is(e[Zr],r,n),Z(t)||nl(r,t);var o=e[Gt][Oo],a=new Ao(i,o,r,n),s=new No(Ao[bn],a);return ol(i,Ao[Rs],e,s)}function OT(i,e,t){al(i,e);var r=e[Gt][Ds]||{},n=e[Gt][Gr]||{};Is(e[Zr],n,r),Z(t)||nl(n,t);var o=e[Gt],a=hs.CreateFromInterface(i,o,n,r),s=new No(hs[bn],a);return ol(i,hs[Rs],e,s)}function MT(i,e,t){al(i,e);var r=e[Gt],n=r[Gr]||{},o=r[Ds]||{};Is(e[Zr],n,o),Z(t)||nl(n,t);var a=new ko(i,r[Oo],r.average,r.sampleCount,r.min,r.max,r.stdDev,n,o),s=new No(ko[bn],a);return ol(i,ko[Rs],e,s)}function LT(i,e,t){al(i,e);var r,n=e[Gt];!Z(n)&&!Z(n[Gr])&&!Z(n[Gr][ws])?(r=n[Gr][ws],delete n[Gr][ws]):!Z(e[Zr])&&!Z(e[Zr][ws])&&(r=e[Zr][ws],delete e[Zr][ws]);var o=e[Gt],a;((e.ext||{}).trace||{})[rl]&&(a=e.ext.trace[rl]);var s=o.id||a,c=o[Oo],l=o.uri,u=o[Gr]||{},f=o[Ds]||{};if(Z(o.refUri)||(u.refUri=o.refUri),Z(o.pageType)||(u.pageType=o.pageType),Z(o.isLoggedIn)||(u.isLoggedIn=o.isLoggedIn[Ca]()),!Z(o[Gr])){var m=o[Gr];we(m,function(y,v){u[y]=v})}Is(e[Zr],u,f),Z(t)||nl(u,t);var h=new gs(i,c,l,r,u,f,s),p=new No(gs[bn],h);return ol(i,gs[Rs],e,p)}function FT(i,e,t){al(i,e);var r=e[Gt],n=r[Oo],o=r.uri||r.url,a=r[Gr]||{},s=r[Ds]||{};Is(e[Zr],a,s),Z(t)||nl(a,t);var c=new _s(i,n,o,void 0,a,s,r),l=new No(_s[bn],c);return ol(i,_s[Rs],e,l)}function BT(i,e,t){al(i,e);var r=e[Gt].message,n=e[Gt].severityLevel,o=e[Gt][Gr]||{},a=e[Gt][Ds]||{};Is(e[Zr],o,a),Z(t)||nl(o,t);var s=new vs(i,r,n,o,a),c=new No(vs[bn],s);return ol(i,vs[Rs],e,c)}var qw,Gt,Gr,kT,LF,GT=J(()=>{ki();ba();yt();IT();Ts();qw="baseType",Gt="baseData",Gr="properties",kT="true";LF={Version:"3.3.4"}});var HT,by,FF,Xw,UT=J(()=>{ki();Lr();ba();yt();Ts();HT=(function(){function i(e,t){var r=[],n=!1,o=t.maxRetryCnt;this[Hu]=function(){return r},this._set=function(a){return r=a,r},rt(i,this,function(a){a[wa]=function(s){if(a[Ea]()>=t[sy]){n||(ae(e,2,105,"Maximum in-memory buffer size reached: "+a[Ea](),!0),n=!0);return}s.cnt=s.cnt||0,!(!Z(o)&&s.cnt>o)&&r[Cn](s)},a[Ea]=function(){return r[Qe]},a.size=function(){for(var s=r[Qe],c=0;c<r[Qe];c++)s+=r[c].item[Qe];return t[rm]||(s+=2),s},a[Ss]=function(){r=[],n=!1},a.getItems=function(){return r.slice(0)},a.batchPayloads=function(s){if(s&&s[Qe]>0){var c=[];V(s,function(u){c[Cn](u[Uu])});var l=t[rm]?c.join(`
`):"["+c.join(",")+"]";return l}return null},a[im]=function(s,c,l){var u=r.slice(0);s=s||e,c=c||{};var f=l?new Xw(s,c):new by(s,c);return V(u,function(m){f[wa](m)}),f}})}return i.__ieDyn=1,i})(),by=(function(i){Ai(e,i);function e(t,r){var n=i.call(this,t,r)||this;return rt(e,n,function(o,a){o[Wu]=function(s){a[Ss]()},o[il]=function(s){}}),n}return e.__ieDyn=1,e})(HT),FF=["AI_buffer","AI_sentBuffer"],Xw=(function(i){Ai(e,i);function e(r,n){var o=i.call(this,r,n)||this,a=!1,s=n?.namePrefix,c=n[nm]||{getItem:qg,setItem:Qg},l=c.getItem,u=c.setItem,f=n.maxRetryCnt;return rt(e,o,function(m,h){var p=P(e[cy]),y=P(e[Da]),v=K(),S=y[xs](v),E=m._set(p[xs](S));E[Qe]>e[Yu]&&(E[Qe]=e[Yu]),W(e[Da],[]),W(e[cy],E),m[wa]=function($){if(m[Ea]()>=e[Yu]){a||(ae(r,2,67,"Maximum buffer size reached: "+m[Ea](),!0),a=!0);return}$.cnt=$.cnt||0,!(!Z(f)&&$.cnt>f)&&(h[wa]($),W(e.BUFFER_KEY,m[Hu]()))},m[Ss]=function(){h[Ss](),W(e.BUFFER_KEY,m[Hu]()),W(e[Da],[]),a=!1},m[Wu]=function($){W(e[cy],m._set(R($,m[Hu]())));var Y=P(e[Da]);Y instanceof Array&&$ instanceof Array&&(Y=Y[xs]($),Y[Qe]>e[Yu]&&(ae(r,1,67,"Sent buffer reached its maximum size: "+Y[Qe],!0),Y[Qe]=e[Yu]),W(e[Da],Y))},m[il]=function($){var Y=P(e[Da]);Y=R($,Y),W(e[Da],Y)},m[im]=function($,Y,I){I=!!I;var re=m[Hu]().slice(0),le=P(e[Da]).slice(0);$=$||r,Y=Y||{},m[Ss]();var T=I?new e($,Y):new by($,Y);return V(re,function(b){T[wa](b)}),I&&T[Wu](le),T};function R($,Y){var I=[],re=[];return V($,function(le){re[Cn](le[Uu])}),V(Y,function(le){!Se(le)&&mt(re,le[Uu])===-1&&I[Cn](le)}),I}function P($){var Y=$;return Y=s?s+"_"+Y:Y,L(Y)}function L($){try{var Y=l(r,$);if(Y){var I=qr().parse(Y);if(We(I)&&(I=qr().parse(I)),I&&ye(I))return I}}catch(re){ae(r,1,42," storage key: "+$+", "+Pt(re),{exception:ve(re)})}return[]}function W($,Y){var I=$;try{I=s?s+"_"+I:I;var re=JSON[Es](Y);u(r,I,re)}catch(le){u(r,I,JSON[Es]([])),ae(r,2,41," storage key: "+I+", "+Pt(le)+". Buffer cleared",{exception:ve(le)})}}function K(){var $=[];try{return V(FF,function(Y){var I=H(Y);if($=$[xs](I),s){var re=s+"_"+Y,le=H(re);$=$[xs](le)}}),$}catch(Y){ae(r,2,41,"Transfer events from previous buffers: "+Pt(Y)+". previous Buffer items can not be removed",{exception:ve(Y)})}return[]}function H($){try{var Y=L($),I=[];return V(Y,function(re){var le={item:re,cnt:0};I[Cn](le)}),Xg(r,$),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})(HT)});var WT,YT=J(()=>{Lr();yt();Ts();WT=(function(){function i(e){rt(i,this,function(t){t[Vu]=function(a){var s=r(a,"root");try{return qr()[Es](s)}catch(c){ae(e,1,48,c&&Se(c[Ca])?c[Ca]():"Error serializing object",null,!0)}};function r(a,s){var c="__aiCircularRefCheck",l={};if(!a)return ae(e,1,48,"cannot serialize object because it is null or undefined",{name:s},!0),l;if(a[c])return ae(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(ye(a))l=n(a,s);else{ae(e,2,49,"Attempting to serialize an object which does not implement ISerializable",{name:s},!0);try{qr()[Es](a),l=a}catch(u){ae(e,1,48,u&&Se(u[Ca])?u[Ca]():"Error serializing object",null,!0)}}return l}return a[c]=!0,we(a.aiDataContract,function(u,f){var m=Se(f)?f()&1:f&1,h=Se(f)?f()&4:f&4,p=f&2,y=a[u]!==void 0,v=Kt(a[u])&&a[u]!==null;if(m&&!y&&!p)ae(e,1,24,"Missing required field specification. The field is required but not present on source",{field:u,name:s});else if(!h){var S=void 0;v?p?S=n(a[u],u):S=r(a[u],u):S=a[u],S!==void 0&&(l[u]=S)}}),delete a[c],l}function n(a,s){var c;if(a)if(!ye(a))ae(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[Qe];l++){var u=a[l],f=r(u,s+"["+l+"]");c[Cn](f)}}return c}function o(a,s,c){var l;return a&&(l={},we(a,function(u,f){if(s==="string")f===void 0?l[u]="undefined":f===null?l[u]="null":f[Ca]?l[u]=f[Ca]():l[u]="invalid field: toString() is not defined.";else if(s==="number")if(f===void 0)l[u]="undefined";else if(f===null)l[u]="null";else{var m=parseFloat(f);l[u]=m}else l[u]="invalid field: "+c+" is of unknown type.",ae(e,1,l[u],null,!0)})),l}})}return i.__ieDyn=1,i})()});var BF,$T,KT=J(()=>{Ts();BF=8,$T=(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[Qe]<BF;)e=e[xs](e);for(var t=5381,r=0;r<e[Qe];++r)t=(t<<5)+t+e.charCodeAt(r),t=t&t;return Math.abs(t)},i.INT_MAX_VALUE=2147483647,i})()});var jT,zT=J(()=>{ba();Ts();KT();jT=(function(){function i(){var e=this,t=new $T,r=new Gu;e[_y]=function(n){var o=0;return n[_r]&&n[_r][r.userId]?o=t.getHashCodeScore(n[_r][r.userId]):n.ext&&n.ext.user&&n.ext.user.id?o=t[AT](n.ext.user.id):n[_r]&&n[_r][r.operationId]?o=t.getHashCodeScore(n[_r][r.operationId]):n.ext&&n.ext.telemetryTrace&&n.ext.telemetryTrace[rl]?o=t.getHashCodeScore(n.ext.telemetryTrace[rl]):o=Math.random()*100,o}}return i})()});var VT,JT=J(()=>{ba();yt();Ts();zT();VT=(function(){function i(e,t){this.INT_MAX_VALUE=2147483647;var r=t||Un(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[Ju]=e,this.samplingScoreGenerator=new jT}return i.prototype.isSampledIn=function(e){var t=this[Ju],r=!1;return t==null||t>=100||e.baseType===ko[bn]?!0:(r=this.samplingScoreGenerator[_y](e)<t,r)},i})()});function QT(i){try{return i.responseText}catch{}return null}function HF(i){return i&&i.sendPOST}function UF(i){return!isNaN(i)&&i>0&&i<=100}var At,Sa,Mo,qT,GF,XT,WF,sm,ZT=J(()=>{ki();Lr();ba();yt();Fe();GT();UT();YT();JT();Ts();Mo=void 0,qT="",GF=65e3;XT=ao((At={endpointUrl:su(An,cs+Kn)},At[rm]=gn(),At[Vw]=15e3,At[Hw]=102400,At.disableTelemetry=gn(),At[Ww]=gn(!0),At.isRetryDisabled=gn(),At[fy]=gn(!0),At[$w]=gn(!0),At[my]=gn(),At[Yw]=gn(),At[dy]=gn(),At[zu]=Mo,At.namePrefix=Mo,At.samplingPercentage=su(UF,100),At[uy]=Mo,At[zw]=Mo,At[sy]=1e4,At[nm]=!1,At.httpXHROverride={isVal:HF,v:Mo},At[Uw]=gn(),At.transports=Mo,At.retryCodes=Mo,At.maxRetryCnt={isVal:zr,v:10},At));WF=(Sa={},Sa[Ao.dataType]=Qw,Sa[vs.dataType]=BT,Sa[gs.dataType]=LT,Sa[_s.dataType]=FT,Sa[hs.dataType]=OT,Sa[ko.dataType]=MT,Sa[ys.dataType]=NT,Sa),sm=(function(i){Ai(e,i);function e(){var t=i.call(this)||this;t.priority=1001,t.identifier=Fw;var r,n,o,a,s,c,l,u,f=0,m,h,p,y,v,S,E,R,P,L,W,K,H,$,Y,I,re,le,T,b,x,B,k,ue,ee,Ce,ce;return rt(e,t,function(U,et){_e(),U.pause=function(){q(),a=!0},U.resume=function(){a&&(a=!1,n=null,it(),O())},U.flush=function(g,C,M){if(g===void 0&&(g=!0),!a){q();try{return U[$u](g,null,M||1)}catch(F){ae(U[ei](),1,22,"flush failed, telemetry will not be collected: "+Pt(F),{exception:ve(F)})}}},U.onunloadFlush=function(){if(!a)if(E||b)try{return U[$u](!0,Vt,2)}catch(g){ae(U[ei](),1,20,"failed to flush with beacon sender on page unload, telemetry will not be collected: "+Pt(g),{exception:ve(g)})}else U.flush(!1)},U.addHeader=function(g,C){u[g]=C},U[ly]=function(g,C,M,F){U.isInitialized()&&ae(U[ei](),1,28,"Sender is already initialized"),et[ly](g,C,M,F);var z=U.identifier;c=new WT(C.logger),r=0,n=null,o=0,U[Ku]=null,l=0;var Q=U[ei]();p=en(Qr("Sender"),C.evtNamespace&&C.evtNamespace()),h=ny(p),U._addHook(gr(g,function(fe){var Me=fe.cfg;Me.storagePrefix&&zg(Me.storagePrefix);var nt=yi(null,Me,C),Te=nt.getExtCfg(z,XT),vi=Te[ju];if(y&&vi===y){var Go=Me[ju];Go&&Go!==vi&&(Te[ju]=Go)}pi(Te[zu])&&(Te[zu]=Me[zu]),ft(U,"_senderConfig",{g:function(){return Te}}),v!==Te[ju]&&(y=v=Te[ju]),C.activeStatus()===zi.PENDING?U.pause():C.activeStatus()===zi.ACTIVE&&U.resume(),L&&L!==Te[uy]&&V(L,function(Ur){delete u[Ur.header]}),S=Te[Hw],E=(Te[dy]===!1||Te[fy]===!1)&&Hi(),R=Te[dy]===!1&&Hi(),P=Te[fy]===!1&&Hi(),b=Te[Uw],x=!!Te[my],ce=Te.retryCodes;var _i=Te[nm],zn=!!Te[Ww]&&(!!_i||Xc()),dm=Te.namePrefix,NI=zn!==I||zn&&le!==dm||zn&&re!==_i;if(U[Ra]){if(NI)try{U._buffer=U._buffer[im](Q,Te,zn)}catch(Ur){ae(U[ei](),1,12,"failed to transfer telemetry to different buffer storage, telemetry will be lost: "+Pt(Ur),{exception:ve(Ur)})}it()}else U[Ra]=zn?new Xw(Q,Te):new by(Q,Te);le=dm,I=zn,re=_i,B=!Te[Yw]&&aa(!0),ee=!!Te[$w],U._sample=new VT(Te.samplingPercentage,Q),K=Te[zu],!pi(K)&&!Xe(K,Me)&&ae(Q,1,100,"Invalid Instrumentation key "+K),L=Te[uy],We(y)&&!Xf(y)&&L&&L[Qe]>0?V(L,function(Ur){t.addHeader(Ur.header,Ur.value)}):L=null,T=Te[Kw];var gE=xe();Ce?Ce.SetConfig(gE):(Ce=new Ac,Ce[ly](gE,Q));var fm=Te.httpXHROverride,mm=null,Xu=null,OI=na([3,1,2],Te.transports);mm=Ce&&Ce[om](OI,!1);var Fy=Ce&&Ce.getFallbackInst();k=function(Ur,ks){return pe(Fy,Ur,ks)},ue=function(Ur,ks){return pe(Fy,Ur,ks,!1)},mm=b?fm:mm||fm||Fy,U[Ku]=function(Ur,ks){return pe(mm,Ur,ks)},B&&(m=on);var By=na([3,1],Te[jw]);B||(By=By.filter(function(Ur){return Ur!==2})),Xu=Ce&&Ce[om](By,!0),Xu=b?fm:Xu||fm,(b||Te[jw]||!m)&&Xu&&(m=function(Ur,ks){return pe(Xu,Ur,ks)}),m||(m=k),W=Te.disableTelemetry,H=Te[zw]||Mo,$=Te.isRetryDisabled,Y=Te[Vw]}))},U.processTelemetry=function(g,C){var M;C=U._getTelCtx(C);var F=C[ei]();try{var z=he(g,F);if(!z)return;var Q=Ee(g,F);if(!Q)return;var fe=c[Vu](Q),Me=U[Ra];it(fe);var nt=(M={},M[Uu]=fe,M.cnt=0,M);Me[wa](nt),O()}catch(Te){ae(F,2,12,"Failed adding telemetry to the sender's buffer, some telemetry will be lost: "+Pt(Te),{exception:ve(Te)})}U.processNext(g,C)},U.isCompletelyIdle=function(){return!a&&f===0&&U._buffer[Ea]()===0},U.getOfflineListener=function(){return h},U._xhrReadyStateChange=function(g,C,M){if(!ri(C))return wt(g,C,M)},U[$u]=function(g,C,M){g===void 0&&(g=!0);var F;if(!a)try{var z=U[Ra];if(W)z[Ss]();else{if(z[Ea]()>0){var Q=z.getItems();Ne(M||0,g),C?F=C.call(U,Q,g):F=U[Ku](Q,g)}o=+new Date}q()}catch(Me){var fe=ef();(!fe||fe>9)&&ae(U[ei](),1,40,"Telemetry transmission failed, some telemetry will be lost: "+Pt(Me),{exception:ve(Me)})}return F},U.getOfflineSupport=function(){var g;return g={getUrl:function(){return y},createPayload:G},g[Vu]=Ke,g.batch=Ae,g.shouldProcess=function(C){return!!he(C)},g},U._doTeardown=function(g,C){U.onunloadFlush(),ca(h,!1),_e()},U[Ps]=function(g,C,M){if(!ri(g))return ui(g,C,M)},U[py]=function(g,C){if(!ri(g))return ie(g,C)},U[am]=function(g,C){if(!ri(g))return $e(g,C)},U._xdrOnLoad=function(g,C){if(!ri(C))return ot(g,C)};function ot(g,C){var M=QT(g);if(g&&(M+""=="200"||M===""))r=0,U[am](C,0);else{var F=Ic(M);F&&F[hy]&&F[hy]>F[gy]&&!$?U[py](C,F):U[Ps](C,wc(g))}}function xe(){var g;try{var C={xdrOnComplete:function(F,z,Q){var fe=ne(Q);if(fe)return ot(F,fe)},fetchOnComplete:function(F,z,Q,fe){var Me=ne(fe);if(Me)return ht(F.status,Me,F.url,Me[Qe],F.statusText,Q||"")},xhrOnComplete:function(F,z,Q){var fe=ne(Q);if(fe)return wt(F,fe,fe[Qe])},beaconOnRetry:function(F,z,Q){return ti(F,z,Q)}},M=(g={},g[Kw]=T,g.isOneDs=!1,g.disableCredentials=!1,g[my]=x,g.disableBeacon=!P,g.disableBeaconSync=!R,g.senderOnCompleteCallBack=C,g);return M}catch{}return null}function wt(g,C,M){g.readyState===4&&ht(g.status,C,g.responseURL,M,ia(g),QT(g)||g.response)}function ui(g,C,M){ae(U[ei](),2,26,"Failed to send telemetry.",{message:C}),U._buffer&&U._buffer[il](g)}function ie(g,C){for(var M=[],F=[],z=C.errors.reverse(),Q=0,fe=z;Q<fe.length;Q++){var Me=fe[Q],nt=g.splice(Me.index,1)[0];oe(Me.statusCode)?F[Cn](nt):M[Cn](nt)}g[Qe]>0&&U[am](g,C[gy]),M[Qe]>0&&U[Ps](M,ia(null,["partial success",C[gy],"of",C.itemsReceived].join(" "))),F[Qe]>0&&(Tr(F),ae(U[ei](),2,40,"Partial success. Delivered: "+g[Qe]+", Failed: "+M[Qe]+". Will retry to send "+F[Qe]+" our of "+C[hy]+" items"))}function $e(g,C){U._buffer&&U._buffer[il](g)}function ne(g){try{if(g){var C=g,M=C[yy];return M&&M[Qe]?M:null}}catch{}return null}function he(g,C){if(W)return!1;if(!g)return C&&ae(C,1,7,"Cannot send empty telemetry"),!1;if(g.baseData&&!g[vy])return C&&ae(C,1,70,"Cannot send telemetry without baseData and baseType"),!1;if(g[vy]||(g[vy]="EventData"),!U[Ku])return C&&ae(C,1,28,"Sender was not initialized"),!1;if(se(g))g[Tu]=U._sample[Ju];else return C&&ae(C,2,33,"Telemetry item was sampled out and not sent",{SampleRate:U._sample[Ju]}),!1;return!0}function Ee(g,C){var M=g.iKey||K,F=e.constructEnvelope(g,M,C,H);if(!F){ae(C,1,47,"Unable to create an AppInsights envelope");return}var z=!1;if(g[_r]&&g[_r][Iu]&&(V(g[_r][Iu],function(Q){try{Q&&Q(F)===!1&&(z=!0,gi(C,"Telemetry processor check returns false"))}catch(fe){ae(C,1,64,"One of telemetry initializers failed, telemetry item will not be sent: "+Pt(fe),{exception:ve(fe)},!0)}}),delete g[_r][Iu]),!z)return F}function Ke(g){var C=qT,M=U[ei]();try{var F=he(g,M),z=null;F&&(z=Ee(g,M)),z&&(C=c[Vu](z))}catch{}return C}function Ae(g){var C=qT;return g&&g[Qe]&&(C="["+g.join(",")+"]"),C}function G(g){var C,M=ct();return C={urlString:y},C[Zr]=g,C.headers=M,C}function se(g){return U._sample.isSampledIn(g)}function De(g,C,M,F){C===200&&g?U._onSuccess(g,g[Qe]):F&&U[Ps](g,F)}function pe(g,C,M,F){F===void 0&&(F=!0);var z=function(Me,nt,Te){return De(C,Me,nt,Te)},Q=Re(C),fe=g&&g.sendPOST;return fe&&Q?(F&&U._buffer[Wu](C),fe(Q,z,!M)):null}function Re(g){var C;if(ye(g)&&g[Qe]>0){var M=U[Ra].batchPayloads(g),F=ct(),z=(C={},C[Zr]=M,C.urlString=y,C.headers=F,C.disableXhrSync=x,C.disableFetchKeepAlive=!B,C[yy]=g,C);return z}return null}function ct(){try{var g=u||{};return Xf(y)&&(g[Yc[6]]=Yc[7]),g}catch{}return null}function it(g){var C=g?g[Qe]:0;return U[Ra].size()+C>S?((!h||h.isOnline())&&U[$u](!0,null,10),!0):!1}function ht(g,C,M,F,z,Q){var fe=null;if(U._appId||(fe=Ic(Q),fe&&fe.appId&&(U._appId=fe.appId)),(g<200||g>=300)&&g!==0){if((g===301||g===307||g===308)&&!kt(M)){U[Ps](C,z);return}if(h&&!h.isOnline()){if(!$){var Me=10;Tr(C,Me),ae(U[ei](),2,40,". Offline - Response Code: ".concat(g,". Offline status: ").concat(!h.isOnline(),". Will retry to send ").concat(C.length," items."))}return}!$&&oe(g)?(Tr(C),ae(U[ei](),2,40,". Response code "+g+". Will retry to send "+C[Qe]+" items.")):U[Ps](C,z)}else kt(M),g===206?(fe||(fe=Ic(Q)),fe&&!$?U[py](C,fe):U[Ps](C,z)):(r=0,U[am](C,F))}function kt(g){return l>=10?!1:!Z(g)&&g!==""&&g!==y?(y=g,++l,!0):!1}function Vt(g,C){if(m)m(g,!1);else{var M=Ce&&Ce[om]([3],!0);return pe(M,g,C)}}function ti(g,C,M){var F=g,z=F&&F[yy];if(ee)ue&&ue(z,!0),ae(U[ei](),2,40,". Failed to send telemetry with Beacon API, retried with normal sender.");else{for(var Q=[],fe=0;fe<z[Qe];fe++){var Me=z[fe],nt=[Me],Te=Re(nt);M(Te,C)?U._onSuccess(nt,nt[Qe]):Q[Cn](Me)}Q[Qe]>0&&(ue&&ue(Q,!0),ae(U[ei](),2,40,". Failed to send telemetry with Beacon API, retried with normal sender."))}}function ri(g){try{if(g&&g[Qe])return We(g[0])}catch{}return null}function on(g,C){var M=null;if(ye(g)){for(var F=g[Qe],z=0;z<g[Qe];z++)F+=g[z].item[Qe];var Q=Ce.getSyncFetchPayload();Q+F<=GF?M=2:Hi()?M=3:(M=1,ae(U[ei](),2,40,". Failed to send telemetry with Beacon API, retried with xhrSender."));var fe=Ce&&Ce[om]([M],!0);return pe(fe,g,C)}return null}function Tr(g,C){if(C===void 0&&(C=1),!(!g||g[Qe]===0)){var M=U[Ra];M[il](g),r++;for(var F=0,z=g;F<z.length;F++){var Q=z[F];Q.cnt=Q.cnt||0,Q.cnt++,M[wa](Q)}Bo(C),O()}}function Bo(g){var C=10,M;if(r<=1)M=C;else{var F=(Math.pow(2,r)-1)/2,z=Math.floor(Math.random()*F*C)+1;z=g*z,M=Math.max(Math.min(z,3600),C)}var Q=jt()+M*1e3;n=Q}function O(){if(!s&&!a){var g=n?Math.max(0,n-jt()):0,C=Math.max(Y,g);s=ji(function(){s=null,U[$u](!0,null,1)},C)}}function q(){s&&s.cancel(),s=null,n=null}function oe(g){return Z(ce)?g===401||g===408||g===429||g===500||g===502||g===503||g===504:ce[Qe]&&ce.indexOf(g)>-1}function ge(){var g="getNotifyMgr";return U.core[g]?U.core[g]():U.core._notificationManager}function Ne(g,C){var M=ge();if(M&&M[Jw])try{M[Jw](g,C)}catch(F){ae(U[ei](),1,74,"send request notification failed: "+Pt(F),{exception:ve(F)})}}function Xe(g,C){var M=C.disableInstrumentationKeyValidation,F=Z(M)?!1:M;if(F)return!0;var z="^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",Q=new RegExp(z);return Q.test(g)}function _e(){U[Ku]=null,U[Ra]=null,U._appId=null,U._sample=null,u={},h=null,r=0,n=null,o=null,a=!1,s=null,c=null,l=0,f=0,m=null,p=null,y=null,v=null,S=0,E=!1,L=null,W=!1,K=null,H=Mo,$=!1,I=null,le=Mo,x=!1,B=!1,ee=!1,k=null,ue=null,Ce=null,ft(U,"_senderConfig",{g:function(){return fh({},XT)}})}}),t}return e.constructEnvelope=function(t,r,n,o){var a;r!==t.iKey&&!Z(r)?a=dn(dn({},t),{iKey:r}):a=t;var s=WF[a.baseType]||Qw;return s(n,a,o)},e})(fa)});var Zw=J(()=>{ZT()});var sl,cm,eE,cl,tE,qu,eI=J(()=>{sl="instrumentationKey",cm="connectionString",eE="instrumentationkey",cl="endpointUrl",tE="ingestionendpoint",qu="userOverrideEndpointUrl"});var tI={};dl(tI,{AppInsightsCore:()=>ma,ApplicationInsights:()=>KF,Sender:()=>sm,SeverityLevel:()=>ry,arrForEach:()=>V,isNullOrUndefined:()=>Z,proxyFunctions:()=>Zi,throwError:()=>Zt});function $F(i){return i&&i>0}var Qu,rE,YF,KF,rI=J(()=>{Lr();Zw();ba();yt();vc();Fe();eI();yt();ba();Zw();rE=void 0,YF=(Qu={diagnosticLogInterval:su($F,1e4)},Qu[cm]=rE,Qu[cl]=rE,Qu[sl]=rE,Qu.extensionConfig={},Qu);KF=(function(){function i(e){var t=new ma,r;(Z(e)||Z(e[sl])&&Z(e[cm]))&&Zt("Invalid input configuration"),rt(i,this,function(o){ft(o,"config",{g:function(){return r}}),a(),o.initialize=a,o.track=n,Zi(o,t,["flush","pollInternalLogs","stopPollingInternalLogs","unload","getPlugin","addPlugin","evtNamespace","addUnloadCb","onCfgChange","getTraceCtx","updateCfg","addTelemetryInitializer"]);function a(){var s=Ft(e||{},YF);r=s.cfg,t.addUnloadHook(gr(s,function(){var c=r[cm];if(pi(c)){var l=Vd(function(h,p){qi(c,function(y){var v=y.value,S=r[sl];if(!y.rejected&&v){r[cm]=v;var E=Zc(v);S=E[eE]||S}h(S)})}),u=Vd(function(h,p){qi(c,function(y){var v=y.value,S=r[cl];if(!y.rejected&&v){var E=Zc(v),R=E[tE];S=R?R+Kn:S}h(S)})});r[sl]=l,r[cl]=r[qu]||u}if(We(c)){var f=Zc(c),m=f[tE];r[cl]=r[qu]?r[qu]:m+Kn,r[sl]=f[eE]||r[sl]}r[cl]=r[qu]?r[qu]:r[cl]})),t.initialize(r,[new sm])}});function n(o){o&&(o.baseData=o.baseData||{},o.baseType=o.baseType||"EventData"),t.track(o)}}return i.__ieDyn=1,i})()});var iI=Tt(Lo=>{"use strict";var jF=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]})),zF=Lo&&Lo.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),VF=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)&&jF(e,i,t);return zF(e,i),e};Object.defineProperty(Lo,"__esModule",{value:!0});Lo.appInsightsClientFactory=void 0;var JF=(ba(),fl(TT)),qF=Gw(),QF=async(i,e,t,r,n)=>{let o;try{let s=await Promise.resolve().then(()=>VF((rI(),fl(tI)))),c={};if(r){let f={alwaysUseXhrOverride:!0,httpXHROverride:r};c[JF.BreezeChannelIdentifier]=f}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&&qF.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)})}};Lo.appInsightsClientFactory=QF});var nI=Tt(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});Cy.BaseTelemetryReporter=void 0;var iE=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()))}};Cy.BaseTelemetryReporter=iE});var oI=Tt(wy=>{"use strict";Object.defineProperty(wy,"__esModule",{value:!0});wy.BaseTelemetrySender=void 0;var xa;(function(i){i[i.NOT_INSTANTIATED=0]="NOT_INSTANTIATED",i[i.INSTANTIATING=1]="INSTANTIATING",i[i.INSTANTIATED=2]="INSTANTIATED"})(xa||(xa={}));var nE=class{constructor(e,t){this._instantiationStatus=xa.NOT_INSTANTIATED,this._eventQueue=[],this._exceptionQueue=[],this._clientFactory=t,this._key=e}sendEventData(e,t){if(!this._telemetryClient){this._instantiationStatus!==xa.INSTANTIATED&&this._eventQueue.push({eventName:e,data:t});return}this._telemetryClient.logEvent(e,t)}sendErrorData(e,t){if(!this._telemetryClient){this._instantiationStatus!==xa.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===xa.NOT_INSTANTIATED&&(this._instantiationStatus=xa.INSTANTIATING,this._clientFactory(this._key).then(e=>{this._telemetryClient=e,this._instantiationStatus=xa.INSTANTIATED,this._flushQueues()}).catch(e=>{console.error(e),this._instantiationStatus=xa.INSTANTIATED}))}};wy.BaseTelemetrySender=nE});var cI=Tt(Pa=>{"use strict";var XF=Pa&&Pa.__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]})),ZF=Pa&&Pa.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),sE=Pa&&Pa.__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)&&XF(e,i,t);return ZF(e,i),e};Object.defineProperty(Pa,"__esModule",{value:!0});var eB=sE(require("https")),oE=sE(require("os")),Ey=sE(require("vscode")),tB=S0(),rB=iI(),iB=nI(),nB=oI(),aI=Gw();function sI(){return{sendPOST:(e,t)=>{let r={method:"POST",headers:{...e.headers,"Content-Type":"application/json","Content-Length":Buffer.byteLength(e.data)}};try{let n=eB.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 aE=class extends iB.BaseTelemetryReporter{constructor(e,t){let r=a=>(0,rB.appInsightsClientFactory)(a,Ey.env.machineId,Ey.env.sessionId,sI(),t);aI.TelemetryUtil.shouldUseOneDataSystemSDK(e)&&(r=a=>(0,tB.oneDataSystemClientFactory)(a,Ey,sI()));let n={release:oE.release(),platform:oE.platform(),architecture:oE.arch()},o=new nB.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,Ey,{additionalCommonProperties:aI.TelemetryUtil.getAdditionalCommonProperties(n)})}};Pa.default=aE});var SI=Tt((m5,pB)=>{pB.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","agentsWindowConfiguration","canonicalUriProvider","contribEditSessions","contribEditorContentMenu","contribMergeEditorMenus","contribMultiDiffEditorMenus","contribDiffEditorGutterToolBarMenus","contribSourceControlArtifactGroupMenu","contribSourceControlArtifactMenu","contribSourceControlHistoryItemMenu","contribSourceControlHistoryTitleMenu","contribSourceControlInputBoxMenu","contribSourceControlTitleMenu","contribViewsWelcome","editSessionIdentityProvider","envIsConnectionMetered","quickDiffProvider","quickPickSortByLabel","scmActionButton","scmArtifactProvider","scmHistoryProvider","scmMultiDiffEditor","scmProviderOptions","scmSelectedProvider","scmTextDocument","scmValidation","statusBarItemTooltip","taskRunOptions","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 && !isSessionsWindow"},{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 && !isSessionsWindow"},{command:"git.unstage",group:"2_git@2",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasStagedChanges && !isSessionsWindow"},{command:"git.stage",group:"2_git@1",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file && !isSessionsWindow"},{command:"git.stageSelectedRanges",group:"2_git@2",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file && !isSessionsWindow"},{command:"git.unstage",group:"2_git@3",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git && !isSessionsWindow"},{command:"git.unstageSelectedRanges",group:"2_git@4",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git && !isSessionsWindow"},{command:"git.revertSelectedRanges",group:"2_git@5",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file && !isSessionsWindow"}],"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,agentsWindow:{default:!0,readOnly:!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,agentsWindow:{default:!0}},"git.autofetch":{type:["boolean","string"],enum:[!0,!1,"all"],scope:"resource",markdownDescription:"%config.autofetch%",default:!1,tags:["usesOnlineServices"],agentsWindow:{default:!0}},"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",agentsWindow:{default:!0}},"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,agentsWindow:{default:!1,readOnly:!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",agentsWindow:{default:"none",readOnly:!0}},"git.rememberPostCommitCommand":{type:"boolean",description:"%config.rememberPostCommitCommand%",scope:"resource",default:!1,agentsWindow:{default:!1,readOnly:!0}},"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:!1,description:"%config.detectWorktrees%",agentsWindow:{default:!1}},"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.worktreeSymlinkFolders":{type:"array",items:{type:"string"},default:[],markdownDescription:"%config.worktreeSymlinkFolders%",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",agentsWindow:{default:!1,readOnly:!0}},"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","@vscode/fs-copyfile":"2.0.0",byline:"^5.0.0","file-type":"21.3.2",picomatch:"2.3.2","vscode-uri":"^2.0.0",which:"4.0.0"},devDependencies:{"@types/byline":"4.2.31","@types/mocha":"^10.0.10","@types/node":"24.x","@types/picomatch":"2.3.0","@types/which":"3.0.0"},repository:{type:"git",url:"https://github.com/microsoft/vscode.git"},allowScripts:{"@vscode/fs-copyfile@2.0.0":!0}}});var wB={};dl(wB,{_activate:()=>AI,activate:()=>vB,deactivate:()=>hB,getExtensionContext:()=>Lv});module.exports=fl(wB);var Oe=require("vscode");var Yr=require("fs"),Pe=ze(require("path")),Fm=ze(require("os")),Ks=ze(require("child_process")),KD=require("url"),jD=ze(HE()),zD=require("events");var nA="End-Of-Stream",lt=class extends Error{constructor(){super(nA),this.name="EndOfStreamError"}},Ns=class extends Error{constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var Os=class{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(e,t=!1){let r=await this.read(e,t);return this.peekQueue.push(e.subarray(0,r)),r}async read(e,t=!1){if(e.length===0)return 0;let r=this.readFromPeekBuffer(e);if(this.endOfStream||(r+=await this.readRemainderFromStream(e.subarray(r),t)),r===0&&!t)throw new lt;return r}readFromPeekBuffer(e){let t=e.length,r=0;for(;this.peekQueue.length>0&&t>0;){let n=this.peekQueue.pop();if(!n)throw new Error("peekData should be defined");let o=Math.min(n.length,t);e.set(n.subarray(0,o),r),r+=o,t-=o,o<n.length&&this.peekQueue.push(n.subarray(o))}return r}async readRemainderFromStream(e,t){let r=0;for(;r<e.length&&!this.endOfStream;){if(this.interrupted)throw new Ns;let n=await this.readFromStream(e.subarray(r),t);if(n===0)break;r+=n}if(!t&&r<e.length)throw new lt;return r}};var pm=class extends Os{constructor(e){super(),this.reader=e}async abort(){return this.close()}async close(){this.reader.releaseLock()}};var ed=class extends pm{async readFromStream(e,t){if(e.length===0)return 0;let r=await this.reader.read(new Uint8Array(e.length),{min:t?void 0:e.length});return r.done&&(this.endOfStream=r.done),r.value?(e.set(r.value),r.value.length):0}};var hl=class extends Os{constructor(e){super(),this.reader=e,this.buffer=null}writeChunk(e,t){let r=Math.min(t.length,e.length);return e.set(t.subarray(0,r)),r<t.length?this.buffer=t.subarray(r):this.buffer=null,r}async readFromStream(e,t){if(e.length===0)return 0;let r=0;for(this.buffer&&(r+=this.writeChunk(e,this.buffer));r<e.length&&!this.endOfStream;){let n=await this.reader.read();if(n.done){this.endOfStream=!0;break}n.value&&(r+=this.writeChunk(e.subarray(r),n.value))}if(!t&&r===0&&this.endOfStream)throw new lt;return r}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){await this.abort(),this.reader.releaseLock()}};function Gy(i){try{let e=i.getReader({mode:"byob"});return e instanceof ReadableStreamDefaultReader?new hl(e):new ed(e)}catch(e){if(e instanceof TypeError)return new hl(i.getReader());throw e}}var wn=class{constructor(e){this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=e?.onClose,e?.abortSignal&&e.abortSignal.addEventListener("abort",()=>{this.abort()})}async readToken(e,t=this.position){let r=new Uint8Array(e.len);if(await this.readBuffer(r,{position:t})<e.len)throw new lt;return e.get(r,0)}async peekToken(e,t=this.position){let r=new Uint8Array(e.len);if(await this.peekBuffer(r,{position:t})<e.len)throw new lt;return e.get(r,0)}async readNumber(e){if(await this.readBuffer(this.numBuffer,{length:e.len})<e.len)throw new lt;return e.get(this.numBuffer,0)}async peekNumber(e){if(await this.peekBuffer(this.numBuffer,{length:e.len})<e.len)throw new lt;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(){await this.abort(),await this.onClose?.()}normalizeOptions(e,t){if(!this.supportsRandomAccess()&&t&&t.position!==void 0&&t.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return{mayBeLess:!1,offset:0,length:e.length,position:this.position,...t}}abort(){return Promise.resolve()}};var aA=256e3,hm=class extends wn{constructor(e,t){super(t),this.streamReader=e,this.fileInfo=t?.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.subarray(0,r.length),r.mayBeLess);if(this.position+=o,(!t||!t.mayBeLess)&&o<r.length)throw new lt;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)),n-o}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.subarray(0,r.length),r.mayBeLess)}catch(o){if(t?.mayBeLess&&o instanceof lt)return 0;throw o}if(!r.mayBeLess&&n<r.length)throw new lt}return n}async ignore(e){let t=Math.min(aA,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}abort(){return this.streamReader.abort()}async close(){return this.streamReader.close()}supportsRandomAccess(){return!1}};var gm=class extends wn{constructor(e,t){super(t),this.uint8Array=e,this.fileInfo={...t?.fileInfo??{},size:e.length}}async readBuffer(e,t){t?.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 lt;return e.set(this.uint8Array.subarray(r.position,r.position+n)),n}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}};var ym=class extends wn{constructor(e,t){super(t),this.blob=e,this.fileInfo={...t?.fileInfo??{},size:e.size,mimeType:e.type}}async readBuffer(e,t){t?.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.blob.size-r.position,r.length);if(!r.mayBeLess&&n<r.length)throw new lt;let o=await this.blob.slice(r.position,r.position+n).arrayBuffer();return e.set(new Uint8Array(o)),n}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}};function Hy(i,e){let t=Gy(i),r=e??{},n=r.onClose;return r.onClose=async()=>{if(await t.close(),n)return n()},new hm(t,r)}function UE(i,e){return new gm(i,e)}function WE(i,e){return new ym(i,e)}var YE=require("node:fs/promises"),td=class i extends wn{static async fromFile(e){let t=await(0,YE.open)(e,"r"),r=await t.stat();return new i(t,{fileInfo:{path:e,size:r.size}})}constructor(e,t){super(t),this.fileHandle=e,this.fileInfo=t.fileInfo}async readBuffer(e,t){let r=this.normalizeOptions(e,t);if(this.position=r.position,r.length===0)return 0;let n=await this.fileHandle.read(e,0,r.length,r.position);if(this.position+=n.bytesRead,n.bytesRead<r.length&&(!t||!t.mayBeLess))throw new lt;return n.bytesRead}async peekBuffer(e,t){let r=this.normalizeOptions(e,t),n=await this.fileHandle.read(e,0,r.length,r.position);if(!r.mayBeLess&&n.bytesRead<r.length)throw new lt;return n.bytesRead}async close(){return await this.fileHandle.close(),super.close()}setPosition(e){this.position=e}supportsRandomAccess(){return!0}};var cA=td.fromFile;var zE=ze($E(),1);var KE={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"},uA={};for(let[i,e]of Object.entries(KE))uA[e]=Number.parseInt(i,10);var vm;function dA(){if(!(typeof globalThis.TextDecoder>"u"))return vm??(vm=new globalThis.TextDecoder("utf-8"))}var Ms=32*1024;function jE(i,e="utf-8"){switch(e.toLowerCase()){case"utf-8":case"utf8":{let t=dA();return t?t.decode(i):fA(i)}case"utf-16le":return mA(i);case"us-ascii":case"ascii":return pA(i);case"latin1":case"iso-8859-1":return hA(i);case"windows-1252":return gA(i);default:throw new RangeError(`Encoding '${e}' not supported`)}}function fA(i){let e=[],t="",r=0;for(;r<i.length;){let n=i[r++];if(n<128)t+=String.fromCharCode(n);else if(n<224){let o=i[r++]&63;t+=String.fromCharCode((n&31)<<6|o)}else if(n<240){let o=i[r++]&63,a=i[r++]&63;t+=String.fromCharCode((n&15)<<12|o<<6|a)}else{let o=i[r++]&63,a=i[r++]&63,s=i[r++]&63,c=(n&7)<<18|o<<12|a<<6|s;c-=65536,t+=String.fromCharCode(55296+(c>>10&1023),56320+(c&1023))}t.length>=Ms&&(e.push(t),t="")}return t&&e.push(t),e.join("")}function mA(i){let e=i.length&-2;if(e===0)return"";let t=[],r=Ms;for(let n=0;n<e;){let o=Math.min(r,e-n>>1),a=new Array(o);for(let s=0;s<o;s++,n+=2)a[s]=i[n]|i[n+1]<<8;t.push(String.fromCharCode.apply(null,a))}return t.join("")}function pA(i){let e=[];for(let t=0;t<i.length;t+=Ms){let r=Math.min(i.length,t+Ms),n=new Array(r-t);for(let o=t,a=0;o<r;o++,a++)n[a]=i[o]&127;e.push(String.fromCharCode.apply(null,n))}return e.join("")}function hA(i){let e=[];for(let t=0;t<i.length;t+=Ms){let r=Math.min(i.length,t+Ms),n=new Array(r-t);for(let o=t,a=0;o<r;o++,a++)n[a]=i[o];e.push(String.fromCharCode.apply(null,n))}return e.join("")}function gA(i){let e=[],t="";for(let r=0;r<i.length;r++){let n=i[r],o=n>=128&&n<=159?KE[n]:void 0;t+=o??String.fromCharCode(n),t.length>=Ms&&(e.push(t),t="")}return t&&e.push(t),e.join("")}function bi(i){return new DataView(i.buffer,i.byteOffset)}var VE={len:1,get(i,e){return bi(i).getUint8(e)},put(i,e,t){return bi(i).setUint8(e,t),e+1}},Ht={len:2,get(i,e){return bi(i).getUint16(e,!0)},put(i,e,t){return bi(i).setUint16(e,t,!0),e+2}},Ls={len:2,get(i,e){return bi(i).getUint16(e)},put(i,e,t){return bi(i).setUint16(e,t),e+2}};var Nt={len:4,get(i,e){return bi(i).getUint32(e,!0)},put(i,e,t){return bi(i).setUint32(e,t,!0),e+4}},Wy={len:4,get(i,e){return bi(i).getUint32(e)},put(i,e,t){return bi(i).setUint32(e,t),e+4}};var JE={len:4,get(i,e){return bi(i).getInt32(e)},put(i,e,t){return bi(i).setInt32(e,t),e+4}};var qE={len:8,get(i,e){return bi(i).getBigUint64(e,!0)},put(i,e,t){return bi(i).setBigUint64(e,t,!0),e+8}};var Ci=class{constructor(e,t){this.len=e,this.encoding=t}get(e,t=0){let r=e.subarray(t,t+this.len);return jE(r,this.encoding)}};var uD=ze(aD(),1);var Bs={LocalFileHeader:67324752,DataDescriptor:134695760,CentralFileHeader:33639248,EndOfCentralDirectory:101010256},zy={get(i){return{signature:Nt.get(i,0),compressedSize:Nt.get(i,8),uncompressedSize:Nt.get(i,12)}},len:16},sD={get(i){let e=Ht.get(i,6);return{signature:Nt.get(i,0),minVersion:Ht.get(i,4),dataDescriptor:!!(e&8),compressedMethod:Ht.get(i,8),compressedSize:Nt.get(i,18),uncompressedSize:Nt.get(i,22),filenameLength:Ht.get(i,26),extraFieldLength:Ht.get(i,28),filename:null}},len:30},cD={get(i){return{signature:Nt.get(i,0),nrOfThisDisk:Ht.get(i,4),nrOfThisDiskWithTheStart:Ht.get(i,6),nrOfEntriesOnThisDisk:Ht.get(i,8),nrOfEntriesOfSize:Ht.get(i,10),sizeOfCd:Nt.get(i,12),offsetOfStartOfCd:Nt.get(i,16),zipFileCommentLength:Ht.get(i,20)}},len:22},lD={get(i){let e=Ht.get(i,8);return{signature:Nt.get(i,0),minVersion:Ht.get(i,6),dataDescriptor:!!(e&8),compressedMethod:Ht.get(i,10),compressedSize:Nt.get(i,20),uncompressedSize:Nt.get(i,24),filenameLength:Ht.get(i,28),extraFieldLength:Ht.get(i,30),fileCommentLength:Ht.get(i,32),relativeOffsetOfLocalHeader:Nt.get(i,42),filename:null}},len:46};function dD(i){let e=new Uint8Array(Nt.len);return Nt.put(e,0,i),e}var Vn=(0,uD.default)("tokenizer:inflate"),Vy=256*1024,YA=dD(Bs.DataDescriptor),Rm=dD(Bs.EndOfCentralDirectory),Gs=class i{constructor(e){this.tokenizer=e,this.syncBuffer=new Uint8Array(Vy)}async isZip(){return await this.peekSignature()===Bs.LocalFileHeader}peekSignature(){return this.tokenizer.peekToken(Nt)}async findEndOfCentralDirectoryLocator(){let e=this.tokenizer,t=Math.min(16*1024,e.fileInfo.size),r=this.syncBuffer.subarray(0,t);await this.tokenizer.readBuffer(r,{position:e.fileInfo.size-t});for(let n=r.length-4;n>=0;n--)if(r[n]===Rm[0]&&r[n+1]===Rm[1]&&r[n+2]===Rm[2]&&r[n+3]===Rm[3])return e.fileInfo.size-t+n;return-1}async readCentralDirectory(){if(!this.tokenizer.supportsRandomAccess()){Vn("Cannot reading central-directory without random-read support");return}Vn("Reading central-directory...");let e=this.tokenizer.position,t=await this.findEndOfCentralDirectoryLocator();if(t>0){Vn("Central-directory 32-bit signature found");let r=await this.tokenizer.readToken(cD,t),n=[];this.tokenizer.setPosition(r.offsetOfStartOfCd);for(let o=0;o<r.nrOfEntriesOfSize;++o){let a=await this.tokenizer.readToken(lD);if(a.signature!==Bs.CentralFileHeader)throw new Error("Expected Central-File-Header signature");a.filename=await this.tokenizer.readToken(new Ci(a.filenameLength,"utf-8")),await this.tokenizer.ignore(a.extraFieldLength),await this.tokenizer.ignore(a.fileCommentLength),n.push(a),Vn(`Add central-directory file-entry: n=${o+1}/${n.length}: filename=${n[o].filename}`)}return this.tokenizer.setPosition(e),n}this.tokenizer.setPosition(e)}async unzip(e){let t=await this.readCentralDirectory();if(t)return this.iterateOverCentralDirectory(t,e);let r=!1;do{let n=await this.readLocalFileHeader();if(!n)break;let o=e(n);r=!!o.stop;let a;if(await this.tokenizer.ignore(n.extraFieldLength),n.dataDescriptor&&n.compressedSize===0){let s=[],c=Vy;Vn("Compressed-file-size unknown, scanning for next data-descriptor-signature....");let l=-1;for(;l<0&&c===Vy;){c=await this.tokenizer.peekBuffer(this.syncBuffer,{mayBeLess:!0}),l=$A(this.syncBuffer.subarray(0,c),YA);let u=l>=0?l:c;if(o.handler){let f=new Uint8Array(u);await this.tokenizer.readBuffer(f),s.push(f)}else await this.tokenizer.ignore(u)}Vn(`Found data-descriptor-signature at pos=${this.tokenizer.position}`),o.handler&&await this.inflate(n,KA(s),o.handler)}else o.handler?(Vn(`Reading compressed-file-data: ${n.compressedSize} bytes`),a=new Uint8Array(n.compressedSize),await this.tokenizer.readBuffer(a),await this.inflate(n,a,o.handler)):(Vn(`Ignoring compressed-file-data: ${n.compressedSize} bytes`),await this.tokenizer.ignore(n.compressedSize));if(Vn(`Reading data-descriptor at pos=${this.tokenizer.position}`),n.dataDescriptor&&(await this.tokenizer.readToken(zy)).signature!==134695760)throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-zy.len}`)}while(!r)}async iterateOverCentralDirectory(e,t){for(let r of e){let n=t(r);if(n.handler){this.tokenizer.setPosition(r.relativeOffsetOfLocalHeader);let o=await this.readLocalFileHeader();if(o){await this.tokenizer.ignore(o.extraFieldLength);let a=new Uint8Array(r.compressedSize);await this.tokenizer.readBuffer(a),await this.inflate(o,a,n.handler)}}if(n.stop)break}}async inflate(e,t,r){if(e.compressedMethod===0)return r(t);if(e.compressedMethod!==8)throw new Error(`Unsupported ZIP compression method: ${e.compressedMethod}`);Vn(`Decompress filename=${e.filename}, compressed-size=${t.length}`);let n=await i.decompressDeflateRaw(t);return r(n)}static async decompressDeflateRaw(e){let t=new ReadableStream({start(o){o.enqueue(e),o.close()}}),r=new DecompressionStream("deflate-raw"),n=t.pipeThrough(r);try{let a=await new Response(n).arrayBuffer();return new Uint8Array(a)}catch(o){let a=o instanceof Error?`Failed to deflate ZIP entry: ${o.message}`:"Unknown decompression error in ZIP entry";throw new TypeError(a)}}async readLocalFileHeader(){let e=await this.tokenizer.peekToken(Nt);if(e===Bs.LocalFileHeader){let t=await this.tokenizer.readToken(sD);return t.filename=await this.tokenizer.readToken(new Ci(t.filenameLength,"utf-8")),t}if(e===Bs.CentralFileHeader)return!1;throw e===3759263696?new Error("Encrypted ZIP"):new Error("Unexpected signature")}};function $A(i,e){let t=i.length,r=e.length;if(r>t)return-1;for(let n=0;n<=t-r;n++){let o=!0;for(let a=0;a<r;a++)if(i[n+a]!==e[a]){o=!1;break}if(o)return n}return-1}function KA(i){let e=i.reduce((n,o)=>n+o.length,0),t=new Uint8Array(e),r=0;for(let n of i)t.set(n,r),r+=n.length;return t}var rd=class{constructor(e){this.tokenizer=e}inflate(){let e=this.tokenizer;return new ReadableStream({async pull(t){let r=new Uint8Array(1024),n=await e.readBuffer(r,{mayBeLess:!0});if(n===0){t.close();return}t.enqueue(r.subarray(0,n))}}).pipeThrough(new DecompressionStream("gzip"))}};var HG={utf8:new globalThis.TextDecoder("utf8")};var UG=new globalThis.TextEncoder;var WG=Array.from({length:256},(i,e)=>e.toString(16).padStart(2,"0"));function Jy(i){let{byteLength:e}=i;if(e===6)return i.getUint16(0)*2**32+i.getUint32(2);if(e===5)return i.getUint8(0)*2**32+i.getUint32(1);if(e===4)return i.getUint32(0);if(e===3)return i.getUint8(0)*2**16+i.getUint16(1);if(e===2)return i.getUint16(0);if(e===1)return i.getUint8(0)}function fD(i,e){if(e==="utf-16le"){let t=[];for(let r=0;r<i.length;r++){let n=i.charCodeAt(r);t.push(n&255,n>>8&255)}return t}if(e==="utf-16be"){let t=[];for(let r=0;r<i.length;r++){let n=i.charCodeAt(r);t.push(n>>8&255,n&255)}return t}return[...i].map(t=>t.charCodeAt(0))}function mD(i,e=0){let t=Number.parseInt(new Ci(6).get(i,148).replace(/\0.*$/,"").trim(),8);if(Number.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}var pD={get:(i,e)=>i[e+3]&127|i[e+2]<<7|i[e+1]<<14|i[e]<<21,len:4};var hD=["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","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ttc","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","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","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx","vsdx","vtt","apk","drc","lz4","potx","xltx","dotx","xltm","ott","ots","otp","odg","otg","xlsm","docm","dotm","potm","pptm","jar","jmp","rm","sav","ppsm","ppsx","tar.gz","reg","dat"],gD=["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.ms-powerpoint.slideshow.macroenabled.12","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/vnd.openxmlformats-officedocument.presentationml.slideshow","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/vnd.apache.arrow.file","video/mp4","audio/midi","video/matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","video/ogg","audio/ogg","audio/ogg; codecs=opus","application/ogg","audio/flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","font/collection","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/j2c","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","text/vtt","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","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/vnd.apache.parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx","application/vnd.visio","application/vnd.android.package-archive","application/vnd.google.draco","application/x-lz4","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-excel.template.macroenabled.12","application/vnd.oasis.opendocument.text-template","application/vnd.oasis.opendocument.spreadsheet-template","application/vnd.oasis.opendocument.presentation-template","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.graphics-template","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-word.document.macroenabled.12","application/vnd.ms-word.template.macroenabled.12","application/vnd.ms-powerpoint.template.macroenabled.12","application/vnd.ms-powerpoint.presentation.macroenabled.12","application/java-archive","application/vnd.rn-realmedia","application/x-spss-sav","application/x-ms-regedit","application/x-ft-windows-registry-hive","application/x-jmp-data"];var id=4100,jA=id-2,nd=1024*1024,yD=1024,zA=2**31-1,Ta=16*1024*1024,vD=nd,VA=Ta,JA=1,_D=Ta,bD=64,CD=Ta,qA=256,QA=512,XA=512,ZA=512,wD=256,qy=Ta,ED=Ta,ek=new Set(["Unexpected signature","Encrypted ZIP","Expected Central-File-Header signature"]),tk=["ZIP entry count exceeds ","Unsupported ZIP compression method:","ZIP entry compressed data exceeds ","ZIP entry decompressed data exceeds "],rk=new Set(["Z_BUF_ERROR","Z_DATA_ERROR","ERR_INVALID_STATE"]),Us=class extends Error{};function Zy(i,e,t){if(!Number.isFinite(i)||i<0||i>e)throw new Us(`${t} has invalid size ${i} (maximum ${e} bytes)`);return i}async function Hs(i,e,{maximumLength:t=Ta,reason:r="skip"}={}){let n=Zy(e,t,r);await i.ignore(n)}async function Qy(i,e,t,{maximumLength:r=e.length,reason:n="read"}={}){let o=t?.length??e.length,a=Zy(o,r,n);return i.readBuffer(e,{...t,length:a})}async function ik(i,{maximumLength:e=nd}={}){let n=new ReadableStream({start(l){l.enqueue(i),l.close()}}).pipeThrough(new DecompressionStream("deflate-raw")).getReader(),o=[],a=0;try{for(;;){let{done:l,value:u}=await n.read();if(l)break;if(a+=u.length,a>e)throw await n.cancel(),new Error(`ZIP entry decompressed data exceeds ${e} bytes`);o.push(u)}}finally{n.releaseLock()}let s=new Uint8Array(a),c=0;for(let l of o)s.set(l,c),c+=l.length;return s}var PD=134695760,Sm=16,nk=Sm-1;function ok(i,e){if(i.length<Sm)return-1;let t=i.length-Sm;for(let r=0;r<=t;r++)if(Nt.get(i,r)===PD&&Nt.get(i,r+8)===e+r)return r;return-1}function ak(i,e){let t=new Uint8Array(e),r=0;for(let n of i)t.set(n,r),r+=n.length;return t}async function sk(i,{shouldBuffer:e,maximumLength:t=nd}={}){let{syncBuffer:r}=i,{length:n}=r,o=[],a=0;for(;;){let s=await i.tokenizer.peekBuffer(r,{mayBeLess:!0}),c=ok(r.subarray(0,s),a),l=c>=0?0:s===n?Math.min(nk,s-1):0,u=c>=0?c:s-l;if(u===0)break;if(a+=u,a>t)throw new Error(`ZIP entry compressed data exceeds ${t} bytes`);if(e){let f=new Uint8Array(u);await i.tokenizer.readBuffer(f),o.push(f)}else await i.tokenizer.ignore(u);if(c>=0)break}if(e)return ak(o,a)}async function ck(i,e,{shouldBuffer:t}={}){if(e.dataDescriptor&&e.compressedSize===0)return sk(i,{shouldBuffer:t});if(!t){await i.tokenizer.ignore(e.compressedSize);return}let r=mk(i.tokenizer);if(!Number.isFinite(e.compressedSize)||e.compressedSize<0||e.compressedSize>r)throw new Error(`ZIP entry compressed data exceeds ${r} bytes`);let n=new Uint8Array(e.compressedSize);return await i.tokenizer.readBuffer(n),n}Gs.prototype.inflate=async function(i,e,t){if(i.compressedMethod===0)return t(e);if(i.compressedMethod!==8)throw new Error(`Unsupported ZIP compression method: ${i.compressedMethod}`);let r=await ik(e,{maximumLength:nd});return t(r)};Gs.prototype.unzip=async function(i){let e=!1,t=0;do{let r=await this.readLocalFileHeader();if(!r)break;if(t++,t>yD)throw new Error(`ZIP entry count exceeds ${yD}`);let n=i(r);e=!!n.stop,await this.tokenizer.ignore(r.extraFieldLength);let o=await ck(this,r,{shouldBuffer:!!n.handler});if(n.handler&&await this.inflate(r,o,n.handler),r.dataDescriptor){let a=new Uint8Array(Sm);if(await this.tokenizer.readBuffer(a),Nt.get(a,0)!==PD)throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-a.length}`)}}while(!e)};function lk(i,e){let t=i.getReader(),r=0,n=!1,o=!1,a=async s=>{n||o||(o=!0,await t.cancel(s))};return new ReadableStream({async pull(s){if(r>=e){s.close(),await a();return}let{done:c,value:l}=await t.read();if(c||!l){n=!0,s.close();return}let u=e-r;if(l.length>u){s.enqueue(l.subarray(0,u)),r+=u,s.close(),await a();return}s.enqueue(l),r+=l.length},async cancel(s){await a(s)}})}async function ev(i,e){return new Xy(e).fromBuffer(i)}function DD(i){switch(i=i.toLowerCase(),i){case"application/epub+zip":return{ext:"epub",mime:i};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:i};case"application/vnd.oasis.opendocument.text-template":return{ext:"ott",mime:i};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:i};case"application/vnd.oasis.opendocument.spreadsheet-template":return{ext:"ots",mime:i};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:i};case"application/vnd.oasis.opendocument.presentation-template":return{ext:"otp",mime:i};case"application/vnd.oasis.opendocument.graphics":return{ext:"odg",mime:i};case"application/vnd.oasis.opendocument.graphics-template":return{ext:"otg",mime:i};case"application/vnd.openxmlformats-officedocument.presentationml.slideshow":return{ext:"ppsx",mime:i};case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return{ext:"xlsx",mime:i};case"application/vnd.ms-excel.sheet.macroenabled":return{ext:"xlsm",mime:"application/vnd.ms-excel.sheet.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.spreadsheetml.template":return{ext:"xltx",mime:i};case"application/vnd.ms-excel.template.macroenabled":return{ext:"xltm",mime:"application/vnd.ms-excel.template.macroenabled.12"};case"application/vnd.ms-powerpoint.slideshow.macroenabled":return{ext:"ppsm",mime:"application/vnd.ms-powerpoint.slideshow.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return{ext:"docx",mime:i};case"application/vnd.ms-word.document.macroenabled":return{ext:"docm",mime:"application/vnd.ms-word.document.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.template":return{ext:"dotx",mime:i};case"application/vnd.ms-word.template.macroenabledtemplate":return{ext:"dotm",mime:"application/vnd.ms-word.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.template":return{ext:"potx",mime:i};case"application/vnd.ms-powerpoint.template.macroenabled":return{ext:"potm",mime:"application/vnd.ms-powerpoint.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return{ext:"pptx",mime:i};case"application/vnd.ms-powerpoint.presentation.macroenabled":return{ext:"pptm",mime:"application/vnd.ms-powerpoint.presentation.macroenabled.12"};case"application/vnd.ms-visio.drawing":return{ext:"vsdx",mime:"application/vnd.visio"};case"application/vnd.ms-package.3dmanufacturing-3dmodel+xml":return{ext:"3mf",mime:"model/3mf"};default:}}function Jn(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}function uk(i){return Number.isFinite(i)?Math.max(1,Math.trunc(i)):id}function dk(i){return Number.isFinite(i)?Math.max(0,Math.min(jA,Math.trunc(i))):0}function fk(i){return Number.isFinite(i)?Math.max(0,i):Number.MAX_SAFE_INTEGER}function Ho(i){let e=i.fileInfo.size;return!Number.isFinite(e)||e===Number.MAX_SAFE_INTEGER}function RD(i,e,t){return Ho(i)&&i.position-e>t}function mk(i){let e=i.fileInfo.size,t=Number.isFinite(e)?Math.max(0,e-i.position):Number.MAX_SAFE_INTEGER;return Math.min(t,zA)}function pk(i){if(i instanceof lt||i instanceof Us)return!0;if(!(i instanceof Error))return!1;if(ek.has(i.message)||rk.has(i.code))return!0;for(let e of tk)if(i.message.startsWith(e))return!0;return!1}function SD(i,e=nd){let t=[i.compressedSize,i.uncompressedSize];for(let r of t)if(!Number.isFinite(r)||r<0||r>e)return!1;return!0}function hk(){return{hasContentTypesEntry:!1,hasParsedContentTypesEntry:!1,isParsingContentTypes:!1,hasUnparseableContentTypes:!1,hasWordDirectory:!1,hasPresentationDirectory:!1,hasSpreadsheetDirectory:!1,hasThreeDimensionalModelEntry:!1}}function gk(i,e){e.startsWith("word/")&&(i.hasWordDirectory=!0),e.startsWith("ppt/")&&(i.hasPresentationDirectory=!0),e.startsWith("xl/")&&(i.hasSpreadsheetDirectory=!0),e.startsWith("3D/")&&e.endsWith(".model")&&(i.hasThreeDimensionalModelEntry=!0)}function xD(i){if(!(!i.hasContentTypesEntry||i.hasUnparseableContentTypes||i.isParsingContentTypes||i.hasParsedContentTypesEntry)){if(i.hasWordDirectory)return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};if(i.hasPresentationDirectory)return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};if(i.hasSpreadsheetDirectory)return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(i.hasThreeDimensionalModelEntry)return{ext:"3mf",mime:"model/3mf"}}}function yk(i){let e=i.indexOf('.main+xml"');if(e===-1){let n="application/vnd.ms-package.3dmanufacturing-3dmodel+xml";return i.includes(`ContentType="${n}"`)?n:void 0}let t=i.slice(0,e),r=t.lastIndexOf('"');return t.slice(r+1)}var Xy=class{constructor(e){let t=dk(e?.mpegOffsetTolerance);this.options={...e,mpegOffsetTolerance:t},this.detectors=[...this.options.customDetectors??[],{id:"core",detect:this.detectConfident},{id:"core.imprecise",detect:this.detectImprecise}],this.tokenizerOptions={abortSignal:this.options.signal},this.gzipProbeDepth=0}getTokenizerOptions(){return{...this.tokenizerOptions}}async fromTokenizer(e,t=0){this.detectionReentryCount=t;let r=e.position;for(let n of this.detectors){let o;try{o=await n.detect(e)}catch(a){if(a instanceof lt||a instanceof Us)return;throw a}if(o)return o;if(r!==e.position)return}}async fromBuffer(e){if(!(e instanceof Uint8Array||e instanceof ArrayBuffer))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof e}\``);let t=e instanceof Uint8Array?e:new Uint8Array(e);if(t?.length>1)return this.fromTokenizer(UE(t,this.getTokenizerOptions()))}async fromBlob(e){let t=WE(e,this.getTokenizerOptions());try{return await this.fromTokenizer(t)}finally{await t.close()}}async fromStream(e){let t=Hy(e,this.getTokenizerOptions());try{return await this.fromTokenizer(t)}finally{await t.close()}}async toDetectionStream(e,t){let r=uk(t?.sampleSize??id),n,o,a=e.getReader({mode:"byob"});try{let{value:l,done:u}=await a.read(new Uint8Array(r));if(o=l,!u&&l)try{n=await this.fromBuffer(l.subarray(0,r))}catch(f){if(!(f instanceof lt))throw f;n=void 0}o=l}finally{a.releaseLock()}let s=new TransformStream({async start(l){l.enqueue(o)},transform(l,u){u.enqueue(l)}}),c=e.pipeThrough(s);return c.fileType=n,c}check(e,t){return Jn(this.buffer,e,t)}checkString(e,t){return this.check(fD(e,t?.encoding),t)}detectConfident=async e=>{if(this.buffer=new Uint8Array(id),e.fileInfo.size===void 0&&(e.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=e,await e.peekBuffer(this.buffer,{length:32,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33]))return await e.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191]))return this.detectionReentryCount>=wD?void 0:(this.detectionReentryCount++,await this.tokenizer.ignore(3),this.detectConfident(e));if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8])){if(this.gzipProbeDepth>=JA)return{ext:"gz",mime:"application/gzip"};let t=new rd(e),r=lk(t.inflate(),VA),n;try{this.gzipProbeDepth++,n=await this.fromStream(r)}catch(o){if(o?.name==="AbortError")throw o}finally{this.gzipProbeDepth--}return n?.ext==="tar"?{ext:"tar.gz",mime:"application/gzip"}:{ext:"gz",mime:"application/gzip"}}if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await Hs(e,6,{maximumLength:6,reason:"ID3 header prefix"});let t=await e.readToken(pD),r=Ho(e);if(!Number.isFinite(t)||t<0||r&&t>_D)return;if(e.position+t>e.fileInfo.size)return r?void 0:{ext:"mp3",mime:"audio/mpeg"};try{await Hs(e,t,{maximumLength:r?_D:e.fileInfo.size,reason:"ID3 payload"})}catch(n){if(n instanceof lt)return;throw n}return this.detectionReentryCount>=wD?void 0:(this.detectionReentryCount++,this.fromTokenizer(e,this.detectionReentryCount))}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((this.buffer[0]===67||this.buffer[0]===70)&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255]))return this.check([247],{offset:3})?{ext:"jls",mime:"image/jls"}:{ext:"jpg",mime:"image/jpeg"};if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){let t,r=hk();try{await new Gs(e).unzip(n=>{gk(r,n.filename);let o=n.filename==="[Content_Types].xml",a=xD(r);if(!o&&a)return t=a,{stop:!0};switch(n.filename){case"META-INF/mozilla.rsa":return t={ext:"xpi",mime:"application/x-xpinstall"},{stop:!0};case"META-INF/MANIFEST.MF":return t={ext:"jar",mime:"application/java-archive"},{stop:!0};case"mimetype":return SD(n,vD)?{async handler(s){let c=new TextDecoder("utf-8").decode(s).trim();t=DD(c)},stop:!0}:{};case"[Content_Types].xml":return r.hasContentTypesEntry=!0,SD(n,vD)?(r.isParsingContentTypes=!0,{async handler(s){let c=new TextDecoder("utf-8").decode(s),l=yk(c);l&&(t=DD(l)),r.hasParsedContentTypesEntry=!0,r.isParsingContentTypes=!1},stop:!0}):(r.hasUnparseableContentTypes=!0,{});default:return/classes\d*\.dex/.test(n.filename)?(t={ext:"apk",mime:"application/vnd.android.package-archive"},{stop:!0}):{}}})}catch(n){if(!pk(n))throw n;r.isParsingContentTypes&&(r.isParsingContentTypes=!1,r.hasUnparseableContentTypes=!0)}return t??xD(r)??{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await e.ignore(28);let t=new Uint8Array(8);return await e.readBuffer(t),Jn(t,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/ogg; codecs=opus"}:Jn(t,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:Jn(t,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:Jn(t,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:Jn(t,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:Jn(t,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(this.buffer[2]===3||this.buffer[2]===5||this.buffer[2]===7)&&(this.buffer[3]===4||this.buffer[3]===6||this.buffer[3]===8))return{ext:"zip",mime:"application/zip"};if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF"))return{ext:"pdf",mime:"application/pdf"};if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){let t=await this.readTiffHeader(!1);if(t)return t}if(this.check([77,77])){let t=await this.readTiffHeader(!0);if(t)return t}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function t(){let s=await e.peekNumber(VE),c=128,l=0;for(;(s&c)===0&&c!==0;)++l,c>>=1;let u=new Uint8Array(l+1);return await Qy(e,u,void 0,{maximumLength:u.length,reason:"EBML field"}),u}async function r(){let s=await t(),c=await t();c[0]^=128>>c.length-1;let l=Math.min(6,c.length),u=new DataView(s.buffer),f=new DataView(c.buffer,c.length-l,l);return{id:Jy(u),len:Jy(f)}}async function n(s){let c=0;for(;s>0;){if(c++,c>qA)return;let l=e.position,u=await r();if(u.id===17026){if(u.len>bD)return;let f=Zy(u.len,bD,"EBML DocType");return(await e.readToken(new Ci(f))).replaceAll(/\00.*$/g,"")}if(Ho(e)&&(!Number.isFinite(u.len)||u.len<0||u.len>CD)||(await Hs(e,u.len,{maximumLength:Ho(e)?CD:e.fileInfo.size,reason:"EBML payload"}),--s,e.position<=l))return}}let o=await r();switch(await n(o.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/matroska"};default:return}}if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1")||this.checkString("PARE"))return{ext:"parquet",mime:"application/vnd.apache.parquet"};if(this.checkString("ttcf"))return{ext:"ttc",mime:"font/collection"};if(this.check([254,237,250,206])||this.check([254,237,250,207])||this.check([206,250,237,254])||this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([4,34,77,24]))return{ext:"lz4",mime:"application/x-lz4"};if(this.checkString("regf"))return{ext:"dat",mime:"application/x-ft-windows-registry-hive"};if(this.checkString("$FL2")||this.checkString("$FL3"))return{ext:"sav",mime:"application/x-spss-sav"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190])){let t=Wy.get(this.buffer,4),r=Ls.get(this.buffer,6);if(t>0&&t<=30)return{ext:"macho",mime:"application/x-mach-binary"};if(r>30)return{ext:"class",mime:"application/java-vm"}}if(this.checkString(".RMF"))return{ext:"rm",mime:"application/vnd.rn-realmedia"};if(this.checkString("DRACO"))return{ext:"drc",mime:"application/vnd.google.draco"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(this.buffer[6]===0||this.buffer[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){let t=new Ci(4,"latin1").get(this.buffer,2);if(t.match("^d*")&&t>=1e3&&t<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>"))return await e.ignore(8),await e.readToken(new Ci(13,"ascii"))==="debian-binary"?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(this.checkString("WEBVTT")&&[`
`,"\r"," "," ","\0"].some(t=>this.checkString(t,{offset:6})))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10])){let t={ext:"png",mime:"image/png"},r={ext:"apng",mime:"image/apng"};await e.ignore(8);async function n(){return{length:await e.readToken(JE),type:await e.readToken(new Ci(4,"latin1"))}}let o=Ho(e),a=e.position,s=0;do{if(s++,s>QA||RD(e,a,qy))break;let c=e.position,l=await n();if(l.length<0)return;switch(l.type){case"IDAT":return t;case"acTL":return r;default:if(o&&l.length>qy)return;try{await Hs(e,l.length+4,{maximumLength:o?qy+4:e.fileInfo.size,reason:"PNG chunk payload"})}catch(u){if(!o&&(u instanceof Us||u instanceof lt))return t;throw u}}if(e.position<=c)break}while(e.position+8<e.fileInfo.size);return t}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/vnd.apache.arrow.file"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.checkString("ftyp",{offset:4})&&(this.buffer[8]&96)!==0){let t=new Ci(4,"latin1").get(this.buffer,8).replace("\0"," ").trim();switch(t){case"avif":case"avis":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 t.startsWith("3g")?t.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(this.checkString(`REGEDIT4\r
`))return{ext:"reg",mime:"application/x-ms-regedit"};if(this.check([82,73,70,70])){if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){let t=!1;try{async function r(){let s=new Uint8Array(16);return await Qy(e,s,void 0,{maximumLength:s.length,reason:"ASF header GUID"}),{id:s,size:Number(await e.readToken(qE))}}await Hs(e,30,{maximumLength:30,reason:"ASF header prelude"});let n=Ho(e),o=e.position,a=0;for(;e.position+24<e.fileInfo.size&&(a++,!(a>XA||RD(e,o,Ta)));){let s=e.position,c=await r(),l=c.size-24;if(!Number.isFinite(l)||l<0){t=!0;break}if(Jn(c.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let u=new Uint8Array(16);if(l-=await Qy(e,u,void 0,{maximumLength:u.length,reason:"ASF stream type GUID"}),Jn(u,[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(Jn(u,[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}if(await Hs(e,l,{maximumLength:n?Ta:e.fileInfo.size,reason:"ASF header payload"}),e.position<=s){t=!0;break}}}catch(r){if(r instanceof lt||r instanceof Us)Ho(e)&&(t=!0);else throw r}return t?void 0:{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await e.ignore(20),await e.readToken(new Ci(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(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255]))return this.checkString("<?xml ",{offset:2,encoding:"utf-16be"})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await e.peekBuffer(this.buffer,{length:Math.min(256,e.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){let t=new DataView(this.buffer.buffer).getUint32(12,!0);if(t>12&&this.buffer.length>=t+16)try{let r=new TextDecoder().decode(this.buffer.subarray(16,t+16));if(JSON.parse(r).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([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(this.check([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(this.checkString("Kaydara FBX Binary \0"))return{ext:"fbx",mime:"application/x.autodesk.fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(this.check([255,255,0,0,7,0,0,0,4,0,0,0,1,0,1,0])||this.check([0,0,255,255,0,0,0,7,0,0,0,4,0,1,0,1]))return{ext:"jmp",mime:"application/x-jmp-data"};if(await e.peekBuffer(this.buffer,{length:Math.min(512,e.fileInfo.size),mayBeLess:!0}),this.checkString("ustar",{offset:257})&&(this.checkString("\0",{offset:262})||this.checkString(" ",{offset:262}))||this.check([0,0,0,0,0,0],{offset:257})&&mD(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254])){let t="utf-16le";return this.checkString("<?xml ",{offset:2,encoding:t})?{ext:"xml",mime:"application/xml"}:this.check([255,14],{offset:2})&&this.checkString("SketchUp Model",{offset:4,encoding:t})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:this.checkString(`Windows Registry Editor Version 5.00\r
`,{offset:2,encoding:t})?{ext:"reg",mime:"application/x-ms-regedit"}:void 0}if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"}};detectImprecise=async e=>{this.buffer=new Uint8Array(id);let t=fk(e.fileInfo.size);if(await e.peekBuffer(this.buffer,{length:Math.min(8,t),mayBeLess:!0}),this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(await e.peekBuffer(this.buffer,{length:Math.min(2+this.options.mpegOffsetTolerance,t),mayBeLess:!0}),this.buffer.length>=2+this.options.mpegOffsetTolerance)for(let r=0;r<=this.options.mpegOffsetTolerance;++r){let n=this.scanMpeg(r);if(n)return n}};async readTiffTag(e){let t=await this.tokenizer.readToken(e?Ls:Ht);switch(await this.tokenizer.ignore(10),t){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(e){let t=await this.tokenizer.readToken(e?Ls:Ht);if(!(t>ZA)&&!(Ho(this.tokenizer)&&2+t*12>ED))for(let r=0;r<t;++r){let n=await this.readTiffTag(e);if(n)return n}}async readTiffHeader(e){let t={ext:"tif",mime:"image/tiff"},r=(e?Ls:Ht).get(this.buffer,2),n=(e?Wy:Nt).get(this.buffer,4);if(r===42){if(n>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(n>=8){let s=(e?Ls:Ht).get(this.buffer,8),c=(e?Ls:Ht).get(this.buffer,10);if(s===28&&c===254||s===31&&c===11)return{ext:"nef",mime:"image/x-nikon-nef"}}}let o=Ho(this.tokenizer)?ED:this.tokenizer.fileInfo.size;try{await Hs(this.tokenizer,n,{maximumLength:o,reason:"TIFF IFD offset"})}catch(s){if(s instanceof lt)return;throw s}let a;try{a=await this.readTiffIFD(e)}catch(s){if(s instanceof lt)return;throw s}return a??t}if(r===43)return t}scanMpeg(e){if(this.check([255,224],{offset:e,mask:[255,224]})){if(this.check([16],{offset:e+1,mask:[22]}))return this.check([8],{offset:e+1,mask:[8]})?{ext:"aac",mime:"audio/aac"}:{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:e+1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:e+1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:e+1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}},vk=new Set(hD),_k=new Set(gD);var be=require("vscode"),di=require("path"),od=require("fs"),ND=ze(rv()),ov=process.platform==="darwin",En=process.platform==="win32",Tm=be.env.remoteName!==void 0,wk=process.platform==="linux",Im=wk&&!!process.env.SNAP&&!!process.env.SNAP_REVISION;function Le(i){return i.forEach(e=>e.dispose()),[]}function Wr(i){return{dispose:i}}function Ws(i){return Wr(()=>Le(i))}var Dn=Wr(()=>null);function Aa(i,e){return(t,r,n)=>i(o=>t.call(r,e(o)),null,n)}function Ye(i,e){return(t,r,n)=>i(o=>e(o)&&t.call(r,o),null,n)}function av(i,e,t){return e(t),i(r=>e(r))}function fi(...i){return(e,t,r)=>{let n=Ws(i.map(o=>o(a=>e.call(t,a))));return r?.push(n),n}}function sv(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 OD(i,e){return(t,r,n)=>{let o;return i(a=>{clearTimeout(o),o=setTimeout(()=>t.call(r,a),e)},null,n)}}function $i(i){return new Promise(e=>Wo(i)(e))}function Am(i,...e){for(let t of e)Object.keys(t).forEach(r=>i[r]=t[r]);return i}function MD(i,e){return i.reduce((t,r)=>{let n=e(r);return t[n]=[...t[n]||[],r],t},Object.create(null))}function bl(i){return i.filter(e=>!!e)}async function cv(i,e){let t=async()=>{try{await od.promises.mkdir(i,e)}catch(r){if(r.code==="EEXIST"){if((await od.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 cv((0,di.dirname)(i),e),await t()}return!0}function lv(i,e){let t;return i.some(r=>e(r)?(t=r,!0):!1),t}async function LD(i,e){return new Promise((t,r)=>{let n=(0,od.createReadStream)(i,{encoding:"utf8"}),o=(0,ND.default)(n);o.on("data",a=>{e.test(a)&&(n.close(),t(!0))}),o.on("error",r),o.on("end",()=>t(!1))})}function FD(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 BD(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 Ei(i,e=20,t=!0){return i.length<=e?i:`${i.substring(0,e)}${t?"\u2026":""}`}function sd(i){let e=i.indexOf(`
`);return e===-1?i:Ei(i,e,!1)}function xm(i){return(En||ov)&&(i=i.toLowerCase()),/[/\\]$/.test(i)&&(i=i.substring(0,i.length-1)),(0,di.normalize)(i)}function Wt(i,e){return i===e?!0:(i=xm(i),e=xm(e),i.charAt(i.length-1)!==di.sep&&(i+=di.sep),e.startsWith(i))}function tt(i,e){return xm(i)===xm(e)}function cd(i,e){return km(i,e)??(0,di.relative)(i,e)}function km(i,e){if(i.charAt(i.length-1)!==di.sep&&(i+=di.sep),Wt(i,e)&&i.length<e.length)return e.substring(i.length)}function*Ys(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 uv(i){return!Ek(i)}function Ek(i){return Dk(i)||i===null}function Dk(i){return typeof i>"u"}var Uo=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()}},Pm=class{_onDidComplete=new be.EventEmitter;_promise;get promise(){return this._promise?this._promise:$i(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}))}},ld;(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})(ld||={});function GD(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 iv=60,nv=iv*60,ad=nv*24,ID=ad*7,AD=ad*30,kD=ad*365;function Yo(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}",Yo(new Date().getTime()+n*1e3,!1));if(!r&&n<30)return be.l10n.t("now");let o;return n<iv?(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<nv?(o=Math.floor(n/iv),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<ad?(o=Math.floor(n/nv),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<ID?(o=Math.floor(n/ad),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<AD?(o=Math.floor(n/ID),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<kD?(o=Math.floor(n/AD),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/kD),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 Nm(i){return i.references?.length?i.references[0].name:i.displayId??i.id}function dv(i){return i==="error"?be.DiagnosticSeverity.Error:i==="warning"?be.DiagnosticSeverity.Warning:i==="information"?be.DiagnosticSeverity.Information:be.DiagnosticSeverity.Hint}function fv(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 HD(i){if(!i.commitDate&&!i.branchName)return;let e=[];return i.commitDate&&e.push(Yo(i.commitDate)),i.branchName&&e.push(i.branchName),e.join(" \u2022 ")}function ud(i){return(0,di.basename)(i).startsWith("copilot-")||(0,di.basename)(i).startsWith("agents-")}var Ar=require("vscode");var sn=Object.freeze({Force:0,ForceWithLease:1,ForceWithLeaseIfIncludes:2}),de=Object.freeze({Head:0,RemoteHead:1,Tag:2}),w=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 VD=ze(rv()),JD=require("string_decoder"),Cl=3e4;function Om(i,e=!1){if(!/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/i.test(i)||!e&&/^0+$/.test(i))throw new Error(e?"Expected a full Git object ID":"Expected a full, non-zero Git object ID")}function qD(i){return i.replace(/^git version /,"")}function Bm(i,e){return new Promise((t,r)=>{if(!e(i))return r(new Error(`Path "${i}" is invalid.`));let n=[],o=Ks.spawn(i,["--version"]);o.stdout.on("data",a=>n.push(a)),o.on("error",yv(r)),o.on("close",a=>a?r(new Error(`Not found. Code: ${a}`)):t({path:i,version:qD(Buffer.concat(n).toString("utf8").trim())}))})}function Rk(i){return new Promise((e,t)=>{Ks.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.`));Ks.exec("git --version",(c,l)=>c?t(new Error(`Executing "git --version" failed: ${c.message}`)):e({path:s,version:qD(l.trim())}))}if(o!=="/usr/bin/git")return a(o);Ks.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 Mm(i,e){return i?Bm(Pe.join(i,"Git","cmd","git.exe"),e):Promise.reject("Not found")}async function Sk(i){let e=await(0,jD.default)("git.exe");return Bm(e,i)}function xk(i){return Mm(process.env.ProgramW6432,i).then(void 0,()=>Mm(process.env["ProgramFiles(x86)"],i)).then(void 0,()=>Mm(process.env.ProgramFiles,i)).then(void 0,()=>Mm(Pe.join(process.env.LocalAppData,"Programs"),i)).then(void 0,()=>Sk(i))}async function QD(i,e,t){for(let r of i)try{return await Bm(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 Rk(e);case"win32":return await xk(e);default:return await Bm("git",e)}}catch(r){t.warn(`Unable to find git. Error: ${r.message}`)}throw new Error("Git installation not found.")}function yv(i){return e=>{/ENOENT/.test(e.message)&&(e=new Yt({error:e,message:"Failed to execute git (ENOENT)",gitErrorCode:X.NotAGitRepository})),i(e)}}async function hv(i,e){if(!i.stdout||!i.stderr)throw new Yt({message:"Failed to get stdout or stderr from git process."});if(e&&e.isCancellationRequested)throw new Ar.CancellationError;let t=[],r=(a,s,c)=>{a.once(s,c),t.push(Wr(()=>a.removeListener(s,c)))},n=(a,s,c)=>{a.on(s,c),t.push(Wr(()=>a.removeListener(s,c)))},o=Promise.all([new Promise((a,s)=>{r(i,"error",yv(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 Ar.CancellationError)})});o=Promise.race([o,a])}try{let[a,s,c]=await o;return{exitCode:a,stdout:s,stderr:c}}finally{Le(t)}}var Yt=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 XD(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 ZD(i){return i.replace(/^([a-z]):\\/i,(e,t)=>`${t.toUpperCase()}:\\`)}function Lm(i){return i.replace(/\\/g,"/")}var mv="%H%n%aN%n%aE%n%at%n%ct%n%P%n%D%n%B",Pk="%H%n%P%n%gd%n%gs%n%at%n%ct",Gm=class{path;userAgent;version;env;commandsToLog=[];_onOutput=new zD.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=Ar.workspace.getConfiguration("git");this.commandsToLog=n.get("commandsToLog",[])};Ar.workspace.onDidChangeConfiguration(t,this),t()}compareGitVersionTo(e){return ld.compare(ld.fromString(this.version),ld.fromString(e))}open(e,t,r,n){return new Rn(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,Yr.exists)(a,l));)o=`${n}-${s++}`,a=Pe.join(t.parentPath,o);await cv(t.parentPath);let c=l=>{let u=new JD.StringDecoder("utf8"),f=new VD.LineStream({encoding:"utf8"});l.stderr.on("data",p=>f.write(u.write(p)));let m=0,h=0;f.on("data",p=>{let y=null;(y=/Counting objects:\s*(\d+)%/i.exec(p))?m=Math.floor(parseInt(y[1])*.1):(y=/Compressing objects:\s*(\d+)%/i.exec(p))?m=10+Math.floor(parseInt(y[1])*.1):(y=/Receiving objects:\s*(\d+)%/i.exec(p))?m=20+Math.floor(parseInt(y[1])*.4):(y=/Resolving deltas:\s*(\d+)%/i.exec(p))&&(m=60+Math.floor(parseInt(y[1])*.4)),m!==h&&(t.progress.report({increment:m-h}),h=m)})};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(!tt(e,r)&&!Wt(r,e)&&!Wt(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(En){let n=Ar.Uri.file(r),o=Ar.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=>Yr.realpath.native(`${s}:\\`,{encoding:"utf8"},(u,f)=>l(u!==null?void 0:f)));if(c!==void 0){let l=tt(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 Yr.promises.readFile(Pe.join(r??t,"config"),"utf8");return{isBare:dd.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=Am({cwd:e},r||{}),await this._exec(t,r)}async exec2(e,t={}){return await this._exec(e,t)}stream(e,t,r={}){r=Am({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 hv(r,t.cancellationToken)}catch(s){throw s instanceof Ar.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 Yt({message:"Failed to execute git",stdout:a.stdout,stderr:a.stderr,exitCode:a.exitCode,gitErrorCode:XD(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=Am({},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=ZD(r)),Ks.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,KD.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(Fm.homedir(),t)).stdout}catch(r){if(typeof r.stdout=="string")return r.stdout;throw r}}async addSafeDirectory(e){await this.exec(Fm.homedir(),["config","--global","--add","safe.directory",e])}},dd=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}},gv=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 Tk(i){let e=[];for(let t of dd.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 Ik(i){let e=[];for(let t of dd.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 Ak=/([0-9a-f]{40})\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)(?:\n([^]*?))?(?:\x00)(?:\n((?:.*)files? changed(?:.*))$)?/gm;function pv(i){let e=[],t,r,n,o,a,s,c,l,u,f;do{if(f=Ak.exec(i),f===null)break;[,t,r,n,o,a,s,c,l,u]=f,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(m=>m.trim()),shortStat:u?eR(u):void 0,coAuthors:kk(l)})}while(!0);return e}var UD=/^Co-authored-by:\s*(.+?)\s*<([^>]+)>\s*$/gim;function kk(i){let e=[],t;for(UD.lastIndex=0;(t=UD.exec(i))!==null;){let r=t[1].trim(),n=t[2].trim();r&&n&&e.push({name:r,email:n})}return e}var Nk=/(\d+) files? changed(?:, (\d+) insertions?\(\+\))?(?:, (\d+) deletions?\(-\))?/;function eR(i){let e=i.trim().match(Nk);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 Ok(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 Mk(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 Lk=/([0-9a-f]{40})\n(.*)\nstash@{(\d+)}\n(WIP\s)?on\s([^:]+):\s(.*)\n(\d+)\n(\d+)(?:\x00)/gmi;function Fk(i){let e=[],t,r,n,o,a,s,c,l,u;do{if(t=Lk.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 WD(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=Ar.Uri.file(Pe.isAbsolute(a)?a:Pe.join(i,a)),c=s,l=s,u=w.UNTRACKED;switch(o[0]){case"A":u=w.INDEX_ADDED;break;case"M":u=w.MODIFIED;break;case"D":u=w.DELETED;break;case"R":{if(t>=n.length)break;let f=n[t++];if(!f)break;u=w.INDEX_RENAMED,c=l=Ar.Uri.file(Pe.isAbsolute(f)?f:Pe.join(i,f));break}default:break e}r.push({status:u,uri:c,originalUri:s,renameUri:l})}return r}function YD(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=Ar.Uri.file(Pe.isAbsolute(c)?c:Pe.join(i,c)),u=l,f=l,m=w.UNTRACKED;switch(s[0]){case"A":m=w.INDEX_ADDED;break;case"M":m=w.MODIFIED;break;case"D":m=w.DELETED;break;case"R":{if(n>=o.length)break;let h=o[n++];if(!h)break;m=w.INDEX_RENAMED,u=f=Ar.Uri.file(Pe.isAbsolute(h)?h:Pe.join(i,h));break}default:break e}t.push({status:m,uri:u,originalUri:l,renameUri:f})}else{let[s,c,l]=a.split(" "),u;if(l===""){n++;let f=o[n++];u=Pe.isAbsolute(f)?f:Pe.join(i,f)}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 Bk(i){let e=/\r?\n/,t=/^([0-9a-f]{40})/gm,r=new Map,n,o,a,s,c,l,u;for(let f of i.split(e)){let m=f.match(t);if(!n&&m){let h=f.split(" ");n=m[0],l=Number(h[2]),u=Number(h[2])+Number(h[3])-1}if(n&&f.startsWith("author ")&&(o=f.substring(7)),n&&f.startsWith("author-mail ")&&(a=f.substring(13,f.length-1)),n&&f.startsWith("author-time ")&&(s=Number(f.substring(12))*1e3),n&&f.startsWith("summary ")&&(c=f.substring(8)),n&&l&&u&&f.startsWith("filename ")){let h=r.get(n);h?(h.ranges.push({startLineNumber:l,endLineNumber:u}),r.set(n,h)):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 tR="%(refname)%00%(objectname)%00%(*objectname)",$D=`${tR}%00%(parent)%00%(*parent)%00%(authorname)%00%(*authorname)%00%(committerdate:unix)%00%(*committerdate:unix)%00%(subject)%00%(*subject)`;function Gk(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,f,m,h,p,y,v,S,E,R=[],P,L;do{if(P=e.exec(i),P===null)break;[,a,s,c,l]=P,[u,f,p,y,v,S,m,h,E]=l?.split("\0")??[];let W=f||u,K=h||m,H=y||p,$=S||v,Y=W&&K&&H&&$?{hash:s,message:K,parents:W.split(" "),authorName:H,commitDate:$?new Date(Number($)*1e3):void 0}:void 0;if(L=t.exec(a)){let[,I,re]=o.exec(E)??[],le=E?I?Number(I):0:void 0,T=E?re?Number(re):0:void 0;R.push({name:L[1],commit:s,commitDetails:Y,ahead:le,behind:T,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:Y,type:de.RemoteHead})}else(L=n.exec(a))&&R.push({name:L[1],commit:c??s,commitDetails:Y,type:de.Tag})}while(!0);return R}var Rn=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"}_git;repositoryRoot;repositoryRootRealPath;dotGit;logger;_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=["-c","i18n.logOutputEncoding=UTF-8","log",`--format=${mv}`,"-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?[]:pv(o.stdout)}async logFile(e,t,r){let n=["-c","i18n.logOutputEncoding=UTF-8","log",`--format=${mv}`,"-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?[]:pv(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 hv(n);if(o){let c=new Yt({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 Yt({message:"Path not known by git",gitErrorCode:X.UnknownPath});let{mode:c,object:l}=e!==""?s.find(m=>m.stage===e.substring(1))??s[0]:s[0],u=await this.exec(["cat-file","-s",l]),f=parseInt(u.stdout);return{mode:c,object:l,size:f}}let r=await this.lstree(e,t);if(r.length===0)throw new Yt({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 Ok(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 Mk(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 Yt({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 FD(t.stdout,4100);try{t.kill()}catch{}let n=BD(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 ev(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?[]:YD(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?[]:WD(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}:eR(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?[]:YD(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 Ys(e.map(o=>this.sanitizeRelativePath(o)),Cl))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 Yt({message:"Failed to spawn git process",exitCode:-1});n.stdin.end(t);let{exitCode:o,stdout:a}=await hv(n),s=a.toString("utf8");if(o)throw new Yt({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(f){if(f.gitErrorCode!==X.UnknownPath)throw f;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 Ys(t.map(a=>this.sanitizeRelativePath(a)),Cl))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 Yt&&/not possible because you have unmerged files/.test(e.stderr||""))throw e.gitErrorCode=X.UnmergedChanges,e;if(e instanceof Yt&&/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 updateRef(e,t,r){let n=e.slice(11);if(!e.startsWith("refs/heads/")||!n||n.startsWith("-"))throw new Error("Expected a local branch ref");Om(t),Om(r,!0),await this.exec(["check-ref-format","--branch",n]),await this.exec(["update-ref","--no-deref",e,t,r])}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),e.noTrack&&t.push("--no-track"),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=MD(e.map(ZD),s=>Pe.dirname(s)),r=Object.keys(t).map(s=>t[s]),n=new Uo(5),o=[],a=["clean","-f","-q"];for(let s of r)for(let c of Ys(s.map(l=>this.sanitizeRelativePath(l)),Cl))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 resetKeep(e){if(!e||e.startsWith("-"))throw new Error("Expected a commit reference");await this.exec(["reset","--keep",e])}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 Ys(t.map(a=>this.sanitizeRelativePath(a)),Cl))await this.exec([...n,"--",...o]);else await this.exec([...n,"--","."])}catch(o){if(/([^:]+: needs merge\n)+/m.test(o.stdout||""))return;throw o}}async restore(e,t){let r=["restore"];if(t?.staged&&r.push("--staged"),t?.ref&&r.push("--source",t.ref),e.length>0)for(let n of Ys(e.map(o=>this.sanitizeRelativePath(o)),Cl))await this.exec([...r,"--",...n]);else await this.exec([...r,"--","."])}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{let a=await this.exec(o,{cancellationToken:n.cancellationToken,env:{GIT_HTTP_USER_AGENT:this.git.userAgent}});return!/Already up to date/i.test(a.stdout)}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"];t.rebaseMerges&&r.push("--rebase-merges"),t.onto!==void 0&&r.push("--onto",t.onto),r.push(e);try{await this.exec(r)}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,s){let c=["push"];o===sn.ForceWithLease||o===sn.ForceWithLeaseIfIncludes?(c.push(s?`--force-with-lease=refs/heads/${s.branch}:${s.expectedSha}`:"--force-with-lease"),o===sn.ForceWithLeaseIfIncludes&&this._git.compareGitVersionTo("2.30")!==-1&&c.push("--force-if-includes")):o===sn.Force&&c.push("--force"),r&&c.push("-u"),n?c.push("--follow-tags"):s&&c.push("--no-follow-tags"),a&&c.push("--tags"),e&&c.push(e),t&&c.push(t);try{await this.exec(c,{env:{GIT_HTTP_USER_AGENT:this.git.userAgent}})}catch(l){throw/^error: failed to push some refs to\b/m.test(l.stderr||"")?o===sn.ForceWithLease&&/! \[rejected\].*\(stale info\)/m.test(l.stderr||"")?l.gitErrorCode=X.ForcePushWithLeaseRejected:o===sn.ForceWithLeaseIfIncludes&&/! \[rejected\].*\(remote ref updated since checkout\)/m.test(l.stderr||"")?l.gitErrorCode=X.ForcePushWithLeaseIfIncludesRejected:l.gitErrorCode=X.PushRejected:/Permission.*denied/.test(l.stderr||"")?l.gitErrorCode=X.PermissionDenied:/Could not read from remote repository/.test(l.stderr||"")?l.gitErrorCode=X.RemoteConnectionError:/^fatal: The current branch .* has no upstream branch/.test(l.stderr||"")&&(l.gitErrorCode=X.NoUpstreamBranch),l}}async pushRefWithLease(e,t,r,n){if(!e||e.startsWith("-")||!t||t.startsWith("-"))throw new Error("Expected a remote and a branch name");Om(r),Om(n,!0),await this.exec(["check-ref-format","--branch",t]),await this.push(e,`${r}:refs/heads/${t}`,!1,!1,sn.ForceWithLease,!1,{branch:t,expectedSha:n})}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=["-c","i18n.logOutputEncoding=UTF-8","blame","--root","--incremental"];r&&n.push("-w"),t&&n.push(t),n.push("--",this.sanitizeRelativePath(e));let o=await this.exec(n);return Bk(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?[]:WD(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 Ar.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 gv,u=p=>{if(p!==0){let y=h.join("");return c(new Yt({message:"Failed to execute git",stderr:y,exitCode:p,gitErrorCode:XD(y),gitCommand:"status",gitArgs:n}))}s({status:l.status,statusLength:l.status.length,didHitLimit:!1})},f=e?.limit??1e4,m=p=>{l.update(p),f!==0&&l.status.length>f&&(o.removeListener("close",u),o.stdout?.removeListener("data",m),o.kill(),s({status:l.status.slice(0,f),statusLength:l.status.length,didHitLimit:!0}))};o.stdout&&(o.stdout.setEncoding("utf8"),o.stdout.on("data",m));let h=[];o.stderr&&(o.stderr.setEncoding("utf8"),o.stderr.on("data",p=>h.push(p))),o.on("error",yv(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 Ar.CancellationError)}))});a=Promise.race([a,s])}try{let{status:s,statusLength:c,didHitLimit:l}=await a;return{status:s,statusLength:c,didHitLimit:l}}finally{Le(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 Yr.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 Ar.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?`${$D}%00%(upstream:track)`:$D;r.push("--format",o)}else r.push("--format",tR);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 Gk(n.stdout)}async getRemoteRefs(e,t){if(t?.cancellationToken&&t?.cancellationToken.isCancellationRequested)throw new Ar.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}|[0-9a-f]{64}))\trefs\/heads\/([^ ]+)$/.exec(a))?{name:s[2],commit:s[1],type:de.Head}:(s=/^((?:[0-9a-f]{40}|[0-9a-f]{64}))\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=${Pk}`,"-z"]);return Fk(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 Yr.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 Yr.promises.readdir(r,{withFileTypes:!0});for(let o of n)if(o.isDirectory())try{let a=Pe.join(r,o.name,"HEAD"),s=(await Yr.promises.readFile(a,"utf8")).trim(),c=Pe.join(r,o.name,"gitdir"),l=(await Yr.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 Yr.promises.readFile(Pe.join(this.dotGit.commonPath??this.dotGit.path,"config"),"utf8");return Ik(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&&(En||ov)&&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,f,m]=a.trim().split("\0");if(s.startsWith("refs/heads/")){s=s.substring(11);let h=c.indexOf("/"),p,y,v=/\[(?:ahead ([0-9]+))?[,\s]*(?:behind ([0-9]+))?]|\[gone]/.exec(u);return v&&([,p,y]=v),{type:de.Head,name:s,upstream:c!==""&&u!=="[gone]"?{name:m?m.substring(11):c.substring(h+1),remote:f||c.substring(0,h)}:void 0,commit:l||void 0,ahead:Number(p)||0,behind:Number(y)||0}}else if(s.startsWith("refs/remotes/")){s=s.substring(13);let h=s.indexOf("/");return{type:de.RemoteHead,name:s.substring(h+1),remote:s.substring(0,h),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 Yr.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 Yr.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=Fm.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 Yr.promises.readFile(r,"utf8");return this.stripCommitMessageComments(n)}catch{return""}}async getCommit(e){let t=await this.exec(["-c","i18n.logOutputEncoding=UTF-8","show","-s","--decorate=full","--shortstat",`--format=${mv}`,"-z",e,"--"]),r=pv(t.stdout);return r.length===0?Promise.reject("bad commit format"):r[0]}async showChanges(e){try{return(await this.exec(["-c","i18n.logOutputEncoding=UTF-8","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=["-c","i18n.logOutputEncoding=UTF-8","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 Yr.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 Ys(e.map(n=>this.sanitizeRelativePath(n)),Cl))await this.exec([...t,"--",...r])}async getSubmodules(){let e=Pe.join(this.root,".gitmodules");try{let t=await Yr.promises.readFile(e,"utf8");return Tk(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=Lm(e),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (noop): ${e}`),e;let t;return this.repositoryRootRealPath&&(t=km(this.repositoryRootRealPath,e),t)?(t=Lm(t),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (real path): ${t}`),t):(t=km(this.repositoryRoot,e),t?(t=Lm(t),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (path): ${t}`),t):(e=Lm(Pe.relative(this.repositoryRoot,e)),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (fallback): ${e}`),e))}};var j=require("vscode");var $R=require("@vscode/fs-copyfile");var rR=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},vv=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 rR(c)}return rR(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}`},"")}},iR={separator:"_",dictionaries:[]},nR=i=>{let e=[...i&&i.dictionaries||iR.dictionaries],t={...iR,...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 vv(t).generate()},oR=["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"],aR=["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"],sR=["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 Hm=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 Pn=ze(require("fs")),Si=ze(require("fs/promises")),Wv=ze(require("os")),He=ze(require("path")),Yv=ze(TR()),_=require("vscode");var gt=require("vscode");var te={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},Restore:i=>({kind:"Restore",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:i}),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})},$m=class{constructor(e){this.logger=e}logger;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 RN(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 Km=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=gt.Uri.file(e.root);this.disposables.push(gt.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()}))}repository;postCommitCommandCenter;logger;_onDidChange=new gt.EventEmitter;get onDidChange(){return this._onDidChange.event}_state;get state(){return this._state}set state(e){RN(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 gt.workspace.getConfiguration("git",gt.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:gt.l10n.t("{0} Continue","$(check)"),tooltip:this.state.isCommitInProgress?gt.l10n.t("Continuing Rebase..."):gt.l10n.t("Continue Rebase"),arguments:[this.repository.sourceControl,null]}:this.state.isMergeInProgress?{command:"git.commit",title:gt.l10n.t("{0} Continue","$(check)"),tooltip:this.state.isCommitInProgress?gt.l10n.t("Continuing Merge..."):gt.l10n.t("Continue Merge"),arguments:[this.repository.sourceControl,null]}:this.state.HEAD?.type===de.Tag||!this.state.HEAD?.name?{command:"git.commit",title:gt.l10n.t("{0} Commit","$(check)"),tooltip:this.state.isCommitInProgress?gt.l10n.t("Committing Changes..."):gt.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=gt.workspace.getConfiguration("git",gt.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:gt.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?gt.l10n.t({message:'Publishing Branch "{0}"...',args:[this.state.HEAD.name],comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}):gt.l10n.t({message:"Publishing Branch...",comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}):this.repository.HEAD?.name?gt.l10n.t({message:'Publish Branch "{0}"',args:[this.state.HEAD?.name],comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}):gt.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=gt.workspace.getConfiguration("git",gt.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:gt.l10n.t("{0} Sync Changes{1}{2}",a,o,n),shortTitle:`${a}${o}${n}`,tooltip:this.state.isSyncInProgress?gt.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=gt.workspace.getConfiguration("git",gt.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!==w.UNTRACKED)),o.length!==0}dispose(){this.disposables=Le(this.disposables)}};var $r=require("vscode");function Sn(i){return/^git$/.test(i.scheme)}function kr(i){return JSON.parse(i.query)}function je(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 Iv(i){return{base:je(i,":1"),ours:je(i,":2"),theirs:je(i,":3")}}function zs(i,e,t){switch(i.status){case w.INDEX_ADDED:return{originalUri:void 0,modifiedUri:je(i.uri,t)};case w.DELETED:return{originalUri:je(i.uri,e),modifiedUri:void 0};case w.INDEX_RENAMED:return{originalUri:je(i.originalUri,e),modifiedUri:je(i.uri,t)};default:return{originalUri:je(i.uri,e),modifiedUri:je(i.uri,t)}}}var IR=require("vscode"),Vs=class{static _gitBaseApi;static getAPI(){if(!this._gitBaseApi){let e=IR.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 Av=class{#e;constructor(e){this.#e=e}set value(e){this.#e.value=e}get value(){return this.#e.value}},El=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}},kv=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 El(e))}get indexChanges(){return this.#e.indexGroup.resourceStates.map(e=>new El(e))}get workingTreeChanges(){return this.#e.workingTreeGroup.resourceStates.map(e=>new El(e))}get untrackedChanges(){return this.#e.untrackedGroup.resourceStates.map(e=>new El(e))}},Nv=class{#e;onDidChange;constructor(e){this.#e=e,this.onDidChange=Aa(this.#e.onDidChangeSelection,()=>null)}get selected(){return this.#e.selected}},Jt=class{#e;rootUri;inputBox;kind;state;ui;isUsingVirtualFileSystem;onDidCommit;onDidCheckout;constructor(e){this.#e=e,this.kind=this.#e.kind,this.rootUri=$r.Uri.file(this.#e.root),this.inputBox=new Av(this.#e.inputBox),this.state=new kv(this.#e),this.ui=new Nv(this.#e.sourceControl),this.isUsingVirtualFileSystem=this.#e.isUsingVirtualFileSystem,this.onDidCommit=Aa(Ye(this.#e.onDidRunOperation,t=>t.operation.kind==="Commit"),()=>null),this.onDidCheckout=Aa(Ye(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=>$r.Uri.file(t)))}revert(e){return this.#e.revert(e.map(t=>$r.Uri.file(t)))}clean(e){return this.#e.clean(e.map(t=>$r.Uri.file(t)))}restore(e,t){return this.#e.restore(e.map(r=>$r.Uri.file(r)),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)}diffBetweenWithStats2(e,t){return this.#e.diffBetweenWithStats2(e,t)}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)}getRemoteRefs(e,t){return this.#e.getRemoteRefs(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)}pushRefWithLease(e,t,r,n){return this.#e.pushRefWithLease(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,t){return this.#e.rebase(e,t)}rebaseAbort(){return this.#e.rebaseAbort()}updateRef(e,t,r){return this.#e.updateRef(e,t,r)}resetKeep(e){return this.#e.resetKeep(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()}isBranchProtected(e){return this.#e.isBranchProtected(e)}},Ov=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}},jm=class{#e;#t;git;constructor(e){this.#e=e.model,this.#t=e.cloneManager,this.git=new Ov(this.#e)}get state(){return this.#e.state}get onDidChangeState(){return this.#e.onDidChangeState}get onDidPublish(){return this.#e.onDidPublish}get onDidOpenRepository(){return Aa(this.#e.onDidOpenRepository,e=>new Jt(e))}get onDidCloseRepository(){return Aa(this.#e.onDidCloseRepository,e=>new Jt(e))}get repositories(){return this.#e.repositories.map(e=>new Jt(e))}get recentRepositories(){return this.#e.repositoryCache.recentRepositories}toGitUri(e,t){return je(e,t)}getRepository(e){let t=this.#e.getRepository(e);return t?new Jt(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 $r.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=>$r.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?$r.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(Vs.getAPI().registerRemoteSourceProvider(e)),Ws(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 SN(i){switch(i){case de.Head:return"Head";case de.RemoteHead:return"RemoteHead";case de.Tag:return"Tag"}return"unknown"}function xN(i){switch(i){case w.INDEX_MODIFIED:return"INDEX_MODIFIED";case w.INDEX_ADDED:return"INDEX_ADDED";case w.INDEX_DELETED:return"INDEX_DELETED";case w.INDEX_RENAMED:return"INDEX_RENAMED";case w.INDEX_COPIED:return"INDEX_COPIED";case w.MODIFIED:return"MODIFIED";case w.DELETED:return"DELETED";case w.UNTRACKED:return"UNTRACKED";case w.IGNORED:return"IGNORED";case w.INTENT_TO_ADD:return"INTENT_TO_ADD";case w.INTENT_TO_RENAME:return"INTENT_TO_RENAME";case w.TYPE_CHANGED:return"TYPE_CHANGED";case w.ADDED_BY_US:return"ADDED_BY_US";case w.ADDED_BY_THEM:return"ADDED_BY_THEM";case w.DELETED_BY_US:return"DELETED_BY_US";case w.DELETED_BY_THEM:return"DELETED_BY_THEM";case w.BOTH_ADDED:return"BOTH_ADDED";case w.BOTH_DELETED:return"BOTH_DELETED";case w.BOTH_MODIFIED:return"BOTH_MODIFIED"}return"UNKNOWN"}function AR(i){let e=[];return e.push($r.commands.registerCommand("git.api.getRepositories",()=>i.getAPI(1).repositories.map(r=>r.rootUri.toString()))),e.push($r.commands.registerCommand("git.api.getRepositoryState",t=>{let n=i.getAPI(1).getRepository($r.Uri.parse(t));if(!n)return null;let o=n.state,a=c=>c&&{...c,type:SN(c.type)},s=c=>({uri:c.uri.toString(),originalUri:c.originalUri.toString(),renameUri:c.renameUri?.toString(),status:xN(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($r.commands.registerCommand("git.api.getRemoteSources",t=>$r.commands.executeCommand("git-base.api.getRemoteSources",t))),$r.Disposable.from(...e)}var Ot=require("vscode");var hd=class i{constructor(e,t){this.repository=e;this.globalState=t;Ot.workspace.onDidChangeConfiguration(this.onConfiguration,this,this.disposables),this.onConfiguration();let r=Ye(e.onDidRunOperation,({operation:o,error:a})=>!a&&o.remote);Wo(r)(this.onFirstGoodRemoteOperation,this,this.disposables),Ot.env.onDidChangeMeteredConnection(()=>this.onConfiguration(),this,this.disposables)}repository;globalState;static DidInformUser="autofetch.didInformUser";_onDidChange=new Ot.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:Ot.l10n.t("Yes")},n={isCloseAffordance:!0,title:Ot.l10n.t("No")},o={title:Ot.l10n.t("Ask Me Later")},a=await Ot.window.showInformationMessage(Ot.l10n.t('Would you like {0} to [periodically run "git fetch"]({1})?',Ot.env.appName,"https://go.microsoft.com/fwlink/?linkid=865294"),r,n,o);a!==o&&(a===r&&Ot.workspace.getConfiguration("git",Ot.Uri.file(this.repository.root)).update("autofetch",!0,Ot.ConfigurationTarget.Global),this.globalState.update(i.DidInformUser,!0))}onConfiguration(e){if(e!==void 0&&!e.affectsConfiguration("git.autofetch"))return;if(Ot.env.isMeteredConnection){this.disable();return}switch(Ot.workspace.getConfiguration("git",Ot.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=Ot.workspace.getConfiguration("git",Ot.Uri.file(this.repository.root)).get("autofetchPeriod",180)*1e3,t=new Promise(n=>setTimeout(n,e)),r=$i(Ye(this.onDidChange,n=>!n));await Promise.race([t,r])}}dispose(){this.disable(),this.disposables.forEach(e=>e.dispose())}};var Js=require("vscode");var zm=class{constructor(e,t){this.repositoryRoot=e;this.logger=t;Ye(Js.workspace.onDidChangeConfiguration,n=>n.affectsConfiguration("git.branchProtection",e))(this.updateBranchProtection,this,this.disposables),Js.workspace.onDidChangeWorkspaceFolders(this.updateBranchProtection,this,this.disposables),this.updateBranchProtection()}repositoryRoot;logger;_onDidChangeBranchProtection=new Js.EventEmitter;onDidChangeBranchProtection=this._onDidChangeBranchProtection.event;branchProtection;disposables=[];provideBranchProtection(){return[this.branchProtection]}updateBranchProtection(){let t=Js.workspace.getConfiguration("git",this.repositoryRoot).get("branchProtection")??[],r=Array.isArray(t)?t:[t];this.logger.trace("[GitBranchProtectionProvider][updateBranchProtection] Updating branch protection for repository:",this.repositoryRoot.fsPath),this.logger.trace("[GitBranchProtectionProvider][updateBranchProtection] Workspace folders:",Js.workspace.workspaceFolders?.map(o=>o.uri.fsPath)),this.logger.trace("[GitBranchProtectionProvider][updateBranchProtection] BranchProtection configuration values:",r);let n=r.map(o=>typeof o=="string"?o.trim():"").filter(o=>o!=="");this.branchProtection={remote:"",rules:[{include:n}]},this._onDidChangeBranchProtection.fire(this.repositoryRoot)}dispose(){this.disposables=Le(this.disposables)}};function Vm(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 PN(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 xn=Vm(PN);function TN(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]=sv(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 sv(this[t]).then(a,a),this[t]};return n}var Nr=Vm(TN);function IN(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 Jm=Vm(IN);function Qn(i){return Vm((e,t)=>{let r=`$debounce$${t}`;return function(...n){clearTimeout(this[r]),this[r]=setTimeout(()=>e.apply(this,n),i)}})}var vt=require("vscode");var Qm=require("vscode");var kR=require("util"),AN=/:([-+_a-z0-9]+):/g,qm,Mv;async function qs(){qm===void 0&&(Mv===void 0&&(Mv=kN()),await Mv)}async function kN(){let i=Lv(),e=Qm.Uri.joinPath(i.extensionUri,"resources","emojis.json");qm=JSON.parse(new kR.TextDecoder("utf8").decode(await Qm.workspace.fs.readFile(e)))}function Ko(i){return qm===void 0?i:i.replace(AN,(e,t)=>qm?.[t]||e)}async function Qs(i,e,t){for(let r of i.getSourceControlHistoryItemDetailsProviders()){let n=await r.provideAvatar(new Jt(e),t);if(n)return n}}async function Dl(i,e){for(let t of i.getSourceControlHistoryItemDetailsProviders()){let r=await t.provideHoverCommands(new Jt(e));if(r)return r}}async function Xs(i,e,t){for(let r of i.getSourceControlHistoryItemDetailsProviders()){let n=await r.provideMessageLinks(new Jt(e),t);if(n)return n}}var mi=require("vscode");var Xm=20;function Rl(i,e,t,r,n,o,a,s){let c=new mi.MarkdownString("",!0);return c.isTrusted={enabledCommands:a?.flat().map(l=>l.command)??[]},OR(c,i,e,t,r,n,s),o&&MR(c,o),a&&a.length>0&&LR(c,a),c}function NR(i,e,t,r,n,o,a,s){let c=[],l=new mi.MarkdownString("",!0);if(OR(l,i,e,t,r,n,s),c.push(l),o){let u=new mi.MarkdownString("",!0);u.supportHtml=!0,MR(u,o),c.push(u)}if(a&&a.length>0){let u=new mi.MarkdownString("",!0);u.isTrusted={enabledCommands:a?.flat().map(f=>f.command)??[]},LR(u,a),c.push(u)}return c}function OR(i,e,t,r,n,o,a){if(t){if(e?(i.appendMarkdown(",i.appendText(e),i.appendMarkdown(`|width=${Xm},height=${Xm})`)):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(` ${Yo(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(` _(${mi.l10n.t("Co-author")})_`),i.appendMarkdown(`
`);i.appendMarkdown(`${Ko(o.replace(/!\[/g,"![").replace(/\r\n|\r|\n/g,`
`))}`),i.appendMarkdown(`
---
`)}function MR(i,e){i.appendMarkdown(`<span>${e.files===1?mi.l10n.t("{0} file changed",e.files):mi.l10n.t("{0} files changed",e.files)}</span>`),e.insertions&&i.appendMarkdown(`, <span style="color:var(--vscode-scmGraph-historyItemHoverAdditionsForeground);">${e.insertions===1?mi.l10n.t("{0} insertion{1}",e.insertions,"(+)"):mi.l10n.t("{0} insertions{1}",e.insertions,"(+)")}</span>`),e.deletions&&i.appendMarkdown(`, <span style="color:var(--vscode-scmGraph-historyItemHoverDeletionsForeground);">${e.deletions===1?mi.l10n.t("{0} deletion{1}",e.deletions,"(-)"):mi.l10n.t("{0} deletions{1}",e.deletions,"(-)")}</span>`),i.appendMarkdown(`
---
`)}function LR(i,e){for(let t=0;t<e.length;t++){t!==0&&i.appendMarkdown(" | ");let r=e[t].map(n=>`[${n.title}](command:${n.command}?${encodeURIComponent(JSON.stringify(n.arguments))} "${n.tooltip}")`);i.appendMarkdown(r.join(" "))}}function Sl(i,e){return[{title:`$(git-commit) ${$s(i,e)}`,tooltip:mi.l10n.t("Open Commit"),command:"git.viewCommit",arguments:[i,e,i]},{title:"$(copy)",tooltip:mi.l10n.t("Copy Commit Hash"),command:"git.copyContentToClipboard",arguments:[e]}]}function xl(i,e){return i.map(t=>({...t,arguments:[...t.arguments??[],e]}))}var Xn=require("vscode"),St={account:new Xn.ThemeIcon("account"),branch:new Xn.ThemeIcon("git-branch"),chatWorktree:new Xn.ThemeIcon("chat-sparkle"),head:new Xn.ThemeIcon("target"),remoteBranch:new Xn.ThemeIcon("cloud"),repository:new Xn.ThemeIcon("repo"),stash:new Xn.ThemeIcon("git-stash"),tag:new Xn.ThemeIcon("tag"),worktree:new Xn.ThemeIcon("worktree")};function NN(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 gd=class{constructor(e,t,r){this.historyItemDetailProviderRegistry=e;this.repository=t;this.logger=r;this.disposables.push(vt.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration)),this.onDidChangeConfiguration();let n=Ye(t.onDidRunOperation,o=>!o.operation.readOnly);this.disposables.push(n(this.onDidRunWriteOperation,this)),this.disposables.push(vt.window.registerFileDecorationProvider(this))}historyItemDetailProviderRegistry;repository;logger;_onDidChangeDecorations=new vt.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 vt.EventEmitter;onDidChangeCurrentHistoryItemRefs=this._onDidChangeCurrentHistoryItemRefs.event;_onDidChangeHistoryItemRefs=new vt.EventEmitter;onDidChangeHistoryItemRefs=this._onDidChangeHistoryItemRefs.event;_HEAD;_historyItemRefs=[];commitShortHashLength=7;historyItemDecorations=new Map;disposables=[];onDidChangeConfiguration(e){if(e&&!e.affectsConfiguration("git.commitShortHashLength"))return;let t=vt.workspace.getConfiguration("git",vt.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=GD(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:St.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:St.remoteBranch}: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:St.remoteBranch}: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&&vt.commands.executeCommand("setContext","git.currentHistoryItemIsAhead",(this.repository.HEAD?.ahead??0)>0),this._HEAD?.behind!==this.repository.HEAD?.behind&&vt.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:St.head},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),f=u.parents.length>0?u.parents[0]:await this.repository.getEmptyTree();n={...n,range:`${f}..`}}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 Qs(this.historyItemDetailProviderRegistry,this.repository,a),c=await Dl(this.historyItemDetailProviderRegistry,this.repository)??[];await qs();let l=[];for(let u of o){let f=Ko(u.message),m=await Xs(this.historyItemDetailProviderRegistry,this.repository,f)??f,h=s?.get(u.hash),p=this._resolveHistoryItemRefs(u),y=[Sl(vt.Uri.file(this.repository.root),u.hash),xl(c,u.hash)],v=NR(h,u.authorName,u.authorEmail,u.authorDate??u.commitDate,m,u.shortStat,y,u.coAuthors);l.push({id:u.hash,parentIds:u.parents,subject:sd(f),message:m,author:u.authorName,authorEmail:u.authorEmail,authorIcon:h?vt.Uri.parse(h):St.account,displayId:Ei(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:v})}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,...zs(a,t,e)});let c=Ve.getStatusLetter(a.status),l=Ve.getStatusText(a.status),u=Ve.getStatusColor(a.status),f=new vt.FileDecoration(c,l,u);this.historyItemDecorations.set(s.toString(),f),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 Qs(this.historyItemDetailProviderRegistry,this.repository,n);await qs();let a=Ko(r.message),s=await Xs(this.historyItemDetailProviderRegistry,this.repository,a)??a,c=a.indexOf(`
`),l=c!==-1?`${Ei(a,c,!1)}`:a,u=o?.get(r.hash),f=this._resolveHistoryItemRefs(r);return{id:r.hash,parentIds:r.parents,subject:l,message:s,author:r.authorName,authorEmail:r.authorEmail,authorIcon:u?vt.Uri.parse(u):St.account,displayId:Ei(r.hash,this.commitShortHashLength,!1),timestamp:r.authorDate?.getTime(),statistics:r.shortStat??{files:0,insertions:0,deletions:0},references:f.length!==0?f: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:vt.l10n.t("branches"),icon:St.head});break;case r.startsWith("refs/heads/"):t.push({id:r,name:r.substring(11),revision:e.hash,category:vt.l10n.t("branches"),icon:St.branch});break;case r.startsWith("refs/remotes/"):t.push({id:r,name:r.substring(13),revision:e.hash,category:vt.l10n.t("remote branches"),icon:St.remoteBranch});break;case r.startsWith("tag: refs/tags/"):t.push({id:r.substring(5),name:r.substring(15),revision:e.hash,category:vt.l10n.t("tags"),icon:St.tag});break}return t.sort(NN)}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?vt.l10n.t("Remote branch at {0}",Ei(e.commit,this.commitShortHashLength,!1)):void 0,revision:e.commit,icon:St.remoteBranch,category:vt.l10n.t("remote branches")};case de.Tag:return{id:`refs/tags/${e.name}`,name:e.name??"",description:e.commit?vt.l10n.t("Tag at {0}",Ei(e.commit,this.commitShortHashLength,!1)):void 0,revision:e.commit,icon:St.tag,category:vt.l10n.t("tags")};default:return{id:`refs/heads/${e.name}`,name:e.name??"",description:e.commit?Ei(e.commit,this.commitShortHashLength,!1):void 0,revision:e.commit,icon:St.branch,category:vt.l10n.t("branches")}}}dispose(){Le(this.disposables)}};D([Nr],gd.prototype,"onDidRunWriteOperation",1);var ut=require("vscode");var Zm=class{constructor(e){this._repositoryResolver=e}_repositoryResolver;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"),f=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..."),f=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:f}]}},ep=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()))})}globalState;repository;postCommitCommandsProviderRegistry;_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 Jt(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 Jt(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=Le(this.disposables)}};var qt=require("vscode");var Fv=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)}repository;_onDidChange=new qt.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?` (${qt.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?qt.l10n.t("Checking Out Branch/Tag..."):this.state.isCommitRunning?qt.l10n.t("Committing Changes..."):this.state.isSyncRunning?qt.l10n.t("Synchronizing Changes..."):qt.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())}},Bv=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),fi(t.onDidAddRemoteSourcePublisher,t.onDidRemoveRemoteSourcePublisher)(this.onDidChangeRemoteSourcePublishers,this,this.disposables),Ye(qt.workspace.onDidChangeConfiguration,n=>n.affectsConfiguration("git.enableStatusBarSync"))(this.updateEnablement,this,this.disposables),this.updateEnablement()}repository;remoteSourcePublisherRegistry;_onDidChange=new qt.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=qt.workspace.getConfiguration("git",qt.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?qt.l10n.t("Checking Out Changes..."):this.state.isCommitRunning?qt.l10n.t("Committing Changes..."):this.state.remoteSourcePublishers.length===1?qt.l10n.t("Publish to {0}",this.state.remoteSourcePublishers[0].name):qt.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=qt.l10n.t("Publish Branch")):(n="",o=""),this.state.isCheckoutRunning&&(n="",o=qt.l10n.t("Checking Out Changes...")),this.state.isCommitRunning&&(n="",o=qt.l10n.t("Committing Changes...")),this.state.isSyncRunning&&(t="$(sync~spin)",n="",o=qt.l10n.t("Synchronizing Changes...")),{command:n,title:[t,r].join(" ").trim(),tooltip:o,arguments:[this.repository.sourceControl]}}dispose(){this.disposables.forEach(e=>e.dispose())}},tp=class{constructor(e,t){this.repository=e;this.syncStatusBar=new Bv(e,t),this.checkoutStatusBar=new Fv(e),this.onDidChange=fi(this.syncStatusBar.onDidChange,this.checkoutStatusBar.onDidChange)}repository;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=Le(this.disposables)}};var rp=require("vscode");function Gv(i){let e=rp.workspace.createFileSystemWatcher(new rp.RelativePattern(i,"*"));return new class{event=fi(e.onDidCreate,e.onDidChange,e.onDidDelete);dispose(){e.dispose()}}}var Ri=require("vscode");function FR(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 ON(i,e){return i.main&&!e.main?-1:!i.main&&e.main?1:i.name.localeCompare(e.name)}var ip=class{constructor(e,t){this.repository=e;this.logger=t;if(Ri.workspace.isAgentSessionsWorkspace){this._groups=[];return}this._groups=[{id:"branches",name:Ri.l10n.t("Branches"),icon:St.branch,supportsFolders:!0},{id:"stashes",name:Ri.l10n.t("Stashes"),icon:St.stash,supportsFolders:!1},{id:"tags",name:Ri.l10n.t("Tags"),icon:St.tag,supportsFolders:!0},{id:"worktrees",name:Ri.l10n.t("Worktrees"),icon:St.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=Ye(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"])}))}repository;logger;_onDidChangeArtifacts=new Ri.EventEmitter;onDidChangeArtifacts=this._onDidChangeArtifacts.event;_groups;_disposables=[];provideArtifactGroups(){return this._groups}async provideArtifacts(e){let r=Ri.workspace.getConfiguration("git",Ri.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(FR).map(o=>({id:`refs/heads/${o.name}`,name:o.name??o.commit??"",description:bl([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?St.head:St.branch,timestamp:o.commitDetails?.commitDate?.getTime()}));if(e==="tags")return(await this.repository.getRefs({pattern:"refs/tags",includeCommitDetails:!0,sort:"creatordate"})).sort(FR).map(o=>({id:`refs/tags/${o.name}`,name:o.name??o.commit??"",description:bl([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?St.head:St.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:St.stash,timestamp:o.commitDate?.getTime(),command:{title:Ri.l10n.t("View Stash"),command:"git.repositories.stashView"}}));if(e==="worktrees")return(await this.repository.getWorktreeDetails()).sort(ON).map(o=>({id:o.path,name:o.name,description:bl([o.detached?Ri.l10n.t("detached"):o.ref.substring(11),o.commitDetails?.hash.substring(0,r),o.commitDetails?.message.split(`
`)[0]]).join(" \u2022 "),icon:o.main?St.repository:ud(o.path)?St.chatWorktree:St.worktree}))}catch(n){return this.logger.error(`[GitArtifactProvider][provideArtifacts] Error while providing artifacts for group '${e}': `,n),[]}return[]}dispose(){Le(this._disposables)}};function ka(i,e){return/\]\(|command:/i.test(i)?e:i}var jo=require("vscode");var np=class{constructor(e,t,r){this.repository=e;this.repositoryResolver=t;this.logger=r}repository;repositoryResolver;logger;label=jo.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(Wt(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 jo.workspace.fs.stat(e)).type&jo.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=>tt(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=>tt(o.resourceUri.path,e.path))||this.repository.workingTreeGroup.resourceStates.some(o=>tt(o.resourceUri.path,e.path)&&o.type===w.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=je(e,"",{replaceFileExtension:!0});return this.logger.trace(`[Repository][provideOriginalResource] Original resource: ${n.toString()}`),n}},op=class{constructor(e,t){this._repository=e;this.logger=t}_repository;logger;label=jo.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 jo.workspace.fs.stat(e)).type&jo.FileType.SymbolicLink)!==0){this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource is a symbolic link: ${e.toString()}`);return}if(!this._repository.indexGroup.resourceStates.some(n=>tt(n.resourceUri.fsPath,e.fsPath))){this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource is not part of a index group: ${e.toString()}`);return}let r=je(e,"HEAD",{replaceFileExtension:!0});return this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Original resource: ${r.toString()}`),r}};function Uv(i){return i.filter(e=>!/[\r\n]/.test(e))}function BR(i,e,t,r,n=[]){let o=ap(i);if(o.length===0)return[];let a=new Set(ap(e)),s=new Set(ap(t).filter(y=>y.endsWith("/"))),c=new Set(ap(r)),l=new Set(n.map(y=>y.endsWith("/")?y:`${y}/`)),u=new Set;for(let y of c){let v=y.indexOf("/");for(;v!==-1;)u.add(y.slice(0,v+1)),v=y.indexOf("/",v+1)}let f=[],m=new Set;for(let y of o)if(a.has(y)&&Hv(y,l)===void 0&&!MN(y,c,u))f.push(y);else if(s.size>0){let v=Hv(y,s);v!==void 0&&m.add(v)}if(f.length===0)return[];let h=new Set;for(let y of s)m.has(y)||h.add(y);let p=h.size>0?f.filter(y=>Hv(y,h)===void 0):f;return[...Array.from(h,y=>y.slice(0,-1)),...p]}function ap(i){return(i??"").split("\0").filter(e=>e.length>0)}function Hv(i,e){let t=i.indexOf("/");for(;t!==-1;){let r=i.slice(0,t+1);if(e.has(r))return r;t=i.indexOf("/",t+1)}}function MN(i,e,t){if(e.has(i)||t.has(`${i}/`))return!0;let r=i.indexOf("/");for(;r!==-1;){if(e.has(i.slice(0,r)))return!0;r=i.indexOf("/",r+1)}return!1}var Zn=ze(require("fs/promises")),eo=ze(require("path"));function HR(i,e){let t=new Set(yd(e)),r=new Set;for(let n of yd(i)){if(!t.has(n))continue;let o=n.lastIndexOf("/");for(;o!==-1;)r.add(n.slice(0,o)),o=n.lastIndexOf("/",o-1)}return Array.from(r)}function UR(i,e,t,r){let n=new Set(yd(e)),o=new Set(yd(t)),a=new Set(yd(r).filter(l=>l.endsWith("/"))),s=i.filter(l=>n.has(`${l}/`)&&o.has(`${l}/`)&&GR(l,a)),c=new Set(s.map(l=>`${l}/`));return s.filter(l=>!GR(l,c,!1))}async function WR(i,e,t){t=t.split("/").join(eo.sep);let r=eo.join(i,t),n=eo.join(e,t),[o,a]=await Promise.all([Zn.realpath(r),Zn.realpath(e)]);if(Wt(o,a))return"sourceContainsWorktree";await LN(e,t);try{return await Zn.lstat(n),"targetExists"}catch(s){if(s.code!=="ENOENT")throw s}return await Zn.mkdir(eo.dirname(n),{recursive:!0}),await Zn.symlink(r,n,process.platform==="win32"?"junction":"dir"),"created"}async function LN(i,e){let t=eo.dirname(e);if(t===".")return;let r=i;for(let n of t.split(eo.sep)){r=eo.join(r,n);try{let o=await Zn.lstat(r);if(o.isSymbolicLink())throw new Error(`Cannot create worktree symlink because target parent '${r}' is a symbolic link.`);if(!o.isDirectory())throw new Error(`Cannot create worktree symlink because target parent '${r}' is not a directory.`)}catch(o){if(o.code==="ENOENT")return;throw o}}}function yd(i){return i.split("\0").filter(e=>e.length>0)}function GR(i,e,t=!0){let r=t?i.length:i.lastIndexOf("/");for(;r>0;){if(e.has(`${i.slice(0,r)}/`))return!0;r=i.lastIndexOf("/",r-1)}return!1}var YR=i=>new Promise(e=>setTimeout(e,i)),FN=He.join(He.dirname(__dirname),"resources","icons");function Or(i,e){return _.Uri.file(He.join(FN,e,`${i}.svg`))}var _t=class _t{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}_commandResolver;_resourceGroupType;_resourceUri;_type;_useIcons;_renameResourceUri;_repositoryKind;static getStatusLetter(e){switch(e){case w.INDEX_MODIFIED:case w.MODIFIED:return"M";case w.INDEX_ADDED:case w.INTENT_TO_ADD:return"A";case w.INDEX_DELETED:case w.DELETED:return"D";case w.INDEX_RENAMED:case w.INTENT_TO_RENAME:return"R";case w.TYPE_CHANGED:return"T";case w.UNTRACKED:return"U";case w.IGNORED:return"I";case w.INDEX_COPIED:return"C";case w.BOTH_DELETED:case w.ADDED_BY_US:case w.DELETED_BY_THEM:case w.ADDED_BY_THEM:case w.DELETED_BY_US:case w.BOTH_ADDED:case w.BOTH_MODIFIED:return"!";default:throw new Error("Unknown git status: "+e)}}static getStatusText(e){switch(e){case w.INDEX_MODIFIED:return _.l10n.t("Index Modified");case w.MODIFIED:return _.l10n.t("Modified");case w.INDEX_ADDED:return _.l10n.t("Index Added");case w.INDEX_DELETED:return _.l10n.t("Index Deleted");case w.DELETED:return _.l10n.t("Deleted");case w.INDEX_RENAMED:return _.l10n.t("Index Renamed");case w.INDEX_COPIED:return _.l10n.t("Index Copied");case w.UNTRACKED:return _.l10n.t("Untracked");case w.IGNORED:return _.l10n.t("Ignored");case w.INTENT_TO_ADD:return _.l10n.t("Intent to Add");case w.INTENT_TO_RENAME:return _.l10n.t("Intent to Rename");case w.TYPE_CHANGED:return _.l10n.t("Type Changed");case w.BOTH_DELETED:return _.l10n.t("Conflict: Both Deleted");case w.ADDED_BY_US:return _.l10n.t("Conflict: Added By Us");case w.DELETED_BY_THEM:return _.l10n.t("Conflict: Deleted By Them");case w.ADDED_BY_THEM:return _.l10n.t("Conflict: Added By Them");case w.DELETED_BY_US:return _.l10n.t("Conflict: Deleted By Us");case w.BOTH_ADDED:return _.l10n.t("Conflict: Both Added");case w.BOTH_MODIFIED:return _.l10n.t("Conflict: Both Modified");default:return""}}static getStatusColor(e){switch(e){case w.INDEX_MODIFIED:return new _.ThemeColor("gitDecoration.stageModifiedResourceForeground");case w.MODIFIED:case w.TYPE_CHANGED:return new _.ThemeColor("gitDecoration.modifiedResourceForeground");case w.INDEX_DELETED:return new _.ThemeColor("gitDecoration.stageDeletedResourceForeground");case w.DELETED:return new _.ThemeColor("gitDecoration.deletedResourceForeground");case w.INDEX_ADDED:case w.INTENT_TO_ADD:return new _.ThemeColor("gitDecoration.addedResourceForeground");case w.INDEX_COPIED:case w.INDEX_RENAMED:case w.INTENT_TO_RENAME:return new _.ThemeColor("gitDecoration.renamedResourceForeground");case w.UNTRACKED:return new _.ThemeColor("gitDecoration.untrackedResourceForeground");case w.IGNORED:return new _.ThemeColor("gitDecoration.ignoredResourceForeground");case w.BOTH_DELETED:case w.ADDED_BY_US:case w.DELETED_BY_THEM:case w.ADDED_BY_THEM:case w.DELETED_BY_US:case w.BOTH_ADDED:case w.BOTH_MODIFIED:return new _.ThemeColor("gitDecoration.conflictingResourceForeground");default:throw new Error("Unknown git status: "+e)}}get resourceUri(){return this.renameResourceUri&&(this._type===w.MODIFIED||this._type===w.DELETED||this._type===w.INDEX_RENAMED||this._type===w.INDEX_COPIED||this._type===w.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:Or("status-modified","light"),Added:Or("status-added","light"),Deleted:Or("status-deleted","light"),Renamed:Or("status-renamed","light"),Copied:Or("status-copied","light"),Untracked:Or("status-untracked","light"),Ignored:Or("status-ignored","light"),Conflict:Or("status-conflict","light"),TypeChanged:Or("status-type-changed","light")},dark:{Modified:Or("status-modified","dark"),Added:Or("status-added","dark"),Deleted:Or("status-deleted","dark"),Renamed:Or("status-renamed","dark"),Copied:Or("status-copied","dark"),Untracked:Or("status-untracked","dark"),Ignored:Or("status-ignored","dark"),Conflict:Or("status-conflict","dark"),TypeChanged:Or("status-type-changed","dark")}};getIconPath(e){switch(this.type){case w.INDEX_MODIFIED:return _t.Icons[e].Modified;case w.MODIFIED:return _t.Icons[e].Modified;case w.INDEX_ADDED:return _t.Icons[e].Added;case w.INDEX_DELETED:return _t.Icons[e].Deleted;case w.DELETED:return _t.Icons[e].Deleted;case w.INDEX_RENAMED:return _t.Icons[e].Renamed;case w.INDEX_COPIED:return _t.Icons[e].Copied;case w.UNTRACKED:return _t.Icons[e].Untracked;case w.IGNORED:return _t.Icons[e].Ignored;case w.INTENT_TO_ADD:return _t.Icons[e].Added;case w.INTENT_TO_RENAME:return _t.Icons[e].Renamed;case w.TYPE_CHANGED:return _t.Icons[e].TypeChanged;case w.BOTH_DELETED:return _t.Icons[e].Conflict;case w.ADDED_BY_US:return _t.Icons[e].Conflict;case w.DELETED_BY_THEM:return _t.Icons[e].Conflict;case w.ADDED_BY_THEM:return _t.Icons[e].Conflict;case w.DELETED_BY_US:return _t.Icons[e].Conflict;case w.BOTH_ADDED:return _t.Icons[e].Conflict;case w.BOTH_MODIFIED:return _t.Icons[e].Conflict;default:throw new Error("Unknown git status: "+this.type)}}get tooltip(){return _t.getStatusText(this.type)}get strikeThrough(){switch(this.type){case w.DELETED:case w.BOTH_DELETED:case w.DELETED_BY_THEM:case w.DELETED_BY_US:case w.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 _t.getStatusLetter(this.type)}get color(){return _t.getStatusColor(this.type)}get priority(){switch(this.type){case w.INDEX_MODIFIED:case w.MODIFIED:case w.INDEX_COPIED:case w.TYPE_CHANGED:return 2;case w.IGNORED:return 3;case w.BOTH_DELETED:case w.ADDED_BY_US:case w.DELETED_BY_THEM:case w.ADDED_BY_THEM:case w.DELETED_BY_US:case w.BOTH_ADDED:case w.BOTH_MODIFIED:return 4;default:return 1}}get resourceDecoration(){let e=new _.FileDecoration(this.letter,this.tooltip,this.color);return e.propagate=this.type!==w.DELETED&&this.type!==w.INDEX_DELETED,e}async open(){let e=this.command;await _.commands.executeCommand(e.command,...e.arguments||[])}async openFile(){let e=this._commandResolver.resolveFileCommand(this);await _.commands.executeCommand(e.command,...e.arguments||[])}async openChange(){let e=this._commandResolver.resolveChangeCommand(this);await _.commands.executeCommand(e.command,...e.arguments||[])}async compareWithWorkspace(){let e=this._commandResolver.resolveCompareWithWorkspaceCommand(this);await _.commands.executeCommand(e.command,...e.arguments||[])}clone(e){return new _t(this._commandResolver,e??this._resourceGroupType,this._resourceUri,this._type,this._useIcons,this._renameResourceUri,this._repositoryKind)}};D([xn],_t.prototype,"resourceUri",1),D([xn],_t.prototype,"command",1),D([xn],_t.prototype,"resources",1),D([xn],_t.prototype,"faded",1);var Ve=_t,$v=class{constructor(e){this.repository=e;Ye(_.workspace.onDidChangeConfiguration,r=>r.affectsConfiguration("git",_.Uri.file(this.repository.root)))(r=>this.updateEnablement(),null,this.disposables),this.updateEnablement(),_.workspace.isAgentSessionsWorkspace||this.repository.onDidChangeOperations(()=>{this.repository.sourceControl.inputBox.enabled=!this.repository.operations.isRunning("Commit")},null,this.disposables)}repository;enabled=!1;disposable=Dn;disposables=[];updateEnablement(){_.workspace.getConfiguration("git",_.Uri.file(this.repository.root)).get("showProgress")===!0&&!_.workspace.isAgentSessionsWorkspace?this.enable():this.disable()}enable(){if(this.enabled)return;let e=Wo(Ye(this.repository.onDidChangeOperations,()=>this.repository.operations.shouldShowProgress())),t=Wo(Ye(OD(this.repository.onDidChangeOperations,300),()=>!this.repository.operations.shouldShowProgress())),r=()=>{this.disposable=e(()=>{let n=$i(t).then(()=>r());_.window.withProgress({location:_.ProgressLocation.SourceControl},()=>n)})};r(),this.enabled=!0}disable(){this.enabled&&(this.disposable.dispose(),this.disposable=Dn,this.enabled=!1)}dispose(){this.disable(),Le(this.disposables)}},Kv=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)}onWorkspaceWorkingTreeFileChange;onDotGitFileChange;logger;eventDisposable=Dn;logLevelDisposable=Dn;onDidChangeLogLevel(e){this.eventDisposable.dispose(),!(e>_.LogLevel.Debug)&&(this.eventDisposable=Ws([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()}},jv=class{constructor(e,t){this.repository=e;this.logger=t;let r=Gv(e.dotGit.path);this.disposables.push(r);let n=Ye(r.event,o=>o.scheme==="file"&&!/\/\.git(\/index\.lock|\/worktrees\/[^/]+\/index\.lock)?$|\/\.watchman-cookie-/.test(o.path));this.event=fi(n,this.emitter.event),e.onDidRunGitStatus(this.updateTransientWatchers,this,this.disposables),this.updateTransientWatchers()}repository;logger;event;emitter=new _.EventEmitter;transientDisposables=[];disposables=[];updateTransientWatchers(){if(this.transientDisposables=Le(this.transientDisposables),!this.repository.HEAD||!this.repository.HEAD.upstream)return;this.transientDisposables=Le(this.transientDisposables);let{name:e,remote:t}=this.repository.HEAD.upstream,r=He.join(this.repository.dotGit.commonPath??this.repository.dotGit.path,"refs","remotes",t,e);try{let n=Gv(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=Le(this.transientDisposables),this.disposables=Le(this.disposables)}},zv=class{constructor(e){this.repository=e}repository;resolveDefaultCommand(e){return _.workspace.getConfiguration("git",_.Uri.file(this.repository.root)).get("openDiffOnClick",!0)?this.resolveChangeCommand(e):this.resolveFileCommand(e)}resolveFileCommand(e){return{command:"vscode.open",title:_.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:_.l10n.t("Open"),arguments:[r,e.rightUri,n]};{let o=e.type===w.BOTH_MODIFIED;return e.rightUri&&_.workspace.getConfiguration("git").get("mergeEditor",!1)&&(o||e.type===w.BOTH_ADDED)?{command:this.repository.isWorktreeMigrating?"git.openWorktreeMergeEditor":"git.openMergeEditor",title:_.l10n.t("Open Merge"),arguments:[e.rightUri]}:{command:"vscode.open",title:_.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=He.dirname(this.repository.dotGit.commonPath),r=He.relative(this.repository.root,e.resourceUri.fsPath),n=He.join(t,r),o=Pn.existsSync(n)?_.Uri.file(n):void 0;return this.resolveChangeCommand(e,!0,o)}getResources(e){for(let n of this.repository.submodules)if(He.join(this.repository.root,n.path)===e.resourceUri.fsPath){let a=je(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 w.INDEX_MODIFIED:case w.INDEX_RENAMED:case w.INTENT_TO_RENAME:case w.TYPE_CHANGED:return{original:je(e.original,"HEAD")};case w.MODIFIED:return{original:je(e.resourceUri,"~")};case w.DELETED_BY_US:case w.DELETED_BY_THEM:return{original:je(e.resourceUri,"~1")}}return{}}getRightResource(e){switch(e.type){case w.INDEX_MODIFIED:case w.INDEX_ADDED:case w.INDEX_COPIED:case w.INDEX_RENAMED:return{modified:je(e.resourceUri,"")};case w.INDEX_DELETED:case w.DELETED:return{original:je(e.resourceUri,"HEAD")};case w.DELETED_BY_US:return{original:je(e.resourceUri,"~3")};case w.DELETED_BY_THEM:return{original:je(e.resourceUri,"~2")};case w.MODIFIED:case w.UNTRACKED:case w.IGNORED:case w.INTENT_TO_ADD:case w.INTENT_TO_RENAME:case w.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 w.BOTH_ADDED:case w.BOTH_MODIFIED:return{modified:e.resourceUri}}return{}}getTitle(e){let t=He.basename(e.resourceUri.fsPath);switch(e.type){case w.INDEX_MODIFIED:case w.INDEX_RENAMED:case w.INDEX_ADDED:return _.l10n.t("{0} (Index)",t);case w.MODIFIED:case w.BOTH_ADDED:case w.BOTH_MODIFIED:return _.l10n.t("{0} (Working Tree)",t);case w.INDEX_DELETED:case w.DELETED:return _.l10n.t("{0} (Deleted)",t);case w.DELETED_BY_US:return _.l10n.t("{0} (Theirs)",t);case w.DELETED_BY_THEM:return _.l10n.t("{0} (Ours)",t);case w.UNTRACKED:return _.l10n.t("{0} (Untracked)",t);case w.INTENT_TO_ADD:case w.INTENT_TO_RENAME:return _.l10n.t("{0} (Intent to add)",t);case w.TYPE_CHANGED:return _.l10n.t("{0} (Type changed)",t);default:return""}}},ar=class ar{constructor(e,t,r,n,o,a,s,c,l,u,f){this.repository=e;this.repositoryResolver=t;this.pushErrorHandlerRegistry=r;this.branchProtectionProviderRegistry=a;this.globalState=c;this.logger=l;this.telemetryReporter=u;this.repositoryCache=f;this._operations=new $m(this.logger);let m=_.workspace.createFileSystemWatcher(new _.RelativePattern(_.Uri.file(e.root),"**"));this.disposables.push(m);let h=fi(m.onDidChange,m.onDidCreate,m.onDidDelete),p=Ye(h,B=>!/\.git($|\\|\/)/.test(cd(e.root,B.fsPath))),y;try{let B=new jv(this,l);y=B.event,this.disposables.push(B)}catch(B){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.
${B.stack||B}`),y=Ye(h,k=>/\.git($|\\|\/)/.test(k.path))}fi(p,y)(this.onFileChange,this,this.disposables),y(this._onDidChangeRepository.fire,this._onDidChangeRepository,this.disposables),this.disposables.push(new Kv(p,y,l));let S=_.workspace.isAgentSessionsWorkspace?void 0:e.kind==="submodule"?e.dotGit.superProjectPath:e.kind==="worktree"&&e.dotGit.commonPath?He.dirname(e.dotGit.commonPath):void 0,E=S?this.repositoryResolver.getRepository(S)?.sourceControl:void 0,R=e.kind==="submodule"?new _.ThemeIcon("archive"):e.kind==="worktree"?ud(e.root)?new _.ThemeIcon("chat-sparkle"):new _.ThemeIcon("worktree"):new _.ThemeIcon("repo");this._isHidden=_.workspace.workspaceFolders===void 0||e.kind==="worktree"&&ud(e.root)&&E!==void 0;let P=_.Uri.file(e.root);this._sourceControl=_.scm.createSourceControl("git","Git",P,R,this._isHidden,E),this._sourceControl.contextValue=e.kind;let L=e.dotGit.isBare?e.dotGit.commonPath:S;this._sourceControl.activeRepositoryName=e.kind==="worktree"&&L&&He.basename(L)||void 0,this._sourceControl.quickDiffProvider=new np(this,this.repositoryResolver,l),this._sourceControl.secondaryQuickDiffProvider=new op(this,l),this._historyProvider=new gd(s,this,l),this._sourceControl.historyProvider=this._historyProvider,this.disposables.push(this._historyProvider),this._artifactProvider=new ip(this,l),this._sourceControl.artifactProvider=this._artifactProvider,this.disposables.push(this._artifactProvider),this._sourceControl.acceptInputCommand={command:"git.commit",title:_.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",_.l10n.t("Merge Changes")),this._indexGroup=this._sourceControl.createResourceGroup("index",_.l10n.t("Staged Changes"),{multiDiffEditorEnableViewChanges:!0}),this._workingTreeGroup=this._sourceControl.createResourceGroup("workingTree",_.l10n.t("Changes"),{multiDiffEditorEnableViewChanges:!0}),this._untrackedGroup=this._sourceControl.createResourceGroup("untracked",_.l10n.t("Untracked Changes"),{multiDiffEditorEnableViewChanges:!0});let W=()=>{let B=_.workspace.getConfiguration("git",P);this.indexGroup.hideWhenEmpty=!B.get("alwaysShowStagedChangesResourceGroup")};Ye(_.workspace.onDidChangeConfiguration,B=>B.affectsConfiguration("git.alwaysShowStagedChangesResourceGroup",P))(W,this,this.disposables),W(),_.workspace.onDidChangeConfiguration(B=>{B.affectsConfiguration("git.mergeEditor")&&(this.mergeGroup.resourceStates=this.mergeGroup.resourceStates.map(k=>k.clone()))},void 0,this.disposables),Ye(_.workspace.onDidChangeConfiguration,B=>B.affectsConfiguration("git.branchSortOrder",P)||B.affectsConfiguration("git.untrackedChanges",P)||B.affectsConfiguration("git.ignoreSubmodules",P)||B.affectsConfiguration("git.openDiffOnClick",P)||B.affectsConfiguration("git.showActionButton",P)||B.affectsConfiguration("git.similarityThreshold",P))(()=>this.updateModelState(),this,this.disposables);let H=()=>{let B=_.workspace.getConfiguration("git",P);this._sourceControl.inputBox.visible=B.get("showCommitInput",!0)};if(Ye(_.workspace.onDidChangeConfiguration,B=>B.affectsConfiguration("git.showCommitInput",P))(H,this,this.disposables),H(),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),_.workspace.isTrusted)this.disposables.push(new hd(this,c));else{let B=_.workspace.onDidGrantWorkspaceTrust(()=>{B.dispose(),this.disposables.push(new hd(this,c))});this.disposables.push(B)}Ye(this.onDidRunOperation,B=>B.operation.kind==="Push"&&!B.error)(()=>{_.workspace.getConfiguration("git").get("showPushSuccessNotification")&&_.window.showInformationMessage(_.l10n.t("Successfully pushed."))},null,this.disposables);let I=Ye(this.branchProtectionProviderRegistry.onDidChangeBranchProtectionProviders,B=>tt(B.fsPath,P.fsPath));this.disposables.push(I(B=>this.updateBranchProtectionMatchers(B)));let re=new zm(P,this.logger);this.disposables.push(re),this.disposables.push(this.branchProtectionProviderRegistry.registerBranchProtectionProvider(P,re));let le=new tp(this,n);this.disposables.push(le),le.onDidChange(()=>this._sourceControl.statusBarCommands=le.commands,null,this.disposables),this._sourceControl.statusBarCommands=le.commands,this.commitCommandCenter=new ep(c,this,o),this.disposables.push(this.commitCommandCenter);let T=new Km(this,this.commitCommandCenter,this.logger);this.disposables.push(T),T.onDidChange(()=>this._sourceControl.actionButton=T.button,this,this.disposables),this._sourceControl.actionButton=T.button;let b=new $v(this);this.disposables.push(b),Ye(_.workspace.onDidChangeConfiguration,B=>B.affectsConfiguration("git.countBadge",P))(this.setCountBadge,this,this.disposables),this.setCountBadge()}repository;repositoryResolver;pushErrorHandlerRegistry;branchProtectionProviderRegistry;globalState;logger;telemetryReporter;repositoryCache;static WORKTREE_ROOT_STORAGE_KEY="worktreeRoot";_onDidChangeRepository=new _.EventEmitter;onDidChangeRepository=this._onDidChangeRepository.event;_onDidChangeState=new _.EventEmitter;onDidChangeState=this._onDidChangeState.event;_onDidChangeStatus=new _.EventEmitter;onDidRunGitStatus=this._onDidChangeStatus.event;_onDidChangeOriginalResource=new _.EventEmitter;onDidChangeOriginalResource=this._onDidChangeOriginalResource.event;_onRunOperation=new _.EventEmitter;onRunOperation=this._onRunOperation.event;_onDidRunOperation=new _.EventEmitter;onDidRunOperation=this._onDidRunOperation.event;_onDidChangeBranchProtection=new _.EventEmitter;onDidChangeBranchProtection=this._onDidChangeBranchProtection.event;get onDidChangeOperations(){return fi(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&&_.commands.executeCommand("setContext","gitRebaseInProgress",!!this._rebaseCommit)}get rebaseCommit(){return this._rebaseCommit}_mergeInProgress=!1;set mergeInProgress(e){this._mergeInProgress!==e&&(this._mergeInProgress=e,_.commands.executeCommand("setContext","gitMergeInProgress",e))}get mergeInProgress(){return this._mergeInProgress}_cherryPickInProgress=!1;set cherryPickInProgress(e){this._cherryPickInProgress!==e&&(this._cherryPickInProgress=e,_.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}_isUsingVirtualFileSystem=void 0;get isUsingVirtualFileSystem(){return this._isUsingVirtualFileSystem===!0}_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 zv(this);updateModelStateCancellationTokenSource;disposables=[];validateInput(e,t){if(this.isRepositoryHuge)return{message:_.l10n.t("Too many changes were detected. Only the first {0} changes will be shown below.",this.isRepositoryHuge.limit),type:_.SourceControlInputBoxValidationType.Warning};if(this.rebaseCommit&&this.rebaseCommit.message!==e)return{message:_.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:_.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(te.Config(!0),()=>this.repository.getConfigs("local"))}getConfig(e){return this.run(te.Config(!0),()=>this.repository.config("get","local",e))}getGlobalConfig(e){return this.run(te.Config(!0),()=>this.repository.config("get","global",e))}setConfig(e,t){return this.run(te.Config(!1),()=>this.repository.config("add","local",e,t))}unsetConfig(e){return this.run(te.Config(!1),()=>this.repository.config("unset","local",e))}log(e,t){let r=!e||e.silent!==!0;return this.run(te.Log(r),()=>this.repository.log(e,t))}logFile(e,t,r){return this.run(te.LogFile,()=>this.repository.logFile(e,t,r))}async status(){await this.run(te.Status)}async refresh(){await this.run(te.Refresh)}diff(e){return this.run(te.Diff,()=>this.repository.diff(e))}diffWithHEAD(e){return this.run(te.Diff,()=>this.repository.diffWithHEAD(e))}diffWithHEADShortStats(e){return this.run(te.Diff,()=>this.repository.diffWithHEADShortStats(e))}diffWith(e,t){return this.run(te.Diff,()=>this.repository.diffWith(e,t))}diffIndexWithHEAD(e){return this.run(te.Diff,()=>this.repository.diffIndexWithHEAD(e))}diffIndexWithHEADShortStats(e){return this.run(te.Diff,()=>this.repository.diffIndexWithHEADShortStats(e))}diffIndexWith(e,t){return this.run(te.Diff,()=>this.repository.diffIndexWith(e,t))}diffBlobs(e,t){return this.run(te.Diff,()=>this.repository.diffBlobs(e,t))}diffBetween(e,t,r){return this.run(te.Diff,()=>this.repository.diffBetween(e,t,r))}diffBetweenPatch(e,t,r){return this.run(te.Diff,()=>this.repository.diffBetweenPatch(`${e}...${t}`,{path:r}))}diffBetweenWithStats(e,t,r){if(e===this._EMPTY_TREE)return this.diffTrees(e,t);let o=_.workspace.getConfiguration("git",_.Uri.file(this.root)).get("similarityThreshold",50);return this.run(te.Diff,()=>this.repository.diffBetweenWithStats(`${e}...${t}`,{path:r,similarityThreshold:o}))}diffBetweenWithStats2(e,t){let n=_.workspace.getConfiguration("git",_.Uri.file(this.root)).get("similarityThreshold",50);return this.run(te.Diff,()=>this.repository.diffBetweenWithStats(e,{path:t,similarityThreshold:n}))}diffTrees(e,t){let n=_.workspace.getConfiguration("git",_.Uri.file(this.root)).get("similarityThreshold",50);return this.run(te.Diff,()=>this.repository.diffTrees(e,t,{similarityThreshold:n}))}getMergeBase(e,t,...r){return this.run(te.MergeBase,()=>this.repository.getMergeBase(e,t,...r))}async hashObject(e){return this.run(te.HashObject,()=>this.repository.hashObject(e))}async add(e,t){await this.run(te.Add(!this.optimisticUpdateEnabled()),async()=>{await this.repository.add(e.map(r=>r.fsPath),t),this.closeDiffEditors([],[...e.map(r=>r.fsPath)]),_.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(te.Remove,()=>this.repository.rm(e.map(t=>t.fsPath)))}async stage(e,t,r){await this.run(te.Stage,async()=>{let n=await _.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(te.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);_.commands.executeCommand("_aiEdits.clearAiContributions",t)},()=>{let r=_.workspace.getConfiguration("git",_.Uri.file(this.repository.root)).get("untrackedChanges"),n=r==="mixed"?2:3,o=e.length===0?this.indexGroup.resourceStates.map(f=>f.resourceUri.fsPath):e.map(f=>f.fsPath),a=[],s=[];for(let f of this.indexGroup.resourceStates)o.includes(f.resourceUri.fsPath)&&(f.type===w.INDEX_ADDED?s.push(f.clone(n)):a.push(f.clone(2)));let c=this.indexGroup.resourceStates.filter(f=>!o.includes(f.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 restore(e,t){await this.run(te.Restore(!this.optimisticUpdateEnabled()),async()=>{let r=[],n=[],o=[...this.indexGroup.resourceStates,...this.workingTreeGroup.resourceStates,...this.untrackedGroup.resourceStates];for(let a of e){let s=lv(o,c=>c.resourceUri.toString()===a.toString());if(!s){n.push(a.fsPath);continue}switch(s.type){case w.UNTRACKED:case w.IGNORED:r.push(a.fsPath);break;default:n.push(a.fsPath);break}}r.length>0&&await this._clean(r),n.length>0&&await this.repository.restore(n,t),this.closeDiffEditors([],[...r,...n]),_.commands.executeCommand("_aiEdits.clearAiContributions",e)})}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(te.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(te.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=_.workspace.getConfiguration("git",_.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(te.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=>_.Uri.file(o)):r.map(o=>_.Uri.file(o));_.commands.executeCommand("_chat.editSessions.accept",n),_.commands.executeCommand("_aiEdits.clearAiContributions",n)}static AI_CO_AUTHOR_TRAILER="Co-authored-by: Copilot <copilot@github.com>";async appendAICoAuthorTrailer(e,t,r){if(!e||_.workspace.getConfiguration("chat").get("disableAIFeatures",!1))return e;let a=_.workspace.getConfiguration("git",_.Uri.file(this.root)).get("addAICoAuthor","off");if(a==="off"||e.includes(ar.AI_CO_AUTHOR_TRAILER))return e;let s=t.length!==0?t.map(c=>_.Uri.file(c)):r.map(c=>_.Uri.file(c));if(s.length===0)return e;try{let c=a==="all"?"all":"chatAndAgent";if(await _.commands.executeCommand("_aiEdits.hasAiContributions",s,c))return`${e.trimEnd()}
${ar.AI_CO_AUTHOR_TRAILER}`}catch{}return e}commitOperationGetOptimisticResourceGroups(e){let t,r;return e.all==="tracked"?r=this.workingTreeGroup.resourceStates.filter(n=>n.type===w.UNTRACKED):e.all&&(t=r=[]),{indexGroup:[],mergeGroup:[],untrackedGroup:t,workingTreeGroup:r}}async clean(e){await this.run(te.Clean(!this.optimisticUpdateEnabled()),async()=>{let t=[],r=[],n=[],o=[...this.workingTreeGroup.resourceStates,...this.untrackedGroup.resourceStates];if(e.forEach(a=>{let s=a.fsPath;for(let u of this.submodules)if(He.join(this.root,u.path)===s){n.push(s);return}let c=a.toString(),l=lv(o,u=>u.resourceUri.toString()===c);if(l)switch(l.type){case w.UNTRACKED:case w.IGNORED:t.push(s);break;default:r.push(s);break}}),t.length>0&&await this._clean(t),r.length>0)try{await this.repository.checkout("",r)}catch(a){if(a.gitErrorCode!==X.BranchNotYetBorn)throw a}n.length>0&&await this.repository.updateSubmodules(n),this.closeDiffEditors([],[...t,...r]),_.commands.executeCommand("_aiEdits.clearAiContributions",e)},()=>{let t=e.map(o=>o.fsPath),r=this.workingTreeGroup.resourceStates.filter(o=>!t.includes(o.resourceUri.fsPath)),n=this.untrackedGroup.resourceStates.filter(o=>!t.includes(o.resourceUri.fsPath));return{workingTreeGroup:r,untrackedGroup:n}})}async _clean(e){let r=_.workspace.getConfiguration("git").get("discardUntrackedChangesToTrash",!0)&&!Tm&&!Im;if(e.length!==0)if(r)try{await _.workspace.fs.delete(_.Uri.file(e[0]),{useTrash:!0});let n=new Uo(5);await Promise.all(e.slice(1).map(o=>n.queue(async()=>await _.workspace.fs.delete(_.Uri.file(o),{useTrash:!0}))))}catch{let n=En?_.l10n.t("Failed to delete using the Recycle Bin. Do you want to permanently delete instead?"):_.l10n.t("Failed to delete using the Trash. Do you want to permanently delete instead?"),o=e.length===1?_.l10n.t("Delete File"):_.l10n.t("Delete All {0} Files",e.length);await _.window.showWarningMessage(n,{modal:!0},o)===o&&await this.repository.clean(e)}else await this.repository.clean(e)}closeDiffEditors(e,t,r=!1){if(!_.workspace.getConfiguration("git",_.Uri.file(this.root)).get("closeDiffOnOperation",!1)&&!r)return;function o(s){return!!(s.modified.scheme==="git"&&(e===void 0||e.some(c=>tt(c,s.modified.fsPath)))||s.modified.scheme==="file"&&s.original.scheme==="git"&&(t===void 0||t.some(c=>tt(c,s.modified.fsPath))))}let a=_.window.tabGroups.all.flatMap(s=>s.tabs).filter(({input:s})=>s instanceof _.TabInputTextDiff||s instanceof _.TabInputNotebookDiff?o(s):s instanceof _.TabInputTextMultiDiff?s.textDiffs.every(o):!1);_.window.tabGroups.close(a,!0)}async branch(e,t,r){await this.run(te.Branch,()=>this.repository.branch(e,t,r))}async deleteBranch(e,t){return this.run(te.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(te.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(te.Fetch(!0),async()=>this.repository.fetch(r))}catch(r){if(r.gitErrorCode===X.BranchFastForwardRejected)return;throw r}}async cherryPick(e){await this.run(te.CherryPick,()=>this.repository.cherryPick(e))}async cherryPickAbort(){await this.run(te.CherryPick,()=>this.repository.cherryPickAbort())}async move(e,t){await this.run(te.Move,()=>this.repository.move(e,t))}async getBranch(e){return await this.run(te.GetBranch,()=>this.repository.getBranch(e))}async getBranches(e={},t){return await this.run(te.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=_.workspace.getConfiguration("git").get("branchSortOrder");return n!=="alphabetically"&&n!=="committerdate"&&(n="alphabetically"),e={...e,sort:e?.sort??n},await this.run(te.GetRefs,()=>this.repository.getRefs(e,t))}async getWorktrees(){return await this.run(te.Worktree(!0),()=>this.repository.getWorktrees())}async getWorktreeDetails(){return this.run(te.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(te.GetRemoteRefs,()=>this.repository.getRemoteRefs(e,t))}async setBranchUpstream(e,t){await this.run(te.SetBranchUpstream,()=>this.repository.setBranchUpstream(e,t))}async merge(e){await this.run(te.Merge,()=>this.repository.merge(e))}async mergeAbort(){await this.run(te.MergeAbort,async()=>await this.repository.mergeAbort())}async rebase(e,t){await this.run(te.Rebase,()=>this.repository.rebase(e,t))}async tag(e){await this.run(te.Tag,()=>this.repository.tag(e))}async deleteTag(e){await this.run(te.DeleteTag,()=>this.repository.deleteTag(e))}async createWorktree(e){let t=this.globalState.get(`${ar.WORKTREE_ROOT_STORAGE_KEY}:${this.root}`),n=_.workspace.getConfiguration("git",_.Uri.file(this.root)).get("branchPrefix","");return await this.run(te.Worktree(!1),async()=>{let o,{path:a,commitish:s,branch:c,noTrack:l}=e||{};if(a===void 0&&c!==void 0&&(o=c.startsWith(n)?c.substring(n.length).replace(/\//g,"-"):c.replace(/\//g,"-"),a=t?He.join(t,o):He.join(He.dirname(this.root),`${He.basename(this.root)}.worktrees`,o)),this.worktrees.some(f=>tt(He.normalize(f.path),He.normalize(a)))){let f=0,m;do m=`${a}-${++f}`;while(this.worktrees.some(h=>tt(He.normalize(h.path),He.normalize(m))));a=m}await this.repository.addWorktree({path:a,commitish:s??"HEAD",branch:c,noTrack:l});let u=He.dirname(a);return t&&!tt(u,t)&&this.globalState.update(`${ar.WORKTREE_ROOT_STORAGE_KEY}:${this.root}`,u),this._setupWorktree(a).then(void 0,f=>{this.logger.warn(`[Repository][createWorktree] Failed to set up worktree '${a}': ${f}`)}),a})}async _setupWorktree(e){let t=await this._symlinkWorktreeFolders(e);await this._copyWorktreeIncludeFiles(e,t),await this._runWorktreeCreatedTasks(e)}async _symlinkWorktreeFolders(e){try{let t=await this._getWorktreeSymlinkFolders();if(t.length===0)return[];let r=performance.now(),n=new Map,o=[],a=[];for(let l of t)try{let u=await WR(this.root,e,l);n.set(u,(n.get(u)??0)+1),u==="created"&&o.push(l)}catch(u){a.push({directory:l,error:String(u)})}let s=n.get("created")??0;this.logger.info(`[Repository][_symlinkWorktreeFolders] Symlinked ${s}/${t.length} folder(s) to worktree. [${(performance.now()-r).toFixed(2)}ms]`);let c=["sourceContainsWorktree","targetExists"];for(let l of c){let u=n.get(l)??0;u>0&&this.logger.info(`[Repository][_symlinkWorktreeFolders] Skipped ${u} folder(s) (${l}).`)}if(a.length>0){_.window.showWarningMessage(_.l10n.t("Failed to create {0} worktree folder symlink(s).",a.length)),this.logger.warn(`[Repository][_symlinkWorktreeFolders] Failed to create ${a.length} worktree folder symlink(s).`);for(let l of a)this.logger.warn(` - ${l.directory}: ${l.error}`)}return o}catch(t){return this.logger.warn(`[Repository][_symlinkWorktreeFolders] Failed to symlink folders to worktree: ${t}`),[]}}async _getWorktreeSymlinkFolders(){let t=_.workspace.getConfiguration("git",_.Uri.file(this.root)).get("worktreeSymlinkFolders",[]),r=Uv(t);if(r.length!==t.length&&this.logger.warn(`[Repository][_getWorktreeSymlinkFolders] Ignoring ${t.length-r.length} pattern(s) containing line breaks.`),r.length===0)return[];let n=await Si.mkdtemp(He.join(Wv.tmpdir(),"vscode-git-worktree-symlink-")),o=He.join(n,"patterns");try{await Si.writeFile(o,r.join(`
`)+`
`,"utf8");let a=async(v,S,E,R=!1)=>{try{return(await this.repository.git.exec(v,S,{input:E})).stdout}catch(P){if(R&&P instanceof Yt&&P.exitCode===1)return"";this.logger.warn(`[Repository][_getWorktreeSymlinkFolders] Failed to execute 'git ${S.join(" ")}': ${P}`);return}},s=["ls-files","--others","--ignored","-z"],[c,l,u]=await Promise.all([a(this.root,[...s,"--exclude-standard"]),a(this.root,[...s,`--exclude-from=${o}`]),a(this.root,[...s,"--exclude-standard","--directory"])]);if(c===void 0||l===void 0||u===void 0)return[];let f=HR(c,l);if(f.length===0)return[];let m=He.join(n,"matcher");if(await Si.mkdir(m),await a(m,["init","--quiet"])===void 0)return[];let h=f.map(v=>`${v}/`).join("\0"),[p,y]=await Promise.all([a(this.root,["check-ignore","--no-index","-z","--stdin"],h,!0),a(m,["-c",`core.excludesFile=${o}`,"check-ignore","--no-index","-z","--stdin"],h,!0)]);return p===void 0||y===void 0?[]:UR(f,p,y,u)}finally{try{await Si.rm(n,{recursive:!0,force:!0})}catch{}}}async _runWorktreeCreatedTasks(e){try{let r=(await _.tasks.fetchTasks()).filter(n=>n.runOptions.runOn===_.TaskRunOn.WorktreeCreated);for(let n of r){let o=BN(n,e);if(!o){this.logger.warn(`[Repository][_runWorktreeCreatedTasks] Skipped task '${n.name}' because it could not be retargeted to worktree '${e}'.`);continue}_.tasks.executeTask(o).then(void 0,a=>{this.logger.warn(`[Repository][_runWorktreeCreatedTasks] Failed to execute worktree-created task '${n.name}' for '${e}': ${a}`)})}}catch(t){this.logger.warn(`[Repository][_runWorktreeCreatedTasks] Failed to execute worktree-created tasks for '${e}': ${t}`)}}async _getWorktreeIncludePaths(e,t){let n=_.workspace.getConfiguration("git",_.Uri.file(this.root)).get("worktreeIncludeFiles",[]),o=Uv(n);if(o.length!==n.length&&this.logger.warn(`[Repository][_getWorktreeIncludePaths] Ignoring ${n.length-o.length} pattern(s) containing line breaks.`),o.length===0)return[];let a=await Si.mkdtemp(He.join(Wv.tmpdir(),"vscode-git-worktree-include-")),s=He.join(a,"patterns");try{await Si.writeFile(s,o.join(`
`)+`
`,"utf8");let c=async(p,y)=>{try{return(await this.repository.git.exec(p,y)).stdout}catch(v){this.logger.warn(`[Repository][_getWorktreeIncludePaths] Failed to execute 'git ${y.join(" ")}': ${v}`);return}},l=["ls-files","--others","--ignored","--exclude-standard","-z"],[u,f,m,h]=await Promise.all([c(this.root,l),c(this.root,[...l,"--directory","--no-empty-directory"]),c(this.root,["ls-files","--others","--ignored",`--exclude-from=${s}`,"-z"]),c(e,["ls-files","-z"])]);return u===void 0||m===void 0||h===void 0?[]:BR(u,m,f,h,t)}finally{try{await Si.rm(a,{recursive:!0,force:!0})}catch{}}}async _copyWorktreeIncludeFiles(e,t){try{let r=await this._getWorktreeIncludePaths(e,t);if(r.length===0)return;let n=performance.now(),o=new Uo(15),a=await Promise.allSettled(r.map(l=>o.queue(async()=>{let u=He.join(this.root,l),f=He.join(e,l);try{return await Si.lstat(f),!1}catch(m){if(m.code!=="ENOENT")throw m}return await Si.mkdir(He.dirname(f),{recursive:!0}),await(0,$R.cp)(u,f,{force:!0,recursive:!0,verbatimSymlinks:!0}),!0}))),s=a.filter(l=>l.status==="rejected"),c=a.filter(l=>l.status==="fulfilled"&&l.value).length;if(this.logger.info(`[Repository][_copyWorktreeIncludeFiles] Copied ${c}/${r.length} folder(s)/file(s) to worktree. [${(performance.now()-n).toFixed(2)}ms]`),s.length>0){_.window.showWarningMessage(_.l10n.t("Failed to copy {0} folder(s)/file(s) to the worktree.",s.length)),this.logger.warn(`[Repository][_copyWorktreeIncludeFiles] Failed to copy ${s.length} folder(s)/file(s) to worktree.`);for(let l of s)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(te.Worktree(!1),async()=>{let r=this.repositoryResolver.getRepository(e),n=async o=>{await this.repository.deleteWorktree(e,o),r?.dispose()};try{await n(t)}catch(o){if(o.gitErrorCode===X.WorktreeContainsChanges){let a=_.l10n.t("Force Delete"),s=t?.label?_.l10n.t('The worktree for session "{0}" contains modified or untracked files. Do you want to force delete?',t.label):_.l10n.t("The worktree contains modified or untracked files. Do you want to force delete?");await _.window.showWarningMessage(s,{modal:!0,detail:_.l10n.t("Worktree: {0}",e)},a)===a&&await n({...t,force:!0});return}throw o}})}async deleteRemoteRef(e,t,r){await this.run(te.DeleteRemoteRef,()=>this.repository.deleteRemoteRef(e,t,r))}async checkout(e,t){let r=t?.detached?$s(_.Uri.file(this.root),e):e;await this.run(te.Checkout(r),async()=>{if(t?.pullBeforeCheckout&&!t?.detached)try{await this.fastForwardBranch(e)}catch{}await this.repository.checkout(e,[],t),_.commands.executeCommand("_aiEdits.clearAllAiContributions")})}async checkoutTracking(e,t={}){let r=t.detached?$s(_.Uri.file(this.root),e):e;await this.run(te.CheckoutTracking(r),async()=>{await this.repository.checkout(e,[],{...t,track:!0}),_.commands.executeCommand("_aiEdits.clearAllAiContributions")})}async findTrackingBranches(e){return await this.run(te.FindTrackingBranches,()=>this.repository.findTrackingBranches(e))}async getCommit(e){return await this.repository.getCommit(e)}async showChanges(e){return await this.run(te.Log(!1),()=>this.repository.showChanges(e))}async showChangesBetween(e,t,r){return await this.run(te.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(te.Reset,async()=>{await this.repository.reset(e,t),t&&_.commands.executeCommand("_aiEdits.clearAllAiContributions")})}async resetKeep(e){await this.run(te.Reset,()=>this.repository.resetKeep(e))}async updateRef(e,t,r){await this.run(te.Branch,()=>this.repository.updateRef(e,t,r))}async deleteRef(e){await this.run(te.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(te.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(te.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(te.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=_.workspace.getConfiguration("git",_.Uri.file(this.root)).get("pruneOnFetch");e.prune=r}await this.run(te.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(te.Pull,async()=>{await this.maybeAutoStash(async()=>{let o=_.workspace.getConfiguration("git",_.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(te.Push,()=>this._push(r,n,void 0,void 0,t))}async pushTo(e,t,r=!1,n){await this.run(te.Push,()=>this._push(e,t,r,void 0,n))}async pushRefWithLease(e,t,r,n){await this.run(te.Push,()=>this.repository.pushRefWithLease(e,t,r,n))}async pushFollowTags(e,t){await this.run(te.Push,()=>this._push(e,void 0,!1,!0,t))}async pushTags(e,t){await this.run(te.Push,()=>this._push(e,void 0,!1,!1,t,!0))}async blame(e){return await this.run(te.Blame(!0),()=>this.repository.blame(e))}async blame2(e,t){return await this.run(te.Blame(!1),()=>{let n=_.workspace.getConfiguration("git",_.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(te.Sync,async()=>{await this.maybeAutoStash(async()=>{let a=_.workspace.getConfiguration("git",_.Uri.file(this.root)),s=a.get("autoStash"),c=a.get("fetchOnPull"),l=a.get("pullTags"),u=a.get("followTagsWhenSync"),f=a.get("supportCancellation"),m=async y=>{c&&await this.fetchAll({},y),await this.checkIfMaybeRebased(this.HEAD?.name)&&await this._pullAndHandleTagConflict(t,r,n,{tags:l,cancellationToken:y,autoStash:s})};if(f){let y={location:_.ProgressLocation.Notification,title:_.l10n.t("Syncing. Cancelling may cause serious damages to the repository"),cancellable:!0};await _.window.withProgress(y,(v,S)=>m(S))}else await m();let h=this.remotes.find(y=>y.name===r);if(h&&h.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=_.workspace.getConfiguration("git");if(t.get("ignoreRebaseWarning")===!0||!await this.run(te.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:_.l10n.t("Always Pull")},a={title:_.l10n.t("Pull")},s={title:_.l10n.t("Don't Pull")},c=await _.window.showWarningMessage(e?_.l10n.t('It looks like the current branch "{0}" might have been rebased. Are you sure you still want to pull into it?',e):_.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(te.Show,async()=>{try{let r=await this.repository.buffer(e,t);return await _.workspace.decode(r,{uri:_.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 _.workspace.decode(o,{uri:_.Uri.file(t)})}throw r}})}async buffer(e,t){return this.run(te.Show,()=>this.repository.buffer(e,t))}getObjectFiles(e){return this.run(te.GetObjectFiles,()=>this.repository.lstree(e))}getObjectDetails(e,t){return this.run(te.GetObjectDetails,()=>this.repository.getObjectDetails(e,t))}detectObjectType(e){return this.run(te.Show,()=>this.repository.detectObjectType(e))}async apply(e,t){return await this.run(te.Apply,()=>this.repository.apply(e,t))}async getStashes(){return this.run(te.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(te.Stash(!1),async()=>{await this.repository.createStash(e,t,r),this.closeDiffEditors(n,o)})}async popStash(e,t){return await this.run(te.Stash(!1),()=>this.repository.popStash(e,t))}async dropStash(e){return await this.run(te.Stash(!1),()=>this.repository.dropStash(e))}async applyStash(e,t){return await this.run(te.Stash(!1),()=>this.repository.applyStash(e,t))}async showStash(e){return await this.run(te.Stash(!0),()=>this.repository.showStash(e))}async getCommitTemplate(){return await this.run(te.GetCommitTemplate,async()=>this.repository.getCommitTemplate())}async ignore(e){return await this.run(te.Ignore,async()=>{let t=`${this.repository.root}${He.sep}.gitignore`,r=e.map(c=>cd(this.repository.root,c.fsPath).replace(/\\|\[/g,l=>l==="\\"?"/":`\\${l}`)).join(`
`),n=await new Promise(c=>Pn.exists(t,c))?await _.workspace.openTextDocument(t):await _.workspace.openTextDocument(_.Uri.file(t).with({scheme:"untitled"}));await _.window.showTextDocument(n);let o=new _.WorkspaceEdit,a=n.lineAt(n.lineCount-1),s=a.isEmptyOrWhitespace?`${r}
`:`
${r}
`;o.insert(n.uri,a.range.end,s),await _.workspace.applyEdit(o),await n.save()})}async rebaseAbort(){await this.run(te.RebaseAbort,async()=>await this.repository.rebaseAbort())}checkIgnore(e){return this.run(te.CheckIgnore,()=>new Promise((t,r)=>{if(e=e.filter(l=>Wt(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 Yt({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 Yt({stdout:a,stderr:c,exitCode:l,gitErrorCode:X.IsInSubmodule})):r(new Yt({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 Jt(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 Yt&&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){_.window.showWarningMessage(_.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 _.window.showInformationMessage(_.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=>He.relative(r.root,l.resourceUri.fsPath)),o=[...this.workingTreeGroup.resourceStates,...this.untrackedGroup.resourceStates].map(l=>He.relative(this.root,l.resourceUri.fsPath)),a=n.filter(l=>o.includes(l));if(a.length>0){let u=a.slice(0,5),f=a.length-5,m=u.join(`
`)+(f>0?_.l10n.t(`
and {0} more file{1}...`,f,f>1?"s":""):""),h=_.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.`,m);await _.window.showErrorMessage(h,{modal:!0});return}if(t?.confirmation){let l=_.l10n.t("Proceed with migrating changes to the current repository?"),u=_.l10n.t(`This will apply the worktree's changes to this repository and discard changes in the worktree.
This is IRREVERSIBLE!`),f=_.l10n.t("Proceed");if(await _.window.showWarningMessage(l,{modal:!0,detail:u},f)!==f)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=_.l10n.t("There are merge conflicts from migrating changes. Please resolve them before committing."),f=_.l10n.t("Show Changes");await _.window.showWarningMessage(u,f)===f&&await _.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 YR(Math.pow(r,2)*50);else throw n}}static KnownHugeFolderNames=["node_modules"];async findKnownHugeFolderPathsToIgnore(){let e=[];for(let r of ar.KnownHugeFolderNames){let n=He.join(this.repository.root,r);await new Promise(o=>Pn.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 _.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.initIsUsingVirtualFileSystem()]);(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[f,m]=await Promise.all([this.getStatus(t),this.getRefs({},t)]);this._refs=m,this._updateResourceGroupsState(f),this._onDidChangeStatus.fire()}catch(r){if(r instanceof _.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 _.CancellationError;let t=_.workspace.getConfiguration("git",_.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}),f=new Date().getTime()-s;this.isRepositoryHuge=u?{limit:o}:!1,u&&this.telemetryReporter.sendTelemetryEvent("statusLimit",{ignoreSubmodules:String(n)},{limit:o,statusLength:l,totalTime:f}),f>5e3&&this.telemetryReporter.sendTelemetryEvent("statusSlow",{ignoreSubmodules:String(n),didHitLimit:String(u),didWarnAboutLimit:String(this.didWarnAboutLimit)},{statusLength:l,totalTime:f}),this._sourceControl.inputBox.validateInput=this._sourceControl.inputBox.validateInput;let m=_.workspace.getConfiguration("git"),h=m.get("ignoreLimitWarning")===!0,p=!m.get("decorations.enabled",!0);if(u&&!h&&!this.didWarnAboutLimit){let R=await this.findKnownHugeFolderPathsToIgnore(),P=ka(_.l10n.t('The git repository at "{0}" has too many active changes, only a subset of Git features will be enabled.',this.repository.root),_.l10n.t("The git repository has too many active changes, only a subset of Git features will be enabled.")),L={title:_.l10n.t("Don't Show Again")};if(R.length>0){let W=R[0],K=He.basename(W),H=ka(_.l10n.t('Would you like to add "{0}" to .gitignore?',K),_.l10n.t("Would you like to add the large folder to .gitignore?")),$={title:_.l10n.t("Yes")},Y={title:_.l10n.t("No")};_.window.showWarningMessage(`${P} ${H}`,$,Y,L).then(I=>{I===$?this.ignore([_.Uri.file(W)]):(I===L&&m.update("ignoreLimitWarning",!0,!1),this.didWarnAboutLimit=!0)})}else{let W={title:_.l10n.t("OK")};_.window.showWarningMessage(P,W,L).then(K=>{K===L&&m.update("ignoreLimitWarning",!0,!1),this.didWarnAboutLimit=!0})}}let y=[],v=[],S=[],E=[];return c.forEach(R=>{let P=_.Uri.file(He.join(this.repository.root,R.path)),L=R.rename?_.Uri.file(He.join(this.repository.root,R.rename)):void 0;switch(R.x+R.y){case"??":switch(r){case"mixed":return E.push(new Ve(this.resourceCommandResolver,2,P,w.UNTRACKED,p,void 0,this.kind));case"separate":return S.push(new Ve(this.resourceCommandResolver,3,P,w.UNTRACKED,p));default:return}case"!!":switch(r){case"mixed":return E.push(new Ve(this.resourceCommandResolver,2,P,w.IGNORED,p,void 0,this.kind));case"separate":return S.push(new Ve(this.resourceCommandResolver,3,P,w.IGNORED,p));default:return}case"DD":return v.push(new Ve(this.resourceCommandResolver,0,P,w.BOTH_DELETED,p));case"AU":return v.push(new Ve(this.resourceCommandResolver,0,P,w.ADDED_BY_US,p));case"UD":return v.push(new Ve(this.resourceCommandResolver,0,P,w.DELETED_BY_THEM,p));case"UA":return v.push(new Ve(this.resourceCommandResolver,0,P,w.ADDED_BY_THEM,p));case"DU":return v.push(new Ve(this.resourceCommandResolver,0,P,w.DELETED_BY_US,p));case"AA":return v.push(new Ve(this.resourceCommandResolver,0,P,w.BOTH_ADDED,p));case"UU":return v.push(new Ve(this.resourceCommandResolver,0,P,w.BOTH_MODIFIED,p))}switch(R.x){case"M":y.push(new Ve(this.resourceCommandResolver,1,P,w.INDEX_MODIFIED,p,void 0,this.kind));break;case"A":y.push(new Ve(this.resourceCommandResolver,1,P,w.INDEX_ADDED,p,void 0,this.kind));break;case"D":y.push(new Ve(this.resourceCommandResolver,1,P,w.INDEX_DELETED,p,void 0,this.kind));break;case"R":y.push(new Ve(this.resourceCommandResolver,1,P,w.INDEX_RENAMED,p,L,this.kind));break;case"C":y.push(new Ve(this.resourceCommandResolver,1,P,w.INDEX_COPIED,p,L,this.kind));break}switch(R.y){case"M":E.push(new Ve(this.resourceCommandResolver,2,P,w.MODIFIED,p,L,this.kind));break;case"D":E.push(new Ve(this.resourceCommandResolver,2,P,w.DELETED,p,L,this.kind));break;case"A":E.push(new Ve(this.resourceCommandResolver,2,P,w.INTENT_TO_ADD,p,L,this.kind));break;case"R":E.push(new Ve(this.resourceCommandResolver,2,P,w.INTENT_TO_RENAME,p,L,this.kind));break;case"T":E.push(new Ve(this.resourceCommandResolver,2,P,w.TYPE_CHANGED,p,L,this.kind));break}}),{indexGroup:y,mergeGroup:v,untrackedGroup:S,workingTreeGroup:E}}setCountBadge(){let e=_.workspace.getConfiguration("git",_.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===w.UNTRACKED||o.type===w.IGNORED).length);break;case"all":r==="separate"&&(n+=this.untrackedGroup.resourceStates.length);break}this._sourceControl.count=n}async getRebaseCommit(){let e=He.join(this.repository.root,".git","REBASE_HEAD"),t=He.join(this.repository.root,".git","rebase-apply"),r=He.join(this.repository.root,".git","rebase-merge");try{let[n,o,a]=await Promise.all([new Promise(s=>Pn.exists(t,s)),new Promise(s=>Pn.exists(r,s)),new Promise((s,c)=>Pn.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=He.join(this.repository.root,".git","MERGE_HEAD");return new Promise(t=>Pn.exists(e,t))}isCherryPickInProgress(){let e=He.join(this.repository.root,".git","CHERRY_PICK_HEAD");return new Promise(t=>Pn.exists(e,t))}async maybeAutoStash(e){if(!(_.workspace.getConfiguration("git",_.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!==w.UNTRACKED&&n.type!==w.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(!_.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 YR(5e3)}async whenIdleAndFocused(){for(;;){if(!this.operations.isIdle()){await $i(this.onDidRunOperation);continue}if(!_.window.state.focused){let e=Ye(_.window.onDidChangeWindowState,t=>t.focused);await $i(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 _.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?_.l10n.t("Pull {0} commits from {1}/{2}",this.HEAD.behind,this.HEAD.upstream.remote,this.HEAD.upstream.name):this.HEAD.behind?_.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):_.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=_.l10n.t('Message ({0} to commit on "{1}")',"{0}",e):this._sourceControl.inputBox.placeholder=_.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,Yv.default)(a.include):void 0,c=a.exclude&&a.exclude.length!==0?(0,Yv.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 _.workspace.getConfiguration("git",_.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=_.workspace.getConfiguration("git",_.Uri.file(this.repository.root));if(!(n.get("replaceTagsWhenPull",!1)===!0)){let a=_.l10n.t("Replace Local Tag(s)"),s=_.l10n.t("Always Replace Local Tag(s)"),c=_.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 _.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=_.workspace.getConfiguration("git",_.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(oR),s.toLowerCase()==="animals"&&a.push(aR),s.toLowerCase()==="colors"&&a.push(sR),s.toLowerCase()==="numbers"&&a.push(Hm.generate({length:3}));if(a.length!==0)for(let s=0;s<5;s++){let c=nR({dictionaries:a,length:a.length,separator:n});if((await this.getRefs({pattern:`refs/heads/${r}${c}`})).length===0)return`${r}${c}`}}async initIsUsingVirtualFileSystem(){if(this._isUsingVirtualFileSystem===void 0)try{let e=await this.getConfig("core.virtualfilesystem");this._isUsingVirtualFileSystem=e.length>0}catch{this._isUsingVirtualFileSystem=!1;return}}dispose(){this.disposables=Le(this.disposables)}};D([xn],ar.prototype,"onDidChangeOperations",1),D([Nr],ar.prototype,"status",1),D([Nr],ar.prototype,"refresh",1),D([Nr],ar.prototype,"fastForwardBranch",1),D([Jm],ar.prototype,"getBranchBase",1),D([Nr],ar.prototype,"fetchDefault",1),D([Nr],ar.prototype,"fetchPrune",1),D([Nr],ar.prototype,"fetchAll",1),D([Nr],ar.prototype,"pullWithRebase",1),D([Nr],ar.prototype,"pull",1),D([Nr],ar.prototype,"push",1),D([Nr],ar.prototype,"sync",1),D([Qn(1e3)],ar.prototype,"eventuallyUpdateWhenIdleAndWait",1),D([Nr],ar.prototype,"updateWhenIdleAndWait",1);var Na=ar;function BN(i,e){let t=GN(i.execution,e);if(!t)return;let r={uri:_.Uri.file(e),name:He.basename(e),index:_.workspace.workspaceFolders?.length??0},n=new _.Task({...i.definition},r,i.name,i.source,t,i.problemMatchers);return n.detail=i.detail,n.group=i.group,n.isBackground=i.isBackground,n.presentationOptions={...i.presentationOptions,reveal:_.TaskRevealKind.Never,panel:_.TaskPanelKind.New},n.runOptions={...i.runOptions},n}function GN(i,e){if(i){if(i instanceof _.ProcessExecution)return new _.ProcessExecution(i.process,i.args,{...i.options,cwd:e});if(i instanceof _.ShellExecution){if(i.commandLine!==void 0)return new _.ShellExecution(i.commandLine,{...i.options,cwd:e});if(i.command!==void 0)return new _.ShellExecution(i.command,i.args??[],{...i.options,cwd:e})}return i}}var sr=ze(require("path")),_d=ze(require("fs"));var vd=require("vscode");var Vv=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},[Symbol.dispose](){},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},[Symbol.dispose](){},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},[Symbol.dispose](){},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)}},Jv=class extends Vv{_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))}},zo=class extends Jv{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}};function HN(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 sp=class i{constructor(e,t){this._globalState=e;this._logger=t;this.load()}_globalState;_logger;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 zo(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:vd.Uri.file(e),lastAccessTime:t}))}get _workspaceFile(){return vd.workspace.workspaceFile}get _workspaceFolders(){return vd.workspace.workspaceFolders}set(e,t){let r=this.normalizeRepoUrl(e),n=this.lru.get(r);n||(n=new zo(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(Wt(o,e)||Wt(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 zo(i.MAX_FOLDER_ENTRIES);for(let o of r){if(!Array.isArray(o)||o.length!==2)continue;let[a,s]=o;typeof a!="string"||!HN(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 Pl=class{constructor(e,t){this.repository=e;this.index=t}repository;index;get label(){return sr.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 j.ThemeIcon("archive");case"worktree":return new j.ThemeIcon("list-tree");default:return new j.ThemeIcon("repo")}}};D([xn],Pl.prototype,"label",1),D([xn],Pl.prototype,"description",1),D([xn],Pl.prototype,"iconPath",1);var qv=class{constructor(e){this.workspaceState=e;this._repositories=new Set(e.get("closedRepositories",[])),this.onDidChangeRepositories()}workspaceState;_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()]),j.commands.executeCommand("setContext","git.closedRepositoryCount",this._repositories.size)}},Qv=class{constructor(e){this.globalState=e;this.onDidChangeRepositories()}globalState;_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(){j.commands.executeCommand("setContext","git.parentRepositoryCount",this._repositories.size)}},Xv=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(){j.commands.executeCommand("setContext","git.unsafeRepositoryCount",this._repositories.size)}},Zs=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 qv(n),this._parentRepositoriesManager=new Qv(r),this._unsafeRepositoriesManager=new Xv,j.workspace.onDidChangeWorkspaceFolders(this.onDidChangeWorkspaceFolders,this,this.disposables),j.workspace.onDidChangeWorkspaceTrustedFolders(this.onDidChangeWorkspaceTrustedFolders,this,this.disposables),j.window.onDidChangeVisibleTextEditors(this.onDidChangeVisibleTextEditors,this,this.disposables),j.window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor,this,this.disposables),j.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration,this,this.disposables);let s=j.workspace.createFileSystemWatcher("**");this.disposables.push(s);let c=fi(s.onDidChange,s.onDidCreate,s.onDidDelete),l=Ye(c,f=>/\/\.git/.test(f.path));Ye(l,f=>!this.getRepository(f))(this.onPossibleGitRepositoryChange,this,this.disposables),this.setState("uninitialized"),this.doInitialScan().finally(()=>this.setState("initialized")),this._repositoryCache=new sp(r,o)}git;askpass;globalState;workspaceState;logger;telemetryReporter;_onDidOpenRepository=new j.EventEmitter;onDidOpenRepository=this._onDidOpenRepository.event;_onDidCloseRepository=new j.EventEmitter;onDidCloseRepository=this._onDidCloseRepository.event;_onDidChangeRepository=new j.EventEmitter;onDidChangeRepository=this._onDidChangeRepository.event;_onDidChangeOriginalResource=new j.EventEmitter;onDidChangeOriginalResource=this._onDidChangeOriginalResource.event;openRepositories=[];get repositories(){return this.openRepositories.map(e=>e.repository)}possibleGitRepositoryPaths=new Set;_onDidChangeState=new j.EventEmitter;onDidChangeState=this._onDidChangeState.event;_onDidPublish=new j.EventEmitter;onDidPublish=this._onDidPublish.event;firePublishEvent(e,t){this._onDidPublish.fire({repository:new Jt(e),branch:t})}_state="uninitialized";get state(){return this._state}setState(e){this._state=e,this._onDidChangeState.fire(e),j.commands.executeCommand("setContext","git.state",e)}get isInitialized(){return this._state==="initialized"?Promise.resolve():$i(Ye(this.onDidChangeState,e=>e==="initialized"))}remoteSourcePublishers=new Set;_onDidAddRemoteSourcePublisher=new j.EventEmitter;onDidAddRemoteSourcePublisher=this._onDidAddRemoteSourcePublisher.event;_onDidRemoveRemoteSourcePublisher=new j.EventEmitter;onDidRemoveRemoteSourcePublisher=this._onDidRemoveRemoteSourcePublisher.event;postCommitCommandsProviders=new Set;_onDidChangePostCommitCommandsProviders=new j.EventEmitter;onDidChangePostCommitCommandsProviders=this._onDidChangePostCommitCommandsProviders.event;branchProtectionProviders=new Map;_onDidChangeBranchProtectionProviders=new j.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}_initialStatusLimiter=new Uo(5);disposables=[];async doInitialScan(){this.logger.info("[Model][doInitialScan] Initial repository scan started");let e=j.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:j.workspace.workspaceFolders||[],removed:[]}),this.onDidChangeVisibleTextEditors(j.window.visibleTextEditors),this.scanWorkspaceFolders()]);e.get("showProgress",!0)?await j.window.withProgress({location:j.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=j.workspace.getConfiguration("git"),t=e.get("autoRepositoryDetection");if(t!==!0&&t!=="subFolders")return;await Promise.all((j.workspace.workspaceFolders||[]).map(async r=>{let n=r.uri.fsPath;this.logger.trace(`[Model][scanWorkspaceFolders] Workspace folder: ${n}`);let o=(j.workspace.isTrusted?j.workspace.getConfiguration("git",r.uri):e).get("repositoryScanMaxDepth",1),a=(j.workspace.isTrusted?j.workspace.getConfiguration("git",r.uri):e).get("repositoryScanIgnoredFolders",[]),s=new Set(await this.traverseWorkspaceFolder(n,o,a)),c=(j.workspace.isTrusted?j.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(sr.isAbsolute(l)){let u=j.l10n.t('Absolute paths not supported in "git.scanRepositories" setting.');this.logger.warn(`[Model][scanWorkspaceFolders] ${u}`),console.warn(u);continue}s.add(sr.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 _d.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=>tt(l.name,u))).map(l=>sr.join(a.path,l.name));o.push(...c.map(l=>({path:l,depth:a.depth+1})))}}return n}onPossibleGitRepositoryChange(e){j.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=j.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=>!(j.workspace.workspaceFolders||[]).some(c=>Wt(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 j.workspace.isResourceTrusted(j.Uri.file(sr.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=(j.workspace.workspaceFolders||[]).filter(r=>j.workspace.getConfiguration("git",r.uri).get("enabled")===!0).filter(r=>!this.getOpenRepository(r.uri)),t=this.openRepositories.map(r=>({repository:r,root:j.Uri.file(r.repository.root)})).filter(({root:r})=>j.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(!j.workspace.isTrusted){this.logger.trace("[Model][onDidChangeVisibleTextEditors] Workspace is not trusted.");return}let r=j.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(sr.dirname(o.fsPath))}))}catch(t){this.logger.warn(`[Model][onDidChangeVisibleTextEditors] Error: ${t}`)}}onDidChangeActiveTextEditor(){let e=j.window.activeTextEditor;if(e===void 0){j.commands.executeCommand("setContext","git.activeResourceHasUnstagedChanges",!1),j.commands.executeCommand("setContext","git.activeResourceHasStagedChanges",!1),j.commands.executeCommand("setContext","git.activeResourceHasMergeConflicts",!1);return}let t=this.getRepository(e.document.uri);if(!t){j.commands.executeCommand("setContext","git.activeResourceHasUnstagedChanges",!1),j.commands.executeCommand("setContext","git.activeResourceHasStagedChanges",!1),j.commands.executeCommand("setContext","git.activeResourceHasMergeConflicts",!1);return}let r=t.indexGroup.resourceStates.find(s=>tt(s.resourceUri.fsPath,e.document.uri.fsPath)),n=t.workingTreeGroup.resourceStates.find(s=>tt(s.resourceUri.fsPath,e.document.uri.fsPath)),a=t.mergeGroup.resourceStates.find(s=>tt(s.resourceUri.fsPath,e.document.uri.fsPath))?/^(<{7,}|={7,}|>{7,})/m.test(e.document.getText()):!1;j.commands.executeCommand("setContext","git.activeResourceHasStagedChanges",r!==void 0),j.commands.executeCommand("setContext","git.activeResourceHasUnstagedChanges",n!==void 0),j.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=j.workspace.getConfiguration("git",j.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 S=await this.isRepositoryOutsideWorkspace(s);if(!r&&S){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[f,m]=await Promise.all([this.git.getRepositoryDotGit(s),this.getRepositoryRootRealPath(s)]),h=f.commonPath??f.path;if(!await j.workspace.requestResourceTrust({message:j.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:j.Uri.file(sr.dirname(h))})){this.logger.trace(`[Model][openRepository] Repository folder is not trusted: ${sr.dirname(h)}`);return}let y=this.git.open(s,m,f,this.logger),v=new Na(y,this,this,this,this,this,this,this.globalState,this.logger,this.telemetryReporter,this._repositoryCache);this.open(v),this._closedRepositoriesManager.deleteRepository(v.root),this.logger.info(`[Model][openRepository] Opened repository (path): ${v.root}`),this.logger.info(`[Model][openRepository] Opened repository (real path): ${v.rootRealPath??v.root}`),this.logger.info(`[Model][openRepository] Opened repository (kind): ${y.kind}`),this._initialStatusLimiter.queue(()=>v.status()).then(()=>{this._repositoryCache.update(v.remotes,[],v.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:j.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:sr.normalize(r[1]),unsafeRepositoryMatch:r};throw t}}async getRepositoryRootRealPath(e){try{let t=await _d.promises.realpath(e);return tt(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=j.workspace.getConfiguration("git").get("ignoredRepositories")||[];for(let n of r)if(sr.isAbsolute(n)){if(tt(n,e))return!0}else for(let o of j.workspace.workspaceFolders||[])if(tt(sr.join(o.uri.fsPath,n),e))return!0;return!1}open(e){this.logger.trace(`[Model][open] Repository: ${e.root}`);let r=Ye(e.onDidChangeState,P=>P===1)(()=>E()),n=e.sourceControl.onDidDisposeParent(()=>E()),o=e.onDidChangeRepository(P=>this._onDidChangeRepository.fire({repository:e,uri:P})),a=e.onDidChangeOriginalResource(P=>this._onDidChangeOriginalResource.fire({repository:e,uri:P})),s=j.workspace.getConfiguration("git",j.Uri.file(e.root)).get("detectSubmodules"),c=j.workspace.getConfiguration("git",j.Uri.file(e.root)).get("detectSubmodulesLimit"),l=j.workspace.getConfiguration("git",j.Uri.file(e.root)).get("detectWorktrees"),u=j.workspace.getConfiguration("git",j.Uri.file(e.root)).get("detectWorktreesLimit"),f=()=>{if(!s){this.logger.trace("[Model][open] Automatic detection of git submodules is not enabled.");return}e.submodules.length>c&&(j.window.showWarningMessage(j.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.`,sr.basename(e.root),e.submodules.length)),p.dispose()),e.submodules.slice(0,c).map(P=>sr.join(e.root,P.path)).forEach(P=>{this.logger.trace(`[Model][open] Opening submodule: '${P}'`),this.eventuallyScanPossibleGitRepository(P)})},m=()=>{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&&(j.window.showWarningMessage(j.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.`,sr.basename(e.root),e.worktrees.length)),p.dispose()),e.worktrees.slice(0,u).forEach(P=>{this.logger.trace(`[Model][open] Opening worktree: '${P.path}'`),this.eventuallyScanPossibleGitRepository(P.path)})},h=()=>{let P=[];for(let{repository:L}of this.openRepositories.values())for(let W of L.mergeGroup.resourceStates)P.push(W.resourceUri);j.commands.executeCommand("setContext","git.mergeChanges",P)},p=e.onDidRunGitStatus(()=>{f(),m(),h(),this.onDidChangeActiveTextEditor()});f(),m(),this.onDidChangeActiveTextEditor();let y=()=>{let P=!1;for(let{repository:L}of this.openRepositories.values())L.operations.shouldDisableCommands()&&(P=!0);j.commands.executeCommand("setContext","operationInProgress",P)},S=fi(e.onDidRunOperation,e.onRunOperation)(()=>y());y();let E=()=>{r.dispose(),n.dispose(),o.dispose(),a.dispose(),p.dispose(),S.dispose(),e.dispose(),this.openRepositories=this.openRepositories.filter(P=>P!==R),this._onDidCloseRepository.fire(e)},R={repository:e,dispose:E};this.openRepositories.push(R),h(),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(j.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(j.l10n.t("There are no available repositories matching the filter"));if(t.length===1)return t[0].repository;let r=j.window.activeTextEditor,n=t.map((l,u)=>new Pl(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=j.l10n.t("Choose a repository"),c=await j.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=>tt(r.repository.root,e));if(t)return t.repository;try{let r=await _d.promises.realpath(e,{encoding:"utf8"});return this.openRepositories.find(o=>tt(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 Na)return this.openRepositories.filter(t=>t.repository===e)[0];if(e instanceof Jt&&(e=e.rootUri),typeof e=="string"&&(e=j.Uri.file(e)),e instanceof j.Uri){let t;e.scheme==="git"?t=kr(e).path:t=e.fsPath;e:for(let r of this.openRepositories.sort((n,o)=>o.repository.root.length-n.repository.root.length))if(Wt(r.repository.root,t)){for(let n of r.repository.submodules){let o=sr.join(r.repository.root,n.path);if(Wt(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(sr.join(t.root,r.path)===e.fsPath)return t}registerRemoteSourcePublisher(e){return this.remoteSourcePublishers.add(e),this._onDidAddRemoteSourcePublisher.fire(e),Wr(()=>{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),Wr(()=>{let n=this.branchProtectionProviders.get(e.toString());n&&n.has(t)&&(n.delete(t),this.branchProtectionProviders.set(e.toString(),n),this._onDidChangeBranchProtectionProviders.fire(e)),Le(r)})}getBranchProtectionProviders(e){return[...(this.branchProtectionProviders.get(e.toString())??new Set).values()]}registerPostCommitCommandsProvider(e){return this.postCommitCommandsProviders.add(e),this._onDidChangePostCommitCommandsProviders.fire(),Wr(()=>{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),Wr(()=>this.pushErrorHandlers.delete(e))}getPushErrorHandlers(){return[...this.pushErrorHandlers]}registerSourceControlHistoryItemDetailsProvider(e){return this.historyItemDetailsProviders.add(e),Wr(()=>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(j.workspace.workspaceFolders===void 0||j.workspace.isAgentSessionsWorkspace)return!1;let t=j.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=>tt(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&&(tt(o,e)||Wt(o,e)))}async getWorkspaceFolderRealPath(e){let t=this._workspaceFolders.get(e.uri.fsPath);if(!t)try{t=await _d.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?j.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?"):j.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=j.l10n.t("Yes"),r=j.l10n.t("Always"),n=j.l10n.t("Never"),o=await j.window.showInformationMessage(e,t,r,n);if(o===t)j.commands.executeCommand("git.openRepositoriesInParentFolders");else if((o===r||o===n)&&(await j.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?j.l10n.t("The git repository in the current folder is potentially unsafe as the folder is owned by someone other than the current user."):j.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=j.l10n.t("Manage Unsafe Repositories"),r=j.l10n.t("Learn More"),n=await j.window.showErrorMessage(e,t,r);n===t?j.commands.executeCommand("git.manageUnsafeRepositories"):n===r&&j.commands.executeCommand("vscode.open",j.Uri.parse("https://aka.ms/vscode-git-unsafe-repository"))}dispose(){[...this.openRepositories].forEach(t=>t.dispose()),this.openRepositories=[],this.possibleGitRepositoryPaths.clear(),this.disposables=Le(this.disposables)}};D([xn],Zs.prototype,"isInitialized",1),D([Qn(500)],Zs.prototype,"eventuallyScanPossibleGitRepositories",1),D([Jm],Zs.prototype,"openRepository",1);var n_=ze(require("os")),at=ze(require("path")),d=require("vscode");var to=require("vscode");function bd(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 to.Range(n,0,c,l))),!s){let u=o.modifiedStartLineNumber-1,f=0;a&&o.originalStartLineNumber===i.lineCount&&(u-=1,f=e.lineAt(u).range.end.character),r.push(e.getText(new to.Range(u,f,o.modifiedEndLineNumber,0)))}n=a?o.originalStartLineNumber:o.originalEndLineNumber}return r.push(i.getText(new to.Range(n,0,i.lineCount,0))),r.join("")}function e_(i,e){let t=i.map(n=>{let o=e.lineAt(n.start.line),a=e.lineAt(n.end.line);return new to.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 to.Range(a.start,o.end),...s]:[o,...n]},[]);return r.reverse(),r}function cp(i,e){return e.modifiedEndLineNumber===0?e.modifiedStartLineNumber===0?new to.Range(i.lineAt(e.modifiedStartLineNumber).range.end,i.lineAt(e.modifiedStartLineNumber).range.start):i.lineCount===e.modifiedStartLineNumber?new to.Range(i.lineAt(e.modifiedStartLineNumber-1).range.end,i.lineAt(e.modifiedStartLineNumber-1).range.end):new to.Range(i.lineAt(e.modifiedStartLineNumber-1).range.end,i.lineAt(e.modifiedStartLineNumber).range.start):new to.Range(i.lineAt(e.modifiedStartLineNumber-1).range.start,i.lineAt(e.modifiedEndLineNumber-1).range.end)}function t_(i,e,t){let r=cp(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 lp(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 KR(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 jR(i){return i.diffInformation?.find(e=>e.original&&Sn(e.original)&&kr(e.original).ref==="HEAD"&&e.modified&&Sn(e.modified)&&kr(e.modified).ref==="")}function ec(i){return Zv(i,"~")??Zv(i,"")}function r_(i){return Zv(i,"HEAD")}function Zv(i,e){return i.diffInformation?.find(t=>t.original&&Sn(t.original)&&kr(t.original).ref===e)}var Mt=require("vscode");var Ki=class i extends Mt.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?`${Ei(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)}},Cd=class{constructor(e,t){this.model=e;this.commands=t;this.disposable=Mt.Disposable.from(e.onDidOpenRepository(this.onRepositoriesChanged,this),Mt.workspace.onDidChangeConfiguration(this.onConfigurationChanged,this)),e.repositories.length&&this.ensureProviderRegistration()}model;commands;_onDidChange=new Mt.EventEmitter;get onDidChange(){return this._onDidChange.event}id="git-history";label=Mt.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=Mt.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 qs();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=Mt.workspace.getConfiguration("git",Mt.Uri.file(n.root)),l=c.get("timeline.date"),u=c.get("timeline.showAuthor"),f=c.get("timeline.showUncommitted"),m=Mt.l10n.t("Open Comparison"),h=await n.getEmptyTree(),p=await n.getUnpublishedCommits(),y=await Dl(this.model,n),v={commits:a.map(R=>({hash:R.hash,authorName:R.authorName,authorEmail:R.authorEmail})),size:20},S=await Qs(this.model,n,v),E=[];for(let R=0;R<a.length;R++){let P=a[R],L=l==="authored"?P.authorDate:P.commitDate,W=Ko(P.message),K=a[R+1]?.hash??h,H=new Ki(P.hash,K,W,L?.getTime()??0,P.hash,"git:file:commit");H.iconPath=new Mt.ThemeIcon("git-commit"),u&&(H.description=P.authorName);let $=p.has(P.hash)?[]:y??[],Y=await Xs(this.model,n,W)??W,I=[Sl(e,P.hash),xl($,P.hash)];H.tooltip=Rl(S?.get(P.hash),P.authorName,P.authorEmail,L,Y,P.shortStat,I);let re=this.commands.resolveTimelineOpenDiffCommand(H,e);re&&(H.command={title:m,command:re.command,arguments:re.arguments}),E.push(H)}if(t.cursor===void 0){let R=Mt.l10n.t("You"),P=n.indexGroup.resourceStates.find(L=>L.resourceUri.fsPath===e.fsPath);if(P){let L=this.repoOperationDate??new Date,W=new Ki("~","HEAD",Mt.l10n.t("Staged Changes"),L.getTime(),"index","git:file:index");W.iconPath=new Mt.ThemeIcon("git-commit"),W.description="",W.tooltip=Rl(void 0,R,void 0,L,Ve.getStatusText(P.type),void 0,void 0);let K=this.commands.resolveTimelineOpenDiffCommand(W,e);K&&(W.command={title:m,command:K.command,arguments:K.arguments}),E.splice(0,0,W)}if(f){let L=n.workingTreeGroup.resourceStates.find(W=>W.resourceUri.fsPath===e.fsPath);if(L){let W=new Date,K=new Ki("",P?"~":"HEAD",Mt.l10n.t("Uncommitted Changes"),W.getTime(),"working","git:file:working");K.iconPath=new Mt.ThemeIcon("circle-outline"),K.description="",K.tooltip=Rl(void 0,R,void 0,W,Ve.getStatusText(L.type),void 0,void 0);let H=this.commands.resolveTimelineOpenDiffCommand(K,e);H&&(K.command={title:m,command:H.command,arguments:H.arguments}),E.splice(0,0,K)}}}return{items:E,paging:s}}ensureProviderRegistration(){this.providerDisposable===void 0&&(this.providerDisposable=Mt.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){Mt.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([Qn(500)],Cd.prototype,"fireChanged",1);async function up(i={}){return Vs.getAPI().pickRemoteSource(i)}async function zR(i){return Vs.getAPI().getRemoteSourceActions(i)}var Rd=class{get description(){return""}get alwaysShow(){return!0}},fp=class extends Rd{get label(){return d.l10n.t("{0} Create new branch...","$(plus)")}},o_=class extends Rd{get label(){return d.l10n.t("{0} Create new branch from...","$(plus)")}},a_=class extends Rd{get label(){return d.l10n.t("{0} Checkout detached...","$(debug-disconnect)")}},mp=class{constructor(e){this.refType=e}refType;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""}}},cn=class{constructor(e,t){this.ref=e;this.shortCommitLength=t}ref;shortCommitLength;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 Yo(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}},xi=class extends cn{constructor(t,r){super(t,r);this.ref=t}ref;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(Yo(this.ref.commitDetails.commitDate,!0,!0)),t.length>0?t.join("$(circle-small-filled)"):this.shortCommit}},pp=class extends xi{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})}},s_=class extends pp{get label(){return`$(lock) ${this.ref.name??this.shortCommit}`}},c_=class extends cn{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)}},l_=class extends cn{async run(e,t){this.ref.name&&await e.checkout(this.ref.name,t)}},wd=class extends xi{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})}}},hp=class extends cn{async run(e){this.ref.name&&await e.deleteTag(this.ref.name)}},gp=class extends cn{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)}},Sd=class{constructor(e){this.worktree=e}worktree;get label(){return`$(list-tree) ${this.worktree.name}`}get description(){return this.worktree.path}},yp=class extends Sd{constructor(t,r){super(t);this.shortCommitLength=r}shortCommitLength;get description(){if(this.worktree.commitDetails)return bl([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)}},Il=class extends xi{async run(e){(this.ref.name||this.ref.commit)&&await e.merge(this.ref.name??this.ref.commit)}},Al=class extends xi{async run(e){this.ref?.name&&await e.rebase(this.ref.name)}},u_=class extends Al{get description(){return"(upstream)"}},d_=class{constructor(e,t){this.repository=e;this.shortCommitLength=t}repository;shortCommitLength;get label(){return"HEAD"}get description(){return(this.repository.HEAD?.commit??"").substring(0,this.shortCommitLength)}get alwaysShow(){return!0}get refName(){return"HEAD"}},vp=class{constructor(e){this.cc=e}cc;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)}},Ed=class{constructor(e,t){this.repository=e;this.remote=t}repository;remote;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})}},f_=class{constructor(e){this.repository=e}repository;get label(){return d.l10n.t("{0} Fetch all remotes","$(cloud-download)")}async run(){await this.repository.fetch({all:!0})}},Dd=class{constructor(e){this.path=e}path;get label(){return`$(repo) ${h_(this.path)}`}get description(){return this.path}},_p=class{constructor(e){this.stash=e}stash;get label(){return`#${this.stash.index}: ${this.stash.description}`}get description(){return HD(this.stash)}},qR=[];function N(i,e={}){return(t,r,n)=>{if(typeof n.value!="function")throw new Error("not supported");qR.push({commandId:i,key:String(r),method:n.value,options:e})}}async function VR(i){let t=i.filter(f=>f instanceof Ve).filter(f=>f.resourceGroupType===0),r=f=>f.type===w.BOTH_MODIFIED||f.type===w.BOTH_ADDED,n=f=>f.type===w.DELETED_BY_THEM||f.type===w.DELETED_BY_US,o=t.filter(r),a=o.map(f=>LD(f.resourceUri.fsPath,/^<{7}\s|^={7}$|^>{7}\s/)),s=await Promise.all(a),c=o.filter((f,m)=>!s[m]),l=t.filter(f=>n(f)),u=[...t.filter(f=>!r(f)&&!n(f)),...o.filter((f,m)=>s[m])];return{merge:t,resolved:c,unresolved:u,deletionConflicts:l}}async function UN(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=>YN(i,u)).filter(u=>!!u),c=await WN(i);return new p_(i,s,c,e).processRefs(a)}async function WN(i){let e=new Map,t=async r=>(await zR(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 Lt=class{constructor(e,t=cn){this.type=e;this.ctor=t}type;ctor;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 mp(this.type),...t]}},ro=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)}repository;processors;options;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}},m_=class extends Lt{constructor(t){super(de.Head);this.repository=t}repository;getItems(t){let r=this.refs.map(n=>this.repository.isBranchProtected(n)?new s_(n,t):new pp(n,t));return r.length===0?r:[new mp(this.type),...r]}},p_=class extends ro{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))}buttons;detached;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 cn)){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 YN(i,e){switch(e){case"local":return new m_(i);case"remote":return new Lt(de.RemoteHead,c_);case"tags":return new Lt(de.Tag,l_);default:return}}function h_(i){let e=d.workspace.getWorkspaceFolder(d.Uri.file(i));return e?.uri.toString()===i?e.name:at.basename(i)}function i_(i,e){return h_(i).localeCompare(h_(e))}function dp(i,e){return i&&i.trim().replace(/^-+/,"").replace(/^\.|\/\.|\.\.|~|\^|:|\/$|\.lock$|\.lock\/|\\|\*|\s|^\s*$|\.$|\[|\]$/g,e)}function JR(i){return i=i.trim(),i&&i.replace(/^\.|\/\.|\.\.|~|\^|:|\/$|\.lock$|\.lock\/|\\|\*|\s|^\s*$|\.$|\[|\]$/g,"-")}var g_=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 $N(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(m=>m.resourceUri)):e.all==="tracked"?a.push(...i.workingTreeGroup.resourceStates.filter(m=>m.type!==w.UNTRACKED&&m.type!==w.IGNORED).map(m=>m.resourceUri)):(a.push(...i.workingTreeGroup.resourceStates.map(m=>m.resourceUri)),a.push(...i.untrackedGroup.resourceStates.map(m=>m.resourceUri)));let s=new Map;for(let m of a){let h=d.languages.getDiagnostics(m).filter(p=>(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Evaluating diagnostic for ${m.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 ${m.fsPath}: source='${p.source}', severity='${p.severity}'`),!1):Object.keys(o).includes(p.source)&&p.severity<=dv(o[p.source])?(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Found unresolved diagnostic for ${m.fsPath}: source='${p.source}', severity='${p.severity}'`),!0):Object.keys(o).includes("*")&&p.severity<=dv(o["*"])?(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Found unresolved diagnostic for ${m.fsPath}: source='${p.source}', severity='${p.severity}'`),!0):(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Ignoring diagnostic for ${m.fsPath}: source='${p.source}', severity='${p.severity}'`),!1)));h.length>0&&s.set(m,h.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?`,at.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),f=await d.window.showWarningMessage(u,{modal:!0},c,l);return f===c?!0:(f===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=qR.map(({commandId:s,key:c,method:l,options:u})=>{let f=this.createCommand(s,c,l,u);return d.commands.registerCommand(s,f)}),this.disposables.push(d.workspace.registerTextDocumentContentProvider("git-output",this.commandErrors))}git;model;globalState;logger;telemetryReporter;cloneManager;disposables;commandErrors=new g_;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===w.DELETED||t.type===w.DELETED_BY_THEM||t.type===w.DELETED_BY_US||t.type===w.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=Iv(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,f,m,h]=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=m?.find(v=>v.uri.fsPath===e.fsPath),y=h?.find(v=>v.uri.fsPath===e.fsPath);a.detail=u.refNames.map(v=>v.replace(/^HEAD ->/,"")).join(", "),a.description="$(git-commit) "+u.hash.substring(0,7),y?a.uri=je(y.originalUri,u.hash):a.uri=je(e,u.hash),s.detail=f.refNames.join(", "),s.description="$(git-commit) "+f.hash.substring(0,7),p?s.uri=je(p.originalUri,f.hash):s.uri=je(e,f.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 f="<<<<<<<",m=">>>>>>>",h=!1,p="",y="",v=!1;for(let S=0;S<u.lineCount;S++){let E=u.lineAt(S).text;if(!h)E.startsWith(f)&&(p=E.substring(f.length).trim(),h=!0,v=!0);else if(E.startsWith(m)){y=E.substring(f.length).trim(),h=!1;break}}if(v)return{currentChangeLabel:p,incomingChangeLabel:y}}}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=at.dirname(t),a=at.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 Rn(this.git,e,void 0,n,this.logger).checkout(t,[],r?{detached:!0}:{})}async pullRepository(e){let t=await this.git.getRepositoryDotGit(e);return new Rn(this.git,e,void 0,t,this.logger).pull()}async fetchRepository(e){let t=await this.git.getRepositoryDotGit(e);await new Rn(this.git,e,void 0,t,this.logger).fetch()}async revParse(e,t){let r=await this.git.getRepositoryDotGit(e);return(await new Rn(this.git,e,void 0,r,this.logger).exec(["rev-parse",t])).stdout.trim()}async revListCount(e,t,r){let n=await this.git.getRepositoryDotGit(e),a=await new Rn(this.git,e,void 0,n,this.logger).exec(["rev-list","--count",`${t}..${r}`]);return Number(a.stdout.trim())||0}async revParseAbbrevRef(e){let t=await this.git.getRepositoryDotGit(e);return(await new Rn(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 Rn(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"),y={label:d.l10n.t("Choose Folder...")},v=[...d.workspace.workspaceFolders.map(E=>({label:E.name,description:E.uri.fsPath,folder:E})),y],S=await d.window.showQuickPick(v,{placeHolder:p,ignoreFocusOut:!0});if(S)S.folder&&(t=S.folder.uri.fsPath,r=!1);else return}if(!t){let p=d.Uri.file(n_.homedir()),y=d.workspace.workspaceFolders&&d.workspace.workspaceFolders.length>0?d.Uri.file(d.workspace.workspaceFolders[0].uri.fsPath):p,v=await d.window.showOpenDialog({canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,defaultUri:y,openLabel:d.l10n.t("Initialize Repository")});if(!v||v.length===0)return;let S=v[0];if(p.toString().startsWith(S.toString())){let E=d.l10n.t("Initialize Repository"),R=ka(d.l10n.t('This will create a Git repository in "{0}". Are you sure you want to continue?',S.fsPath),d.l10n.t("This will create a Git repository in the selected folder. Are you sure you want to continue?"));if(await d.window.showWarningMessage(R,E)!==E)return}t=S.fsPath,d.workspace.workspaceFolders&&d.workspace.workspaceFolders.some(E=>E.uri.toString()===S.toString())&&(r=!1)}let n=d.workspace.getConfiguration("git"),o=n.get("defaultBranchName","main"),a=n.get("branchWhitespaceChar","-");await this.git.init(t,{defaultBranch:dp(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 f=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(f));let m=await d.window.showInformationMessage(s,...u),h=d.Uri.file(t);m===c?d.commands.executeCommand("vscode.openFolder",h):m===f?d.workspace.updateWorkspaceFolders(d.workspace.workspaceFolders.length,0,{uri:h}):m===l?d.commands.executeCommand("vscode.openFolder",h,!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(n_.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(i_).map(l=>new Dd(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(uv);for(let n of[e,...r])this.model.close(n)}async closeOtherRepositories(e,...t){let r=t.map(o=>this.model.getRepository(o)).filter(uv),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 Ve,n;if(e instanceof d.Uri)Sn(e)?n=[d.Uri.file(kr(e).path)]:e.scheme==="file"&&(n=[e]);else{let l=e;l instanceof Ve||(l=this.getSCMResource()),l?n=[l,...t].filter(u=>u.type!==w.DELETED&&u.type!==w.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 Ve&&e.type===w.BOTH_MODIFIED?!1:void 0});let f=d.window.activeTextEditor?.document;if(!(f?.uri.toString()!==l.toString()||!o||!s||!c)&&s.path===l.path&&f){u.selection=c;let m=await d.window.showTextDocument(f,u);if(a&&a.length>0){let h=a[0];c&&a.length>1&&(h=a.find(p=>p.intersection(c))??h),m.revealRange(h)}}}}async openFile2(e,...t){this.openFile(e,...t)}async openHEADFile(e){let t,r=!(e instanceof Ve);if(e instanceof Ve?t=e:e instanceof d.Uri?t=this.getSCMResource(e):t=this.getSCMResource(),!t)return;let n=t.leftUri,o=at.basename(t.resourceUri.fsPath),a=`${o} (HEAD)`;if(!n){d.window.showWarningMessage(ka(d.l10n.t('HEAD version of "{0}" is not available.',o),d.l10n.t("HEAD version of this file is not available.")));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 Ve?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=cd(e.root,t.fsPath),n=await d.window.showInputBox({value:r,valueSelection:[r.length-at.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(at.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=>tt(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&&tt(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 Ve),{resolved:r,unresolved:n,deletionConflicts:o}=await VR(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?",at.basename(n[0].resourceUri.fsPath)),f=d.l10n.t("Yes");if(await d.window.showWarningMessage(u,{modal:!0},f)!==f)return}try{await this.runByRepository(o.map(u=>u.resourceUri),async(u,f)=>{for(let m of f)await this._stageDeletionConflict(u,m)})}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,f)=>u.add(f))}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===w.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?`,at.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===w.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?`,at.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!==w.UNTRACKED&&n.type!==w.IGNORED).map(n=>n.resourceUri);await e.add(r)}async stageAllUntracked(e){let r=[...e.workingTreeGroup.resourceStates,...e.untrackedGroup.resourceStates].filter(n=>n.type===w.UNTRACKED||n.type===w.IGNORED).map(n=>n.resourceUri);await e.add(r)}async stageAllMerge(e){let t=e.mergeGroup.resourceStates.filter(s=>s instanceof Ve),{merge:r,unresolved:n,deletionConflicts:o}=await VR(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?",at.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=ec(e);if(!t)return;let r=Tl(t),n=e.document,o=e.selection.active,a=r.find(s=>cp(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=ec(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=e_(e.selections,n),a=r.map(s=>o.reduce((c,l)=>c||t_(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=je(n,"~"),a=await d.workspace.openTextDocument(o),s=bd(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=ec(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=cp(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=je(n,"~"),a=await d.workspace.openTextDocument(o),s=e.visibleRanges,c=bd(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 Ve&&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=>tt(p.resourceUri.fsPath,r.fsPath));if(!o)return;let a=jR(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=je(o.original,"HEAD"),l=await d.workspace.openTextDocument(c),u=e_(e.selections,t),f=s.map(p=>u.reduce((y,v)=>y||t_(t,p,v),null)).filter(p=>!!p);if(!f.length){d.window.showInformationMessage(d.l10n.t("The selection range does not contain any changes."));return}this.logger.trace(`[CommandCenter][unstageSelectedRanges] selectedDiffs: ${JSON.stringify(f)}`);let m=f.map(lp);this.logger.trace(`[CommandCenter][unstageSelectedRanges] selectedDiffsInverted: ${JSON.stringify(m)}`);let h=bd(t,l,m);await n.stage(t.uri,h,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=ec(e);if(!o)return;let s=Tl(o).map(lp),l=[...t.map(lp),...s].sort(KR),u=je(n,"HEAD"),f=await d.workspace.openTextDocument(u),m=bd(r,f,l);await this.runByRepository(n,async(h,p)=>await h.stage(p,m,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 Ve&&(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!==w.UNTRACKED&&r.type!==w.IGNORED);t.length!==0&&await this._cleanTrackedChanges(t)}async cleanAllUntracked(e){let t=[...e.workingTreeGroup.resourceStates,...e.untrackedGroup.resourceStates].filter(r=>r.type===w.UNTRACKED||r.type===w.IGNORED);t.length!==0&&await this._cleanUntrackedChanges(t)}async _cleanAll(e){if(e.length===0)return;let t=e.filter(n=>n.type!==w.UNTRACKED&&n.type!==w.IGNORED),r=e.filter(n=>n.type===w.UNTRACKED||n.type===w.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}'?`,at.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(f=>f.resourceUri);await this.runByRepository(u,async(f,m)=>f.clean(m))}}async _cleanTrackedChanges(e){let t=e.every(s=>s.type===w.DELETED),r=t?e.length===1?d.l10n.t("Are you sure you want to restore '{0}'?",at.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}'?",at.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)&&!Tm&&!Im,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}",at.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?En?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?En?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 h=d.workspace.textDocuments.filter(p=>!p.isUntitled&&p.isDirty&&Wt(e.root,p.uri.fsPath));if((o==="staged"||e.indexGroup.resourceStates.length>0)&&(h=h.filter(p=>e.indexGroup.resourceStates.some(y=>tt(y.resourceUri.fsPath,p.uri.fsPath)))),h.length>0){let p=h.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?`,at.basename(h[0].uri.fsPath)):d.l10n.t(`There are {0} unsaved files.
Would you like to save them before committing?`,h.length),y=d.l10n.t("Save All & Commit Changes"),v=d.l10n.t("Commit Changes"),S=await d.window.showWarningMessage(p,{modal:!0},y,v);if(S===y)await Promise.all(h.map(E=>E.save())),h=h.filter(E=>e.indexGroup.resourceStates.some(R=>tt(R.resourceUri.fsPath,E.uri.fsPath))),await e.add(h.map(E=>E.uri)),s=e.indexGroup.resourceStates.length===0,c=e.workingTreeGroup.resourceStates.length===0;else if(S!==v)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?`),y=d.l10n.t("Yes"),v=d.l10n.t("Always"),S=d.l10n.t("Never"),E=await d.window.showWarningMessage(p,{modal:!0},y,v,S);if(E===v)a=!0,n.update("enableSmartCommit",!0,!0);else if(E===S){n.update("suggestSmartCommit",!1,!0);return}else if(E===y)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(h=>h.type===w.UNTRACKED))&&!r.amend&&!r.empty&&!e.mergeInProgress&&e.rebaseCommit===void 0){let h=d.l10n.t("Create Empty Commit");if(await d.window.showInformationMessage(d.l10n.t("There are no changes to commit."),h)!==h)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 h=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"),y=d.l10n.t("OK, Don't Ask Again"),v=await d.window.showWarningMessage(h,{modal:!0},p,y);if(v===y)n.update("confirmNoVerifyCommit",!1,!0);else if(v!==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 $N(e,r,this.logger)))return;let m=n.get("branchProtectionPrompt");if(e.isBranchProtected()&&(m==="alwaysPrompt"||m==="alwaysCommitToNewBranch")){let h=d.l10n.t("Commit to a New Branch"),p=h;if(m==="alwaysPrompt"){let y=d.l10n.t("You are trying to commit to a protected branch. How would you like to proceed?"),v=d.l10n.t("Commit Anyway");p=await d.window.showWarningMessage(y,{modal:!0},h,v)}if(p){if(p===h){let y=await this.promptForBranchName(e);if(!y)return;await e.branch(y,!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 fp,n=new o_,o=new a_,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 UN(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 f=await new Promise(m=>{c.push(l.onDidHide(()=>m(void 0))),c.push(l.onDidAccept(()=>m(l.activeItems[0]))),c.push(l.onDidTriggerItemButton(h=>{let p=h.button,y=h.item;p.actual&&y.refName&&p.actual.run(y.refRemote?y.refName.substring(y.refRemote.length+1):y.refName),m(void 0)})),c.push(l.onDidChangeValue(()=>u()))});if(Le(c),l.dispose(),!f)return!1;if(f===r)await this._branch(e,l.value);else if(f===n)await this._branch(e,l.value,!0);else{if(f===o)return this._checkout(e,{detached:!0});{let m=f;try{await m.run(e,t)}catch(h){if(h.gitErrorCode!==X.DirtyWorkTree&&h.gitErrorCode!==X.WorktreeBranchAlreadyUsed)throw h;if(h.gitErrorCode===X.WorktreeBranchAlreadyUsed){if(!e.dotGit.commonPath)return await this.handleWorktreeBranchAlreadyUsed(h),!1;let E=at.dirname(e.dotGit.commonPath);if(d.workspace.workspaceFolders&&d.workspace.workspaceFolders.some(R=>tt(R.uri.fsPath,E))){let R=this.model.getRepository(E);if(R&&m.refName&&m.refName.replace(`${m.refRemote}/`,"")===R.HEAD?.name){let P=d.l10n.t('Branch "{0}" is already checked out in the current window.',m.refName);return await d.window.showErrorMessage(P,{modal:!0}),!1}}return await this.handleWorktreeBranchAlreadyUsed(h),!1}let p=d.l10n.t("Stash & Checkout"),y=d.l10n.t("Migrate Changes"),v=d.l10n.t("Force Checkout"),S=await d.window.showWarningMessage(d.l10n.t("Your local changes would be overwritten by checkout."),{modal:!0},p,y,v);S===v?(await this.cleanAll(e),await m.run(e,t)):(S===p||S===y)&&await this._stash(e,!0)&&(await m.run(e,t),S===y&&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 dp(t,a);let u=async()=>await e.generateRandomBranchName()??o,f=v=>v.startsWith(o)?[o.length,v.length]:void 0,m=v=>{let S=new RegExp(s),E=dp(v,a);return l.find(P=>P.name===E)?d.l10n.t('Branch "{0}" already exists',E):S.test(E)?v===E?void 0:{message:d.l10n.t('The new branch will be "{0}"',E),severity:d.InputBoxValidationSeverity.Info}:d.l10n.t("Branch name needs to match regex: {0}",s)},h=[],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=f(p.value),p.validationMessage=m(p.value),p.ignoreFocusOut=!0,p.show();let y=await new Promise(v=>{h.push(p.onDidHide(()=>v(void 0))),h.push(p.onDidAccept(()=>v(p.value))),h.push(p.onDidChangeValue(S=>{p.validationMessage=m(S)})),h.push(p.onDidTriggerButton(async()=>{p.value=await u(),p.valueSelection=f(p.value)}))});return Le(h),p.dispose(),dp(y||"",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 m=await e.getRefs({includeCommitDetails:a}),h=new ro(e,[new Lt(de.Head),new Lt(de.RemoteHead),new Lt(de.Tag)]);return[new d_(e,s),...h.processRefs(m)]},u=d.l10n.t("Select a ref to create the branch from"),f=await d.window.showQuickPick(l(),{placeHolder:u});if(!f)return;f instanceof cn&&f.refName&&(n=f.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 Le(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:Nm(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:Nm(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 Lt(de.Head,xi),new Lt(de.RemoteHead,xi),new Lt(de.Tag,xi)];return new ro(e,l).processRefs(c)},a=d.l10n.t("Select a reference to compare with"),s=await this.pickRef(o(),a);!(s instanceof xi)||!s.ref.commit||await this._openChangesBetweenRefs(e,{id:s.ref.commit,displayId:s.ref.name},{id:t.id,displayId:Nm(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=>zs(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 f=n.remote?"refs/remotes":"refs/heads",m=await e.getRefs({pattern:f,includeCommitDetails:s}),h=n.remote?[new Lt(de.RemoteHead,wd)]:[new Lt(de.Head,wd)];return new ro(e,h,{skipCurrentBranch:!0,skipCurrentBranchRemote:!0}).processRefs(m)},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 wd)||!u.refName)return;r=u.refName,o=f=>u.run(e,f)}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 ro(e,[new Lt(de.Head,Il),new Lt(de.RemoteHead,Il),new Lt(de.Tag,Il)],{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 Il&&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 ro(e,[new Lt(de.Head,Al),new Lt(de.RemoteHead,Al)],{skipCurrentBranch:!0,skipCurrentBranchRemote:!0}).processRefs(c);if(e.HEAD?.upstream){let f=c.find(m=>m.type===de.RemoteHead&&m.name===`${e.HEAD.upstream.remote}/${e.HEAD.upstream.name}`);f&&u.splice(0,0,new u_(f,n))}return u},a=d.l10n.t("Select a branch to rebase onto"),s=await this.pickRef(o(),a);s instanceof Al&&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 hp(l,n))},a=d.l10n.t("Select a tag to delete"),s=await this.pickRef(o(),a);s instanceof hp&&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 Sd(s)),o=d.l10n.t("Select a worktree to migrate changes from"),a=await this.pickRef(n(),o);if(!a||!(a instanceof Sd))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=Iv(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 Yt&&l.gitErrorCode===X.WorktreeAlreadyExists)await this.handleWorktreeAlreadyExists(l);else if(l instanceof Yt&&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 fp,o=async()=>{let c=await e.getRefs({includeCommitDetails:r}),u=new ro(e,[new Lt(de.Head),new Lt(de.RemoteHead),new Lt(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 cn)||!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 f=await this.promptForBranchName(e);return f?{commitish:"HEAD",branch:f}: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 f=this.globalState.get(`${Na.WORKTREE_ROOT_STORAGE_KEY}:${e.root}`),m=f?d.Uri.file(f):d.Uri.file(at.dirname(e.root)),h=await d.window.showOpenDialog({defaultUri:m,canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,openLabel:d.l10n.t("Select as Worktree Destination")});if(!(!h||h.length===0))return at.join(h[0].fsPath,t)},n=f=>!f||!t?void 0:[f.length-t.length,f.length],o=f=>e.worktrees.find(h=>tt(at.normalize(h.path),at.normalize(f)))?{message:d.l10n.t('A worktree already exists at "{0}".',f),severity:d.InputBoxValidationSeverity.Warning}:void 0,a=this.globalState.get(`${Na.WORKTREE_ROOT_STORAGE_KEY}:${e.root}`),s=a?at.join(a,t):e.kind==="worktree"?at.join(at.dirname(e.root),t):at.join(at.dirname(e.root),`${at.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(f=>{c.push(l.onDidHide(()=>f(void 0))),c.push(l.onDidAccept(()=>f(l.value))),c.push(l.onDidChangeValue(m=>{l.validationMessage=o(m)})),c.push(l.onDidTriggerButton(async()=>{l.value=await r()??"",l.valueSelection=n(l.value)}))});return Le(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 yp(c,r))},o=d.l10n.t("Select a worktree to delete"),a=await this.pickRef(n(),o);a instanceof yp&&await a.run(e)}async deleteWorktree(e){if(!e.dotGit.commonPath)return;let t=this.model.getRepository(at.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 Ed(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,f=[];for(let m of l){let h=(m.name??"").replace(/\^{}$/,"");u.has(h)||(f.push({...m,name:h}),u.add(h))}return f.length===0?[{label:d.l10n.t('$(info) Remote "{0}" has no tags.',o)}]:f.map(m=>new gp(m,r))},s=d.l10n.t("Select a remote tag to delete"),c=await d.window.showQuickPick(a(),{placeHolder:s});c instanceof gp&&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 Ed(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 f_(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(h=>h.fetchUrl!==void 0).map(h=>({label:h.name,description:h.fetchUrl})),f=d.l10n.t("Pick a remote to pull the branch from"),m=await d.window.showQuickPick(u,{placeHolder:f});if(!m)return;o=m.label}let a=async()=>(await e.getRefs({pattern:`refs/remotes/${o}/`})).map(f=>new cn(f,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?sn.ForceWithLeaseIfIncludes:sn.ForceWithLease:sn.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"),f=await d.window.showWarningMessage(c,{modal:!0},l,u);if(f===u)n.update("confirmForcePush",!1,!0);else if(f!==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"),f=await d.window.showWarningMessage(c,{modal:!0},l,u);(f===l||f===u)&&(f===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 vp(this),c=[...r.filter(f=>f.pushUrl!==void 0).map(f=>({label:f.name,description:f.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 f=await this.addRemote(e);f&&await e.pushTo(f,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 up({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(JR(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=JR(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 Ed(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"),f=d.l10n.t("OK, Don't Show Again"),m=await d.window.showWarningMessage(l,{modal:!0},u,f);if(m===f)await s.update("confirmSync",!1,!0);else if(m!==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(h=>({label:(h.icon?`$(${h.icon}) `:"")+d.l10n.t("Publish to {0}",h.name),alwaysShow:!0,provider:h})),f=d.l10n.t('Pick a provider to publish the branch "{0}" to:',t),m=await d.window.showQuickPick(u,{placeHolder:f});if(!m)return;l=m.provider}await l.publishRepository(new Jt(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 vp(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 Ve).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&&Wt(e.root,u.uri.fsPath));if((s==="staged"||e.indexGroup.resourceStates.length>0)&&(l=l.filter(u=>e.indexGroup.resourceStates.some(f=>tt(f.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?`,at.basename(l[0].uri.fsPath)):d.l10n.t(`There are {0} unsaved files.
Would you like to save them before stashing?`,l.length),f=d.l10n.t("Save All & Stash"),m=d.l10n.t("Stash Anyway"),h=await d.window.showWarningMessage(u,{modal:!0},f,m);if(h===f)await Promise.all(l.map(p=>p.save()));else if(h!==m)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 _p(a)):[{label:d.l10n.t("$(info) This repository has no stashes.")}]},n=await d.window.showQuickPick(r(),{placeHolder:t});return n instanceof _p?n.stash:void 0}async getStashFromUri(e){if(!e||e.scheme!=="git-stash")return;let t=kr(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(f=>at.join(e.root,f.file)))}let s=`Git Stash #${t.index}: ${t.description}`,c=je(d.Uri.file(e.root),`stash@{${t.index}}`,{scheme:"git-stash"}),l=[];for(let u of r){let m=!!a.find(h=>tt(h,u.uri.fsPath))?o??t.hash:t.hash;l.push(zs(u,n,m))}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||!Ki.is(e))return;let n=at.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:[je(t,e.previousRef),e.ref===""?t:je(t,e.ref),o,r]}}async timelineViewCommit(e,t,r){if(!Ki.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||!Ki.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(m=>zs(m,a,o.hash)),l=`${e.shortRef} - ${sd(o.message)}`,u=d.Uri.from({scheme:"scm-history-item",path:`${n.root}/${a}..${o.hash}`}),f={modifiedUri:je(t,o.hash)};return{command:"_workbench.openMultiDiffEditor",title:d.l10n.t("Open Commit"),arguments:[{multiDiffSourceUri:u,title:l,resources:c,reveal:f},r]}}async timelineCopyCommitId(e,t,r){Ki.is(e)&&d.env.clipboard.writeText(e.ref)}async timelineCopyCommitMessage(e,t,r){Ki.is(e)&&d.env.clipboard.writeText(e.message)}_selectedForCompare;async timelineSelectForCompare(e,t,r){!Ki.is(e)||!t||(this._selectedForCompare={uri:t,item:e},await d.commands.executeCommand("setContext","git.timeline.selectedForCompare",!0))}async timelineCompareWithSelected(e,t,r){if(!Ki.is(e)||!t||!this._selectedForCompare||t.toString()!==this._selectedForCompare.uri.toString())return;let{item:n}=this._selectedForCompare,o=at.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:je(t,n.ref),e.ref===""?t:je(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=>tt(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(i_).map(l=>new Dd(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(i_).map(s=>new Dd(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=`${Ei(t,a,!1)} - ${sd(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}`}),m=(await e.diffBetweenWithStats(l,t)).map(p=>zs(p,l,t)),h=r?{modifiedUri:je(r,t)}:void 0;await d.commands.executeCommand("_workbench.openMultiDiffEditor",{multiDiffSourceUri:u,title:c,resources:m,reveal:h})}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 Lt(de.Head,xi),new Lt(de.RemoteHead,xi),new Lt(de.Tag,xi)];return new ro(e,l).processRefs(c)},a=d.l10n.t("Select a reference to compare with"),s=await this.pickRef(o(),a);!(s instanceof xi)||!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,f="error",m=new Map,h=d.l10n.t("Open Git Log"),p=this.logger;m.set(h,()=>p.show());let y=d.l10n.t("Show Command Output");switch(c.stderr&&m.set(y,async()=>{let v=new Date().getTime(),S=d.Uri.parse(`git-output:/git-error-${v}`),E="git";c.gitArgs?E=`${E} ${c.gitArgs.join(" ")}`:c.gitCommand&&(E=`${E} ${c.gitCommand}`),this.commandErrors.set(S,`> ${E}
${c.stderr}`);try{let R=await d.workspace.openTextDocument(S);await d.window.showTextDocument(R)}finally{this.commandErrors.delete(S)}}),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."),f="warning",m.clear(),m.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."),f="warning",m.clear(),m.set(d.l10n.t("Show Changes"),()=>d.commands.executeCommand("workbench.view.scm")),l.modal=!1;break;case X.AuthenticationFailed:{let S=/Authentication failed for '(.*)'/i.exec(c.stderr||String(c));u=S?d.l10n.t(`Failed to authenticate to git remote:
{0}`,S[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.'),m.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."),m.clear(),f="information",l.modal=!1;break;case X.CherryPickEmpty:u=d.l10n.t("The changes are already present in the current branch."),m.clear(),f="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."),f="warning",m.set(d.l10n.t("Show Changes"),()=>d.commands.executeCommand("workbench.view.scm")),l.modal=!1;break;default:{let v=(c.stderr||c.stdout||c.message||String(c)).replace(/^error: /mi,"").replace(/^> husky.*$/mi,"").split(/[\r\n]/).filter(S=>!!S);u=v.length>0?d.l10n.t("Git: {0}",c.stdout?v[v.length-1]:v[0]):d.l10n.t("Git error");break}}if(!u){console.error(c);return}this.showErrorNotification(f,u,l,m)})};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.activeNotebookEditor?.notebook.uri??d.window.activeTextEditor?.document.uri,!e&&d.window.tabGroups.activeTabGroup.activeTab?.input instanceof d.TabInputNotebookDiff&&(e=d.window.tabGroups.activeTabGroup.activeTab.input.modified),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(Sn(e)){let{path:t}=kr(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;tt(c.fsPath,l.root)&&(l=this.model.getRepositoryForSubmodule(c)||l);let u=s.filter(f=>f.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.fetchRepository")],A.prototype,"fetchRepository",1),D([N("_git.revParse")],A.prototype,"revParse",1),D([N("_git.revListCount")],A.prototype,"revListCount",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 KN=1e3*60*3,jN=1e3*60*5;function QR(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 kl=class{constructor(e,t){this.model=e;this.logger=t;let r=setInterval(()=>this.cleanup(),jN);this.disposables.push(e.onDidChangeRepository(this.onDidChangeRepository,this),e.onDidChangeOriginalResource(this.onDidChangeOriginalResource,this),xt.workspace.registerFileSystemProvider("git",this,{isReadonly:!0,isCaseSensitive:!0}),new xt.Disposable(()=>clearInterval(r)))}model;logger;_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=je(e,"~"),r=je(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=Ye(xt.window.onDidChangeWindowState,r=>r.focused);await $i(t)}let e=[];for(let{uri:t}of this.cache.values()){let r=t.fsPath;for(let n of this.changedRepositoryRoots)if(Wt(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}=kr(r.uri);(xt.workspace.textDocuments.filter(a=>a.uri.scheme==="file").some(a=>tt(a.uri.fsPath,n))||e-r.timestamp<KN)&&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:kr(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}=kr(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(QR(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}=kr(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(QR(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([Qn(1100)],kl.prototype,"eventuallyFireChangeEvents",1),D([Nr],kl.prototype,"fireChangeEvents",1);var It=require("vscode"),ZR=ze(require("path"));function XR(i,e){return i===e?!0:i?.id===e?.id&&i?.name===e?.name&&i?.revision===e?.revision}var Cp=class Cp{constructor(e){this.model=e;let t=fi(Ye(It.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(It.window.registerFileDecorationProvider(this))}model;static Decoration={color:new It.ThemeColor("gitDecoration.ignoredResourceForeground")};_onDidChangeDecorations=new It.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 Pm,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)?Cp.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([Qn(500)],Cp.prototype,"checkIgnoreSoon",1);var y_=Cp,v_=class i{constructor(e){this.repository=e;this.disposables.push(It.window.registerFileDecorationProvider(this),av(e.onDidRunGitStatus,()=>this.onDidRunGitStatus()))}repository;static SubmoduleDecorationData={tooltip:"Submodule",badge:"S",color:new It.ThemeColor("gitDecoration.submoduleResourceForeground")};_onDidChangeDecorations=new It.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=>It.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===w.DELETED&&r.rightUri&&t.set(r.rightUri.toString(),n),(r.type===w.INDEX_RENAMED||r.type===w.INTENT_TO_RENAME)&&t.set(r.resourceUri.toString(),n))}}collectSubmoduleDecorationData(e){for(let t of this.repository.submodules)e.set(It.Uri.file(ZR.join(this.repository.root,t.path)).toString(),i.SubmoduleDecorationData)}provideFileDecoration(e){return this.decorations.get(e.toString())}dispose(){this.disposables.forEach(e=>e.dispose())}},__=class{constructor(e){this.repository=e;this.disposables.push(It.window.registerFileDecorationProvider(this),av(e.historyProvider.onDidChangeCurrentHistoryItemRefs,()=>this.onDidChangeCurrentHistoryItemRefs()))}repository;_onDidChangeDecorations=new It.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(XR(this._currentHistoryItemRef,t)&&XR(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=>It.Uri.parse(a,!0)))}async collectIncomingChangesFileDecorations(e){for(let t of await this.getIncomingChanges())switch(t.status){case w.INDEX_ADDED:e.set(t.uri.toString(),{badge:"\u2193A",tooltip:It.l10n.t("Incoming Changes (added)")});break;case w.DELETED:e.set(t.uri.toString(),{badge:"\u2193D",tooltip:It.l10n.t("Incoming Changes (deleted)")});break;case w.INDEX_RENAMED:e.set(t.originalUri.toString(),{badge:"\u2193R",tooltip:It.l10n.t("Incoming Changes (renamed)")});break;case w.MODIFIED:e.set(t.uri.toString(),{badge:"\u2193M",tooltip:It.l10n.t("Incoming Changes (modified)")});break;default:{e.set(t.uri.toString(),{badge:"\u2193~",tooltip:It.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(){Le(this.disposables)}},bp=class{constructor(e){this.model=e;this.disposables.push(new y_(e)),Ye(It.workspace.onDidChangeConfiguration,r=>r.affectsConfiguration("git.decorations.enabled"))(this.update,this,this.disposables),this.update()}model;enabled=!1;disposables=[];modelDisposables=[];providers=new Map;update(){let t=It.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=Le(this.modelDisposables),this.providers.forEach(e=>e.dispose()),this.providers.clear()}onDidOpenRepository(e){let t=Ws([new v_(e),new __(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=Le(this.disposables)}};var ni=require("vscode");var wp=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"}}ipc;logger;env;sshEnv;disposable=Dn;cache=new Map;cacheEvictionTimers=new Map;credentialsProviders=new Set;featureDescription="git auth provider";async handle(e){return this.logger.trace(`[Askpass][handle] ${JSON.stringify(e)}`),ni.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=ni.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),clearTimeout(this.cacheEvictionTimers.get(o)),this.cacheEvictionTimers.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),clearTimeout(this.cacheEvictionTimers.get(o)),this.cacheEvictionTimers.set(o,setTimeout(()=>{this.cache.delete(o),this.cacheEvictionTimers.delete(o)},6e4)),u.username}catch{}let c={password:a,placeHolder:t,prompt:`Git: ${r}`,ignoreFocusOut:!0};return await ni.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=fv(e,5):e[6]&&(s=fv(e,6)),this.logger.trace(`[Askpass][handleSSHAskpass] request: ${t}, file: ${s}`);let c={password:!0,placeHolder:ni.l10n.t("Passphrase"),prompt:s?`SSH Key: ${s}`:void 0,ignoreFocusOut:!0};return await ni.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:ni.l10n.t("Are you sure you want to continue connecting?"),title:ni.l10n.t('"{0}" has fingerprint "{1}"',r??"",n??"")},a=[ni.l10n.t("yes"),ni.l10n.t("no")];return await ni.window.showQuickPick(a,o)??""}getEnv(){return ni.workspace.getConfiguration("git").get("useIntegratedAskPass")?{...this.env,...this.sshEnv}:{}}getTerminalEnv(){let e=ni.workspace.getConfiguration("git");return e.get("useIntegratedAskPass")&&e.get("terminalAuthentication")?this.env:{}}registerCredentialsProvider(e){return this.credentialsProviders.add(e),Wr(()=>this.credentialsProviders.delete(e))}dispose(){for(let e of this.cacheEvictionTimers.values())clearTimeout(e);this.disposable.dispose()}};var PI=ze(cI());var rn=require("vscode");var lI=ze(require("querystring")),oB=En?new Set(["git","http","https","ssh"]):new Set(["file","git","http","https","ssh"]),aB=/^$|[~\^:\\\*\s\[\]]|^-|^\.|\/\.|\.\.|\.lock\/|\.lock$|\/$|\.$/,Dy=class{constructor(e){this.logger=e;this.disposables.push(rn.window.registerUriHandler(this))}logger;disposables=[];handleUri(e){this.logger.info(`[GitProtocolHandler][handleUri] URI:(${e.toString()})`),e.path==="/clone"&&this.clone(e)}async clone(e){let t=lI.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=rn.Uri.parse(o,!0),!oB.has(n.scheme.toLowerCase()))throw new Error("Unsupported scheme.");if(typeof r=="string"&&aB.test(r))throw new Error("Invalid reference.")}catch{this.logger.warn("[GitProtocolHandler][clone] Invalid URI:"+e.toString());return}if((await rn.commands.getCommands(!0)).includes("git.clone")){let o=n.toString(!0);this.logger.info(`[GitProtocolHandler][clone] Executing git.clone for ${o}`),rn.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=rn.l10n.t("Could not clone your repository as Git is not installed."),a=rn.l10n.t("Download Git");await rn.window.showErrorMessage(o,{modal:!0},a)===a&&rn.commands.executeCommand("vscode.open",rn.Uri.parse("https://aka.ms/vscode-download-git"));return}}dispose(){this.disposables=Le(this.disposables)}};var dI=require("vscode");function uI(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 As=class{enabled=!1;_onDidChangeEnablement=new dI.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 Jt(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 jm({model:this._model,cloneManager:this._cloneManager})}};D([uI],As.prototype,"getGitPath",1),D([uI],As.prototype,"getRepositories",1);var ul=ze(require("path")),TI=ze(require("fs")),Fo=ze(require("os"));var ll=require("vscode");var Ry=class{constructor(e,t){this.context=e;this.envProviders=t;this.disposable=Ye(ll.workspace.onDidChangeConfiguration,r=>r.affectsConfiguration("git"))(this.refresh,this),this.refresh()}context;envProviders;disposable;refresh(){let e=ll.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=ll.l10n.t("Enables the following features: {0}",t.join(", ")))}dispose(){this.disposable.dispose()}},Sy=class{constructor(e,t){this.model=e;this.logger=t;ll.window.onDidEndTerminalShellExecution(this.onDidEndTerminalShellExecution,this,this.disposables)}model;logger;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(){Le(this.disposables)}};var cE=ze(require("path")),fI=ze(require("http")),mI=ze(require("os")),xy=ze(require("fs")),Py=ze(require("crypto"));function sB(i){return process.platform==="win32"?`\\\\.\\pipe\\vscode-git-${i}-sock`:process.platform!=="darwin"&&process.env.XDG_RUNTIME_DIR?cE.join(process.env.XDG_RUNTIME_DIR,`vscode-git-${i}.sock`):cE.join(mI.tmpdir(),`vscode-git-${i}.sock`)}async function pI(i){let e=fI.createServer(),t=Py.createHash("sha256");if(i)t.update(i);else{let n=await new Promise((o,a)=>Py.randomBytes(20,(s,c)=>s?a(s):o(c)));t.update(n)}let r=sB(t.digest("hex").substring(0,10));if(process.platform!=="win32")try{await xy.promises.unlink(r)}catch{}return new Promise((n,o)=>{try{e.on("error",a=>o(a)),e.listen(r),n(new lE(e,r))}catch(a){o(a)}})}var lE=class{constructor(e,t){this.server=e;this._ipcHandlePath=t;this.server.on("request",this.onRequest.bind(this))}server;_ipcHandlePath;handlers=new Map;get ipcHandlePath(){return this._ipcHandlePath}registerHandler(e,t){return this.handlers.set(`/${e}`,t),Wr(()=>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"&&xy.unlinkSync(this._ipcHandlePath)}};var Ty=ze(require("path")),Hr=require("vscode");var Iy=class{env;disposable=Dn;featureDescription="git editor";constructor(e){e&&(this.disposable=e.registerHandler("git-editor",this)),this.env={GIT_EDITOR:`"${Ty.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:Ty.join(__dirname,"git-editor-main.js")}}async handle({commitMessagePath:e}){if(e){let t=Hr.Uri.file(e),r=await Hr.workspace.openTextDocument(t);return await Hr.window.showTextDocument(r,{preview:!1}),new Promise(n=>{let o=Hr.window.tabGroups.onDidChangeTabs(async a=>{if(a.closed.some(s=>s.input instanceof Hr.TabInputText&&s.input.uri.toString()===t.toString()))return o.dispose(),n(!0)})})}return Promise.resolve(!1)}getEnv(){return Hr.workspace.getConfiguration("git").get("useEditorAsCommitInput")?this.env:{}}getTerminalEnv(){let e=Hr.workspace.getConfiguration("git");return e.get("useEditorAsCommitInput")&&e.get("terminalGitEditor")?this.env:{}}dispose(){this.disposable.dispose()}},Ay=class{constructor(e){this._model=e}_model;_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 Hr.DocumentLink(new Hr.Range(a,s),Hr.Uri.file(Ty.join(e.root,n)));return c.tooltip=Hr.l10n.t("Open File"),c}};var uE=ze(require("path")),Rt=ze(require("vscode"));var ky=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}))}))}model;providerRegistration;dispose(){this.providerRegistration.dispose()}async provideEditSessionIdentity(e,t){await this.model.openRepository(uE.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=hI(e),n=hI(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(uE.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 hI(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 dt=require("vscode");var Ny=class{constructor(e){this.model=e;this.diagnostics=dt.languages.createDiagnosticCollection(),this.migrateInputValidationSettings().then(()=>{Aa(Ye(dt.workspace.onDidChangeTextDocument,t=>t.document.uri.scheme==="vscode-scm"),t=>t.document)(this.onDidChangeTextDocument,this,this.disposables),Ye(dt.workspace.onDidChangeConfiguration,t=>t.affectsConfiguration("git.inputValidation")||t.affectsConfiguration("git.inputValidationLength")||t.affectsConfiguration("git.inputValidationSubjectLength"))(this.onDidChangeConfiguration,this,this.disposables)})}model;diagnostics;severity=dt.DiagnosticSeverity.Warning;disposables=[];getDiagnostics(e){return this.diagnostics.get(e)??[]}async migrateInputValidationSettings(){try{let e=dt.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=dt.workspace.getConfiguration("git");if(!t.get("inputValidation",!1)){this.diagnostics.set(e.uri,void 0);return}if(/^\s+$/.test(e.getText())){let s=new dt.Range(e.lineAt(0).range.start,e.lineAt(e.lineCount-1).range.end),c=new dt.Diagnostic(s,dt.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=c.text.length-l,f=u===1?dt.l10n.t("{0} character over {1} in current line",u,l):dt.l10n.t("{0} characters over {1} in current line",u,l),m=new dt.Diagnostic(c.range,f,this.severity);m.code="line_length",n.push(m)}}this.diagnostics.set(e.uri,n)}dispose(){Le(this.disposables)}},Oy=class{constructor(e){this.diagnosticsManager=e;this.disposables.push(dt.languages.registerCodeActionsProvider({scheme:"vscode-scm"},this))}diagnosticsManager;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 dt.WorkspaceEdit;s.delete(e.uri,a.range);let c=new dt.CodeAction(dt.l10n.t("Clear whitespace characters"),dt.CodeActionKind.QuickFix);c.diagnostics=[a],c.edit=s,r.push(c);break}case"line_length":{let s=this.getWrapLineWorkspaceEdit(e,a.range),c=new dt.CodeAction(dt.l10n.t("Hard wrap line"),dt.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 dt.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 dt.CodeAction(dt.l10n.t("Hard wrap all lines"),dt.CodeActionKind.QuickFix);return n.edit=this.getWrapAllLinesWorkspaceEdit(e,r),n}getWrapAllLinesWorkspaceEdit(e,t){let r=new dt.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=dt.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 f=c.indexOf(" ",l+a);f!==-1?(s.push(c.substring(l,f)),l=f+1):(s.push(c.substring(l)),l=c.length)}}return l<c.length&&s.push(c.substring(l)),s}dispose(){Le(this.disposables)}};var ke=require("vscode");function gI(i,e){return i.some(t=>t.modified.startLineNumber<=e&&e<t.modified.endLineNumberExclusive)}function My(i,e){return e-i}function cB(i,e){if(e.length===0)return i;for(let t of e){if(i<t.modified.startLineNumber)break;if(t.kind===ke.TextEditorChangeKind.Addition)i=i-My(t.modified.startLineNumber,t.modified.endLineNumberExclusive);else if(t.kind===ke.TextEditorChangeKind.Deletion)i=i+My(t.original.startLineNumber,t.original.endLineNumberExclusive);else if(t.kind===ke.TextEditorChangeKind.Modification){let r=My(t.original.startLineNumber,t.original.endLineNumberExclusive),n=My(t.modified.startLineNumber,t.modified.endLineNumberExclusive);r!==n&&(i=i-(n-r))}else throw new Error("Unexpected change kind")}return i}function yI(i){let e=new ke.Position(i,Number.MAX_SAFE_INTEGER);return new ke.Range(e,e)}function vI(i){return i.scheme==="file"||Sn(i)}function lB(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 dE=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 zo(100));let o=this._getCacheKey(t,r);this._cache.get(e).set(o,n)}_getCacheKey(e,t){return je(e,t).toString()}},lm=class{constructor(e){this._model=e;ke.workspace.onDidChangeConfiguration(this._onDidChangeConfiguration,this,this._disposables),this._onDidChangeConfiguration()}_model;_subjectMaxLength=50;_onDidChangeBlameInformation=new ke.EventEmitter;onDidChangeBlameInformation=this._onDidChangeBlameInformation.event;_textEditorBlameInformation;get textEditorBlameInformation(){return this._textEditorBlameInformation}set textEditorBlameInformation(e){lB(this._textEditorBlameInformation,e)||(this._textEditorBlameInformation=e,this._onDidChangeBlameInformation.fire())}_HEAD;_commitInformationCache=new zo(100);_repositoryBlameCache=new dE;_editorDecoration;_statusBarItem;_repositoryDisposables=new Map;_enablementDisposables=[];_disposables=[];formatBlameInformationMessage(e,t,r){let n={hash:r.hash,hashShort:$s(e,r.hash),subject:Ko(Ei(r.subject??"",this._subjectMaxLength)),authorName:r.authorName??"",authorEmail:r.authorEmail??"",authorDate:new Date(r.authorDate??new Date).toLocaleString(),authorDateAgo:Yo(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 y={commits:[{hash:t.hash,authorName:t.authorName,authorEmail:t.authorEmail}],size:Xm};n=(await Qs(this._model,s,y))?.get(t.hash)}catch{}(await s.getUnpublishedCommits()).has(t.hash)||r.push(...await Dl(this._model,s)??[]),a=await Xs(this._model,s,o?.message??t.subject??"")}let c=o?.hash??t.hash,l=o?.authorName??t.authorName,u=o?.authorEmail??t.authorEmail,f=o?.authorDate??t.authorDate,m=a??o?.message??t.subject??"",h=[Sl(e,c),xl(r,c)];return h.push([{title:"$(gear)",tooltip:ke.l10n.t("Open Settings"),command:"workbench.action.openSettings",arguments:["git.blame"]}]),Rl(n,l,u,f,m,o?.shortStat,h,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(ke.window.activeTextEditor);return}let t=ke.workspace.getConfiguration("git"),r=t.get("blame.editorDecoration.enabled")===!0,n=t.get("blame.statusBarItem.enabled")===!0;if(r?this._editorDecoration||(this._editorDecoration=new fE(this)):(this._editorDecoration?.dispose(),this._editorDecoration=void 0),n?this._statusBarItem||(this._statusBarItem=new mE(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);ke.window.onDidChangeActiveTextEditor(o=>this._updateTextEditorBlameInformation(o),this,this._enablementDisposables),ke.window.onDidChangeTextEditorSelection(o=>this._updateTextEditorBlameInformation(o.textEditor,"selection"),this,this._enablementDisposables),ke.window.onDidChangeTextEditorDiffInformation(o=>this._updateTextEditorBlameInformation(o.textEditor),this,this._enablementDisposables)}}else this._enablementDisposables=Le(this._enablementDisposables);this._updateTextEditorBlameInformation(ke.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&&Le(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(ke.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 qs();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!==ke.window.activeTextEditor)return}else{this.textEditorBlameInformation=void 0;return}let r=this._model.getRepository(e.document.uri);if(!r||!r.HEAD?.commit)return;if(!vI(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(Sn(e.document.uri)){let{ref:u}=kr(e.document.uri);if(/^[0-9a-f]{40}$/i.test(u)||u==="HEAD"||u==="~")o=n=[],a=void 0;else if(u===""){let f=r_(e);if(f&&f.isStale){this.textEditorBlameInformation=void 0;return}o=[],a=n=f?.changes??[]}else throw new Error(`Unexpected ref: ${u}`)}else{let u=ec(e);if(!u||u.isStale){this.textEditorBlameInformation=void 0;return}let f=r_(e);if(f&&f.isStale){this.textEditorBlameInformation=void 0;return}o=u.changes,a=f?.changes,n=a??o}let s;if(!Sn(e.document.uri))s=r.HEAD.commit;else{let{ref:u}=kr(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(f=>f.active.line))){if(gI(o,u+1)){t==="selection"&&l.push({lineNumber:u,blameInformation:ke.l10n.t("Not Committed Yet")});continue}if(gI(a??[],u+1)){l.push({lineNumber:u,blameInformation:ke.l10n.t("Not Committed Yet (Staged)")});continue}let f=cB(u+1,n),m=c.find(h=>h.ranges.find(p=>f>=p.startLineNumber&&f<=p.endLineNumber));m&&l.push({lineNumber:u,blameInformation:m})}this.textEditorBlameInformation={resource:e.document.uri,blameInformation:l}}dispose(){for(let e of this._repositoryDisposables.values())Le(e);this._repositoryDisposables.clear(),this._disposables=Le(this._disposables)}};D([Nr],lm.prototype,"_updateTextEditorBlameInformation",1);var fE=class{constructor(e){this._controller=e;this._decoration=ke.window.createTextEditorDecorationType({after:{color:new ke.ThemeColor("git.blame.editorDecorationForeground")}}),this._disposables.push(this._decoration),ke.workspace.onDidChangeConfiguration(this._onDidChangeConfiguration,this,this._disposables),ke.window.onDidChangeActiveTextEditor(this._onDidChangeActiveTextEditor,this,this._disposables),this._controller.onDidChangeBlameInformation(()=>this._onDidChangeBlameInformation(),this,this._disposables),this._onDidChangeConfiguration()}_controller;_template="";_decoration;_hoverDisposable;_disposables=[];async provideHover(e,t,r){if(r.isCancellationRequested)return;let n=ke.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:yI(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=ke.workspace.getConfiguration("git");this._template=t.get("blame.editorDecoration.template","${subject}, ${authorName} (${authorDateAgo})"),this._registerHoverProvider(),this._onDidChangeBlameInformation()}_onDidChangeActiveTextEditor(){for(let e of ke.window.visibleTextEditors)e!==ke.window.activeTextEditor&&e.setDecorations(this._decoration,[]);this._registerHoverProvider()}_onDidChangeBlameInformation(){let e=ke.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:yI(e),renderOptions:{after:{contentText:t,margin:"0 0 0 50px"}}}}_registerHoverProvider(){this._hoverDisposable?.dispose(),!ke.workspace.getConfiguration("git").get("blame.editorDecoration.disableHover",!1)&&ke.window.activeTextEditor&&vI(ke.window.activeTextEditor.document.uri)&&(this._hoverDisposable=ke.languages.registerHoverProvider({pattern:ke.window.activeTextEditor.document.uri.fsPath},this))}dispose(){this._hoverDisposable?.dispose(),this._hoverDisposable=void 0,this._disposables=Le(this._disposables)}},mE=class{constructor(e){this._controller=e;this._statusBarItem=ke.window.createStatusBarItem("git.blame",ke.StatusBarAlignment.Right,200),this._statusBarItem.name=ke.l10n.t("Git Blame Information"),this._disposables.push(this._statusBarItem),ke.workspace.onDidChangeConfiguration(this._onDidChangeConfiguration,this,this._disposables),this._controller.onDidChangeBlameInformation(()=>this._onDidChangeBlameInformation(),this,this._disposables),this._onDidChangeConfiguration()}_controller;_template="";_statusBarItem;_disposables=[];_onDidChangeConfiguration(e){if(e&&!e.affectsConfiguration("git.commitShortHashLength")&&!e.affectsConfiguration("git.blame.statusBarItem.template"))return;let t=ke.workspace.getConfiguration("git");this._template=t.get("blame.statusBarItem.template","${authorName} (${authorDateAgo})"),this._onDidChangeBlameInformation()}async _onDidChangeBlameInformation(){if(!ke.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=ke.l10n.t("Git Blame Information"),this._statusBarItem.command=void 0;else{this._statusBarItem.text=`$(git-commit) ${this._controller.formatBlameInformationMessage(ke.window.activeTextEditor.document.uri,this._template,e[0].blameInformation)}`,this._statusBarItem.tooltip2=n=>this._provideTooltip(ke.window.activeTextEditor.document.uri,e[0].blameInformation,n);let t=ke.window.activeTextEditor.document.uri,r=e[0].blameInformation.hash;this._statusBarItem.command={title:ke.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=Le(this._disposables)}};var pE=ze(require("path")),_I=ze(require("fs")),hE=ze(require("os"));var st=require("vscode");var Ly=class{constructor(e,t,r){this.model=e;this.telemetryReporter=t;this.repositoryCache=r}model;telemetryReporter;repositoryCache;async clone(e,t={}){if((!e||typeof e!="string")&&(e=await up({providerLabel:n=>st.l10n.t("Clone from {0}",n.name),urlLabel:st.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,t.returnRepositoryPath):this.cloneRepository(e,t.parentPath,t)}async cloneRepository(e,t,r={}){if(!t){let o=st.workspace.getConfiguration("git").get("defaultCloneDirectory")||hE.homedir();o=o.replace(/^~/,hE.homedir());let a=await st.window.showOpenDialog({canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,defaultUri:st.Uri.file(o),title:st.l10n.t("Choose a folder to clone {0} into",e),openLabel:st.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:st.ProgressLocation.Notification,title:ka(st.l10n.t('Cloning git repository "{0}"...',e),st.l10n.t("Cloning git repository...")),cancellable:!0},o=await st.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=st.workspace.getConfiguration("git").get("openAfterClone"),o;if(t&&t==="none"?o=3:n==="always"?o=0:n==="alwaysNewWindow"?o=1:n==="whenNoFolderOpen"&&!st.workspace.workspaceFolders&&(o=0),o===void 0){let s=st.l10n.t("Would you like to open the repository?"),c=st.l10n.t("Open"),l=st.l10n.t("Open in New Window"),u=[c,l],f=st.l10n.t("Add to Workspace");st.workspace.workspaceFolders&&(s=st.l10n.t("Would you like to open the repository, or add it to the current workspace?"),u.push(f));let m=await st.window.showInformationMessage(s,{modal:!0},...u);o=m===c?0:m===l?1:m===f?2:void 0}this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"success"},{openFolder:o===0||o===1?1:0});let a=st.Uri.file(e);o===0?st.commands.executeCommand("vscode.openFolder",a,{forceReuseWindow:!0}):o===2?st.workspace.updateWorkspaceFolders(st.workspace.workspaceFolders.length,0,{uri:a}):o===1&&st.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")?st.l10n.t("Workspace: {0}",pE.basename(u.workspacePath,".code-workspace")):pE.basename(u.workspacePath),description:u.workspacePath,item:u})),s={label:st.l10n.t("Clone again")};a.push(s);let c=st.l10n.t("Open Existing Repository Clone"),l=await st.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,a){let s=(await Promise.all(e.map(async u=>{let f=a?u.repositoryPath:u.workspacePath;if(await _I.promises.stat(f).catch(()=>{}))return u}))).filter(u=>u!==void 0);if(!s.length)return await this.cloneRepository(t,n,{ref:o,postCloneAction:r})??void 0;let c=s?.find(u=>st.workspace.workspaceFolders?.some(f=>f.uri.fsPath===u.workspacePath));if(c)return a?c.repositoryPath:c.workspacePath;let l=s.length===1?s[0].workspacePath:void 0;if(l||(l=await this.chooseExistingRepository(t,s,o,n,r)),l)return await this.doPostCloneAction(l,r),a?s.find(u=>u.workspacePath===l)?.repositoryPath??l:l}};var CI=ze(require("crypto")),nn=ze(require("fs")),nr=ze(require("path")),wI=ze(require("child_process")),EI=require("vscode");function uB(){if(process.platform!=="win32")return!1;try{let i=nr.join(EI.env.appRoot,"product.json"),t=JSON.parse(nn.readFileSync(i,"utf8")).target;return t==="user"||t==="system"}catch{return!1}}function dB(i){let e=CI.createHash("sha256"),t=[i.askpass,i.askpassMain,i.sshAskpass,i.askpassEmpty,i.sshAskpassEmpty];for(let r of t){let n=nn.readFileSync(r);e.update(n),e.update(nr.basename(r))}return e.digest("hex").substring(0,16)}async function DI(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`];wI.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 um(i,e,t){let r=await nn.promises.readFile(i);await nn.promises.writeFile(e,r),await DI(e,t)}async function bI(i,e){try{let t=new Date;await nn.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 fB(i,e,t){try{try{await nn.promises.access(i)}catch{return}let r=await nn.promises.readdir(i),n=Date.now()-10080*60*1e3;for(let o of r){if(o===e)continue;let a=nr.join(i,o);try{let s=await nn.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 nn.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 mB(i,e,t){let r={askpass:nr.join(i,"askpass.sh"),askpassMain:nr.join(i,"askpass-main.js"),sshAskpass:nr.join(i,"ssh-askpass.sh"),askpassEmpty:nr.join(i,"askpass-empty.sh"),sshAskpassEmpty:nr.join(i,"ssh-askpass-empty.sh")},n=dB(r);t.trace(`[askpassManager] Content hash: ${n}`);let o=nr.join(e,"askpass"),a=nr.join(o,n),s={askpass:nr.join(a,"askpass.sh"),askpassMain:nr.join(a,"askpass-main.js"),sshAskpass:nr.join(a,"ssh-askpass.sh"),askpassEmpty:nr.join(a,"askpass-empty.sh"),sshAskpassEmpty:nr.join(a,"ssh-askpass-empty.sh")};try{if((await nn.promises.stat(s.askpass)).isFile())return t.trace(`[askpassManager] Using existing content-addressed askpass at ${a}`),await bI(a,t),s}catch{}return t.info(`[askpassManager] Creating content-addressed askpass scripts at ${a}`),await nn.promises.mkdir(a,{recursive:!0}),await DI(a,t),await Promise.all([um(r.askpass,s.askpass,t),um(r.askpassMain,s.askpassMain,t),um(r.sshAskpass,s.sshAskpass,t),um(r.askpassEmpty,s.askpassEmpty,t),um(r.sshAskpassEmpty,s.sshAskpassEmpty,t)]),t.info("[askpassManager] Successfully created content-addressed askpass scripts"),await bI(a,t),await fB(o,n,t),s}async function RI(i,e,t){if(e&&uB())try{return await mB(i,e,t)}catch(r){t.error(`[askpassManager] Failed to create content-addressed askpass scripts: ${r}`)}return{askpass:nr.join(i,"askpass.sh"),askpassMain:nr.join(i,"askpass-main.js"),sshAskpass:nr.join(i,"ssh-askpass.sh"),askpassEmpty:nr.join(i,"askpass-empty.sh"),sshAskpassEmpty:nr.join(i,"ssh-askpass-empty.sh")}}var II=[];async function hB(){for(let i of II)await i()}async function xI(i,e,t,r){let n=Oe.workspace.getConfiguration("git").get("path"),o=Array.isArray(n)?n:n?[n]:[],{isTrusted:a,workspaceFolders:s=[]}=Oe.workspace,c=a?[]:s.map(Y=>ul.normalize(Y.uri.fsPath).replace(/[\r\n]+$/,""));!a&&o.length!==0&&(o=o.filter(Y=>ul.isAbsolute(Y)));let l=await QD(o,Y=>{if(e.info(Oe.l10n.t('[main] Validating found git in: "{0}"',Y)),c.length===0)return!0;let I=ul.normalize(Y).replace(/[\r\n]+$/,""),re=c.some(le=>I.startsWith(le));return re&&e.info(Oe.l10n.t('[main] Skipped found git in: "{0}"',Y)),!re},e),u;try{u=await pI(i.storagePath)}catch(Y){e.error(`[main] Failed to create git IPC: ${Y}`)}let f=await RI(__dirname,i.globalStorageUri.fsPath,e),m=new wp(u,e,f);r.push(m);let h=new Iy(u);r.push(h);let p={...m.getEnv(),...h.getEnv(),...u?.getEnv()},y=new Ry(i,[m,h,u]);r.push(y),e.info(Oe.l10n.t('[main] Using git "{0}" from "{1}"',l.version,l.path));let v=new Gm({gitPath:l.path,userAgent:`git/${l.version} (${Fo.version()??Fo.type()} ${Fo.release()}; ${Fo.platform()} ${Fo.arch()}) vscode/${Oe.version} (${Oe.env.appName})`,version:l.version,env:p}),S=new Zs(v,m,i.globalState,i.workspaceState,e,t);r.push(S);let E=new Ly(S,t,S.repositoryCache),R=()=>Oe.commands.executeCommand("setContext","gitOpenRepositoryCount",`${S.repositories.length}`);S.onDidOpenRepository(R,null,r),S.onDidCloseRepository(R,null,r),R();let P=Y=>{let I=Y.split(/\r?\n/mg);for(;/^\s*$/.test(I[I.length-1]);)I.pop();e.appendLine(I.join(`
`))};v.onOutput.addListener("log",P),r.push(Wr(()=>v.onOutput.removeListener("log",P)));let L=new A(v,S,i.globalState,e,t,E);r.push(L,new kl(S,e),new bp(S),new lm(S),new Cd(S,L),new ky(S),new Sy(S,e));let W=new Zm(S);S.registerPostCommitCommandsProvider(W);let K=new Ny(S);r.push(K);let H=new Oy(K);r.push(H);let $=Oe.languages.registerDocumentLinkProvider("git-commit",new Ay(S));return r.push($),CB(l),Oe.commands.executeCommand("setContext","gitVersion2.35",v.compareGitVersionTo("2.35")>=0),{model:S,cloneManager:E}}async function gB(i){if(i.uri.scheme!=="file")return!1;let e=ul.join(i.uri.fsPath,".git");try{return(await new Promise((r,n)=>TI.stat(e,(o,a)=>o?n(o):r(a)))).isDirectory()}catch{return!1}}async function yB(){let i=Oe.workspace.getConfiguration("git");if(i.get("ignoreMissingGitWarning")===!0||!Oe.workspace.workspaceFolders||(await Promise.all(Oe.workspace.workspaceFolders.map(gB))).every(a=>!a))return;let r=Oe.l10n.t("Download Git"),n=Oe.l10n.t("Don't Show Again"),o=await Oe.window.showWarningMessage(Oe.l10n.t('Git not found. Install it or configure it using the "git.path" setting.'),r,n);o===r?Oe.commands.executeCommand("vscode.open",Oe.Uri.parse("https://aka.ms/vscode-download-git")):o===n&&await i.update("ignoreMissingGitWarning",!0,!0)}async function AI(i){let e=[];i.subscriptions.push(new Oe.Disposable(()=>Oe.Disposable.from(...e).dispose()));let t=Oe.window.createOutputChannel("Git",{log:!0});e.push(t);let r=c=>{t.appendLine(Oe.l10n.t("[main] Log level: {0}",Oe.LogLevel[c]))};e.push(t.onDidChangeLogLevel(r)),r(t.logLevel);let{aiKey:n}=SI(),o=new PI.default(n);if(II.push(()=>o.dispose()),!Oe.workspace.getConfiguration("git",null).get("enabled")){let c=Ye(Oe.workspace.onDidChangeConfiguration,f=>f.affectsConfiguration("git")),l=Ye(c,()=>Oe.workspace.getConfiguration("git",null).get("enabled")===!0),u=new As;return $i(l).then(async()=>{let{model:f,cloneManager:m}=await xI(i,t,o,e);u.model=f,u.cloneManager=m}),u}try{let{model:c,cloneManager:l}=await xI(i,t,o,e);return new As({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"),Oe.commands.executeCommand("setContext","git.missing",!0),yB(),new As}finally{e.push(new Dy(t))}}var kI;function Lv(){return kI}async function vB(i){kI=i;let e=await AI(i);return i.subscriptions.push(AR(e)),e}async function _B(i){let e=Oe.workspace.getConfiguration("git");if(e.get("ignoreLegacyWarning")===!0||!/^[01]/.test(i.version))return;let r=Oe.l10n.t("Update Git"),n=Oe.l10n.t("Don't Show Again"),o=await Oe.window.showWarningMessage(Oe.l10n.t('You seem to have git "{0}" installed. Code works best with git >= 2',i.version),r,n);o===r?Oe.commands.executeCommand("vscode.open",Oe.Uri.parse("https://aka.ms/vscode-download-git")):o===n&&await e.update("ignoreLegacyWarning",!0,!0)}async function bB(i){if(!/^2\.(25|26)\./.test(i.version))return;let e=Oe.workspace.getConfiguration("git");if(e.get("ignoreWindowsGit27Warning")===!0)return;let r=Oe.l10n.t("Update Git"),n=Oe.l10n.t("Don't Show Again"),o=await Oe.window.showWarningMessage(Oe.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?Oe.commands.executeCommand("vscode.open",Oe.Uri.parse("https://aka.ms/vscode-download-git")):o===n&&await e.update("ignoreWindowsGit27Warning",!0,!0)}async function CB(i){await _B(i),process.platform==="win32"&&await bB(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.14.0 *)
@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