Autarch/web/static/js/lib/adb-bundle.js
DigiJ ffe47c51b5 Initial public release — AUTARCH v1.0.0
Full security platform with web dashboard, 16 Flask blueprints, 26 modules,
autonomous AI agent, WebUSB hardware support, and Archon Android companion app.

Includes Hash Toolkit, debug console, anti-stalkerware shield, Metasploit/RouterSploit
integration, WireGuard VPN, OSINT reconnaissance, and multi-backend LLM support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 03:57:32 -08:00

7 lines
56 KiB
JavaScript

var YumeAdb=(()=>{var ft=Object.defineProperty;var Dr=Object.getOwnPropertyDescriptor;var zr=Object.getOwnPropertyNames;var Wr=Object.prototype.hasOwnProperty;var zt=(r,e)=>{for(var t in e)ft(r,t,{get:e[t],enumerable:!0})},_r=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of zr(e))!Wr.call(r,i)&&i!==t&&ft(r,i,{get:()=>e[i],enumerable:!(n=Dr(e,i))||n.enumerable});return r};var qr=r=>_r(ft({},"__esModule",{value:!0}),r);var Ln={};zt(Ln,{Adb:()=>rt,AdbDaemonTransport:()=>dt,AdbDaemonWebUsbDevice:()=>q,AdbDaemonWebUsbDeviceManager:()=>mt});var u=class{#e;get promise(){return this.#e}#t;#r;#n="running";get state(){return this.#n}constructor(){this.#e=new Promise((e,t)=>{this.#t=e,this.#r=t})}resolve=e=>{this.#t(e),this.#n="resolved"};reject=e=>{this.#r(e),this.#n="rejected"}};var Se=class{nextId;pendingResolvers=new Map;constructor(e=0){this.nextId=e}add(){let e=this.nextId++,t=new u;return this.pendingResolvers.set(e,t),[e,t.promise]}getResolver(e){if(!this.pendingResolvers.has(e))return null;let t=this.pendingResolvers.get(e);return this.pendingResolvers.delete(e),t}resolve(e,t){let n=this.getResolver(e);return n!==null?(n.resolve(t),!0):!1}reject(e,t){let n=this.getResolver(e);return n!==null?(n.reject(t),!0):!1}};function Wt(r){return new Promise(e=>{globalThis.setTimeout(()=>e(),r)})}function he(r){return typeof r=="object"&&r!==null&&"then"in r}function yt(r,e){for(;;){let{done:t,value:n}=r.next(e);if(t)return n;if(he(n))return n.then(i=>yt(r,{resolved:i}),i=>yt(r,{error:i}));e=n}}function te(r,e){function t(...n){let i=r.call(this,function*(s){if(he(s)){let o=yield s;if("resolved"in o)return o.resolved;throw o.error}return s},...n);return yt(i,void 0)}return e?t.bind(e):t}function _t(r){return(e,t)=>{if("buffer"in t){let n=r(e,t);return t.buffer.set(n,t.index),n.length}else return r(e,t)}}function qt(r,e){return(t,n)=>{if("buffer"in n)return n.index??=0,e(t,n),r;{let i=new Uint8Array(r);return e(t,{buffer:i,index:0,littleEndian:n.littleEndian}),i}}}function Mr(r,e,t,n,i){let s={size:r,type:e,serialize:e==="default"?_t(t):qt(r,t),deserialize:te(n),omitInit:i==null?void 0:i.omitInit};return i!=null&&i.init&&(s.init=i.init),s}var G=Mr;var w=new Uint8Array(0);function Or(r,e,t,n){e.length<n?(r.set(e,t),r.fill(0,t+e.length,t+n)):e.length===n?r.set(e,t):r.set(e.subarray(0,n),t)}function P(r,e){if(typeof r=="number"){let i,s,o;return r===0?(i=()=>{},e?s=function*(){return e.convert(w)}:s=function*(){return w}):(i=(a,{buffer:c,index:l})=>Or(c,a,l,r),e?(s=function*(a,c){let l=c.readExactly(r);return e.convert(yield*a(l))},o=a=>e.back(a)):s=function*(a,c){return c.readExactly(r)}),G(r,"byob",i,s,{init:o})}if((typeof r=="object"||typeof r=="function")&&"serialize"in r){let i,s;return e?(i=function*(o,a,c){let l=yield*o(r.deserialize(a,c)),h=l!==0?a.readExactly(l):w;return e.convert(yield*o(h))},s=o=>e.back(o)):i=function*(o,a,c){let l=yield*o(r.deserialize(a,c));return l!==0?a.readExactly(l):w},G(r.size,"default",(o,{littleEndian:a})=>{if(r.type==="default"){let c=r.serialize(o.length,{littleEndian:a});if(o.length===0)return c;let l=new Uint8Array(c.length+o.length);return l.set(c,0),l.set(o,c.length),l}else{let c=new Uint8Array(r.size+o.length);return r.serialize(o.length,{buffer:c,index:0,littleEndian:a}),c.set(o,r.size),c}},i,{init:s})}if(typeof r=="string"){let i,s;return e?(i=function*(o,a,{dependencies:c}){let l=c[r],h=l!==0?a.readExactly(l):w;return e.convert(yield*o(h))},s=(o,a)=>{let c=e.back(o);return a[r]=c.length,c}):(i=function*(o,a,{dependencies:c}){let l=c[r];return l!==0?a.readExactly(l):w},s=(o,a)=>{let c=o;return a[r]=c.length,c}),G(0,"default",o=>o,i,{init:s})}let t,n;return e?(t=function*(i,s,{dependencies:o}){let a=o[r.field],c=r.convert(a),l=c!==0?s.readExactly(c):w;return e.convert(yield*i(l))},n=(i,s)=>{let o=e.back(i);return s[r.field]=r.back(o.length),o}):(t=function*(i,s,{dependencies:o}){let a=o[r.field],c=r.convert(a);return c!==0?s.readExactly(c):w},n=(i,s)=>{let o=i;return s[r.field]=r.back(o.length),o}),G(0,"default",i=>i,t,{init:n})}var W=class extends Error{constructor(){super("ExactReadable ended")}},ge=class{#e;#t;get position(){return this.#t}constructor(e){this.#e=e,this.#t=0}readExactly(e){if(this.#t+e>this.#e.length)throw new W;let t=this.#e.subarray(this.#t,this.#t+e);return this.#t+=e,t}};var Ee=class extends Error{constructor(e){super(e)}},xt=class extends Ee{constructor(){super("The underlying readable was ended before the struct was fully deserialized")}},H=class extends Ee{constructor(){super("The underlying readable doesn't contain any more struct")}};function f(r,e){let t=Object.entries(r),n=0,i=!0;for(let[,a]of t)n+=a.size,i&&a.type!=="byob"&&(i=!1);let s=e.littleEndian,o=e.extra?Object.getOwnPropertyDescriptors(e.extra):void 0;return{littleEndian:s,fields:r,extra:e.extra,type:i?"byob":"default",size:n,serialize(a,c){var le;let l={...a};for(let[p,v]of t)if(p in l&&"init"in v){let de=(le=v.init)==null?void 0:le.call(v,l[p],l);l[p]=de}let h=new Array(t.length),T=new Array(t.length);{let p={littleEndian:s};for(let[v,[de,wt]]of t.entries())wt.type==="byob"?h[v]=wt.size:(T[v]=wt.serialize(l[de],p),h[v]=T[v].length)}let B=h.reduce((p,v)=>p+v,0),M,U,O;if(c instanceof Uint8Array){if(c.length<B)throw new Error("Buffer too small");M=!0,U=c,O=0}else if(typeof c=="object"&&"buffer"in c){if(M=!0,U=c.buffer,O=c.index??0,U.length-O<B)throw new Error("Buffer too small")}else M=!1,U=new Uint8Array(B),O=0;let K={buffer:U,index:O,littleEndian:s};for(let[p,[v,de]]of t.entries())T[p]?U.set(T[p],K.index):de.serialize(l[v],K),K.index+=h[p];return M?B:U},deserialize:te(function*(a,c){let l=c.position,h={},T={dependencies:h,littleEndian:s};try{for(let[B,M]of t)h[B]=yield*a(M.deserialize(c,T))}catch(B){throw B instanceof W?c.position===l?new H:new xt:B}return o&&Object.defineProperties(h,o),e.postDeserialize?e.postDeserialize.call(h,h):h})}}function Y(r,e,t){return f(Object.assign({},r.fields,e),{littleEndian:(t==null?void 0:t.littleEndian)??r.littleEndian,extra:r.extra,postDeserialize:t==null?void 0:t.postDeserialize})}function Mt(r,e,t){return t?r[e]|r[e+1]<<8|r[e+2]<<16|r[e+3]<<24:r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3]}function Ot(r,e,t,n){n?(r[e]=t,r[e+1]=t>>8,r[e+2]=t>>16,r[e+3]=t>>24):(r[e]=t>>24,r[e+1]=t>>16,r[e+2]=t>>8,r[e+3]=t)}function Vt(r,e,t){r[e]=Number(t&0xffn),r[e+1]=Number(t>>8n&0xffn),r[e+2]=Number(t>>16n&0xffn),r[e+3]=Number(t>>24n&0xffn),r[e+4]=Number(t>>32n&0xffn),r[e+5]=Number(t>>40n&0xffn),r[e+6]=Number(t>>48n&0xffn),r[e+7]=Number(t>>56n&0xffn)}function jt(r,e,t){r[e]=Number(t>>56n&0xffn),r[e+1]=Number(t>>48n&0xffn),r[e+2]=Number(t>>40n&0xffn),r[e+3]=Number(t>>32n&0xffn),r[e+4]=Number(t>>24n&0xffn),r[e+5]=Number(t>>16n&0xffn),r[e+6]=Number(t>>8n&0xffn),r[e+7]=Number(t&0xffn)}function re(r,e){return(r[e]|r[e+1]<<8|r[e+2]<<16|r[e+3]<<24)>>>0}function Ft(r,e,t){return t?(r[e]|r[e+1]<<8|r[e+2]<<16|r[e+3]<<24)>>>0:(r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3])>>>0}function $t(r,e,t){r[e]=t,r[e+1]=t>>8,r[e+2]=t>>16,r[e+3]=t>>24}function Kt(r,e,t,n){n?(r[e]=t,r[e+1]=t>>8,r[e+2]=t>>16,r[e+3]=t>>24):(r[e]=t>>24,r[e+1]=t>>16,r[e+2]=t>>8,r[e+3]=t)}function Gt(r,e){return BigInt(r[e])<<56n|BigInt(r[e+1])<<48n|BigInt(r[e+2])<<40n|BigInt(r[e+3])<<32n|BigInt(r[e+4])<<24n|BigInt(r[e+5])<<16n|BigInt(r[e+6])<<8n|BigInt(r[e+7])}function Ht(r,e,t){return t?BigInt(r[e])|BigInt(r[e+1])<<8n|BigInt(r[e+2])<<16n|BigInt(r[e+3])<<24n|BigInt(r[e+4])<<32n|BigInt(r[e+5])<<40n|BigInt(r[e+6])<<48n|BigInt(r[e+7])<<56n:BigInt(r[e])<<56n|BigInt(r[e+1])<<48n|BigInt(r[e+2])<<40n|BigInt(r[e+3])<<32n|BigInt(r[e+4])<<24n|BigInt(r[e+5])<<16n|BigInt(r[e+6])<<8n|BigInt(r[e+7])}function Yt(r,e,t,n){n?(r[e]=Number(t&0xffn),r[e+1]=Number(t>>8n&0xffn),r[e+2]=Number(t>>16n&0xffn),r[e+3]=Number(t>>24n&0xffn),r[e+4]=Number(t>>32n&0xffn),r[e+5]=Number(t>>40n&0xffn),r[e+6]=Number(t>>48n&0xffn),r[e+7]=Number(t>>56n&0xffn)):(r[e]=Number(t>>56n&0xffn),r[e+1]=Number(t>>48n&0xffn),r[e+2]=Number(t>>40n&0xffn),r[e+3]=Number(t>>32n&0xffn),r[e+4]=Number(t>>24n&0xffn),r[e+5]=Number(t>>16n&0xffn),r[e+6]=Number(t>>8n&0xffn),r[e+7]=Number(t&0xffn))}function Ie(r,e,t){let n=()=>n;return Object.assign(n,G(r,"byob",e,t)),n}var Zt=Ie(1,(r,{buffer:e,index:t})=>{e[t]=r},function*(r,e){return(yield*r(e.readExactly(1)))[0]});var d=Ie(4,(r,{buffer:e,index:t,littleEndian:n})=>{Kt(e,t,r,n)},function*(r,e,{littleEndian:t}){let n=yield*r(e.readExactly(4));return Ft(n,0,t)}),Xt=Ie(4,(r,{buffer:e,index:t,littleEndian:n})=>{Ot(e,t,r,n)},function*(r,e,{littleEndian:t}){let n=yield*r(e.readExactly(4));return Mt(n,0,t)}),Z=Ie(8,(r,{buffer:e,index:t,littleEndian:n})=>{Yt(e,t,r,n)},function*(r,e,{littleEndian:t}){let n=yield*r(e.readExactly(8));return Ht(n,0,t)});var{TextEncoder:Vr,TextDecoder:jr}=globalThis,Fr=new Vr,$r=new jr;function C(r){return Fr.encode(r)}function D(r){return $r.decode(r)}var V=r=>{let e=P(r,{convert:D,back:C});return e.as=()=>e,e};var{AbortController:j}=globalThis,E=(()=>{let{ReadableStream:r}=globalThis;return r.from||(r.from=function(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new r({async pull(n){let i=await t.next();if(i.done){n.close();return}n.enqueue(i.value)},async cancel(n){var i;await((i=t.return)==null?void 0:i.call(t,n))}})}),(!r.prototype[Symbol.asyncIterator]||!r.prototype.values)&&(r.prototype.values=async function*(e){let t=this.getReader();try{for(;;){let{done:n,value:i}=await t.read();if(n)return;yield i}}finally{e!=null&&e.preventCancel||await t.cancel(),t.releaseLock()}},r.prototype[Symbol.asyncIterator]=r.prototype.values),r})(),{WritableStream:m,TransformStream:Ae}=globalThis;var k=class extends E{constructor(e,t,n){let i,s=!1,o=new j;super({start:a=>{let c=e({abortSignal:o.signal,enqueue:async l=>{if(n==null||n({source:"producer",operation:"enqueue",value:l,phase:"start"}),o.signal.aborted){n==null||n({source:"producer",operation:"enqueue",value:l,phase:"ignored"});return}if(a.desiredSize===null){a.enqueue(l);return}if(s){s=!1,a.enqueue(l),n==null||n({source:"producer",operation:"enqueue",value:l,phase:"complete"});return}if(a.desiredSize<=0&&(n==null||n({source:"producer",operation:"enqueue",value:l,phase:"waiting"}),i=new u,await i.promise,o.signal.aborted)){n==null||n({source:"producer",operation:"enqueue",value:l,phase:"ignored"});return}a.enqueue(l),n==null||n({source:"producer",operation:"enqueue",value:l,phase:"complete"})},close(){if(n==null||n({source:"producer",operation:"close",explicit:!0,phase:"start"}),o.signal.aborted){n==null||n({source:"producer",operation:"close",explicit:!0,phase:"ignored"});return}a.close(),n==null||n({source:"producer",operation:"close",explicit:!0,phase:"complete"})},error(l){n==null||n({source:"producer",operation:"error",explicit:!0,phase:"start"}),a.error(l),n==null||n({source:"producer",operation:"error",explicit:!0,phase:"complete"})}});c&&"then"in c&&c.then(()=>{n==null||n({source:"producer",operation:"close",explicit:!1,phase:"start"});try{a.close(),n==null||n({source:"producer",operation:"close",explicit:!1,phase:"complete"})}catch{n==null||n({source:"producer",operation:"close",explicit:!1,phase:"ignored"})}},l=>{n==null||n({source:"producer",operation:"error",explicit:!1,phase:"start"}),a.error(l),n==null||n({source:"producer",operation:"error",explicit:!1,phase:"complete"})})},pull:()=>{n==null||n({source:"consumer",operation:"pull",phase:"start"}),i?i.resolve():(t==null?void 0:t.highWaterMark)===0&&(s=!0),n==null||n({source:"consumer",operation:"pull",phase:"complete"})},cancel:a=>{n==null||n({source:"consumer",operation:"cancel",phase:"start"}),o.abort(a),i==null||i.resolve(),n==null||n({source:"consumer",operation:"cancel",phase:"complete"})}},t)}};function Qt(r){try{return r.close(),!0}catch{return!1}}async function Jt(r){try{return await r.cancel(),!0}catch{return!1}}var z=class{#e;#t=0;#r=0;#n=0;get position(){return this.#n}stream;reader;constructor(e){this.stream=e,this.reader=e.getReader()}#i(e){if(!this.#e)return;let t=this.#e.subarray(this.#t,this.#t+e);return this.#r>e?(this.#n+=e,this.#t+=e,this.#r-=e,t):(this.#n+=this.#r,this.#e=void 0,this.#t=0,this.#r=0,t)}async#s(e){let{done:t,value:n}=await this.reader.read();if(t)throw new W;return n.length>e?(this.#e=n,this.#t=e,this.#r=n.length-e,this.#n+=e,n.subarray(0,e)):(this.#n+=n.length,n)}iterateExactly(e){let t=this.#e?0:1;return{next:()=>{switch(t){case 0:{let n=this.#i(e);return n.length===e?t=2:(e-=n.length,t=1),{done:!1,value:n}}case 1:return t=3,{done:!1,value:this.#s(e).then(n=>(n.length===e?t=2:(e-=n.length,t=1),n))};case 2:return{done:!0,value:void 0};case 3:throw new Error("Can't call `next` before previous Promise resolves");default:throw new Error("unreachable")}}}}readExactly=te(function*(e,t){let n,i=0,s=this.#i(t);if(s){if(s.length===t)return s;n=new Uint8Array(t),n.set(s,i),i+=s.length,t-=s.length}else n=new Uint8Array(t);for(;t>0;){let o=yield*e(this.#s(t));n.set(o,i),i+=o.length,t-=o.length}return n});release(){return this.#r>0?new k(async e=>{let t=this.#e.subarray(this.#t);for(await e.enqueue(t),e.abortSignal.addEventListener("abort",()=>{Jt(this.reader)});;){let{done:n,value:i}=await this.reader.read();if(n)return;await e.enqueue(i)}}):(this.reader.releaseLock(),this.stream)}async cancel(e){await this.reader.cancel(e)}};var ve=class{#e;get readable(){return this.#e}#t;get writable(){return this.#t}constructor(e){let t,n,i=new z(new k(s=>{t=s}));this.#e=new E({async pull(s){try{let o=await e(i);s.enqueue(o)}catch(o){if(o instanceof H){s.close();return}throw o}},cancel:s=>n.error(s)}),this.#t=new m({start(s){n=s},async write(s){await t.enqueue(s)},abort(){t.close()},close(){t.close()}})}};var _=class{#e="";#t=new u;#r=new m({write:e=>{this.#e+=e},close:()=>{this.#t.resolve(this.#e),this.#n.enqueue(this.#e),this.#n.close()},abort:e=>{this.#t.reject(e),this.#n.error(e)}});get writable(){return this.#r}#n;#i=new E({start:e=>{this.#n=e}});get readable(){return this.#i}constructor(){Object.defineProperties(this.#i,{then:{get:()=>this.#t.promise.then.bind(this.#t.promise)},catch:{get:()=>this.#t.promise.catch.bind(this.#t.promise)},finally:{get:()=>this.#t.promise.finally.bind(this.#t.promise)}})}},X=class{#e=[];#t=new u;#r=new m({write:e=>{this.#e.push(e)},close:()=>{let e,t=0;switch(this.#e.length){case 0:e=w;break;case 1:e=this.#e[0];break;default:e=new Uint8Array(this.#e.reduce((n,i)=>n+i.length,0));for(let n of this.#e)e.set(n,t),t+=n.length;break}this.#t.resolve(e),this.#n.enqueue(e),this.#n.close()},abort:e=>{this.#t.reject(e),this.#n.error(e)}});get writable(){return this.#r}#n;#i=new E({start:e=>{this.#n=e}});get readable(){return this.#i}constructor(){Object.defineProperties(this.#i,{then:{get:()=>this.#t.promise.then.bind(this.#t.promise)},catch:{get:()=>this.#t.promise.catch.bind(this.#t.promise)},finally:{get:()=>this.#t.promise.finally.bind(this.#t.promise)}})}};var ne=class r extends E{static async enqueue(e,t){let n=new y(t);e.enqueue(n),await n.consumed}constructor(e,t){let n,i;t&&(i={},"highWaterMark"in t&&(i.highWaterMark=t.highWaterMark),"size"in t&&(i.size=s=>t.size(s.value))),super({start(s){var o;return n={enqueue(a){return r.enqueue(s,a)},close(){s.close()},error(a){s.error(a)}},(o=e.start)==null?void 0:o.call(e,n)},pull(){var s;return(s=e.pull)==null?void 0:s.call(e,n)},cancel(s){var o;return(o=e.cancel)==null?void 0:o.call(e,s)}},i)}};var Ce=class extends E{constructor(e,t,n){let i=e.getReader({mode:"byob"}),s=new Uint8Array(t);super({async pull(o){let{done:a,value:c}=await i.read(s,{min:n});if(a){o.close();return}await ne.enqueue(o,c),s=new Uint8Array(c.buffer)},cancel(o){return i.cancel(o)}})}};var Re=class extends m{constructor(e){let t=e.getWriter();super({write(n){return n.tryConsume(i=>t.write(i))},abort(n){return t.abort(n)},close(){return t.close()}})}};var Ne=class extends m{static async write(e,t){let n=new y(t);await e.write(n),await n.consumed}constructor(e,t){let n;t&&(n={},"highWaterMark"in t&&(n.highWaterMark=t.highWaterMark),"size"in t&&(n.size=i=>t.size(i instanceof y?i.value:i))),super({start(i){var s;return(s=e.start)==null?void 0:s.call(e,i)},write(i,s){return i.tryConsume(o=>{var a;return(a=e.write)==null?void 0:a.call(e,o,s)})},abort(i){var s;return(s=e.abort)==null?void 0:s.call(e,i)},close(){var i;return(i=e.close)==null?void 0:i.call(e)}},n)}};var{console:Te}=globalThis,er=(()=>{var r;return((r=Te==null?void 0:Te.createTask)==null?void 0:r.bind(Te))??(()=>({run(e){return e()}}))})();var y=class{static WritableStream=Ne;static WrapWritableStream=Re;static ReadableStream=ne;static WrapByteReadableStream=Ce;#e;#t;value;consumed;constructor(e){this.#e=er("Consumable"),this.value=e,this.#t=new u,this.consumed=this.#t.promise}consume(){this.#t.resolve()}error(e){this.#t.reject(e)}tryConsume(e){try{let t=this.#e.run(()=>e(this.value));return he(t)?t=t.then(n=>(this.#t.resolve(),n),n=>{throw this.#t.reject(n),n}):this.#t.resolve(),t}catch(t){throw this.#t.reject(t),t}}};var I={};zt(I,{WrapWritableStream:()=>ke,WritableStream:()=>Be,getValue:()=>Kr,tryConsume:()=>ue});function Kr(r){return r instanceof y?r.value:r}function ue(r,e){return r instanceof y?r.tryConsume(e):e(r)}var ke=class extends m{constructor(e){let t=e.getWriter();super({write(n){return ue(n,i=>t.write(i))},abort(n){return t.abort(n)},close(){return t.close()}})}};var Be=class extends m{constructor(e,t){let n;t&&(n={},"highWaterMark"in t&&(n.highWaterMark=t.highWaterMark),"size"in t&&(n.size=i=>t.size(i instanceof y?i.value:i))),super({start(i){var s;return(s=e.start)==null?void 0:s.call(e,i)},write(i,s){return ue(i,o=>{var a;return(a=e.write)==null?void 0:a.call(e,o,s)})},abort(i){var s;return(s=e.abort)==null?void 0:s.call(e,i)},close(){var i;return(i=e.close)==null?void 0:i.call(e)}},n)}};var pe=class{#e;#t;#r;#n;constructor(e){this.#e=e,this.#t=new Uint8Array(e),this.#r=0,this.#n=e}*push(e){let t=0,n=e.length;if(this.#r!==0)if(n>=this.#n){if(this.#t.set(e.subarray(0,this.#n),this.#r),t+=this.#n,n-=this.#n,yield this.#t,this.#r=0,this.#n=this.#e,n===0)return}else{this.#t.set(e,this.#r),this.#r+=n,this.#n-=n;return}for(;n>=this.#e;){let i=t+this.#e;yield e.subarray(t,i),t=i,n-=this.#e}n>0&&(this.#t.set(e.subarray(t),this.#r),this.#r+=n,this.#n-=n)}flush(){if(this.#r===0)return;let e=this.#t.subarray(0,this.#r);return this.#r=0,this.#n=this.#e,e}},Pe=class extends Ae{constructor(e,t=!1){let n=t?new pe(e):void 0;super({async transform(i,s){await I.tryConsume(i,async o=>{if(n)for(let a of n.push(o))await y.ReadableStream.enqueue(s,a);else{let a=0,c=o.length;for(;c>0;){let l=a+e;await y.ReadableStream.enqueue(s,o.subarray(a,l)),a=l,c-=e}}})},flush(i){if(n){let s=n.flush();s&&i.enqueue(s)}}})}};function Gr(r,e){return"start"in r?r.start(e):typeof r=="function"?r(e):r}var Le=class extends E{readable;#e;constructor(e,t){super({start:async n=>{let i=await Gr(e,n);this.readable=i,this.#e=this.readable.getReader()},pull:async n=>{var o;let{done:i,value:s}=await this.#e.read().catch(a=>{throw"error"in e&&e.error(a),a});i?(n.close(),"close"in e&&await((o=e.close)==null?void 0:o.call(e))):n.enqueue(s)},cancel:async n=>{var i;await this.#e.cancel(n),"cancel"in e&&await((i=e.cancel)==null?void 0:i.call(e,n))}},t)}};var tr=()=>{},Ue=class{#e=[];#t=[];#r=!1;get writableClosed(){return this.#r}#n=new u;get closed(){return this.#n.promise}#i;constructor(e){this.#i=e??{}}wrapReadable(e,t){return new Le({start:n=>(this.#e.push(n),e),cancel:async()=>{await this.close()},close:async()=>{await this.dispose()}},t)}createWritable(e){let t=e.getWriter();return this.#t.push(t),new m({write:async n=>{await t.write(n)},abort:async n=>{await t.abort(n),await this.close()},close:async()=>{await t.close().catch(tr),await this.close()}})}async close(){var e,t;if(!this.#r){this.#r=!0,await((t=(e=this.#i).close)==null?void 0:t.call(e))!==!1&&await this.dispose();for(let n of this.#t)n.close().catch(tr)}}async dispose(){var e,t;this.#r=!0,this.#n.resolve();for(let n of this.#e)Qt(n);await((t=(e=this.#i).dispose)==null?void 0:t.call(e))}};var rr=globalThis,Q=rr.TextDecoderStream,Ns=rr.TextEncoderStream;function nr(r,e){let t=e.writable.getWriter(),n=e.readable.pipeTo(r);return new m({async write(i){await t.write(i)},async close(){await t.close(),await n}})}var ie=class extends ve{constructor(e){super(t=>e.deserialize(t))}};var De=class{#e=[];constructor(){this.dispose=this.dispose.bind(this)}addDisposable(e){return this.#e.push(e),e}dispose(){for(let e of this.#e)e.dispose();this.#e=[]}};var J=class{listeners=[];constructor(){this.event=this.event.bind(this)}addEventListener(e){this.listeners.push(e);let t=()=>{let n=this.listeners.indexOf(e);n!==-1&&this.listeners.splice(n,1)};return t.dispose=t,t}event=(e,t,...n)=>{let i={listener:e,thisArg:t,args:n};return this.addEventListener(i)};fire(e){for(let t of this.listeners.slice())t.listener.call(t.thisArg,e,...t.args)}dispose(){this.listeners.length=0}};var ir=Symbol("undefined"),ze=class extends J{#e=ir;addEventListener(e){return this.#e!==ir&&e.listener.call(e.thisArg,this.#e,...e.args),super.addEventListener(e)}fire(e){this.#e=e,super.fire(e)}};var F=class extends De{#e;get adb(){return this.#e}constructor(e){super(),this.#e=e}};var Hr=f({version:d},{littleEndian:!0}),Yr=f({bpp:d,size:d,width:d,height:d,red_offset:d,red_length:d,blue_offset:d,blue_length:d,green_offset:d,green_length:d,alpha_offset:d,alpha_length:d,data:P("size")},{littleEndian:!0}),Zr=f({bpp:d,colorSpace:d,size:d,width:d,height:d,red_offset:d,red_length:d,blue_offset:d,blue_length:d,green_offset:d,green_length:d,alpha_offset:d,alpha_length:d,data:P("size")},{littleEndian:!0}),We=class extends Error{constructor(e,t){super(e,t)}},bt=class extends We{constructor(e){super(`Unsupported FrameBuffer version ${e}`)}},St=class extends We{constructor(){super("FrameBuffer is disabled by current app")}};async function sr(r){let e=await r.createSocket("framebuffer:"),t=new z(e.readable),n;try{({version:n}=await Hr.deserialize(t))}catch(i){throw i instanceof H?new St:i}switch(n){case 1:return await Yr.deserialize(t);case 2:return await Zr.deserialize(t);default:throw new bt(n)}}var _e=class extends F{reboot(e=""){return this.adb.createSocketAndWait(`reboot:${e}`)}bootloader(){return this.reboot("bootloader")}fastboot(){return this.reboot("fastboot")}recovery(){return this.reboot("recovery")}sideload(){return this.reboot("sideload")}qualcommEdlMode(){return this.reboot("edl")}powerOff(){return this.adb.subprocess.noneProtocol.spawnWaitText(["reboot","-p"])}powerButton(e=!1){let t=["input","keyevent"];return e&&t.push("--longpress"),t.push("POWER"),this.adb.subprocess.noneProtocol.spawnWaitText(t)}samsungOdin(){return this.reboot("download")}};function or(r){if(r.buffer instanceof ArrayBuffer)return r;let e=new Uint8Array(r.length);return e.set(r),e}var me=class{#e;#t=[];constructor(e=!1){this.#e=e}wait(){if(!this.#e&&(this.#e=!0,this.#t.length===0))return Promise.resolve();let e=new u;return this.#t.push(e),e.promise}notifyOne(){this.#t.length!==0?this.#t.pop().resolve():this.#e=!1}dispose(){for(let e of this.#t)e.reject(new Error("The AutoResetEvent has been disposed"));this.#t.length=0}};var[Hs,g,se]=(()=>{let r=[],e=[];function n(i,s){let o=i.charCodeAt(0),a=s.charCodeAt(0);for(let c=o;c<=a;c+=1)r[c]=e.length,e.push(c)}return n("A","Z"),n("a","z"),n("0","9"),n("+","+"),n("/","/"),[r,e,61]})();function Et(r){let e=r%3,t=e!==0?3-e:0;return[(r+t)/3*4,t]}function ar(r,e){let[t,n]=Et(r.length);if(e){if(e.length<t)throw new TypeError("output buffer is too small");if(e=e.subarray(0,t),r.buffer!==e.buffer)gt(r,e,n);else if(e.byteOffset+e.length-(n+1)<=r.byteOffset+r.length)gt(r,e,n);else if(e.byteOffset>=r.byteOffset-1)Xr(r,e,n);else throw new TypeError("input and output cannot overlap");return t}else return e=new Uint8Array(t),gt(r,e,n),e}function gt(r,e,t){let n=0,i=0;for(;n<r.length-2;){let s=r[n];n+=1;let o=r[n];n+=1;let a=r[n];n+=1,e[i]=g[s>>2],i+=1,e[i]=g[(s&3)<<4|o>>4],i+=1,e[i]=g[(o&15)<<2|a>>6],i+=1,e[i]=g[a&63],i+=1}if(t===2){let s=r[n];n+=1,e[i]=g[s>>2],i+=1,e[i]=g[(s&3)<<4],i+=1,e[i]=se,i+=1,e[i]=se}else if(t===1){let s=r[n];n+=1;let o=r[n];n+=1,e[i]=g[s>>2],i+=1,e[i]=g[(s&3)<<4|o>>4],i+=1,e[i]=g[(o&15)<<2],i+=1,e[i]=se}}function Xr(r,e,t){let n=r.length-1,i=e.length-1;if(t===2){let s=r[n];n-=1,e[i]=se,i-=1,e[i]=se,i-=1,e[i]=g[(s&3)<<4],i-=1,e[i]=g[s>>2],i-=1}else if(t===1){let s=r[n];n-=1;let o=r[n];n-=1,e[i]=se,i-=1,e[i]=g[(s&15)<<2],i-=1,e[i]=g[(o&3)<<4|s>>4],i-=1,e[i]=g[o>>2],i-=1}for(;n>=0;){let s=r[n];n-=1;let o=r[n];n-=1;let a=r[n];n-=1,e[i]=g[s&63],i-=1,e[i]=g[(o&15)<<2|s>>6],i-=1,e[i]=g[(a&3)<<4|o>>4],i-=1,e[i]=g[a>>2],i-=1}}function Qr(r){if(r<48)throw new TypeError(`Invalid hex char ${r}`);if(r<58)return r-48;if(r<65)throw new TypeError(`Invalid hex char ${r}`);if(r<71)return r-55;if(r<97)throw new TypeError(`Invalid hex char ${r}`);if(r<103)return r-87;throw new TypeError(`Invalid hex char ${r}`)}function cr(r){let e=0;for(let t=0;t<r.length;t+=1)e=e<<4|Qr(r[t]);return e}var lr=()=>{};function qe(...r){throw new Error(`Unreachable. Arguments:
`+r.join(`
`))}function dr(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t+=1)if(r[t]!==e[t])return!1;return!0}var hr=f({length:V(4),content:V({field:"length",convert(r){return Number.parseInt(r,16)},back(r){return r.toString(16).padStart(4,"0")}})},{littleEndian:!0}),Me=class extends Error{constructor(e){super(e)}},It=class extends Me{constructor(){super("ADB reverse tunnel is not supported on this device when connected wirelessly.")}},Jr=Y(hr,{},{postDeserialize(r){throw r.content==="more than one device/emulator"?new It:new Me(r.content)}});function en(r){let e=0;for(let t of r){if(t<48||t>57)return e;e=e*10+t-48}return e}var tn=C("OKAY"),Oe=class extends F{#e=new Map;async createBufferedStream(e){let t=await this.adb.createSocket(e);return new z(t.readable)}async sendRequest(e){let t=await this.createBufferedStream(e),n=await t.readExactly(4);return dr(n,tn)||await Jr.deserialize(t),t}async list(){let e=await this.createBufferedStream("reverse:list-forward");return(await hr.deserialize(e)).content.split(`
`).filter(n=>!!n).map(n=>{let[i,s,o]=n.split(" ");return{deviceSerial:i,localName:s,remoteName:o}})}async addExternal(e,t){let n=await this.sendRequest(`reverse:forward:${e};${t}`);if(e.startsWith("tcp:")){let i=n.position;try{let s=cr(await n.readExactly(4));e=`tcp:${en(await n.readExactly(s))}`}catch(s){if(!(s instanceof W&&n.position===i))throw s}}return e}async add(e,t,n){n=await this.adb.transport.addReverseTunnel(t,n);try{return e=await this.addExternal(e,n),this.#e.set(e,n),e}catch(i){throw await this.adb.transport.removeReverseTunnel(n),i}}async remove(e){let t=this.#e.get(e);t&&await this.adb.transport.removeReverseTunnel(t),await this.sendRequest(`reverse:killforward:${e}`)}async removeAll(){await this.adb.transport.clearReverseTunnels(),this.#e.clear(),await this.sendRequest("reverse:killforward-all")}};var Ve=class{#e;get stdin(){return this.#e.writable}get output(){return this.#e.readable}#t;get exited(){return this.#t}constructor(e,t){if(this.#e=e,t){let n=new u;this.#e.closed.then(()=>n.resolve(void 0),i=>n.reject(i)),t.addEventListener("abort",()=>{n.reject(t.reason),this.#e.close()}),this.#t=n.promise}else this.#t=this.#e.closed}kill(){return this.#e.close()}};var je=class{#e;#t;#r;get input(){return this.#r}get output(){return this.#e.readable}get exited(){return this.#e.closed}constructor(e){this.#e=e,this.#t=this.#e.writable.getWriter(),this.#r=new I.WritableStream({write:t=>this.#t.write(t)})}sigint(){return this.#t.write(new Uint8Array([3]))}kill(){return this.#e.close()}};function we(r){let e="";e+="'";let t=0;for(;;){let n=r.indexOf("'",t);if(n===-1){e+=r.substring(t);break}e+=r.substring(t,n),e+=String.raw`'\''`,t=n+1}return e+="'",e}function Fe(r){let e=[],t,n=!1,i=0;for(let s=0,o=r.length;s<o;s+=1){if(n){n=!1;continue}let a=r.charAt(s);switch(a){case" ":!t&&s!==i&&(e.push(r.substring(i,s)),i=s+1);break;case"'":case'"':t?a===t&&(t=void 0):t=a;break;case"\\":n=!0;break}}return i<r.length&&e.push(r.substring(i)),e}var $e=class{#e;constructor(e){this.#e=e}spawn(e,t){return t==null||t.throwIfAborted(),typeof e=="string"&&(e=Fe(e)),this.#e(e,t)}async spawnWait(e){return await(await this.spawn(e)).output.pipeThrough(new X)}async spawnWaitText(e){return await(await this.spawn(e)).output.pipeThrough(new Q).pipeThrough(new _)}};var Ke=class extends $e{#e;get adb(){return this.#e}constructor(e){super(async(t,n)=>{let i=await this.#e.createSocket(`exec:${t.join(" ")}`);if(n!=null&&n.aborted)throw await i.close(),n.reason;return new Ve(i,n)}),this.#e=e}async pty(e){return e===void 0?e="":Array.isArray(e)&&(e=e.join(" ")),new je(await this.#e.createSocket(`shell:${e}`))}};var x={ShellV2:"shell_v2",Cmd:"cmd",StatV2:"stat_v2",ListV2:"ls_v2",FixedPushMkdir:"fixed_push_mkdir",Abb:"abb",AbbExec:"abb_exec",SendReceiveV2:"sendrecv_v2",DelayedAck:"delayed_ack"};var L={Stdin:0,Stdout:1,Stderr:2,Exit:3,CloseStdin:4,WindowSizeChange:5},$=f({id:Zt(),data:P(d)},{littleEndian:!0});var Ge=class{#e;#t;#r;get stdin(){return this.#r}#n;get stdout(){return this.#n}#i;get stderr(){return this.#i}#s;get exited(){return this.#s}constructor(e,t){this.#e=e;let n,i;this.#n=new k(o=>{n=o}),this.#i=new k(o=>{i=o});let s=new u;this.#s=s.promise,e.readable.pipeThrough(new ie($)).pipeTo(new m({write:async o=>{switch(o.id){case L.Exit:s.resolve(o.data[0]);break;case L.Stdout:await n.enqueue(o.data);break;case L.Stderr:await i.enqueue(o.data);break;default:break}}})).then(()=>{n.close(),i.close(),s.reject(new Error("Socket ended without exit message"))},o=>{n.error(o),i.error(o),s.reject(o)}),t&&t.addEventListener("abort",()=>{s.reject(t.reason),this.#e.close()}),this.#t=this.#e.writable.getWriter(),this.#r=new I.WritableStream({write:async o=>{await this.#t.write($.serialize({id:L.Stdin,data:o}))},close:()=>this.#t.write($.serialize({id:L.CloseStdin,data:w}))})}kill(){return this.#e.close()}};var He=class{#e;#t;#r;get input(){return this.#r}#n;get output(){return this.#n}#i=new u;get exited(){return this.#i.promise}constructor(e){this.#e=e;let t;this.#n=new k(n=>{t=n}),e.readable.pipeThrough(new ie($)).pipeTo(new m({write:async n=>{switch(n.id){case L.Exit:this.#i.resolve(n.data[0]);break;case L.Stdout:await t.enqueue(n.data);break}}})).then(()=>{t.close(),this.#i.reject(new Error("Socket ended without exit message"))},n=>{t.error(n),this.#i.reject(n)}),this.#t=this.#e.writable.getWriter(),this.#r=new I.WritableStream({write:n=>this.#s(n)})}#s(e){return this.#t.write($.serialize({id:L.Stdin,data:e}))}async resize(e,t){await this.#t.write($.serialize({id:L.WindowSizeChange,data:C(`${e}x${t},0x0\0`)}))}sigint(){return this.#s(new Uint8Array([3]))}kill(){return this.#e.close()}};var Ye=class{#e;constructor(e){this.#e=e}spawn(e,t){return t==null||t.throwIfAborted(),typeof e=="string"&&(e=Fe(e)),this.#e(e,t)}async spawnWait(e){let t=await this.spawn(e),[n,i,s]=await Promise.all([t.stdout.pipeThrough(new X),t.stderr.pipeThrough(new X),t.exited]);return{stdout:n,stderr:i,exitCode:s}}async spawnWaitText(e){let t=await this.spawn(e),[n,i,s]=await Promise.all([t.stdout.pipeThrough(new Q).pipeThrough(new _),t.stderr.pipeThrough(new Q).pipeThrough(new _),t.exited]);return{stdout:n,stderr:i,exitCode:s}}};var Ze=class extends Ye{#e;get adb(){return this.#e}get isSupported(){return this.#e.canUseFeature(x.ShellV2)}constructor(e){super(async(t,n)=>{let i=await this.#e.createSocket(`shell,v2,raw:${t.join(" ")}`);if(n!=null&&n.aborted)throw await i.close(),n.reason;return new Ge(i,n)}),this.#e=e}async pty(e){let t="shell,v2,pty";return e!=null&&e.terminalType&&(t+=",TERM="+e.terminalType),t+=":",e&&(typeof e.command=="string"?t+=e.command:Array.isArray(e.command)&&(t+=e.command.join(" "))),new He(await this.#e.createSocket(t))}};var Xe=class{#e;get adb(){return this.#e}#t;get noneProtocol(){return this.#t}#r;get shellProtocol(){return this.#r}constructor(e){this.#e=e,this.#t=new Ke(e),e.canUseFeature(x.ShellV2)&&(this.#r=new Ze(e))}};function rn(r){let e=new Uint8Array(r.length);for(let t=0;t<r.length;t+=1)e[t]=r.charCodeAt(t);return e}function b(r){let e=rn(r);return re(e,0)}var A={Entry:b("DENT"),Entry2:b("DNT2"),Lstat:b("STAT"),Stat:b("STA2"),Lstat2:b("LST2"),Done:b("DONE"),Data:b("DATA"),Ok:b("OKAY"),Fail:b("FAIL")},At=class extends Error{},ur=f({message:V(d)},{littleEndian:!0,postDeserialize(r){throw new At(r.message)}});async function oe(r,e,t){typeof e=="string"&&(e=b(e));let n=await r.readExactly(4);switch(re(n,0)){case A.Fail:throw await ur.deserialize(r),new Error("Unreachable");case e:return await t.deserialize(r);default:throw new Error(`Expected '${e}', but got '${D(n)}'`)}}async function*ae(r,e,t){for(typeof e=="string"&&(e=b(e));;){let n=await r.readExactly(4);switch(re(n,0)){case A.Fail:await ur.deserialize(r),qe();case A.Done:await r.readExactly(t.size);return;case e:yield await t.deserialize(r);break;default:throw new Error(`Expected '${e}' or '${A.Done}', but got '${D(n)}'`)}}}var R={List:b("LIST"),ListV2:b("LIS2"),Send:b("SEND"),SendV2:b("SND2"),Lstat:b("STAT"),Stat:b("STA2"),LstatV2:b("LST2"),Data:b("DATA"),Done:b("DONE"),Receive:b("RECV")},pr=f({id:d,arg:d},{littleEndian:!0});async function N(r,e,t){if(typeof e=="string"&&(e=b(e)),typeof t=="number"){await r.write(pr.serialize({id:e,arg:t}));return}typeof t=="string"&&(t=C(t)),await r.write(pr.serialize({id:e,arg:t.length})),await r.write(t)}var vt={Directory:4,File:8,Link:10},Ct=f({mode:d,size:d,mtime:d},{littleEndian:!0,extra:{get type(){return this.mode>>12},get permission(){return this.mode&4095}},postDeserialize(r){if(r.mode===0&&r.size===0&&r.mtime===0)throw new Error("lstat error");return r}}),Rt={SUCCESS:0,EACCES:13,EEXIST:17,EFAULT:14,EFBIG:27,EINTR:4,EINVAL:22,EIO:5,EISDIR:21,ELOOP:40,EMFILE:24,ENAMETOOLONG:36,ENFILE:23,ENOENT:2,ENOMEM:12,ENOSPC:28,ENOTDIR:20,EOVERFLOW:75,EPERM:1,EROFS:30,ETXTBSY:26},nn=Object.fromEntries(Object.entries(Rt).map(([r,e])=>[e,r])),Qe=f({error:d(),dev:Z,ino:Z,mode:d,nlink:d,uid:d,gid:d,size:Z,atime:Z,mtime:Z,ctime:Z},{littleEndian:!0,extra:{get type(){return this.mode>>12},get permission(){return this.mode&4095}},postDeserialize(r){if(r.error)throw new Error(nn[r.error]);return r}});async function mr(r,e,t){let n=await r.lock();try{if(t)return await N(n,R.LstatV2,e),await oe(n,A.Lstat2,Qe);{await N(n,R.Lstat,e);let i=await oe(n,A.Lstat,Ct);return{mode:i.mode,size:BigInt(i.size),mtime:BigInt(i.mtime),get type(){return i.type},get permission(){return i.permission}}}}finally{n.release()}}async function wr(r,e){let t=await r.lock();try{return await N(t,R.Stat,e),await oe(t,A.Stat,Qe)}finally{t.release()}}var sn=Y(Ct,{name:V(d)}),on=Y(Qe,{name:V(d)});async function*an(r,e){let t=await r.lock();try{await N(t,R.ListV2,e);for await(let n of ae(t,A.Entry2,on))n.error===Rt.SUCCESS&&(yield n)}finally{t.release()}}async function*cn(r,e){let t=await r.lock();try{await N(t,R.List,e);for await(let n of ae(t,A.Entry,sn))yield n}finally{t.release()}}async function*fr(r,e,t){if(t)yield*an(r,e);else for await(let n of cn(r,e))yield{mode:n.mode,size:BigInt(n.size),mtime:BigInt(n.mtime),get type(){return n.type},get permission(){return n.permission},name:n.name}}var yr=f({data:P(d)},{littleEndian:!0});async function*ln(r,e){let t=await r.lock(),n=!1;try{await N(t,R.Receive,e);for await(let i of ae(t,A.Data,yr))yield i.data;n=!0}catch(i){throw n=!0,i}finally{if(!n)for await(let i of ae(t,A.Data,yr));t.release()}}function xr(r,e){return E.from(ln(r,e))}var Sr=64*1024,dn=f({unused:d},{littleEndian:!0});async function gr(r,e,t,n){let i=new j;e.pipeThrough(new Pe(t,!0)).pipeTo(new I.WritableStream({write(s){return N(r,R.Data,s)}}),{signal:i.signal}).then(async()=>{await N(r,R.Done,n),await r.flush()},lr),await oe(r,A.Ok,dn).catch(s=>{throw i.abort(),s})}async function hn({socket:r,filename:e,file:t,type:n=vt.File,permission:i=438,mtime:s=Date.now()/1e3|0,packetSize:o=Sr}){let a=await r.lock();try{let c=n<<12|i,l=`${e},${c.toString()}`;await N(a,R.Send,l),await gr(a,t,o,s)}finally{a.release()}}var br={None:0,Brotli:1,Lz4:2,Zstd:4,DryRun:2147483648},un=f({id:d,mode:d,flags:d()},{littleEndian:!0});async function pn({socket:r,filename:e,file:t,type:n=vt.File,permission:i=438,mtime:s=Date.now()/1e3|0,packetSize:o=Sr,dryRun:a=!1}){let c=await r.lock();try{await N(c,R.SendV2,e);let l=n<<12|i,h=br.None;a&&(h|=br.DryRun),await c.write(un.serialize({id:R.SendV2,mode:l,flags:h})),await gr(c,t,o,s)}finally{c.release()}}function Er(r){if(r.v2)return pn(r);if(r.dryRun)throw new Error("dryRun is not supported in v1");return hn(r)}var Nt=class{#e;#t;#r;#n=new me;#i;get position(){return this.#t.position}constructor(e,t,n,i){this.#e=e,this.#t=t,this.#r=i,this.#i=new pe(n)}#s(e){return y.WritableStream.write(this.#e,e)}async flush(){try{await this.#n.wait();let e=this.#i.flush();e&&await this.#s(e)}finally{this.#n.notifyOne()}}async write(e){try{await this.#n.wait();for(let t of this.#i.push(e))await this.#s(t)}finally{this.#n.notifyOne()}}async readExactly(e){return await this.flush(),await this.#t.readExactly(e)}release(){this.#i.flush(),this.#r.notifyOne()}async close(){await this.#t.cancel()}},Je=class{#e=new me;#t;#r;constructor(e,t){this.#t=e,this.#r=new Nt(e.writable.getWriter(),new z(e.readable),t,this.#e)}async lock(){return await this.#e.wait(),this.#r}async close(){await this.#r.close(),await this.#t.close()}};function mn(r){let e=r.lastIndexOf("/");if(e===-1)throw new Error("Invalid path");return e===0?"/":r.substring(0,e)}var et=class{_adb;_socket;#e;#t;#r;#n;#i;get supportsStat(){return this.#e}get supportsListV2(){return this.#t}get fixedPushMkdir(){return this.#r}get supportsSendReceiveV2(){return this.#n}get needPushMkdirWorkaround(){return this.#i}constructor(e,t){this._adb=e,this._socket=new Je(t,e.maxPayloadSize),this.#e=e.canUseFeature(x.StatV2),this.#t=e.canUseFeature(x.ListV2),this.#r=e.canUseFeature(x.FixedPushMkdir),this.#n=e.canUseFeature(x.SendReceiveV2),this.#i=this._adb.canUseFeature(x.ShellV2)&&!this.fixedPushMkdir}async lstat(e){return await mr(this._socket,e,this.#e)}async stat(e){if(!this.#e)throw new Error("Not supported");return await wr(this._socket,e)}async isDirectory(e){try{return await this.lstat(e+"/"),!0}catch{return!1}}opendir(e){return fr(this._socket,e,this.supportsListV2)}async readdir(e){let t=[];for await(let n of this.opendir(e))t.push(n);return t}read(e){return xr(this._socket,e)}async write(e){this.needPushMkdirWorkaround&&await this._adb.subprocess.noneProtocol.spawnWait(["mkdir","-p",we(mn(e.filename))]),await Er({v2:this.supportsSendReceiveV2,socket:this._socket,...e})}lockSocket(){return this._socket.lock()}dispose(){return this._socket.close()}};function Ir(r){if(!(!r||r==="0"))return Number.parseInt(r,10)}var tt=class extends F{async getListenAddresses(){let e=await this.adb.getProp("service.adb.listen_addrs"),t=await this.adb.getProp("service.adb.tcp.port"),n=await this.adb.getProp("persist.adb.tcp.port");return{serviceListenAddresses:e!=""?e.split(","):[],servicePort:Ir(t),persistPort:Ir(n)}}async setPort(e){if(e<=0)throw new TypeError(`Invalid port ${e}`);let t=await this.adb.createSocketAndWait(`tcpip:${e}`);if(t!==`restarting in TCP mode port: ${e}
`)throw new Error(t);return t}async disable(){let e=await this.adb.createSocketAndWait("usb:");if(e!==`restarting in USB mode
`)throw new Error(e);return e}};var rt=class{#e;get transport(){return this.#e}get serial(){return this.#e.serial}get maxPayloadSize(){return this.#e.maxPayloadSize}get banner(){return this.#e.banner}get disconnected(){return this.#e.disconnected}get clientFeatures(){return this.#e.clientFeatures}get deviceFeatures(){return this.banner.features}subprocess;power;reverse;tcpip;constructor(e){this.#e=e,this.subprocess=new Xe(this),this.power=new _e(this),this.reverse=new Oe(this),this.tcpip=new tt(this)}canUseFeature(e){return this.clientFeatures.includes(e)&&this.deviceFeatures.includes(e)}async createSocket(e){return this.#e.connect(e)}async createSocketAndWait(e){return await(await this.createSocket(e)).readable.pipeThrough(new Q).pipeThrough(new _)}getProp(e){return this.subprocess.noneProtocol.spawnWaitText(["getprop",e]).then(t=>t.trim())}rm(e,t){let n=["rm"];if(t!=null&&t.recursive&&n.push("-r"),t!=null&&t.force&&n.push("-f"),Array.isArray(e))for(let i of e)n.push(we(i));else n.push(we(e));return n.push("</dev/null"),this.subprocess.noneProtocol.spawnWaitText(n)}async sync(){let e=await this.createSocket("sync:");return new et(this,e)}async framebuffer(){return sr(this)}async close(){await this.#e.close()}};var nt={Product:"ro.product.name",Model:"ro.product.model",Device:"ro.product.device",Features:"features"},it=class r{static parse(e){let t,n,i,s=[],o=e.split("::");if(o.length>1){let a=o[1];for(let c of a.split(";")){if(!c)continue;let l=c.split("=");if(l.length!==2)continue;let[h,T]=l;switch(h){case nt.Product:t=T;break;case nt.Model:n=T;break;case nt.Device:i=T;break;case nt.Features:s=T.split(",");break}}}return new r(t,n,i,s)}#e;get product(){return this.#e}#t;get model(){return this.#t}#r;get device(){return this.#r}#n=[];get features(){return this.#n}constructor(e,t,n,i){this.#e=e,this.#t=t,this.#r=n,this.#n=i}};function kt(r,e,t){let n=0n;for(let i=e;i<e+t;i+=8){n<<=64n;let s=Gt(r,i);n|=s}return n}function Bt(r,e,t,n,i){if(i)for(;n>0n;)Vt(r,e,n),e+=8,n>>=64n;else{let s=e+t-8;for(;n>0n;)jt(r,s,n),s-=8,n>>=64n}}var wn=38,fn=2048/8,yn=303,xn=2048/8;function Rr(r){let e=kt(r,wn,fn),t=kt(r,yn,xn);return[e,t]}function Ar(r,e){let t=r%e;return t>0?t:t+(e>0?e:-e)}function bn(r,e){if(r=Ar(r,e),!r||e<2)return NaN;let t=[],n=e;for(;n;)[r,n]=[n,r%n],t.push({a:r,b:n});if(r!==1)return NaN;let i=1,s=0;for(let o=t.length-2;o>=0;o-=1)[i,s]=[s,i-s*Math.floor(t[o].a/t[o].b)];return Ar(s,e)}var ee=2048/8,Sn=ee/4;function Pt(){return 8+ee+ee+4}function Nr(r,e){let t,n=Pt();if(!e)e=new Uint8Array(n),t="Uint8Array";else{if(e.length<n)throw new TypeError("output buffer is too small");t="number"}let i=new DataView(e.buffer,e.byteOffset,e.length),s=0;i.setUint32(s,Sn,!0),s+=4;let[o]=Rr(r),a=-bn(Number(o%2n**32n),2**32);i.setInt32(s,a,!0),s+=4,Bt(e,s,ee,o,!0),s+=ee;let c=2n**4096n%o;return Bt(e,s,ee,c,!0),s+=ee,i.setUint32(s,65537,!0),s+=4,t==="Uint8Array"?e:n}function gn(r,e,t){if(t===1n)return 0n;let n=1n;for(r=r%t;e>0n;)BigInt.asUintN(1,e)===1n&&(n=n*r%t),r=r*r%t,e>>=1n;return n}var vr=20,Cr=48,En=4,In=5,An=6,Tt=new Uint8Array([Cr,13+vr,Cr,9,An,5,1*40+3,14,3,2,26,In,0,En,vr]);function Tr(r,e){let[t,n]=Rr(r),i=new Uint8Array(256),s=0;i[s]=0,s+=1,i[s]=1,s+=1;let o=i.length-Tt.length-e.length-1;for(;s<o;)i[s]=255,s+=1;i[s]=0,s+=1,i.set(Tt,s),s+=Tt.length,i.set(e,s);let a=gn(kt(i,0,i.length),n,t);return Bt(i,0,i.length,a,!1),i}var S={Auth:1213486401,Close:1163086915,Connect:1314410051,Okay:1497451343,Open:1313165391,Write:1163154007},fe=f({command:d,arg0:d,arg1:d,payloadLength:d,checksum:d,magic:Xt},{littleEndian:!0}),Ka=Y(fe,{payload:P("payloadLength")});function ot(r){return r.reduce((e,t)=>e+t,0)}var st=class extends Ae{constructor(){let e=new Uint8Array(fe.size);super({transform:async(t,n)=>{await t.tryConsume(async i=>{let s=i;s.payloadLength=s.payload.length,fe.serialize(s,e),await y.ReadableStream.enqueue(n,e),s.payloadLength&&await y.ReadableStream.enqueue(n,s.payload)})}})}};var at={Token:1,Signature:2,PublicKey:3},vn=async function*(r,e){for await(let t of r.iterateKeys()){let n=await e();if(n.arg0!==at.Token)return;let i=Tr(t.buffer,n.payload);yield{command:S.Auth,arg0:at.Signature,arg1:0,payload:i}}},Cn=async function*(r,e){var c;if((await e()).arg0!==at.Token)return;let n;for await(let l of r.iterateKeys()){n=l;break}n||(n=await r.generateKey());let i=Pt(),[s]=Et(i),o=(c=n.name)!=null&&c.length?C(n.name):w,a=new Uint8Array(s+(o.length?o.length+1:0)+1);Nr(n.buffer,a),ar(a.subarray(0,i),a),o.length&&(a[s]=32,a.set(o,s+1)),yield{command:S.Auth,arg0:at.PublicKey,arg1:0,payload:a}},kr=[vn,Cn],ct=class{authenticators;#e;#t=new u;#r;constructor(e,t){this.authenticators=e,this.#e=t}#n=()=>this.#t.promise;async*#i(){for(let e of this.authenticators)for await(let t of e(this.#e,this.#n))this.#t=new u,yield t}async process(e){this.#r||(this.#r=this.#i()),this.#t.resolve(e);let t=await this.#r.next();if(t.done)throw new Error("No authenticator can handle the request");return t.value}dispose(){var e,t;(t=(e=this.#r)==null?void 0:e.return)==null||t.call(e)}};var ye=class{#e;localId;remoteId;localCreated;service;#t;#r;get readable(){return this.#t}#n;writable;#i=!1;#s=new u;get closed(){return this.#s.promise}#c;get socket(){return this.#c}#a;#o=0;constructor(e){this.#e=e.dispatcher,this.localId=e.localId,this.remoteId=e.remoteId,this.localCreated=e.localCreated,this.service=e.service,this.#t=new k(t=>{this.#r=t}),this.writable=new I.WritableStream({start:t=>{this.#n=t,t.signal.addEventListener("abort",()=>{var n;(n=this.#a)==null||n.reject(t.signal.reason)})},write:async t=>{let n=t.length,i=this.#e.options.maxPayloadSize;for(let s=0,o=i;s<n;s=o,o+=i){let a=t.subarray(s,o);await this.#l(a)}}}),this.#c=new Lt(this),this.#o=e.availableWriteBytes}async#l(e){let t=e.length;for(;this.#o<t;){let n=new u;this.#a=n,await n.promise}this.#o===1/0?this.#o=-1:this.#o-=t,await this.#e.sendPacket(S.Write,this.localId,this.remoteId,e)}async enqueue(e){await this.#r.enqueue(e)}ack(e){var t;this.#o+=e,(t=this.#a)==null||t.resolve()}async close(){var e;if(!this.#i){this.#i=!0,(e=this.#a)==null||e.reject(new Error("Socket closed"));try{this.#n.error(new Error("Socket closed"))}catch{}await this.#e.sendPacket(S.Close,this.localId,this.remoteId,w)}}dispose(){this.#r.close(),this.#s.resolve(void 0)}},Lt=class{#e;get localId(){return this.#e.localId}get remoteId(){return this.#e.remoteId}get localCreated(){return this.#e.localCreated}get service(){return this.#e.service}get readable(){return this.#e.readable}get writable(){return this.#e.writable}get closed(){return this.#e.closed}constructor(e){this.#e=e}close(){return this.#e.close()}};var lt=class{#e=new Se(1);#t=new Map;#r;options;#n=!1;#i=new u;get disconnected(){return this.#i.promise}#s=new Map;#c=new j;constructor(e,t){this.options=t,this.options.initialDelayedAckBytes<0&&(this.options.initialDelayedAckBytes=0),e.readable.pipeTo(new m({write:async(n,i)=>{switch(n.command){case S.Close:await this.#a(n);break;case S.Okay:this.#o(n);break;case S.Open:await this.#h(n);break;case S.Write:this.#u(n).catch(s=>{i.error(s)});break;default:throw new Error(`Unknown command: ${n.command.toString(16)}`)}}}),{preventCancel:t.preserveConnection??!1,signal:this.#c.signal}).then(()=>{this.#d()},n=>{this.#n||this.#i.reject(n),this.#d()}),this.#r=e.writable.getWriter()}async#a(e){if(e.arg0===0&&this.#e.reject(e.arg1,new Error("Socket open failed")))return;let t=this.#t.get(e.arg1);if(t){await t.close(),t.dispose(),this.#t.delete(e.arg1);return}}#o(e){let t;if(this.options.initialDelayedAckBytes!==0){if(e.payload.length!==4)throw new Error("Invalid OKAY packet. Payload size should be 4");t=re(e.payload,0)}else{if(e.payload.length!==0)throw new Error("Invalid OKAY packet. Payload size should be 0");t=1/0}if(this.#e.resolve(e.arg1,{remoteId:e.arg0,availableWriteBytes:t}))return;let n=this.#t.get(e.arg1);if(n){n.ack(t);return}this.sendPacket(S.Close,e.arg1,e.arg0,w)}#l(e,t,n){let i;return this.options.initialDelayedAckBytes!==0?(i=new Uint8Array(4),$t(i,0,n)):i=w,this.sendPacket(S.Okay,e,t,i)}async#h(e){let[t]=this.#e.add();this.#e.resolve(t,void 0);let n=e.arg0,i=e.arg1,s=D(e.payload);if(s.endsWith("\0")&&(s=s.substring(0,s.length-1)),this.options.initialDelayedAckBytes===0){if(i!==0)throw new Error("Invalid OPEN packet. arg1 should be 0");i=1/0}else if(i===0)throw new Error("Invalid OPEN packet. arg1 should be greater than 0");let o=this.#s.get(s);if(!o){await this.sendPacket(S.Close,0,n,w);return}let a=new ye({dispatcher:this,localId:t,remoteId:n,localCreated:!1,service:s,availableWriteBytes:i});try{await o(a.socket),this.#t.set(t,a),await this.#l(t,n,this.options.initialDelayedAckBytes)}catch{await this.sendPacket(S.Close,0,n,w)}}async#u(e){let t=this.#t.get(e.arg1);if(!t)throw new Error(`Unknown local socket id: ${e.arg1}`);let n=!1,i=[(async()=>{await t.enqueue(e.payload),await this.#l(e.arg1,e.arg0,e.payload.length),n=!0})()];this.options.readTimeLimit&&i.push((async()=>{if(await Wt(this.options.readTimeLimit),!n)throw new Error(`readable of \`${t.service}\` has stalled for ${this.options.readTimeLimit} milliseconds`)})()),await Promise.race(i)}async createSocket(e){this.options.appendNullToServiceString&&(e+="\0");let[t,n]=this.#e.add();await this.sendPacket(S.Open,t,this.options.initialDelayedAckBytes,e);let{remoteId:i,availableWriteBytes:s}=await n,o=new ye({dispatcher:this,localId:t,remoteId:i,localCreated:!0,service:e,availableWriteBytes:s});return this.#t.set(t,o),o.socket}addReverseTunnel(e,t){this.#s.set(e,t)}removeReverseTunnel(e){this.#s.delete(e)}clearReverseTunnels(){this.#s.clear()}async sendPacket(e,t,n,i){if(typeof i=="string"&&(i=C(i)),i.length>this.options.maxPayloadSize)throw new TypeError("payload too large");await y.WritableStream.write(this.#r,{command:e,arg0:t,arg1:n,payload:i,checksum:this.options.calculateChecksum?ot(i):0,magic:e^4294967295})}async close(){await Promise.all(Array.from(this.#t.values(),e=>e.close())),this.#n=!0,this.#c.abort(),this.options.preserveConnection?this.#r.releaseLock():await this.#r.close()}#d(){for(let e of this.#t.values())e.dispose();this.#i.resolve()}};var Rn=16777217,Br=[x.ShellV2,x.Cmd,x.StatV2,x.ListV2,x.FixedPushMkdir,"apex",x.Abb,"fixed_push_symlink_timestamp",x.AbbExec,"remount_shell","track_app",x.SendReceiveV2,"sendrecv_v2_brotli","sendrecv_v2_lz4","sendrecv_v2_zstd","sendrecv_v2_dry_run_send",x.DelayedAck],Nn=32*1024*1024,dt=class r{static async authenticate({serial:e,connection:t,credentialStore:n,authenticators:i=kr,features:s=Br,initialDelayedAckBytes:o=Nn,...a}){let c=16777217,l=1024*1024,h=new u,T=new ct(i,n),B=new j,M=t.readable.pipeTo(new m({async write(p){switch(p.command){case S.Connect:c=Math.min(c,p.arg0),l=Math.min(l,p.arg1),h.resolve(D(p.payload));break;case S.Auth:{let v=await T.process(p);await O(v);break}default:break}}}),{preventCancel:!0,signal:B.signal}).then(()=>{h.reject(new Error("Connection closed unexpectedly"))},p=>{h.reject(p)}),U=t.writable.getWriter();async function O(p){p.checksum=ot(p.payload),p.magic=p.command^4294967295,await y.WritableStream.write(U,p)}let K=s.slice();if(o<=0){let p=s.indexOf(x.DelayedAck);p!==-1&&K.splice(p,1)}let le;try{await O({command:S.Connect,arg0:c,arg1:l,payload:C(`host::features=${K.join(",")}`)}),le=await h.promise}finally{B.abort(),U.releaseLock(),await M}return new r({serial:e,connection:t,version:c,maxPayloadSize:l,banner:le,features:K,initialDelayedAckBytes:o,...a})}#e;get connection(){return this.#e}#t;#r;get serial(){return this.#r}#n;get protocolVersion(){return this.#n}get maxPayloadSize(){return this.#t.options.maxPayloadSize}#i;get banner(){return this.#i}get disconnected(){return this.#t.disconnected}#s;get clientFeatures(){return this.#s}constructor({serial:e,connection:t,version:n,banner:i,features:s=Br,initialDelayedAckBytes:o,...a}){if(this.#r=e,this.#e=t,this.#i=it.parse(i),this.#s=s,s.includes(x.DelayedAck)){if(o<=0)throw new TypeError("`initialDelayedAckBytes` must be greater than 0 when DelayedAck feature is enabled.");this.#i.features.includes(x.DelayedAck)||(o=0)}else o=0;let c,l;n>=Rn?(c=!1,l=!1):(c=!0,l=!0),this.#t=new lt(t,{calculateChecksum:c,appendNullToServiceString:l,initialDelayedAckBytes:o,...a}),this.#n=n}connect(e){return this.#t.createSocket(e)}addReverseTunnel(e,t){return t||(t=`localabstract:reverse_${Math.random().toString().substring(2)}`),this.#t.addReverseTunnel(t,e),t}removeReverseTunnel(e){this.#t.removeReverseTunnel(e)}clearReverseTunnels(){this.#t.clearReverseTunnels()}close(){return this.#t.close()}};function Pr(r,e){e<0||e>=r.length||(r[e]=r[r.length-1],r.length-=1)}var ht=class extends Error{constructor(e){super("The device is already in used by another program",{cause:e})}};function xe(r,e){return typeof r=="object"&&r!==null&&"name"in r&&r.name===e}function Tn(r){return r.classCode!==void 0&&r.subclassCode!==void 0&&r.protocolCode!==void 0}function kn(r,e){return r.interfaceClass===e.classCode&&r.interfaceSubclass===e.subclassCode&&r.interfaceProtocol===e.protocolCode}function Bn(r,e){for(let t of r.configurations)for(let n of t.interfaces)for(let i of n.alternates)if(kn(i,e))return{configuration:t,interface_:n,alternate:i}}function Lr(r){return r.toString(16).padStart(4,"0")}function Ut(r){return r.serialNumber?r.serialNumber:Lr(r.vendorId)+"x"+Lr(r.productId)}function Ur(r){if(r.length===0)throw new TypeError("No endpoints given");let e,t;for(let n of r)switch(n.direction){case"in":if(e=n,t)return{inEndpoint:e,outEndpoint:t};break;case"out":if(t=n,e)return{inEndpoint:e,outEndpoint:t};break}throw e?t?new Error("unreachable"):new TypeError("No output endpoint found."):new TypeError("No input endpoint found.")}function Pn(r,e){return e.vendorId!==void 0&&r.vendorId!==e.vendorId||e.productId!==void 0&&r.productId!==e.productId||e.serialNumber!==void 0&&Ut(r)!==e.serialNumber?!1:Tn(e)?Bn(r,e)||!1:!0}function ce(r,e,t){if(t&&t.length>0&&ce(r,t))return!1;for(let n of e){let i=Pn(r,n);if(i)return i}return!1}var ut={classCode:255,subclassCode:66,protocolCode:1};function be(r){return!r||r.length===0?[ut]:r.map(e=>({...e,classCode:e.classCode??ut.classCode,subclassCode:e.subclassCode??ut.subclassCode,protocolCode:e.protocolCode??ut.protocolCode}))}var Dt=class{#e;get device(){return this.#e}#t;get inEndpoint(){return this.#t}#r;get outEndpoint(){return this.#r}#n;get readable(){return this.#n}#i;get writable(){return this.#i}constructor(e,t,n,i){this.#e=e,this.#t=t,this.#r=n;let s=!1,o=new Ue({close:async()=>{try{s=!0,await e.raw.close()}catch{}},dispose:()=>{s=!0,i.removeEventListener("disconnect",a)}});function a(l){l.device===e.raw&&o.dispose().catch(qe)}i.addEventListener("disconnect",a),this.#n=o.wrapReadable(new E({pull:async l=>{let h=await this.#s();h?l.enqueue(h):l.close()}},{highWaterMark:0}));let c=n.packetSize-1;this.#i=nr(o.createWritable(new I.WritableStream({write:async l=>{try{await e.raw.transferOut(n.endpointNumber,or(l)),c&&!(l.length&c)&&await e.raw.transferOut(n.endpointNumber,w)}catch(h){if(s)return;throw h}}})),new st)}async#s(){try{for(;;){let e=await this.#e.raw.transferIn(this.#t.endpointNumber,this.#t.packetSize);if(e.data.byteLength!==24)continue;let t=new Uint8Array(e.data.buffer),n=new ge(t),i=fe.deserialize(n);if(i.magic===(i.command^4294967295)){if(i.payloadLength!==0){let s=await this.#e.raw.transferIn(this.#t.endpointNumber,i.payloadLength);i.payload=new Uint8Array(s.data.buffer)}else i.payload=w;return i}}}catch(e){if(xe(e,"NetworkError")&&(await new Promise(t=>{setTimeout(()=>{t()},100)}),closed))return;throw e}}},q=class r{static DeviceBusyError=ht;#e;#t;#r;get raw(){return this.#r}#n;get serial(){return this.#n}get name(){return this.#r.productName}constructor(e,t,n){this.#r=e,this.#n=Ut(e),this.#e=t,this.#t=n}async#i(){var i;this.#r.opened||await this.#r.open();let{configuration:e,interface_:t,alternate:n}=this.#e;if(((i=this.#r.configuration)==null?void 0:i.configurationValue)!==e.configurationValue&&await this.#r.selectConfiguration(e.configurationValue),!t.claimed)try{await this.#r.claimInterface(t.interfaceNumber)}catch(s){throw xe(s,"NetworkError")?new r.DeviceBusyError(s):s}return t.alternate.alternateSetting!==n.alternateSetting&&await this.#r.selectAlternateInterface(t.interfaceNumber,n.alternateSetting),Ur(n.endpoints)}async connect(){let{inEndpoint:e,outEndpoint:t}=await this.#i();return new Dt(this,e,t,this.#t)}};var pt=class r{static async create(e,t={}){let n=await e.getDevices();return new r(e,n,t)}#e;#t;#r;#n=new J;onDeviceAdd=this.#n.event;#i=new J;onDeviceRemove=this.#i.event;#s=new ze;onListChange=this.#s.event;current=[];constructor(e,t,n={}){this.#e=be(n.filters),this.#t=n.exclusionFilters,this.#r=e,this.current=t.map(i=>this.#c(i)).filter(i=>!!i),this.#s.fire(this.current),this.#r.addEventListener("connect",this.#a),this.#r.addEventListener("disconnect",this.#o)}#c(e){let t=ce(e,this.#e,this.#t);if(t)return new q(e,t,this.#r)}#a=e=>{let t=this.#c(e.device);if(!t||this.current.some(i=>i.raw===t.raw))return;let n=this.current.slice();n.push(t),this.current=n,this.#n.fire([t]),this.#s.fire(this.current)};#o=e=>{let t=this.current.findIndex(n=>n.raw===e.device);if(t!==-1){let n=this.current[t],i=this.current.slice();Pr(i,t),this.current=i,this.#i.fire([n]),this.#s.fire(this.current)}};stop(){this.#r.removeEventListener("connect",this.#a),this.#r.removeEventListener("disconnect",this.#o),this.#n.dispose(),this.#i.dispose(),this.#s.dispose()}};var mt=class r{static BROWSER=typeof globalThis.navigator<"u"&&globalThis.navigator.usb?new r(globalThis.navigator.usb):void 0;#e;constructor(e){this.#e=e}async requestDevice(e={}){let t=be(e.filters);try{let n=await this.#e.requestDevice({filters:t,exclusionFilters:e.exclusionFilters}),i=ce(n,t,e.exclusionFilters);return i?(this.#e.dispatchEvent(new USBConnectionEvent("connect",{device:n})),new q(n,i,this.#e)):void 0}catch(n){if(xe(n,"NotFoundError"))return;throw n}}async getDevices(e={}){let t=be(e.filters),n=await this.#e.getDevices(),i=[];for(let s of n){let o=ce(s,t,e.exclusionFilters);o&&i.push(new q(s,o,this.#e))}return i}trackDevices(e={}){return pt.create(this.#e,e)}};return qr(Ln);})();