@gjsify/example-gtk-adwaita-storybook 0.42.0 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/gjs.js CHANGED
@@ -1,10 +1,13 @@
1
- if(globalThis.__gjsifyBundleUrl??=import.meta.url,Symbol.dispose||(Symbol.dispose=Symbol.for(`Symbol.dispose`)),Symbol.asyncDispose||(Symbol.asyncDispose=Symbol.for(`Symbol.asyncDispose`)),globalThis.process===void 0){let e=globalThis.imports.system,t=globalThis.imports.gi.GLib,_h=e=>[0,0];_h.bigint=()=>0n;let n,_p=()=>{if(n)return n;n={platform:`linux`,arch:`x64`};try{if(t.getenv(`OS`)===`Windows_NT`||t.getenv(`SystemRoot`)){let e=(t.getenv(`PROCESSOR_ARCHITECTURE`)||``).toLowerCase();return n={platform:`win32`,arch:e===`arm64`?`arm64`:e===`x86`?`ia32`:`x64`},n}let e=t.spawn_sync(null,[`uname`,`-sm`],null,t.SpawnFlags.SEARCH_PATH,null);if(e&&e[0]&&e[1]){let t=new TextDecoder().decode(e[1]).trim().split(/\s+/);if(t.length>1){let e=t[0],r=t[t.length-1].toLowerCase();n={platform:e===`Linux`?`linux`:e===`Darwin`?`darwin`:/^CYGWIN/i.test(e)?`cygwin`:/^(MINGW|MSYS|Windows)/i.test(e)?`win32`:e.toLowerCase(),arch:r===`x86_64`||r===`amd64`?`x64`:r===`aarch64`||r===`arm64`?`arm64`:/^i[3-6]86$/.test(r)?`ia32`:r.startsWith(`arm`)?`arm`:r}}}}catch{}return n};globalThis.process={get platform(){return _p().platform},get arch(){return _p().arch},version:`v20.0.0`,env:new Proxy({},{get(e,n){return typeof n==`string`?t.getenv(n)??void 0:void 0},set(e,n,r){return typeof n==`string`&&t.setenv(n,String(r),!0),!0},has(e,n){return typeof n==`string`&&t.getenv(n)!==null},deleteProperty(e,n){return typeof n==`string`&&t.unsetenv(n),!0},ownKeys(){return t.listenv()??[]},getOwnPropertyDescriptor(e,n){let r=t.getenv(n);return r===null?void 0:{value:r,writable:!0,enumerable:!0,configurable:!0}}}),argv:e?.programArgs?[`gjs`,e.programInvocationName||``,...e.programArgs]:[`gjs`],versions:{},config:{},cwd(){return t.get_current_dir()||`/`},exit(t){e.exit(t??0)},stderr:{write(e){globalThis.printerr(e)}},stdout:{write(e){globalThis.print(e)}},stdin:null,exitCode:void 0,nextTick(e,...t){Promise.resolve().then(()=>e(...t))},hrtime:_h}}(function(){var e=globalThis.imports;if(!(!e||!e.gi)){var t;try{t=e.gi.GIRepository}catch{return}if(!(!t||!t.Repository||!t.Repository.dup_default)){var n=t.Repository.dup_default();if(!(!n||!n.prepend_search_path||!n.prepend_library_path)){var a=function(e){n.prepend_search_path(e),n.prepend_library_path(e)},r;try{r=e.gi.GLib}catch{}if(r&&r.file_test&&r.FileTest)for(var i=[[`/opt/homebrew/lib`,`/opt/homebrew/lib/girepository-1.0`,`/System/Library/CoreServices/SystemVersion.plist`],[`/opt/local/lib`,`/opt/local/lib/girepository-1.0`,`/System/Library/CoreServices/SystemVersion.plist`],[`/usr/local/lib`,`/usr/local/lib/girepository-1.0`,`/System/Library/CoreServices/SystemVersion.plist`]],o=i.length;o--;)r.file_test(i[o][2],r.FileTest.EXISTS)&&r.file_test(i[o][1],r.FileTest.IS_DIR)&&a(i[o][0])}}}})();import e from"gi://GLib?version=2.0";import t from"gi://Gdk?version=4.0";import n from"gi://Gtk?version=4.0";import r from"gi://Gio?version=2.0";import i from"gi://Graphene?version=1.0";import o from"gi://Adw?version=1";import s from"gi://GObject?version=2.0";import c from"system";var l=Object.defineProperty,__name=(e,t)=>l(e,`name`,{value:t,configurable:!0}),__exportAll=(e,t)=>{let n={};for(var r in e)l(n,r,{get:e[r],enumerable:!0});return t||l(n,Symbol.toStringTag,{value:`Module`}),n};let u;const _encoder=()=>u??=new TextEncoder;var d=class BlobPolyfill{_parts;size;type;constructor(e,t){this._parts=e||[],this.type=t?.type||``,this.size=this._parts.reduce((e,t)=>typeof t==`string`?e+_encoder().encode(t).byteLength:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?e+t.byteLength:t&&typeof t.size==`number`?e+t.size:e,0)}async bytes(){let e=await this.arrayBuffer();return new Uint8Array(e)}async text(){return new TextDecoder().decode(await this.arrayBuffer())}async arrayBuffer(){let e=[];for(let t of this._parts)if(typeof t==`string`)e.push(_encoder().encode(t));else if(t instanceof ArrayBuffer)e.push(new Uint8Array(t));else if(ArrayBuffer.isView(t))e.push(new Uint8Array(t.buffer,t.byteOffset,t.byteLength));else if(t&&typeof t.arrayBuffer==`function`){let n=await t.arrayBuffer();e.push(new Uint8Array(n))}let t=e.reduce((e,t)=>e+t.byteLength,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.byteLength;return n.buffer}slice(e,t,n){return new BlobPolyfill([],{type:n})}stream(){let e=this;return new ReadableStream({async pull(t){let n=await e.arrayBuffer();t.enqueue(new Uint8Array(n)),t.close()}})}},FilePolyfill=class extends d{name;lastModified;webkitRelativePath=``;constructor(e,t,n){super(e,n),this.name=t,this.lastModified=n?.lastModified??Date.now()}};const f=globalThis.Blob??d,p=globalThis.File??FilePolyfill;function makeCallable(e){return new Proxy(e,{apply(e,t,n){if(t==null||t===globalThis)return Reflect.construct(e,n,e);let r=Reflect.construct(e,n,e);for(let e of Reflect.ownKeys(r)){let n=Object.getOwnPropertyDescriptor(r,e);n&&Object.defineProperty(t,e,n)}return t}})}const initErrorV8Methods=e=>{let t=Error;t.captureStackTrace||=function(e,t){let n=Error();Object.defineProperty(t||e,"stack",{configurable:!0,get:function getStack(){var e=n.stack;return Object.defineProperty(this,"stack",{value:e}),e}})}};function registerGlobal(e,t){let n=globalThis;n[e]===void 0&&(n[e]=t)}const m=typeof print==`function`&&typeof printerr==`function`;function _formatArgs(...e){let t=e[0],n=e.slice(1);if(typeof t!=`string`||!/%(s|d|i|f|o|O|c)/.test(t))return e.map(e=>typeof e==`string`?e:JSON.stringify(e)).join(` `);let r=0,i=t.replace(/%([sdifOoc])/g,(e,t)=>{if(r>=n.length)return e;let i=n[r++];switch(t){case`s`:return String(i);case`d`:case`i`:return String(parseInt(String(i),10));case`f`:return String(parseFloat(String(i)));case`o`:case`O`:return JSON.stringify(i);case`c`:return``;default:return e}}),o=n.slice(r);return o.length===0?i:i+` `+o.map(e=>typeof e==`string`?e:JSON.stringify(e)).join(` `)}var Console=class{_stdout;_stderr;_groupDepth=0;_groupIndentation;_timers=new Map;_counters=new Map;constructor(e,t){if(e&&typeof e.write==`function`)this._stdout=e,this._stderr=t||this._stdout;else if(e&&typeof e==`object`){let t=e;this._stdout=t.stdout,this._stderr=t.stderr||t.stdout}this._groupIndentation=2}_write(e,...t){let n=e===`stderr`&&this._stderr||this._stdout;if(n){let e=` `.repeat(this._groupDepth*this._groupIndentation),r=_formatArgs(...t);n.write(e+r+`
1
+ if(globalThis.__gjsifyBundleUrl??=import.meta.url,Symbol.dispose||(Symbol.dispose=Symbol.for(`Symbol.dispose`)),Symbol.asyncDispose||(Symbol.asyncDispose=Symbol.for(`Symbol.asyncDispose`)),typeof Intl.Segmenter!=`function`&&(Intl.Segmenter=class Segmenter{constructor(){}resolvedOptions(){return{locale:`en`,granularity:`grapheme`}}segment(e){let t=String(e);return{input:t,[Symbol.iterator]:function*(){let e=0;for(let n of t)yield{segment:n,index:e,input:t},e+=n.length}}}}),globalThis.process===void 0){let e=globalThis.imports.system,t=globalThis.imports.gi.GLib,_h=e=>[0,0];_h.bigint=()=>0n;let n,_p=()=>{if(n)return n;n={platform:`linux`,arch:`x64`};try{if(t.getenv(`OS`)===`Windows_NT`||t.getenv(`SystemRoot`)){let e=(t.getenv(`PROCESSOR_ARCHITECTURE`)||``).toLowerCase();return n={platform:`win32`,arch:e===`arm64`?`arm64`:e===`x86`?`ia32`:`x64`},n}let e=t.spawn_sync(null,[`uname`,`-sm`],null,t.SpawnFlags.SEARCH_PATH,null);if(e&&e[0]&&e[1]){let t=new TextDecoder().decode(e[1]).trim().split(/\s+/);if(t.length>1){let e=t[0],r=t[t.length-1].toLowerCase();n={platform:e===`Linux`?`linux`:e===`Darwin`?`darwin`:/^CYGWIN/i.test(e)?`cygwin`:/^(MINGW|MSYS|Windows)/i.test(e)?`win32`:e.toLowerCase(),arch:r===`x86_64`||r===`amd64`?`x64`:r===`aarch64`||r===`arm64`?`arm64`:/^i[3-6]86$/.test(r)?`ia32`:r.startsWith(`arm`)?`arm`:r}}}}catch{}return n};globalThis.process={get platform(){return _p().platform},get arch(){return _p().arch},version:`v20.0.0`,env:new Proxy({},{get(e,n){return typeof n==`string`?t.getenv(n)??void 0:void 0},set(e,n,r){return typeof n==`string`&&t.setenv(n,String(r),!0),!0},has(e,n){return typeof n==`string`&&t.getenv(n)!==null},deleteProperty(e,n){return typeof n==`string`&&t.unsetenv(n),!0},ownKeys(){return t.listenv()??[]},getOwnPropertyDescriptor(e,n){let r=t.getenv(n);return r===null?void 0:{value:r,writable:!0,enumerable:!0,configurable:!0}}}),argv:e?.programArgs?[`gjs`,e.programInvocationName||``,...e.programArgs]:[`gjs`],versions:{},config:{},cwd(){return t.get_current_dir()||`/`},exit(t){e.exit(t??0)},stderr:{write(e){globalThis.printerr(e)}},stdout:{write(e){globalThis.print(e)}},stdin:null,exitCode:void 0,nextTick(e,...t){Promise.resolve().then(()=>e(...t))},hrtime:_h}}(function(){var e=globalThis.imports;if(!(!e||!e.gi)){var t;try{t=e.gi.GIRepository}catch{return}if(!(!t||!t.Repository||!t.Repository.dup_default)){var n=t.Repository.dup_default();if(!(!n||!n.prepend_search_path||!n.prepend_library_path)){var a=function(e){n.prepend_search_path(e),n.prepend_library_path(e)},r;try{r=e.gi.GLib}catch{}if(r&&r.file_test&&r.FileTest)for(var i=[[`/opt/homebrew/lib`,`/opt/homebrew/lib/girepository-1.0`,`/System/Library/CoreServices/SystemVersion.plist`],[`/opt/local/lib`,`/opt/local/lib/girepository-1.0`,`/System/Library/CoreServices/SystemVersion.plist`],[`/usr/local/lib`,`/usr/local/lib/girepository-1.0`,`/System/Library/CoreServices/SystemVersion.plist`]],o=i.length;o--;)r.file_test(i[o][2],r.FileTest.EXISTS)&&r.file_test(i[o][1],r.FileTest.IS_DIR)&&a(i[o][0])}}}})();import e from"gi://GLib?version=2.0";import t from"gi://Gdk?version=4.0";import n from"gi://Gtk?version=4.0";import r from"gi://Gio?version=2.0";import i from"gi://Graphene?version=1.0";import o from"gi://Adw?version=1";import s from"gi://GObject?version=2.0";import c from"system";import"gettext";var l=Object.defineProperty,__name=(e,t)=>l(e,`name`,{value:t,configurable:!0}),__exportAll=(e,t)=>{let n={};for(var r in e)l(n,r,{get:e[r],enumerable:!0});return t||l(n,Symbol.toStringTag,{value:`Module`}),n};let u;const _encoder=()=>u??=new TextEncoder;var d=class BlobPolyfill{_parts;size;type;constructor(e,t){this._parts=e||[],this.type=t?.type||``,this.size=this._parts.reduce((e,t)=>typeof t==`string`?e+_encoder().encode(t).byteLength:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?e+t.byteLength:t&&typeof t.size==`number`?e+t.size:e,0)}async bytes(){let e=await this.arrayBuffer();return new Uint8Array(e)}async text(){return new TextDecoder().decode(await this.arrayBuffer())}async arrayBuffer(){let e=[];for(let t of this._parts)if(typeof t==`string`)e.push(_encoder().encode(t));else if(t instanceof ArrayBuffer)e.push(new Uint8Array(t));else if(ArrayBuffer.isView(t))e.push(new Uint8Array(t.buffer,t.byteOffset,t.byteLength));else if(t&&typeof t.arrayBuffer==`function`){let n=await t.arrayBuffer();e.push(new Uint8Array(n))}let t=e.reduce((e,t)=>e+t.byteLength,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.byteLength;return n.buffer}slice(e,t,n){return new BlobPolyfill([],{type:n})}stream(){let e=this;return new ReadableStream({async pull(t){let n=await e.arrayBuffer();t.enqueue(new Uint8Array(n)),t.close()}})}},FilePolyfill=class extends d{name;lastModified;webkitRelativePath=``;constructor(e,t,n){super(e,n),this.name=t,this.lastModified=n?.lastModified??Date.now()}};const f=globalThis.Blob??d,p=globalThis.File??FilePolyfill;function makeCallable(e){return new Proxy(e,{apply(e,t,n){if(t==null||t===globalThis)return Reflect.construct(e,n,e);let r=Reflect.construct(e,n,e);for(let e of Reflect.ownKeys(r)){let n=Object.getOwnPropertyDescriptor(r,e);n&&Object.defineProperty(t,e,n)}return t}})}const initErrorV8Methods=e=>{let t=Error;t.captureStackTrace||=function(e,t){let n=Error();Object.defineProperty(t||e,"stack",{configurable:!0,get:function getStack(){var e=n.stack;return Object.defineProperty(this,"stack",{value:e}),e}})}};function registerGlobal(e,t){let n=globalThis;n[e]===void 0&&(n[e]=t)}const m=typeof print==`function`&&typeof printerr==`function`,h=[`name`,`message`,`stack`,`cause`,`errors`,`fileName`,`lineNumber`,`columnNumber`];function _isError(e){return typeof Error.isError==`function`?Error.isError(e):e instanceof Error}function _safeRead(e,t){try{return e[t]}catch{return}}function _safeString(e){try{let t=String(e);return t.length>0&&!t.startsWith(`[object `)?t:void 0}catch{return}}function _thrownText(e){let t=_isError(e)?_safeRead(e,`message`):void 0;return typeof t==`string`?t:_safeString(e)??`unknown`}function _gerrorIdentity(e){let t=Object.prototype.hasOwnProperty;if(t.call(e,`domain`)||t.call(e,`code`))return;let n=_safeRead(e,`domain`),r=_safeRead(e,`code`);if(!(typeof n!=`number`||typeof r!=`number`))return{domain:n,code:r}}function _errorHeader(e){let t=_safeRead(e,`name`),n=_safeRead(e,`message`),r=typeof n==`string`?n:``;if(typeof t==`string`&&t.length>0)return r.length>0?`${t}: ${r}`:t;let i=_safeString(e);return i===void 0?r.length>0?`Error: ${r}`:`Error`:i}function _indentContinuation(e,t){return e.split(`
2
+ `).join(`
3
+ `+t)}function _formatError(e,t){if(t.has(e))return`[Circular ${_errorHeader(e)}]`;t.add(e);try{return _renderError(e,t)}catch(t){return`${_errorHeader(e)} [unformattable: ${_thrownText(t)}]`}finally{t.delete(e)}}function _renderError(e,t){let n=_errorHeader(e),r=_safeRead(e,`stack`),i=typeof r==`string`?r.replace(/\n+$/,``):``,o=i.length===0?n:i.startsWith(n)?i:`${n}\n${i}`,s={..._gerrorIdentity(e)};for(let t of Object.keys(e))h.includes(t)||(s[t]=_safeRead(e,t));let c=_stringify(s,t);c!==`{}`&&(o+=` `+c);let l=_safeRead(e,`cause`);l!==void 0&&(o+=`
4
+ [cause]: `+_indentContinuation(_formatValue(l,t),` `));let u=_safeRead(e,`errors`);if(Array.isArray(u))for(let e=0;e<u.length;e++)o+=`\n [errors][${e}]: `+_indentContinuation(_formatValue(u[e],t),` `);return o}function _stringify(e,t){try{return JSON.stringify(e,(e,n)=>_isError(n)?_formatError(n,t):n)}catch(e){return`[unserializable: ${_thrownText(e)}]`}}function _formatValue(e,t){return _isError(e)?_formatError(e,t):_stringify(e,t)}function _formatArgs(...e){let t=new Set,n=e[0],r=e.slice(1);if(typeof n!=`string`||!/%(s|d|i|f|o|O|c)/.test(n))return e.map(e=>typeof e==`string`?e:_formatValue(e,t)).join(` `);let i=0,o=n.replace(/%([sdifOoc])/g,(e,n)=>{if(i>=r.length)return e;let o=r[i++];switch(n){case`s`:return _isError(o)?_formatError(o,t):String(o);case`d`:case`i`:return String(parseInt(String(o),10));case`f`:return String(parseFloat(String(o)));case`o`:case`O`:return _formatValue(o,t);case`c`:return``;default:return e}}),s=r.slice(i);return s.length===0?o:o+` `+s.map(e=>typeof e==`string`?e:_formatValue(e,t)).join(` `)}var Console=class{_stdout;_stderr;_groupDepth=0;_groupIndentation;_timers=new Map;_counters=new Map;constructor(e,t){if(e&&typeof e.write==`function`)this._stdout=e,this._stderr=t||this._stdout;else if(e&&typeof e==`object`){let t=e;this._stdout=t.stdout,this._stderr=t.stderr||t.stdout}this._groupIndentation=2}_write(e,...t){let n=e===`stderr`&&this._stderr||this._stdout;if(n){let e=` `.repeat(this._groupDepth*this._groupIndentation),r=_formatArgs(...t);n.write(e+r+`
2
5
  `)}else if(m){let n=` `.repeat(this._groupDepth*this._groupIndentation)+_formatArgs(...t);e===`stderr`?printerr(n):print(n)}else{let n=globalThis.console;e===`stderr`?n.error(...t):n.log(...t)}}log(...e){this._write(`stdout`,...e)}info(...e){this._write(`stdout`,...e)}debug(...e){this._write(`stdout`,...e)}warn(...e){this._write(`stderr`,...e)}error(...e){this._write(`stderr`,...e)}dir(e,t){this._write(`stdout`,e)}dirxml(...e){this.log(...e)}assert(e,...t){e||this.error(`Assertion failed:`,...t)}clear(){this._stdout?this._stdout.write(`\x1Bc`):m?print(`\x1Bc`):globalThis.console.clear()}count(e=`default`){let t=(this._counters.get(e)||0)+1;this._counters.set(e,t),this.log(`${e}: ${t}`)}countReset(e=`default`){this._counters.delete(e)}group(...e){e.length>0&&this.log(...e),this._groupDepth++}groupCollapsed(...e){this.group(...e)}groupEnd(){this._groupDepth>0&&this._groupDepth--}table(e,t){this._stdout?this._write(`stdout`,e):m?print(JSON.stringify(e,null,2)):globalThis.console.table(e,t)}time(e=`default`){this._timers.set(e,Date.now())}timeEnd(e=`default`){let t=this._timers.get(e);t===void 0?this.warn(`Warning: No such label '${e}' for console.timeEnd()`):(this.log(`${e}: ${Date.now()-t}ms`),this._timers.delete(e))}timeLog(e=`default`,...t){let n=this._timers.get(e);n===void 0?this.warn(`Warning: No such label '${e}' for console.timeLog()`):this.log(`${e}: ${Date.now()-n}ms`,...t)}trace(...e){let t=Error().stack?.split(`
3
6
  `).slice(1).join(`
4
7
  `)||``;this._write(`stderr`,`Trace:`,...e,`
5
- `+t)}profile(e){}profileEnd(e){}timeStamp(e){}};const h=new Console,log=(...e)=>h.log(...e),info=(...e)=>h.info(...e),debug=(...e)=>h.debug(...e),warn=(...e)=>h.warn(...e),error=(...e)=>h.error(...e),dir=(e,t)=>h.dir(e,t),dirxml=(...e)=>h.dirxml(...e),table=(e,t)=>h.table(e,t),clear=()=>h.clear(),assert=(e,...t)=>h.assert(e,...t),trace=(...e)=>h.trace(...e),time=e=>h.time(e),timeEnd=e=>h.timeEnd(e),timeLog=(e,...t)=>h.timeLog(e,...t),count=e=>h.count(e),countReset=e=>h.countReset(e),group=(...e)=>h.group(...e),groupCollapsed=(...e)=>h.groupCollapsed(...e),groupEnd=()=>h.groupEnd(),profile=e=>{},profileEnd=e=>{},timeStamp=e=>{},g={log,info,debug,warn,error,dir,dirxml,table,time,timeEnd,timeLog,trace,assert,clear,count,countReset,group,groupCollapsed,groupEnd,profile,profileEnd,timeStamp},_=__name(e=>{Promise.resolve().then(e)},`queueMicrotask`);function mapSysname(e){let t=e.trim();switch(t){case`Linux`:return`linux`;case`Darwin`:return`darwin`;case`FreeBSD`:return`freebsd`;case`OpenBSD`:return`openbsd`;case`NetBSD`:return`netbsd`;case`SunOS`:return`sunos`;case`AIX`:return`aix`;case`Haiku`:return`haiku`;default:return/^CYGWIN/i.test(t)?`cygwin`:/^(MINGW|MSYS|Windows)/i.test(t)?`win32`:void 0}}function mapMachine(e){let t=e.trim().toLowerCase();switch(t){case`x86_64`:case`amd64`:return`x64`;case`aarch64`:case`arm64`:return`arm64`;case`i386`:case`i486`:case`i586`:case`i686`:return`ia32`;case`ppc64le`:case`ppc64`:return`ppc64`;case`s390x`:return`s390x`;case`riscv64`:return`riscv64`;case`loongarch64`:return`loong64`;case`mipsel`:return`mipsel`;case`mips`:return`mips`;default:return t.startsWith(`arm`)?`arm`:void 0}}const{toString:ee}=Object.prototype;function classOf(e){return ee.call(e).slice(8,-1)}function throwDataCloneError(e){let t=globalThis.DOMException;if(typeof t==`function`)throw new t(e,`DataCloneError`);let n=Error(e);throw n.name=`DataCloneError`,n}const te={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},ne=new Set([`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function internalClone(e,t,n){if(e==null)return e;let r=typeof e;if(r===`boolean`||r===`number`||r===`string`||r===`bigint`)return e;r===`symbol`&&throwDataCloneError(`Symbol cannot be cloned`),r===`function`&&throwDataCloneError(`Function cannot be cloned`);let i=e;if(t.has(i))return t.get(i);let o=classOf(i);if(o===`Date`)return new Date(i.getTime());if(o===`RegExp`)return new RegExp(i.source,i.flags);if(o===`Boolean`||o===`Number`||o===`String`)return Object(i.valueOf());if(o===`BigInt`)return Object(BigInt.prototype.valueOf.call(i));if(i instanceof Error){let e=i,r=e.constructor?.name,o=new(r&&te[r]||te[e.name]||Error)(e.message);return o.name=e.name,`cause`in e&&Object.defineProperty(o,"cause",{value:internalClone(e.cause,t,n),writable:!0,enumerable:!1,configurable:!0}),o}if(o===`DOMException`){let e=globalThis.DOMException;if(typeof e==`function`){let t=i;return new e(t.message,t.name)}}if(o===`ArrayBuffer`){let e=i;if(n&&n.transferred.has(e)){let r=n.transferred.get(e);return t.set(i,r),r}(e.detached===!0||e.byteLength===0&&e.detached)&&throwDataCloneError(`ArrayBuffer is detached and cannot be cloned`);let r=e.slice(0);return t.set(i,r),r}if(o===`SharedArrayBuffer`||i&&typeof i==`object`&&i.constructor?.name===`SharedBuffer`)return i;if(o===`DataView`){let e=i,r=n?.viewSnapshots.get(i),o=internalClone(e.buffer,t,n),s=r?r.byteOffset:e.byteOffset,c=r?r.byteLength:e.byteLength,l=new DataView(o,s,c);return t.set(i,l),l}if(ne.has(o)){let e=i,r=n?.viewSnapshots.get(i),o=internalClone(e.buffer,t,n),s=e.constructor,c=new s(o,r?r.byteOffset:e.byteOffset,r?r.length:e.length);return t.set(i,c),c}if(o===`Map`){let e=new Map;t.set(i,e);for(let[r,o]of i)e.set(internalClone(r,t,n),internalClone(o,t,n));return e}if(o===`Set`){let e=new Set;t.set(i,e);for(let r of i)e.add(internalClone(r,t,n));return e}{let e=globalThis,t=e.Blob,n=e.File;if(typeof n==`function`&&i instanceof n){let e=i;return new n([i],e.name,{type:e.type,lastModified:e.lastModified})}if(typeof t==`function`&&i instanceof t)return new t([i],{type:i.type})}if(i instanceof WeakMap&&throwDataCloneError(`WeakMap cannot be cloned`),i instanceof WeakSet&&throwDataCloneError(`WeakSet cannot be cloned`),i instanceof WeakRef&&throwDataCloneError(`WeakRef cannot be cloned`),typeof globalThis.Promise==`function`&&i instanceof Promise&&throwDataCloneError(`Promise cannot be cloned`),o===`Array`){let e=i,r=[];t.set(i,r);for(let i=0;i<e.length;i++)i in e&&(r[i]=internalClone(e[i],t,n));return r}if(o===`Object`||typeof i==`object`){let e={};t.set(i,e);for(let r of Object.keys(i))e[r]=internalClone(i[r],t,n);return e}throwDataCloneError(`${o} cannot be cloned`)}function structuredClone$1(e,t){let n=t?.transfer;if(!n||n.length===0)return internalClone(e,new Map);let r=new Set;for(let e of n)if(classOf(e)===`ArrayBuffer`){let t=e;t.detached===!0&&throwDataCloneError(`ArrayBuffer in transfer list is detached`),r.add(t)}let i=new Map;r.size>0&&snapshotViewsBackedByTransferredBuffers(e,r,i,new Set);let o=new Map;for(let e of r){let t=e;typeof t.transfer!=`function`&&throwDataCloneError(`ArrayBuffer.prototype.transfer() not available — runtime is not SM140+`),o.set(e,t.transfer())}return internalClone(e,new Map,{transferred:o,viewSnapshots:i})}__name(structuredClone$1,`structuredClone`);function snapshotViewsBackedByTransferredBuffers(e,t,n,r){if(typeof e!=`object`||!e)return;let i=e;if(r.has(i))return;r.add(i);let o=classOf(i);if(o===`DataView`){let e=i;t.has(e.buffer)&&n.set(i,{byteOffset:e.byteOffset,length:0,byteLength:e.byteLength});return}if(ne.has(o)){let e=i;t.has(e.buffer)&&n.set(i,{byteOffset:e.byteOffset,length:e.length,byteLength:e.byteLength});return}if(Array.isArray(i)){for(let e=0;e<i.length;e++)e in i&&snapshotViewsBackedByTransferredBuffers(i[e],t,n,r);return}if(o===`Map`){for(let[e,o]of i)snapshotViewsBackedByTransferredBuffers(e,t,n,r),snapshotViewsBackedByTransferredBuffers(o,t,n,r);return}if(o===`Set`){for(let e of i)snapshotViewsBackedByTransferredBuffers(e,t,n,r);return}if(o===`Object`)for(let e of Object.keys(i))snapshotViewsBackedByTransferredBuffers(i[e],t,n,r)}function hostGlib(){try{return globalThis.imports?.gi?.GLib}catch{return}}function readText(e,t){try{let[n,r]=e.file_get_contents(t);return!n||!r?null:new TextDecoder().decode(r)}catch{return null}}function shellOut(e,t){try{let[n,r]=e.spawn_command_line_sync(t);if(!n||!r)return null;let i=new TextDecoder().decode(r).trim();return i.length>0?i:null}catch{return null}}function hasProcfs(){let e=hostGlib();if(!e)return!1;try{return e.file_test(`/proc/self/status`,16)}catch{return!1}}let v=null;function hostPid(){if(v!==null)return v>0?v:void 0;let e=hostGlib();if(!e)return;let t=0,n=hasProcfs()?readText(e,`/proc/self/stat`):null;if(n)t=parseInt(n,10);else{let n=shellOut(e,`sh -c 'echo $PPID'`);n&&(t=parseInt(n,10))}return v=Number.isInteger(t)&&t>0?t:0,v>0?v:void 0}function hostPpid(){let e=hostGlib();if(!e)return;let t=hasProcfs()?readText(e,`/proc/self/status`):null;if(t){let e=/PPid:\s+(\d+)/.exec(t);if(e){let t=parseInt(e[1],10);return Number.isInteger(t)?t:void 0}}let n=hostPid();if(n===void 0)return;let r=shellOut(e,`ps -o ppid= -p ${n}`);if(!r)return;let i=parseInt(r,10);return Number.isInteger(i)?i:void 0}function hostExecPath(){let e=hostGlib();if(e){if(hasProcfs())try{let t=e.file_read_link(`/proc/self/exe`);if(t)return t}catch{}try{let t=e.get_prgname();if(t){let n=e.find_program_in_path(t);if(n)return n}}catch{return}}}function readProcessMemory(){let e=hostGlib();if(!e)return null;let t=hasProcfs()?readText(e,`/proc/self/status`):null;if(t){let e=new Map;for(let n of t.split(`
6
- `)){let t=/^(\w+):\s+(\d+)(\s+kB)?/.exec(n);t&&e.set(t[1],parseInt(t[2],10)*(t[3]?1024:1))}if(e.size>0)return{virtual:e.get(`VmSize`)??0,resident:e.get(`VmRSS`)??0,data:e.get(`VmData`)??0,peak:e.get(`VmPeak`)??0}}let n=shellOut(e,`sh -c 'ps -o rss=,vsz= -p $PPID'`);if(!n)return null;let r=/^(\d+)\s+(\d+)$/.exec(n);return r?{virtual:parseInt(r[2],10)*1024,resident:parseInt(r[1],10)*1024,data:0,peak:0}:null}let y=null,re=!1,ie=!1;function glib(){return globalThis.imports?.gi?.GLib}function arm(e){ie||(ie=!0,e.runAsync().catch(()=>{}))}function ensureMainLoop(){let e=glib();if(e)return re?y:(y=new e.MainLoop(null,!1),re=!0,e.main_depth()===0&&arm(y),y)}function quitMainLoop(){y&&=(y.quit(),re=!1,ie=!1,null)}registerGlobal(`Blob`,f),registerGlobal(`File`,p);const b=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,ae=new Uint8Array(256);for(let e=0;e<64;e++)ae[b.charCodeAt(e)]=e;function btoaPolyfill(e){if(typeof globalThis.btoa==`function`)return globalThis.btoa(e);let t=``,n=0;for(;n+2<e.length;n+=3){let r=e.charCodeAt(n)<<16|e.charCodeAt(n+1)<<8|e.charCodeAt(n+2);t+=b[r>>18&63]+b[r>>12&63]+b[r>>6&63]+b[r&63]}if(n+1===e.length){let r=e.charCodeAt(n)<<16;t+=b[r>>18&63]+b[r>>12&63]+`==`}else if(n+2===e.length){let r=e.charCodeAt(n)<<16|e.charCodeAt(n+1)<<8;t+=b[r>>18&63]+b[r>>12&63]+b[r>>6&63]+`=`}return t}function base64Decode(e){let t=e.replace(/[=\s]/g,``),n=new Uint8Array(t.length*3>>2),r=0,i=0,o=0;for(let e=0;e<t.length;e++)r=r<<6|ae[t.charCodeAt(e)],i+=6,i>=8&&(i-=8,n[o++]=r>>i&255);return n.subarray(0,o)}function base64Encode(e){let t=``,n=e.length;for(let r=0;r<n;r+=3){let i=e[r],o=r+1<n?e[r+1]:0,s=r+2<n?e[r+2]:0;t+=b[i>>2],t+=b[(i&3)<<4|o>>4],t+=r+1<n?b[(o&15)<<2|s>>6]:`=`,t+=r+2<n?b[s&63]:`=`}return t}const oe=[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`];function normalizeEncoding(e){if(!e||e===`utf8`||e===`utf-8`)return`utf8`;switch((``+e).toLowerCase().replace(/-/g,``)){case`utf8`:return`utf8`;case`ascii`:return`ascii`;case`latin1`:case`binary`:return`latin1`;case`base64`:return`base64`;case`base64url`:return`base64url`;case`hex`:return`hex`;case`ucs2`:case`utf16le`:return`utf16le`;default:return`utf8`}}function checkEncoding(e){let t=(``+e).toLowerCase().replace(/-/g,``);if(!oe.includes(t))throw TypeError(`Unknown encoding: ${e}`)}let se,ce;const textEncoder=()=>se??=new TextEncoder,textDecoder=()=>ce??=new TextDecoder;function encodeString(e,t){switch(t){case`utf8`:return textEncoder().encode(e);case`ascii`:{let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&127;return t}case`latin1`:{let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t}case`base64`:return base64Decode(e.replace(/-/g,`+`).replace(/_/g,`/`));case`base64url`:return encodeString(e.replace(/-/g,`+`).replace(/_/g,`/`),`base64`);case`hex`:{let t=e.length>>>1,n=new Uint8Array(t);for(let r=0;r<t;r++){let t=parseInt(e[r*2],16),i=parseInt(e[r*2+1],16);if(Number.isNaN(t)||Number.isNaN(i))break;n[r]=t<<4|i}return n}case`utf16le`:{let t=new Uint8Array(e.length*2);for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t[n*2]=r&255,t[n*2+1]=r>>8&255}return t}default:return textEncoder().encode(e)}}function decodeString(e,t,n,r){let i=n!==void 0||r!==void 0?e.subarray(n??0,r??e.length):e;switch(t){case`utf8`:return textDecoder().decode(i);case`ascii`:{let e=``;for(let t=0;t<i.length;t++)e+=String.fromCharCode(i[t]&127);return e}case`latin1`:{let e=``;for(let t=0;t<i.length;t++)e+=String.fromCharCode(i[t]);return e}case`base64`:{let e=``;for(let t=0;t<i.length;t++)e+=String.fromCharCode(i[t]);return btoaPolyfill(e)}case`base64url`:return decodeString(i,`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``);case`hex`:{let e=``;for(let t=0;t<i.length;t++)e+=i[t].toString(16).padStart(2,`0`);return e}case`utf16le`:{let e=``;for(let t=0;t+1<i.length;t+=2)e+=String.fromCharCode(i[t]|i[t+1]<<8);return e}default:return textDecoder().decode(i)}}function checkOffset(e,t,n){if(e+t>n)throw RangeError(`Attempt to access memory outside buffer bounds`)}const le=typeof SharedArrayBuffer<`u`;var ue=class Buffer extends Uint8Array{static _isBuffer=!0;static alloc(e,t,n){if(typeof e!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof e}`);if(e<0)throw RangeError(`The value "${e}" is invalid for option "size"`);let r=new Buffer(e);return t!==void 0&&t!==0&&r.fill(t,0,e,n),r}static allocUnsafe(e){if(typeof e!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof e}`);return new Buffer(e)}static allocUnsafeSlow(e){return Buffer.allocUnsafe(e)}static from(e,t,n){if(typeof e==`string`){let n=normalizeEncoding(t);if(t&&typeof t==`string`){let e=(``+t).toLowerCase().replace(/-/g,``);[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`,``].includes(e)||checkEncoding(t)}let r=encodeString(e,n);return new Buffer(r.buffer,r.byteOffset,r.byteLength)}if(ArrayBuffer.isView(e)){let t=new Buffer(e.buffer,e.byteOffset,e.byteLength),n=new Buffer(t.length);return n.set(t),n}if(e instanceof ArrayBuffer){let r=t||0,i=n===void 0?e.byteLength-r:n;return new Buffer(e,r,i)}if(le&&e instanceof SharedArrayBuffer){let r=t||0,i=n===void 0?e.byteLength-r:n;return new Buffer(new Uint8Array(e,r,i))}if(typeof e==`object`&&e&&typeof e.viewBytes==`function`&&typeof e.byteLength==`number`&&e.constructor?.name===`SharedBuffer`){let r=e,i=t||0,o=n===void 0?r.byteLength-i:n,s=r.viewBytes(i,o);return new Buffer(s.buffer,s.byteOffset,s.byteLength)}if(Array.isArray(e)){let t=new Buffer(e.length);for(let n=0;n<e.length;n++)t[n]=e[n]&255;return t}throw TypeError(`The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array`)}static isBuffer(e){return e instanceof Buffer}static isEncoding(e){if(typeof e!=`string`)return!1;let t=e.toLowerCase().replace(/-/g,``);return[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`].includes(t)}static byteLength(e,t){if(typeof e!=`string`){if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer||le&&e instanceof SharedArrayBuffer)return e.byteLength;throw TypeError(`The "string" argument must be one of type string, Buffer, or ArrayBuffer`)}switch(normalizeEncoding(t)){case`utf8`:return new TextEncoder().encode(e).byteLength;case`ascii`:case`latin1`:return e.length;case`base64`:case`base64url`:{let t=e.length;for(;t>0&&(e[t-1]===`=`||e[t-1]===` `);)t--;return t*3>>>2}case`hex`:return e.length>>>1;case`utf16le`:return e.length*2;default:return new TextEncoder().encode(e).byteLength}}static compare(e,t){if(!(e instanceof Uint8Array)||!(t instanceof Uint8Array))throw TypeError(`Arguments must be Buffers or Uint8Arrays`);let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length<t.length?-1:+(e.length>t.length)}static concat(e,t){if(e.length===0)return Buffer.alloc(0);if(t===void 0){t=0;for(let n=0;n<e.length;n++)t+=e[n].length}let n=Buffer.alloc(t),r=0;for(let i=0;i<e.length;i++){let o=e[i],s=Math.min(o.length,t-r);s<=0||(n.set(o.subarray(0,s),r),r+=s)}return n}static poolSize=65536;toString(e,t,n){let r=normalizeEncoding(e);return decodeString(this,r,t,n)}toJSON(){return{type:`Buffer`,data:Array.from(this)}}equals(e){if(!(e instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);if(this.length!==e.length)return!1;for(let t=0;t<this.length;t++)if(this[t]!==e[t])return!1;return!0}compare(e,t,n,r,i){if(!(e instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);let o=r!==void 0||i!==void 0?this.subarray(r??0,i??this.length):this,s=t!==void 0||n!==void 0?e.subarray(t??0,n??e.length):e;return Buffer.compare(o,s)}copy(e,t=0,n=0,r){let i=r??this.length,o=Math.min(i-n,e.length-t);return o<=0?0:(e.set(this.subarray(n,n+o),t),o)}slice(e,t){let n=e??0,r=t??this.length,i=super.subarray(n,r);return new Buffer(i.buffer,i.byteOffset,i.byteLength)}subarray(e,t){let n=super.subarray(e,t);return new Buffer(n.buffer,n.byteOffset,n.byteLength)}write(e,t,n,r){t??=0;let i=encodeString(e,normalizeEncoding(r||(typeof n==`string`?n:void 0))),o=n!==void 0&&typeof n==`number`?Math.min(n,this.length-t):this.length-t,s=Math.min(i.length,o);return this.set(i.subarray(0,s),t),s}fill(e,t,n,r){let i=t??0,o=n??this.length;if(typeof e==`number`)super.fill(e&255,i,o);else if(typeof e==`string`){let t=encodeString(e,normalizeEncoding(r));if(t.length===0)super.fill(0,i,o);else if(t.length===1)super.fill(t[0],i,o);else for(let e=i;e<o;e++)this[e]=t[(e-i)%t.length]}else if(e instanceof Uint8Array)if(e.length===0)super.fill(0,i,o);else for(let t=i;t<o;t++)this[t]=e[(t-i)%e.length];return this}indexOf(e,t,n){if(typeof e==`number`)return super.indexOf(e&255,t);let r=typeof e==`string`?encodeString(e,normalizeEncoding(n)):e,i=t??0;outer:for(let e=i;e<=this.length-r.length;e++){for(let t=0;t<r.length;t++)if(this[e+t]!==r[t])continue outer;return e}return-1}lastIndexOf(e,t,n){if(typeof e==`number`)return t===void 0?super.lastIndexOf(e&255):super.lastIndexOf(e&255,t);let r=typeof e==`string`?encodeString(e,normalizeEncoding(n)):e,i=t===void 0?this.length-r.length:Math.min(t,this.length-r.length);outer:for(let e=i;e>=0;e--){for(let t=0;t<r.length;t++)if(this[e+t]!==r[t])continue outer;return e}return-1}includes(e,t,n){return this.indexOf(e,t,n)!==-1}readUInt8(e=0){return checkOffset(e,1,this.length),this[e]}readUInt16BE(e=0){return checkOffset(e,2,this.length),this[e]<<8|this[e+1]}readUInt16LE(e=0){return checkOffset(e,2,this.length),this[e]|this[e+1]<<8}readUInt32BE(e=0){return checkOffset(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])}readUInt32LE(e=0){return checkOffset(e,4,this.length),this[e+3]*16777216+(this[e+2]<<16|this[e+1]<<8|this[e])>>>0}readInt8(e=0){return checkOffset(e,1,this.length),this[e]|(this[e]&128?4294967040:0)}readInt16BE(e=0){checkOffset(e,2,this.length);let t=this[e]<<8|this[e+1];return t&32768?t|4294901760:t}readInt16LE(e=0){checkOffset(e,2,this.length);let t=this[e]|this[e+1]<<8;return t&32768?t|4294901760:t}readInt32BE(e=0){return checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]}readInt32LE(e=0){return checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24}readFloatBE(e=0){return checkOffset(e,4,this.length),new DataView(this.buffer,this.byteOffset+e,4).getFloat32(0,!1)}readFloatLE(e=0){return checkOffset(e,4,this.length),new DataView(this.buffer,this.byteOffset+e,4).getFloat32(0,!0)}readDoubleBE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getFloat64(0,!1)}readDoubleLE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getFloat64(0,!0)}readBigInt64BE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigInt64(0,!1)}readBigInt64LE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigInt64(0,!0)}readBigUInt64BE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigUint64(0,!1)}readBigUInt64LE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigUint64(0,!0)}readUIntBE(e,t){checkOffset(e,t,this.length);let n=0;for(let r=0;r<t;r++)n=n*256+this[e+r];return n}readUIntLE(e,t){checkOffset(e,t,this.length);let n=0,r=1;for(let i=0;i<t;i++)n+=this[e+i]*r,r*=256;return n}readIntBE(e,t){checkOffset(e,t,this.length);let n=0;for(let r=0;r<t;r++)n=n*256+this[e+r];return n>=2**(8*t-1)&&(n-=2**(8*t)),n}readIntLE(e,t){checkOffset(e,t,this.length);let n=0,r=1;for(let i=0;i<t;i++)n+=this[e+i]*r,r*=256;return n>=2**(8*t-1)&&(n-=2**(8*t)),n}writeUInt8(e,t=0){return checkOffset(t,1,this.length),this[t]=e&255,t+1}writeUInt16BE(e,t=0){return checkOffset(t,2,this.length),this[t]=e>>>8&255,this[t+1]=e&255,t+2}writeUInt16LE(e,t=0){return checkOffset(t,2,this.length),this[t]=e&255,this[t+1]=e>>>8&255,t+2}writeUInt32BE(e,t=0){return checkOffset(t,4,this.length),this[t]=e>>>24&255,this[t+1]=e>>>16&255,this[t+2]=e>>>8&255,this[t+3]=e&255,t+4}writeUInt32LE(e,t=0){return checkOffset(t,4,this.length),this[t]=e&255,this[t+1]=e>>>8&255,this[t+2]=e>>>16&255,this[t+3]=e>>>24&255,t+4}writeInt8(e,t=0){return checkOffset(t,1,this.length),e<0&&(e=255+e+1),this[t]=e&255,t+1}writeInt16BE(e,t=0){return checkOffset(t,2,this.length),this[t]=e>>>8&255,this[t+1]=e&255,t+2}writeInt16LE(e,t=0){return checkOffset(t,2,this.length),this[t]=e&255,this[t+1]=e>>>8&255,t+2}writeInt32BE(e,t=0){return checkOffset(t,4,this.length),this[t]=e>>>24&255,this[t+1]=e>>>16&255,this[t+2]=e>>>8&255,this[t+3]=e&255,t+4}writeInt32LE(e,t=0){return checkOffset(t,4,this.length),this[t]=e&255,this[t+1]=e>>>8&255,this[t+2]=e>>>16&255,this[t+3]=e>>>24&255,t+4}writeFloatBE(e,t=0){return checkOffset(t,4,this.length),new DataView(this.buffer,this.byteOffset+t,4).setFloat32(0,e,!1),t+4}writeFloatLE(e,t=0){return checkOffset(t,4,this.length),new DataView(this.buffer,this.byteOffset+t,4).setFloat32(0,e,!0),t+4}writeDoubleBE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setFloat64(0,e,!1),t+8}writeDoubleLE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setFloat64(0,e,!0),t+8}writeBigInt64BE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setBigInt64(0,e,!1),t+8}writeBigInt64LE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setBigInt64(0,e,!0),t+8}writeBigUInt64BE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setBigUint64(0,e,!1),t+8}writeBigUInt64LE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setBigUint64(0,e,!0),t+8}swap16(){let e=this.length;if(e%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let t=0;t<e;t+=2){let e=this[t];this[t]=this[t+1],this[t+1]=e}return this}swap32(){let e=this.length;if(e%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let t=0;t<e;t+=4){let e=this[t],n=this[t+1];this[t]=this[t+3],this[t+1]=this[t+2],this[t+2]=n,this[t+3]=e}return this}swap64(){let e=this.length;if(e%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let t=0;t<e;t+=8){let e=this[t],n=this[t+1],r=this[t+2],i=this[t+3];this[t]=this[t+7],this[t+1]=this[t+6],this[t+2]=this[t+5],this[t+3]=this[t+4],this[t+4]=i,this[t+5]=r,this[t+6]=n,this[t+7]=e}return this}};`Buffer`in globalThis||Object.defineProperty(globalThis,"Buffer",{value:ue,enumerable:!1,writable:!0,configurable:!0});var x=e;typeof globalThis.btoa!=`function`&&Object.defineProperty(globalThis,"btoa",{value:function btoa(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return x.base64_encode(t)},enumerable:!0,writable:!0,configurable:!0}),typeof globalThis.atob!=`function`&&Object.defineProperty(globalThis,"atob",{value:function atob(e){let t=x.base64_decode(e),n=``;for(let e=0;e<t.length;e++)n+=String.fromCharCode(t[e]);return n},enumerable:!0,writable:!0,configurable:!0}),typeof queueMicrotask!=`function`&&Object.defineProperty(globalThis,"queueMicrotask",{value:_,enumerable:!0,writable:!0,configurable:!0});function getGjsGlobal(){return globalThis}function getGioNamespace(){let e=getGjsGlobal().imports?.gi;if(!e)return null;let t=null;try{t=e.GioUnix??null}catch{}if(!t)try{t=e.Gio??null}catch{}return t}function getMonotonicTime(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e?.get_monotonic_time)return BigInt(e.get_monotonic_time())*1000n}catch{}return typeof performance?.now==`function`?BigInt(Math.round(performance.now()*1e6)):BigInt(Date.now())*1000000n}const de=getMonotonicTime();function hrtime(e){let t=getMonotonicTime()-de,n=Number(t/1000000000n),r=Number(t%1000000000n);if(e){let t=n-e[0],i=r-e[1];return i<0&&(t--,i+=1e9),[t,i]}return[n,r]}function hrtimeBigint(){return getMonotonicTime()-de}let S;function probeUname(){if(S!==void 0)return S;S=null;try{let e=getGjsGlobal().imports?.gi?.GLib;if(!e)return S;let t=e.spawn_sync,n=e.SpawnFlags?.SEARCH_PATH;if(!t||n===void 0)return S;let[r,i]=t(null,[`uname`,`-sm`],null,n,null);if(!r||!i)return S;let o=new TextDecoder().decode(i).trim().split(/\s+/);if(o.length<2)return S;let s=mapSysname(o[0]),c=mapMachine(o[o.length-1]);if(!s||!c)return S;S={platform:s,arch:c}}catch{}return S}function detectGjsVersion(){try{let e=getGjsGlobal().imports?.system;if(e?.version!==void 0){let t=Number(e.version);return`${Math.floor(t/1e4)}.${Math.floor(t%1e4/100)}.${t%100}`}}catch{}}function detectNodeVersion(){if(typeof globalThis.process?.versions?.node==`string`)return globalThis.process.versions.node}function detectVersionInfo(){if(detectNodeVersion())return{version:globalThis.process.version,versions:{...globalThis.process.versions},title:globalThis.process?.title||`node`};let e=detectGjsVersion(),t={node:`20.0.0`};return e&&(t.gjs=e),{version:`v20.0.0`,versions:t,title:`gjs`}}function detectPpid(){return!onGjs()&&typeof globalThis.process?.ppid==`number`?globalThis.process.ppid:hostPpid()??0}function onGjs(){try{return getGjsGlobal().imports?.gi!==void 0}catch{return!1}}function detectPlatform(){if(onGjs()){let e=probeUname();return e?e.platform:`linux`}let e=globalThis.process;return typeof e?.platform==`string`?e.platform:`linux`}function detectArch(){if(onGjs()){let e=probeUname();return e?e.arch:`x64`}let e=globalThis.process;return typeof e?.arch==`string`?e.arch:`x64`}function getPid(){return!onGjs()&&typeof globalThis.process?.pid==`number`?globalThis.process.pid:hostPid()??0}function getEnvProxy(){if(typeof globalThis.process?.env==`object`)return globalThis.process.env;try{let e=getGjsGlobal().imports?.gi?.GLib;if(e)return new Proxy({},{get(t,n){if(typeof n==`string`)return e.getenv(n)??void 0},set(t,n,r){return typeof n==`string`?(e.setenv(n,String(r),!0),!0):!1},deleteProperty(t,n){return typeof n==`string`?(e.unsetenv(n),!0):!1},has(t,n){return typeof n==`string`?e.getenv(n)!==null:!1},ownKeys(t){return e.listenv()},getOwnPropertyDescriptor(t,n){if(typeof n!=`string`)return;let r=e.getenv(n);if(r!==null)return{configurable:!0,enumerable:!0,writable:!0,value:r}}})}catch{}return{}}function getArgv(){if(globalThis.process?.argv!==void 0)return globalThis.process.argv;try{let e=getGjsGlobal().imports?.system;if(e?.programArgs)return[`gjs`,e.programInvocationName||``,...e.programArgs]}catch{}return[`gjs`]}function getExecPath(){let e=globalThis.process;return!isGjsHost()&&typeof e?.execPath==`string`?e.execPath:hostExecPath()??`/usr/bin/gjs`}function isGjsHost(){try{return getGjsGlobal().imports?.gi!==void 0}catch{return!1}}function getCwd(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e?.get_current_dir)return e.get_current_dir()}catch{}return`/`}function chdir(e){let t=getGjsGlobal().imports?.gi?.GLib;try{if(t?.chdir){if(!t.file_test(e,16)){let t=Error(`ENOENT: no such file or directory, chdir '${e}'`);throw t.code=`ENOENT`,t.syscall=`chdir`,t.path=e,t}t.chdir(e);return}}catch(e){if(e&&typeof e==`object`&&e.code===`ENOENT`)throw e}if(!t){let t=globalThis.process;if(t&&typeof t.chdir==`function`){t.chdir(e);return}}throw Error(`process.chdir() is not supported in this environment`)}function exitProcess(e){let t=getGjsGlobal().imports,n=t?.gi?.GLib,r=t?.system,i=n?.idle_add,o=n?.SOURCE_REMOVE,s=n?.PRIORITY_DEFAULT,c=n?.MainContext;if(r?.exit&&i&&typeof s==`number`&&typeof o==`boolean`&&typeof c?.default==`function`){i(s,()=>(r.exit(e),o));let t=c.default();for(;;)t.iteration(!0)}try{r?.exit&&r.exit(e)}catch{}let l=globalThis.process;throw l&&typeof l.exit==`function`&&l.exit(e),Error(`process.exit(${e})`)}function isGjs(){return getGjsGlobal().imports?.gi?.GLib!==void 0}function killPid(e,t){try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let r=typeof t==`number`?String(t):t||`SIGTERM`,i=r.startsWith(`SIG`)?`-${r.slice(3)}`:`-${r}`;return n.spawn_command_line_sync(`kill ${i} ${e}`),!0}}catch{}if(!isGjs()){let n=globalThis.process;if(n&&typeof n.kill==`function`)return n.kill(e,t)}throw Error(`process.kill() is not supported in this environment`)}function memoryUsage(){let e=readProcessMemory();if(e)return{rss:e.resident,heapTotal:e.resident,heapUsed:e.resident,external:0,arrayBuffers:0};if(!isGjs()){let e=globalThis.process;if(e&&typeof e.memoryUsage==`function`)return e.memoryUsage()}return{rss:0,heapTotal:0,heapUsed:0,external:0,arrayBuffers:0}}function cpuUsage(e){if(!isGjs()){let t=globalThis.process;if(t&&typeof t.cpuUsage==`function`)return t.cpuUsage(e)}return{user:0,system:0}}function readUmask(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let[t,n]=e.file_get_contents(`/proc/self/status`);if(t){let e=/^Umask:\s*([0-7]+)/m.exec(new TextDecoder().decode(n));if(e)return parseInt(e[1],8)}}}catch{}return 18}const fe={SIGHUP:1,SIGINT:2,SIGTERM:15},pe=new Map;function resolveSignalAdd(){let e=getGjsGlobal().imports?.gi;if(!e)return null;for(let[t,n]of[[`GLibUnix`,`signal_add`],[`GLib`,`unix_signal_add`]])try{let r=e[t]?.[n];if(typeof r==`function`)return r}catch{}return null}function isDeliverableSignal(e){return typeof e==`string`&&e in fe}function armSignal(e,t){if(pe.has(e))return;let n=fe[e],r=resolveSignalAdd(),i=getGjsGlobal().imports?.gi?.GLib;if(n===void 0||r===null||!i)return;let o=i.PRIORITY_DEFAULT,s=r(o,n,()=>(t(e),!0));pe.set(e,s)}function disarmSignal(e){let t=pe.get(e);if(t===void 0)return;pe.delete(e);let n=getGjsGlobal().imports?.gi?.GLib;n&&typeof n.source_remove==`function`&&n.source_remove(t)}let me=null;const he=globalThis.imports?.gi;if(he)try{me=he.GjsifyTerminal}catch{}const C=me,w=Symbol(`kCapture`),ge=Symbol.for(`nodejs.rejection`);function onceWrapper(){let{target:e,type:t,listener:n}=this;return this.wrapperFn&&e.removeListener(t,this.wrapperFn),n.apply(e,Array.from(arguments))}function _onceWrap(e,t,n){let r={target:e,type:t,listener:n,wrapperFn:void 0},i=onceWrapper.bind(r);return r.wrapperFn=i,i.listener=n,i}function arrayClone(e){switch(e.length){case 0:return[];case 1:return[e[0]];case 2:return[e[0],e[1]];case 3:return[e[0],e[1],e[2]];default:return e.slice()}}function checkListener(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}function validateNumber(e,t){if(typeof e!=`number`||e!==e)throw TypeError(`The "${t}" argument must be of type number. Received type ${typeof e}`)}function spliceOne(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}var T=class EventEmitter{static defaultMaxListeners=10;static errorMonitor=Symbol(`events.errorMonitor`);static captureRejectionSymbol=ge;static _captureRejections=!1;static get captureRejections(){return EventEmitter._captureRejections}static set captureRejections(e){if(typeof e!=`boolean`)throw TypeError(`The "captureRejections" argument must be of type boolean.`);EventEmitter._captureRejections=e}_events;_eventsCount;_maxListeners;[w];constructor(e){this._events=Object.create(null),this._eventsCount=0,this._maxListeners=void 0,this[w]=e?.captureRejections??EventEmitter._captureRejections}setMaxListeners(e){if(validateNumber(e,`n`),e<0)throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e);return this._maxListeners=e,this}getMaxListeners(){return this._maxListeners??EventEmitter.defaultMaxListeners}emit(e,...t){let n=this._events,r=e===`error`;if(n!==void 0)r&&n[EventEmitter.errorMonitor]!==void 0&&this.emit(EventEmitter.errorMonitor,...t),r&&=n.error===void 0;else if(!r)return!1;if(r){let e;if(e=t.length>0?t[0]:Error(`Unhandled error.`),e instanceof Error)throw e;let n=Error(`Unhandled error. (`+e+`)`);throw n.context=e,n}let i=n[e];if(i===void 0)return!1;if(typeof i==`function`){let n=i.apply(this,t);n!=null&&this[w]&&this._addCatch(n,e,t)}else{let n=arrayClone(i),r=n.length;for(let i=0;i<r;++i){let r=n[i].apply(this,t);r!=null&&this[w]&&this._addCatch(r,e,t)}}return!0}_addCatch(e,t,n){typeof e?.then==`function`&&e.then(void 0,e=>{let r=this[ge];if(typeof r==`function`)r.call(this,e,t,...n);else{let t=this[w];try{this[w]=!1,this.emit(`error`,e)}finally{this[w]=t}}})}addListener(e,t){return this._addListener(e,t,!1)}on(e,t){return this._addListener(e,t,!1)}prependListener(e,t){return this._addListener(e,t,!0)}_addListener(e,t,n){checkListener(t);let r=this._events;r===void 0?(r=this._events=Object.create(null),this._eventsCount=0):r.newListener!==void 0&&(this.emit(`newListener`,e,t.listener??t),r=this._events);let i=r[e];i===void 0?(r[e]=t,++this._eventsCount):typeof i==`function`?r[e]=n?[t,i]:[i,t]:n?i.unshift(t):i.push(t);let o=this.getMaxListeners();if(o>0){let t=typeof r[e]==`function`?1:r[e].length;if(t>o&&!r[e].warned){typeof r[e]!=`function`&&(r[e].warned=!0);let n=Error(`Possible EventEmitter memory leak detected. ${t} ${String(e)} listeners added to [${this.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);n.name=`MaxListenersExceededWarning`,g.warn(n.message)}}return this}once(e,t){return checkListener(t),this.on(e,_onceWrap(this,e,t)),this}prependOnceListener(e,t){return checkListener(t),this.prependListener(e,_onceWrap(this,e,t)),this}removeListener(e,t){checkListener(t);let n=this._events;if(n===void 0)return this;let r=n[e];if(r===void 0)return this;if(r===t||r.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit(`removeListener`,e,r.listener??t));else if(typeof r!=`function`){let i=-1;for(let e=r.length-1;e>=0;e--)if(r[e]===t||r[e].listener===t){i=e;break}if(i<0)return this;i===0?r.shift():spliceOne(r,i),r.length===1&&(n[e]=r[0]),n.removeListener!==void 0&&this.emit(`removeListener`,e,t.listener??t)}return this}off(e,t){return this.removeListener(e,t)}removeAllListeners(e){let t=this._events;if(t===void 0)return this;if(t.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):t[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete t[e]),this;if(arguments.length===0){let e=Object.keys(t);for(let t=0;t<e.length;++t){let n=e[t];n!==`removeListener`&&this.removeAllListeners(n)}return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}let n=t[e];if(typeof n==`function`)this.removeListener(e,n);else if(n!==void 0)for(let t=n.length-1;t>=0;t--)this.removeListener(e,n[t]);return this}listeners(e){let t=this._events;if(t===void 0)return[];let n=t[e];return n===void 0?[]:typeof n==`function`?[n.listener??n]:unwrapListeners(n)}rawListeners(e){let t=this._events;if(t===void 0)return[];let n=t[e];return n===void 0?[]:typeof n==`function`?[n]:arrayClone(n)}listenerCount(e){let t=this._events;if(t===void 0)return 0;let n=t[e];return n===void 0?0:typeof n==`function`?1:n.length}eventNames(){return(this._eventsCount??0)>0?Reflect.ownKeys(this._events):[]}static once(e,t,n){return new Promise((r,i)=>{let o=n?.signal;if(o?.aborted){i(createAbortError$1(o));return}if(typeof e.addEventListener==`function`){let n=e,handler=(...e)=>{o&&o.removeEventListener(`abort`,abortHandler),r(e)},errorHandler=e=>{o&&o.removeEventListener(`abort`,abortHandler),n.removeEventListener(`error`,errorHandler),i(e)},abortHandler=()=>{n.removeEventListener(t,handler),n.removeEventListener(`error`,errorHandler),i(createAbortError$1(o))};n.addEventListener(t,handler,{once:!0}),t!==`error`&&n.addEventListener(`error`,errorHandler,{once:!0}),o&&o.addEventListener(`abort`,abortHandler,{once:!0});return}let s=e,eventHandler=(...e)=>{o&&o.removeEventListener(`abort`,abortHandler),errorHandler!==void 0&&s.removeListener(`error`,errorHandler),r(e)},errorHandler;t!==`error`&&(errorHandler=e=>{s.removeListener(t,eventHandler),o&&o.removeEventListener(`abort`,abortHandler),i(e)},s.once(`error`,errorHandler)),s.once(t,eventHandler);let abortHandler=()=>{s.removeListener(t,eventHandler),errorHandler&&s.removeListener(`error`,errorHandler),i(createAbortError$1(o))};o&&o.addEventListener(`abort`,abortHandler,{once:!0})})}static on(e,t,n){let r=n?.signal;if(r?.aborted)throw createAbortError$1(r);let i=n?.highWaterMark??2**53-1,o=n?.lowWaterMark??1;validateNumber(i,`highWaterMark`),validateNumber(o,`lowWaterMark`);let s=[],c=[],l=null,u=!1,d=!1,eventHandler=(...t)=>{if(c.length>0){let{resolve:e}=c.shift();e({value:t,done:!1})}else s.push(t),s.length>=i&&!d&&(d=!0,typeof e.pause==`function`&&e.pause())},errorHandler=e=>{if(l=e,c.length>0){let{reject:t}=c.shift();t(e)}f.return()},abortHandler=()=>{errorHandler(createAbortError$1(r))};e.on(t,eventHandler),t!==`error`&&e.on(`error`,errorHandler),r&&r.addEventListener(`abort`,abortHandler,{once:!0});let cleanup=()=>{e.removeListener(t,eventHandler),e.removeListener(`error`,errorHandler),r&&r.removeEventListener(`abort`,abortHandler),u=!0;for(let{resolve:e}of c)e({value:void 0,done:!0});c.length=0,s.length=0},f={next(){if(s.length>0){let t=s.shift();return d&&s.length<o&&(d=!1,typeof e.resume==`function`&&e.resume()),Promise.resolve({value:t,done:!1})}if(l){let e=Promise.reject(l);return l=null,e}return u?Promise.resolve({value:void 0,done:!0}):new Promise((e,t)=>{c.push({resolve:e,reject:t})})},return(){return cleanup(),Promise.resolve({value:void 0,done:!0})},throw(e){return u||(l=e,cleanup()),Promise.reject(e)},[Symbol.asyncIterator](){return this}};return f}static listenerCount(e,t){return e.listenerCount(t)}static getEventListeners(e,t){return typeof e.listeners==`function`?e.listeners(t):[]}static setMaxListeners(e,...t){if(validateNumber(e,`n`),e<0)throw RangeError(`The value of "n" is out of range.`);if(t.length===0)EventEmitter.defaultMaxListeners=e;else for(let n of t)typeof n.setMaxListeners==`function`&&n.setMaxListeners(e)}static getMaxListeners(e){return typeof e.getMaxListeners==`function`?e.getMaxListeners():EventEmitter.defaultMaxListeners}static addAbortListener(e,t){e.aborted&&Promise.resolve().then(()=>t());let handler=()=>t();return e.addEventListener(`abort`,handler,{once:!0}),{[Symbol.dispose](){e.removeEventListener(`abort`,handler)}}}};T.EventEmitter=T;for(let e of[`setMaxListeners`,`getMaxListeners`,`emit`,`addListener`,`on`,`prependListener`,`once`,`prependOnceListener`,`removeListener`,`off`,`removeAllListeners`,`listeners`,`rawListeners`,`listenerCount`,`eventNames`]){let t=T.prototype[e];typeof t==`function`&&Object.defineProperty(T.prototype,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}Object.defineProperty(T.prototype,"_events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(T.prototype,"_eventsCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(T.prototype,"_maxListeners",{enumerable:!0,configurable:!0,writable:!0,value:void 0});function unwrapListeners(e){let t=Array.from({length:e.length});for(let n=0;n<t.length;++n)t[n]=e[n].listener??e[n];return t}function createAbortError$1(e){let t=Error(`The operation was aborted`);return t.name=`AbortError`,t.code=`ABORT_ERR`,e?.reason&&(t.cause=e.reason),t}__name(createAbortError$1,`createAbortError`);const E=makeCallable(T);E.EventEmitter=E,E.captureRejectionSymbol,E.errorMonitor,E.defaultMaxListeners,E.setMaxListeners,E.getMaxListeners,E.once,E.on,E.getEventListeners,E.listenerCount,E.addAbortListener;function normalizeAndValidateEncoding(e){return e&&checkEncoding(e),normalizeEncoding(e)}function utf8DecodeMaximalSubpart(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i];if(t<=127){r+=String.fromCharCode(t),i++;continue}if(t>=194&&t<=223){i+1<n&&e[i+1]>=128&&e[i+1]<=191?(r+=String.fromCharCode((t&31)<<6|e[i+1]&63),i+=2):(r+=`�`,i++);continue}if(t>=224&&t<=239){let o,s;if(t===224?(o=160,s=191):t===237?(o=128,s=159):(o=128,s=191),i+1>=n){r+=`�`,i++;continue}let c=e[i+1];if(c<o||c>s){r+=`�`,i++;continue}if(i+2>=n){r+=`�`,i+=2;continue}let l=e[i+2];if(l<128||l>191){r+=`�`,i+=2;continue}let u=(t&15)<<12|(c&63)<<6|l&63;r+=String.fromCharCode(u),i+=3;continue}if(t>=240&&t<=244){let o,s;if(t===240?(o=144,s=191):t===244?(o=128,s=143):(o=128,s=191),i+1>=n){r+=`�`,i++;continue}let c=e[i+1];if(c<o||c>s){r+=`�`,i++;continue}if(i+2>=n){r+=`�`,i+=2;continue}let l=e[i+2];if(l<128||l>191){r+=`�`,i+=2;continue}if(i+3>=n){r+=`�`,i+=3;continue}let u=e[i+3];if(u<128||u>191){r+=`�`,i+=3;continue}let d=(t&7)<<18|(c&63)<<12|(l&63)<<6|u&63;r+=String.fromCharCode(55296+(d-65536>>10),56320+(d-65536&1023)),i+=4;continue}r+=`�`,i++}return r}function utf8CharLength(e){return e&128?e>=194&&e<=223?2:e>=224&&e<=239?3:e>=240&&e<=244?4:0:1}function isValidContinuation(e,t,n,r){if(n===1){if(t===3)return e===224?r>=160&&r<=191:e===237?r>=128&&r<=159:r>=128&&r<=191;if(t===4)return e===240?r>=144&&r<=191:e===244?r>=128&&r<=143:r>=128&&r<=191}return r>=128&&r<=191}const _e=function StringDecoder(e){this.encoding=normalizeAndValidateEncoding(e),this._lastNeed=0,this._lastTotal=0,this._lastLeadByte=0,this.encoding===`utf8`||this.encoding===`utf16le`?this._lastChar=new Uint8Array(4):this.encoding===`base64`?this._lastChar=new Uint8Array(3):this._lastChar=new Uint8Array};_e.prototype.write=function write(e){if(e.length===0)return``;switch(this.encoding){case`utf8`:return writeUtf8(this,e);case`utf16le`:return writeUtf16le(this,e);case`base64`:return writeBase64(this,e);case`ascii`:return decodeAscii(e);case`latin1`:return decodeLatin1(e);case`hex`:return decodeHex(e);default:return decodeAscii(e)}},_e.prototype.end=function end(e){let t=``;if(e&&e.length>0&&(t=this.write(e)),this.encoding===`utf8`&&this._lastNeed>0)t+=`�`,this._lastNeed=0,this._lastTotal=0;else if(this.encoding===`utf16le`&&this._lastNeed>0){let e=this._lastTotal-this._lastNeed;for(let n=0;n+1<e;n+=2)t+=String.fromCharCode(this._lastChar[n]|this._lastChar[n+1]<<8);this._lastNeed=0,this._lastTotal=0}else if(this.encoding===`base64`&&this._lastNeed>0){let e=this._lastChar.subarray(0,this._lastTotal-this._lastNeed);t+=base64Encode(e),this._lastNeed=0,this._lastTotal=0}return t};function writeUtf8(e,t){let n=0,r=``;if(e._lastNeed>0){for(;n<t.length&&e._lastNeed>0;){let i=t[n],o=e._lastTotal-e._lastNeed;if(isValidContinuation(e._lastLeadByte,e._lastTotal,o,i))e._lastChar[o]=i,e._lastNeed--,n++;else{r+=`�`,e._lastNeed=0,e._lastTotal=0,e._lastLeadByte=0;break}}if(e._lastNeed===0&&e._lastTotal>0&&(r+=utf8DecodeMaximalSubpart(e._lastChar,0,e._lastTotal),e._lastTotal=0,e._lastLeadByte=0),e._lastNeed>0)return r}let i=t.length;for(let r=0;r<Math.min(4,t.length-n);r++){let o=t.length-1-r;if(o<n)break;let s=t[o];if((s&192)!=128){let n=utf8CharLength(s);if(n>0&&s>=128){let r=t.length-o;if(r<n){let c=!0;for(let e=1;e<r;e++)if(!isValidContinuation(s,n,e,t[o+e])){c=!1;break}if(c){i=o;for(let n=0;n<r;n++)e._lastChar[n]=t[o+n];e._lastNeed=n-r,e._lastTotal=n,e._lastLeadByte=s}}}break}}return i>n&&(r+=utf8DecodeMaximalSubpart(t,n,i)),r}function writeUtf16le(e,t){let n=``,r=0;if(e._lastNeed>0){let i=e._lastTotal-e._lastNeed,o=Math.min(e._lastNeed,t.length);for(let n=0;n<o;n++)e._lastChar[i+n]=t[n];if(e._lastNeed-=o,r=o,e._lastNeed>0)return``;let s=e._lastTotal,c=0;for(;c+1<s;){let i=e._lastChar[c]|e._lastChar[c+1]<<8;if(c+=2,i>=55296&&i<=56319){if(c+1<s){let t=e._lastChar[c]|e._lastChar[c+1]<<8;if(t>=56320&&t<=57343){n+=String.fromCharCode(i,t),c+=2;continue}}if(r+1<t.length){let e=t[r]|t[r+1]<<8;if(e>=56320&&e<=57343){n+=String.fromCharCode(i,e),r+=2;continue}}else if(r>=t.length)return e._lastChar[0]=e._lastChar[c-2],e._lastChar[1]=e._lastChar[c-1],e._lastNeed=2,e._lastTotal=4,n}n+=String.fromCharCode(i)}e._lastTotal=0}for(;r+1<t.length;){let i=t[r]|t[r+1]<<8;if(r+=2,i>=55296&&i<=56319)if(r+1<t.length){let e=t[r]|t[r+1]<<8;if(e>=56320&&e<=57343){n+=String.fromCharCode(i,e),r+=2;continue}}else if(r<t.length)return n+=String.fromCharCode(i),e._lastChar[0]=t[r],e._lastNeed=1,e._lastTotal=2,n;else return e._lastChar[0]=t[r-2],e._lastChar[1]=t[r-1],e._lastNeed=2,e._lastTotal=4,n;n+=String.fromCharCode(i)}return r<t.length&&(e._lastChar[0]=t[r],e._lastNeed=1,e._lastTotal=2),n}function writeBase64(e,t){let n=0;if(e._lastNeed>0){let r=Math.min(e._lastNeed,t.length);for(let n=0;n<r;n++)e._lastChar[e._lastTotal-e._lastNeed+n]=t[n],e._lastNeed--;if(n=r,e._lastNeed>0)return``}let r=t.length-n,i=r-r%3,o=``;e._lastTotal>0&&e._lastNeed===0&&(o+=base64Encode(e._lastChar.subarray(0,e._lastTotal)),e._lastTotal=0),i>0&&(o+=base64Encode(t.subarray(n,n+i)));let s=r-i;if(s>0){for(let r=0;r<s;r++)e._lastChar[r]=t[n+i+r];e._lastNeed=3-s,e._lastTotal=3}return o}function decodeAscii(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]&127);return t}function decodeLatin1(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}function decodeHex(e){let t=``;for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,`0`);return t}const ve=new TextEncoder;var ProcessWriteStream=class extends E{fd;writable=!0;_outGio=null;constructor(e){super(),this.fd=e;let t=getGioNamespace();if(t){let e=t.UnixOutputStream??t.OutputStream;if(e)try{this._outGio=e.new(this.fd,!1)}catch{}}}write(e){if(this._outGio)try{let t=typeof e==`string`?ve.encode(e):e;return this._outGio.write_all(t,null),!0}catch{}return this.fd===2?g.error(e):g.log(e),!0}get isTTY(){if(C)return C.Terminal.is_tty(this.fd);try{let e=getGjsGlobal().imports?.gi?.GLib;if(e)return!!e.log_writer_supports_color(this.fd)}catch{}return!1}get columns(){if(C){let[e,,t]=C.Terminal.get_size(this.fd);if(e&&t>0)return t}try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let t=parseInt(e.getenv(`COLUMNS`)??`0`,10);if(t>0)return t}}catch{}return 80}end(){}destroy(){}get rows(){if(C){let[e,t]=C.Terminal.get_size(this.fd);if(e&&t>0)return t}try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let t=parseInt(e.getenv(`LINES`)??`0`,10);if(t>0)return t}}catch{}return 24}},ProcessReadStream=class extends E{fd;isRaw=!1;_gio=null;_stdinGio=null;_reading=!1;_flowing=!1;_sttyCleanupRegistered=!1;_mainLoopHeld=!1;_pendingRead=!1;_decoder=null;constructor(e){super(),this.fd=e,this._gio=getGioNamespace()}get isTTY(){return C?C.Terminal.is_tty(this.fd):!1}setRawMode(e){return C&&C.Terminal.set_raw_mode(this.fd,e)?(this.isRaw=e,this):(this._setRawModeViaStty(e),this.isRaw=e,this)}_setRawModeViaStty(e){try{let t=globalThis.imports?.gi,n=t?.Gio??t?.Gio;if(!n)return;let r=n.SubprocessFlags?.STDIN_INHERIT??2,i=e?[`stty`,`-icanon`,`-echo`,`-icrnl`,`-isig`,`min`,`1`,`time`,`0`]:[`stty`,`icanon`,`echo`,`icrnl`,`isig`];if(new n.SubprocessLauncher({flags:r}).spawnv(i).wait(null),e&&!this._sttyCleanupRegistered){this._sttyCleanupRegistered=!0;let e=globalThis.process;e?.once&&typeof e.once==`function`&&e.once(`exit`,()=>this._setRawModeViaStty(!1))}}catch{}}setEncoding(e){return this._decoder=new _e(e),this}_pushData(e){if(this._decoder){let t=this._decoder.write(e);t.length>0&&this.emit(`data`,t)}else this.emit(`data`,e)}on(e,t){let n=e===`data`&&this.listenerCount(`data`)===0;return super.on(e,t),n&&e===`data`&&this.resume(),this}addListener(e,t){return this.on(e,t)}once(e,t){return super.once(e,t),this}removeListener(e,t){return super.removeListener(e,t),e===`data`&&this.listenerCount(`data`)===0&&this.pause(),this}off(e,t){return this.removeListener(e,t)}removeAllListeners(e){let t=e===void 0||e===`data`?this.listenerCount(`data`)>0:!1;return super.removeAllListeners(e),t&&this.listenerCount(`data`)===0&&this.pause(),this}resume(){return this._flowing=!0,this._gio&&this.fd===0&&!this._reading&&this._startReading(),this}pause(){if(this._flowing=!1,this._reading=!1,this._mainLoopHeld){this._mainLoopHeld=!1;let e=globalThis.imports?.gi,t=e?.GLib??e?.GLib;t?.idle_add?t.idle_add(300,()=>(this._mainLoopHeld||quitMainLoop(),!1)):quitMainLoop()}return this}read(){return null}_startReading(){if(!this._gio||this._reading)return;if(this._pendingRead){this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop());return}if(this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop()),!this._stdinGio){let e=this._gio.UnixInputStream??this._gio.InputStream;if(!e){this._reading=!1;return}try{this._stdinGio=e.new(this.fd,!1)}catch{this._reading=!1;return}}let loop=()=>{if(!this._reading){this._pendingRead=!1;return}this._pendingRead=!0,this._stdinGio.read_bytes_async(4096,0,null,(e,t)=>{this._pendingRead=!1;try{let n=e.read_bytes_finish(t)?.get_data?.()??null;if(n&&n.byteLength>0)this._pushData(Buffer.from(n));else if(n!==null&&n.byteLength===0){if(this._reading=!1,this._decoder){let e=this._decoder.end();e.length>0&&this.emit(`data`,e)}this.emit(`end`);return}}catch{this._reading=!1;return}this._reading&&loop()})};loop()}};const ye=Date.now();function defineLazy(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){let r=n();return Object.defineProperty(e,t,{value:r,configurable:!0,enumerable:!0,writable:!1}),r}})}var Process=class extends E{platform;arch;env;argv;argv0;execPath;pid;ppid;version;versions;title;execArgv;config;exitCode;constructor(){super(),defineLazy(this,`platform`,detectPlatform),defineLazy(this,`arch`,detectArch),this.env=getEnvProxy(),this.argv=getArgv(),this.argv0=this.argv[0]||`gjs`,this.execPath=getExecPath(),this.execArgv=globalThis.process?.execArgv??[],this.config=globalThis.process?.config??{target_defaults:{},variables:{}},this.pid=getPid(),this.ppid=detectPpid();let e=detectVersionInfo();this.version=e.version,this.versions=e.versions,this.title=e.title,this.on(`newListener`,e=>{isDeliverableSignal(e)&&armSignal(e,e=>this.emit(e,e))}),this.on(`removeListener`,e=>{isDeliverableSignal(e)&&this.listenerCount(e)===0&&disarmSignal(e)})}cwd(){return getCwd()}chdir(e){chdir(e)}kill(e,t){return killPid(e,t)}exit(e){return this.exitCode=e??this.exitCode??0,this.emit(`exit`,this.exitCode),exitProcess(this.exitCode)}nextTick(e,...t){typeof queueMicrotask==`function`?queueMicrotask(()=>e(...t)):Promise.resolve().then(()=>e(...t))}hrtime(e){return hrtime(e)}uptime(){return(Date.now()-ye)/1e3}memoryUsage(){return memoryUsage()}cpuUsage(e){return cpuUsage(e)}stdout=new ProcessWriteStream(1);stderr=new ProcessWriteStream(2);stdin=new ProcessReadStream(0);abort(){this.exit(1)}umask(e){let t=readUmask();return e!==void 0&&!this._umaskWarned&&(this._umaskWarned=!0,this.emitWarning(`process.umask(0${e.toString(8)}) cannot change the file-creation mask under GJS — there is no umask(2) binding, so the mask is UNCHANGED. Pass an explicit \`mode\` to open/mkdir/writeFile instead; the kernel applies it atomically at creation.`,`UnsupportedWarning`)),t}_umaskWarned=!1;emitWarning(e,t){g.warn(typeof e==`string`?`(${t||`Warning`}): ${e}`:e.message)}};Process.prototype.hrtime.bigint=function(){return hrtimeBigint()};const D=new Process;if(C)try{let e=new C.ResizeWatcher;e.connect(`resized`,(e,t,n)=>{D.stdout.emit(`resize`),D.stderr.emit(`resize`)}),e.start()}catch{}D.platform,D.arch,D.env,D.argv,D.argv0,D.execPath,D.pid,D.ppid,D.version,D.versions,D.cwd.bind(D),D.chdir.bind(D),D.exit.bind(D),D.nextTick.bind(D),Object.assign(D.hrtime.bind(D),{bigint:hrtimeBigint}),D.uptime.bind(D),D.memoryUsage.bind(D),D.cpuUsage.bind(D),D.kill.bind(D),D.abort.bind(D),D.umask.bind(D),D.emitWarning.bind(D),D.execArgv,D.config,D.stdout,D.stderr,D.stdin,typeof Promise.withResolvers!=`function`&&(Promise.withResolvers=function(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}),initErrorV8Methods(Error),`global`in globalThis||Object.defineProperty(globalThis,"global",{value:globalThis,writable:!1,enumerable:!1,configurable:!0}),Object.defineProperty(globalThis,"process",{value:D,enumerable:!1,writable:!0,configurable:!0}),typeof globalThis.structuredClone!=`function`&&Object.defineProperty(globalThis,"structuredClone",{value:structuredClone$1,enumerable:!0,writable:!0,configurable:!0});function getGLib(){return globalThis.imports?.gi?.GLib}const be=getGLib()!==void 0;var GjsifyTimeout=class{_id=null;_refed=!0;_callback;_delay;_args;_repeat;constructor(e,t,n,r){this._callback=e,this._delay=t,this._args=n,this._repeat=r,this._schedule()}_schedule(){let e=getGLib();if(!e)return;let t=e.timeout_add.bind(e);this._id=t(e.PRIORITY_DEFAULT,this._delay,()=>{try{this._callback.apply(globalThis,this._args)}catch(e){setTimeout(()=>{throw e},0)}return this._repeat?e.SOURCE_CONTINUE:(this._id=null,e.SOURCE_REMOVE)})}ref(){return this._refed=!0,this}unref(){return this._refed=!1,this}hasRef(){return this._refed}refresh(){return this._cancel(),this._schedule(),this}_cancel(){this._id!==null&&(getGLib()?.Source.remove(this._id),this._id=null)}[Symbol.toPrimitive](){return this._id}[Symbol.dispose](){this._cancel()}};function removeById(e){e instanceof GjsifyTimeout?e._cancel():typeof e==`number`&&getGLib()?.Source.remove(e)}if(be){let setT=(e,t=0,...n)=>new GjsifyTimeout(e,Math.max(0,t|0),n,!1),setI=(e,t=0,...n)=>new GjsifyTimeout(e,Math.max(0,t|0),n,!0),e=globalThis;e.setTimeout=setT,e.clearTimeout=removeById,e.setInterval=setI,e.clearInterval=removeById}function setImmediate(e,...t){return setTimeout(e,0,...t)}function clearImmediate(e){clearTimeout(e)}`setImmediate`in globalThis||Object.defineProperty(globalThis,"setImmediate",{value:setImmediate,enumerable:!0,writable:!0,configurable:!0}),`clearImmediate`in globalThis||Object.defineProperty(globalThis,"clearImmediate",{value:clearImmediate,enumerable:!0,writable:!0,configurable:!0});let xe;if(globalThis.performance)xe=globalThis.performance;else{let e,_now;try{let t=globalThis.imports?.gi?.GLib;if(!t)throw Error(`GJS imports.gi.GLib not available`);e=t.get_monotonic_time(),_now=()=>(t.get_monotonic_time()-e)/1e3}catch{let t=Date.now();e=0,_now=()=>Date.now()-t}let t=[],n=Date.now()-_now();xe={timeOrigin:n,now:_now,mark(e){let n={name:e,entryType:`mark`,startTime:_now(),duration:0};return t.push(n),n},measure(e,n,r){let i=0,o=_now();if(n){let e=t.find(e=>e.entryType===`mark`&&e.name===n);e&&(i=e.startTime)}if(r){let e=t.find(e=>e.entryType===`mark`&&e.name===r);e&&(o=e.startTime)}let s={name:e,entryType:`measure`,startTime:i,duration:o-i};return t.push(s),s},getEntries(){return[...t]},getEntriesByName(e){return t.filter(t=>t.name===e)},getEntriesByType(e){return t.filter(t=>t.entryType===e)},clearMarks(e){for(let n=t.length-1;n>=0;n--)t[n].entryType===`mark`&&(!e||t[n].name===e)&&t.splice(n,1)},clearMeasures(e){for(let n=t.length-1;n>=0;n--)t[n].entryType===`measure`&&(!e||t[n].name===e)&&t.splice(n,1)},clearResourceTimings(){},setResourceTimingBufferSize(){},toJSON(){return{timeOrigin:n}}}}var PerformanceObserverStub=class{_callback;constructor(e){this._callback=e}observe(e){}disconnect(){}takeRecords(){return[]}};const O=globalThis,Se=O.PerformanceObserver||PerformanceObserverStub;O.PerformanceEntry,O.PerformanceObserverEntryList,O.PerformanceMark,O.PerformanceMeasure;const Ce=globalThis;globalThis.performance===void 0&&(Ce.performance=xe),typeof Ce.PerformanceObserver!=`function`&&(Ce.PerformanceObserver=Se);const we={IndexSizeError:1,HierarchyRequestError:3,WrongDocumentError:4,InvalidCharacterError:5,NoModificationAllowedError:7,NotFoundError:8,NotSupportedError:9,InUseAttributeError:10,InvalidStateError:11,SyntaxError:12,InvalidModificationError:13,NamespaceError:14,InvalidAccessError:15,TypeMismatchError:17,SecurityError:18,NetworkError:19,AbortError:20,URLMismatchError:21,QuotaExceededError:22,TimeoutError:23,InvalidNodeTypeError:24,DataCloneError:25};var _DOMExceptionPolyfill=class extends Error{code;constructor(e,t){super(e),this.name=t||`Error`,this.code=Object.hasOwn(we,this.name)?we[this.name]:0}};const Te=globalThis.DOMException===void 0?_DOMExceptionPolyfill:globalThis.DOMException,Ee=Symbol(`type`),De=Symbol(`bubbles`),Oe=Symbol(`cancelable`),ke=Symbol(`composed`),Ae=Symbol(`target`),k=Symbol(`currentTarget`),je=Symbol(`eventPhase`),Me=Symbol(`defaultPrevented`),Ne=Symbol(`isTrusted`),Pe=Symbol(`timeStamp`),A=Symbol(`stop`),Fe=Symbol(`immediateStop`),Ie=Symbol(`dispatching`),Le=Symbol(`inPassiveListener`);var Event=class{[Ee];[De];[Oe];[ke];[Ae]=null;[k]=null;[je]=0;[Me]=!1;[Ne]=!1;[Pe];[A]=!1;[Fe]=!1;[Ie]=!1;[Le]=!1;get type(){return this[Ee]}get bubbles(){return this[De]}get cancelable(){return this[Oe]}get composed(){return this[ke]}get target(){return this[Ae]}get currentTarget(){return this[k]}get eventPhase(){return this[je]}get defaultPrevented(){return this[Me]}get timeStamp(){return this[Pe]}get cancelBubble(){return this[A]}set cancelBubble(e){e&&this.stopPropagation()}get returnValue(){return!this[Me]}set returnValue(e){e||this.preventDefault()}get srcElement(){return this[Ae]}static NONE=0;static CAPTURING_PHASE=1;static AT_TARGET=2;static BUBBLING_PHASE=3;get[Symbol.toStringTag](){return`Event`}constructor(e,t){this[Ee]=e,this[De]=t?.bubbles??!1,this[Oe]=t?.cancelable??!1,this[ke]=t?.composed??!1,this[Pe]=Date.now(),Object.defineProperty(this,"isTrusted",{get:()=>this[Ne],enumerable:!0,configurable:!1})}composedPath(){return this[k]?[this[k]]:[]}preventDefault(){this[Oe]&&!this[Le]&&(this[Me]=!0)}stopPropagation(){this[A]=!0}stopImmediatePropagation(){this[A]=!0,this[Fe]=!0}},EventTarget=class{#e=new Map;get[Symbol.toStringTag](){return`EventTarget`}addEventListener(e,t,n){if(t===null)return;let r=typeof n==`boolean`?n:n?.capture??!1,i=typeof n==`object`?n?.once??!1:!1,o=typeof n==`object`?n?.passive??!1:!1,s=this.#e.get(e);s||(s=[],this.#e.set(e,s));for(let e of s)if(e.listener===t&&e.capture===r)return;let c={listener:t,capture:r,once:i,passive:o,removed:!1};s.push(c),typeof n==`object`&&n?.signal&&n.signal.addEventListener(`abort`,()=>{this.removeEventListener(e,t,{capture:r})},{once:!0})}removeEventListener(e,t,n){if(t===null)return;let r=typeof n==`boolean`?n:n?.capture??!1,i=this.#e.get(e);if(!i)return;let o=i.findIndex(e=>e.listener===t&&e.capture===r);o!==-1&&(i[o].removed=!0,i.splice(o,1),i.length===0&&this.#e.delete(e))}dispatchEvent(e){let t=e;if(t[Ie])throw new Te(`The event is already being dispatched.`,`InvalidStateError`);t[Ie]=!0,t[Ae]=this,t[k]=this,t[je]=Event.AT_TARGET;try{let n=this.#e.get(e.type);if(n){let r=[...n];for(let n of r)if(!n.removed){if(t[Fe]||t[A])break;n.once&&this.removeEventListener(e.type,n.listener,{capture:n.capture});try{n.passive&&(t[Le]=!0),typeof n.listener==`function`?n.listener.call(this,e):typeof n.listener.handleEvent==`function`&&n.listener.handleEvent.call(n.listener,e)}catch(e){reportListenerException(e)}finally{t[Le]=!1}}}}finally{t[je]=Event.NONE,t[k]=null,t[Ie]=!1}return!e.defaultPrevented}};function reportListenerException(e){try{let t=globalThis;if(typeof t.reportError==`function`)t.reportError(e);else if(e instanceof Error){let t=`${e.name}: ${e.message}`;g.error(e.stack?`${t}\n${e.stack}`:t)}else g.error(String(e))}catch{}}for(let[e,t]of[[`NONE`,0],[`CAPTURING_PHASE`,1],[`AT_TARGET`,2],[`BUBBLING_PHASE`,3]])Object.defineProperty(Event.prototype,e,{value:t,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(Event,e,{value:t,writable:!1,enumerable:!0,configurable:!1});const j=Symbol(`abort`),M=Symbol(`internal`);var Re=class AbortSignal extends EventTarget{#e=!1;#t=void 0;onabort=null;constructor(e){if(super(),e!==M)throw TypeError(`Illegal constructor.`)}get aborted(){if(!(this instanceof AbortSignal))throw TypeError(`'get aborted' called on an object that is not a valid instance of AbortSignal.`);return this.#e}get reason(){return this.#t}get[Symbol.toStringTag](){return`AbortSignal`}throwIfAborted(){if(this.#e)throw this.#t}[j](e){if(this.#e)return;this.#e=!0,this.#t=e??new Te(`The operation was aborted.`,`AbortError`);let t=new Event(`abort`);typeof this.onabort==`function`&&this.onabort.call(this,t),this.dispatchEvent(t)}static abort(e){let t=new AbortSignal(M);return t[j](e),t}static timeout(e){let t=new AbortSignal(M);return setTimeout(()=>{t[j](new Te(`The operation timed out.`,`TimeoutError`))},e),t}static any(e){let t=new AbortSignal(M);for(let n of e)if(n.aborted)return t[j](n.reason),t;let onAbort=()=>{if(!t.aborted){let n=e.find(e=>e.aborted);t[j](n?.reason)}};for(let t of e)t.addEventListener(`abort`,onAbort,{once:!0});return t}},ze=class AbortController{signal;constructor(){this.signal=new Re(M)}get[Symbol.toStringTag](){return`AbortController`}abort(e){if(!(this instanceof AbortController))throw TypeError(`'abort' called on an object that is not a valid instance of AbortController.`);this.signal[j](e)}};const Be=globalThis;globalThis.AbortController===void 0&&(Be.AbortController=ze),globalThis.AbortSignal===void 0&&(Be.AbortSignal=Re);const Ve=globalThis;globalThis.DOMException===void 0&&(Ve.DOMException=Te);const N=Symbol(`kState`),P=Symbol(`kType`);function isBrandCheck(e){return t=>typeof t==`object`&&!!t&&t[N]!==void 0&&t[P]===e}function dequeueValue(e){let t=e[N].queue.shift();if(t===void 0)throw Error(`dequeueValue called on an empty queue`);let{value:n,size:r}=t;return e[N].queueTotalSize=Math.max(0,e[N].queueTotalSize-r),n}function resetQueue(e){e[N].queue=[],e[N].queueTotalSize=0}function peekQueueValue(e){return e[N].queue[0].value}function enqueueValueWithSize(e,t,n){if(n=+n,typeof n!=`number`||n<0||Number.isNaN(n)||n===1/0)throw RangeError(`Invalid size: ${n}`);e[N].queue.push({value:t,size:n}),e[N].queueTotalSize+=n}function extractHighWaterMark(e,t){if(e===void 0)return t;if(e=+e,typeof e!=`number`||Number.isNaN(e)||e<0)throw RangeError(`Invalid highWaterMark: ${e}`);return e}function extractSizeAlgorithm(e){if(e===void 0)return()=>1;if(typeof e!=`function`)throw TypeError(`strategy.size must be a function`);return e}function transferArrayBuffer(e){return typeof ArrayBuffer.prototype.transfer==`function`?e.transfer():e.slice(0)}function isDetachedBuffer(e){if(typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||e.byteLength!==0)return!1;try{return e.slice(0,0),!1}catch{return!0}}function typedArrayConstructorByTag(e){switch(e){case`Int8Array`:return Int8Array;case`Uint8Array`:return Uint8Array;case`Uint8ClampedArray`:return Uint8ClampedArray;case`Int16Array`:return Int16Array;case`Uint16Array`:return Uint16Array;case`Int32Array`:return Int32Array;case`Uint32Array`:return Uint32Array;case`Float32Array`:return Float32Array;case`Float64Array`:return Float64Array;case`BigInt64Array`:return typeof BigInt64Array<`u`?BigInt64Array:void 0;case`BigUint64Array`:return typeof BigUint64Array<`u`?BigUint64Array:void 0;default:return}}function elementSizeByTag(e){switch(e){case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:return 1;case`Int16Array`:case`Uint16Array`:return 2;case`Int32Array`:case`Uint32Array`:case`Float32Array`:return 4;case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:return 8;default:return 1}}function setPromiseHandled(e){e.then(()=>{},()=>{})}function createPromiseCallback(e,t,n){if(typeof t!=`function`)throw TypeError(`${e} must be a function`);return async(...e)=>t.call(n,...e)}async function nonOpFlush(){}function nonOpStart(){}async function nonOpPull(){}async function nonOpCancel(){}async function nonOpWrite(){}const He={__proto__:Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),next:void 0,return:void 0};function createAsyncFromSyncIterator(e){let t={[Symbol.iterator]:()=>e.iterator},n=(async function*(){return yield*t})();return{iterator:n,nextMethod:n.next,done:!1}}function getIterator(e,t=`sync`,n){if(n===void 0)if(t===`async`){if(n=e[Symbol.asyncIterator],n==null){let t=e[Symbol.iterator];if(t===void 0)throw TypeError(`Object is not iterable`);return createAsyncFromSyncIterator(getIterator(e,`sync`,t))}}else n=e[Symbol.iterator];if(n===void 0)throw TypeError(`Object is not iterable`);let r=n.call(e);if(typeof r!=`object`||!r)throw TypeError(`The iterator method must return an object`);return{iterator:r,nextMethod:r.next,done:!1}}function iteratorNext(e,t){let n;if(n=t===void 0?e.nextMethod.call(e.iterator):e.nextMethod.call(e.iterator,t),typeof n!=`object`||!n)throw TypeError(`The iterator.next() method must return an object`);return n}const Ue=typeof globalThis.AbortController==`function`?globalThis.AbortController:class AbortControllerShim{signal={aborted:!1,reason:void 0,addEventListener(){},removeEventListener(){}};abort(e){this.signal.aborted=!0,this.signal.reason=e}},We=Symbol(`kAbort`),Ge=Symbol(`kCloseSentinel`),Ke=Symbol(`kError`),qe=Symbol(`kSkipThrow`);var WritableStream=class{[P]=`WritableStream`;[N];constructor(e={},t={}){if(e!=null&&typeof e!=`object`)throw TypeError(`sink must be an object`);if(t!=null&&typeof t!=`object`)throw TypeError(`strategy must be an object`);let n=e?.type;if(n!==void 0)throw RangeError(`Invalid type: ${n}`);this[N]=createWritableStreamState();let r=extractSizeAlgorithm(t?.size),i=extractHighWaterMark(t?.highWaterMark,1);setupWritableStreamDefaultControllerFromSink(this,e,i,r)}get locked(){if(!F(this))throw TypeError(`Invalid this`);return isWritableStreamLocked(this)}abort(e){return F(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamAbort(this,e):Promise.reject(TypeError(`Invalid this`))}close(){return F(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamCloseQueuedOrInFlight(this)?Promise.reject(TypeError(`Failure closing WritableStream`)):writableStreamClose(this):Promise.reject(TypeError(`Invalid this`))}getWriter(){if(!F(this))throw TypeError(`Invalid this`);return new WritableStreamDefaultWriter(this)}get[Symbol.toStringTag](){return`WritableStream`}},WritableStreamDefaultWriter=class{[P]=`WritableStreamDefaultWriter`;[N];constructor(e){if(!F(e))throw TypeError(`Expected a WritableStream`);this[N]={stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0},ready:{promise:void 0,resolve:void 0,reject:void 0}},setupWritableStreamDefaultWriter(this,e)}get closed(){return I(this)?this[N].close.promise:Promise.reject(TypeError(`Invalid this`))}get desiredSize(){if(!I(this))throw TypeError(`Invalid this`);if(this[N].stream===void 0)throw TypeError(`Writer is not bound to a WritableStream`);return writableStreamDefaultWriterGetDesiredSize(this)}get ready(){return I(this)?this[N].ready.promise:Promise.reject(TypeError(`Invalid this`))}abort(e){return I(this)?this[N].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterAbort(this,e):Promise.reject(TypeError(`Invalid this`))}close(){if(!I(this))return Promise.reject(TypeError(`Invalid this`));let{stream:e}=this[N];return e===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamCloseQueuedOrInFlight(e)?Promise.reject(TypeError(`Failure to close WritableStream`)):writableStreamDefaultWriterClose(this)}releaseLock(){if(!I(this))throw TypeError(`Invalid this`);let{stream:e}=this[N];e!==void 0&&writableStreamDefaultWriterRelease(this)}write(e){return I(this)?this[N].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterWrite(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`WritableStreamDefaultWriter`}},WritableStreamDefaultController=class{[P]=`WritableStreamDefaultController`;[N];constructor(e){if(e!==qe)throw TypeError(`Illegal constructor`)}[We](e){let t=this[N].abortAlgorithm(e);return writableStreamDefaultControllerClearAlgorithms(this),t}[Ke](){resetQueue(this)}get signal(){if(!Je(this))throw TypeError(`Invalid this`);return this[N].abortController.signal}error(e){if(!Je(this))throw TypeError(`Invalid this`);this[N].stream[N].state===`writable`&&writableStreamDefaultControllerError(this,e)}get[Symbol.toStringTag](){return`WritableStreamDefaultController`}};const F=isBrandCheck(`WritableStream`),I=isBrandCheck(`WritableStreamDefaultWriter`),Je=isBrandCheck(`WritableStreamDefaultController`);function createEmptyPromiseRecord(){return{promise:void 0,resolve:void 0,reject:void 0}}function createWritableStreamState(){return{close:Promise.withResolvers(),closeRequest:createEmptyPromiseRecord(),inFlightWriteRequest:createEmptyPromiseRecord(),inFlightCloseRequest:createEmptyPromiseRecord(),pendingAbortRequest:{abort:createEmptyPromiseRecord(),reason:void 0,wasAlreadyErroring:!1},backpressure:!1,controller:void 0,state:`writable`,storedError:void 0,writeRequests:[],writer:void 0}}function isWritableStreamLocked(e){return e[N].writer!==void 0}function setupWritableStreamDefaultWriter(e,t){if(isWritableStreamLocked(t))throw TypeError(`WritableStream is locked`);switch(e[N].stream=t,t[N].writer=e,t[N].state){case`writable`:!writableStreamCloseQueuedOrInFlight(t)&&t[N].backpressure?e[N].ready=Promise.withResolvers():e[N].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},e[N].close=Promise.withResolvers();break;case`erroring`:e[N].ready={promise:Promise.reject(t[N].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[N].ready.promise),e[N].close=Promise.withResolvers();break;case`closed`:e[N].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},e[N].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;default:e[N].ready={promise:Promise.reject(t[N].storedError),resolve:void 0,reject:void 0},e[N].close={promise:Promise.reject(t[N].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[N].ready.promise),setPromiseHandled(e[N].close.promise)}}function writableStreamAbort(e,t){let{state:n,controller:r}=e[N];if(n===`closed`||n===`errored`)return Promise.resolve();if(r[N].abortController.abort(t),e[N].pendingAbortRequest.abort.promise!==void 0)return e[N].pendingAbortRequest.abort.promise;let i=!1;n===`erroring`&&(i=!0,t=void 0);let o=Promise.withResolvers();return e[N].pendingAbortRequest={abort:o,reason:t,wasAlreadyErroring:i},i||writableStreamStartErroring(e,t),o.promise}function writableStreamClose(e){let{state:t,writer:n,backpressure:r,controller:i}=e[N];if(t===`closed`||t===`errored`)return Promise.reject(TypeError(`WritableStream is closed`));e[N].closeRequest=Promise.withResolvers();let{promise:o}=e[N].closeRequest;return n!==void 0&&r&&t===`writable`&&n[N].ready.resolve?.(),writableStreamDefaultControllerClose(i),o}function writableStreamUpdateBackpressure(e,t){let{writer:n}=e[N];n!==void 0&&e[N].backpressure!==t&&(t?n[N].ready=Promise.withResolvers():n[N].ready.resolve?.()),e[N].backpressure=t}function writableStreamStartErroring(e,t){let{controller:n,writer:r}=e[N];e[N].state=`erroring`,e[N].storedError=t,r!==void 0&&writableStreamDefaultWriterEnsureReadyPromiseRejected(r,t),!writableStreamHasOperationMarkedInFlight(e)&&n[N].started&&writableStreamFinishErroring(e)}function writableStreamRejectCloseAndClosedPromiseIfNeeded(e){e[N].closeRequest.promise!==void 0&&(e[N].closeRequest.reject?.(e[N].storedError),e[N].closeRequest={promise:void 0,resolve:void 0,reject:void 0}),setPromiseHandled(e[N].close.promise),e[N].close.reject?.(e[N].storedError);let{writer:t}=e[N];t!==void 0&&(setPromiseHandled(t[N].close.promise),t[N].close.reject?.(e[N].storedError))}function writableStreamMarkFirstWriteRequestInFlight(e){let t=e[N].writeRequests.shift();e[N].inFlightWriteRequest=t}function writableStreamMarkCloseRequestInFlight(e){e[N].inFlightCloseRequest=e[N].closeRequest,e[N].closeRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamHasOperationMarkedInFlight(e){return e[N].inFlightWriteRequest.promise!==void 0||e[N].inFlightCloseRequest.promise!==void 0}function writableStreamFinishInFlightWriteWithError(e,t){e[N].inFlightWriteRequest.reject?.(t),e[N].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0},writableStreamDealWithRejection(e,t)}function writableStreamFinishInFlightWrite(e){e[N].inFlightWriteRequest.resolve?.(),e[N].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamFinishInFlightCloseWithError(e,t){e[N].inFlightCloseRequest.reject?.(t),e[N].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},e[N].pendingAbortRequest.abort.promise!==void 0&&(e[N].pendingAbortRequest.abort.reject?.(t),e[N].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1}),writableStreamDealWithRejection(e,t)}function writableStreamFinishInFlightClose(e){e[N].inFlightCloseRequest.resolve?.(),e[N].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},e[N].state===`erroring`&&(e[N].storedError=void 0,e[N].pendingAbortRequest.abort.promise!==void 0&&(e[N].pendingAbortRequest.abort.resolve?.(),e[N].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1})),e[N].state=`closed`,e[N].writer!==void 0&&e[N].writer[N].close.resolve?.(),e[N].close.resolve?.()}function writableStreamFinishErroring(e){e[N].state=`errored`,e[N].controller[Ke]();let t=e[N].storedError;for(let n of e[N].writeRequests)n.reject?.(t);if(e[N].writeRequests=[],e[N].pendingAbortRequest.abort.promise===void 0){writableStreamRejectCloseAndClosedPromiseIfNeeded(e);return}let n=e[N].pendingAbortRequest;if(e[N].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1},n.wasAlreadyErroring){n.abort.reject?.(t),writableStreamRejectCloseAndClosedPromiseIfNeeded(e);return}e[N].controller[We](n.reason).then(()=>{n.abort.resolve?.(),writableStreamRejectCloseAndClosedPromiseIfNeeded(e)},t=>{n.abort.reject?.(t),writableStreamRejectCloseAndClosedPromiseIfNeeded(e)})}function writableStreamDealWithRejection(e,t){if(e[N].state===`writable`){writableStreamStartErroring(e,t);return}writableStreamFinishErroring(e)}function writableStreamCloseQueuedOrInFlight(e){return e[N].closeRequest.promise!==void 0||e[N].inFlightCloseRequest.promise!==void 0}function writableStreamAddWriteRequest(e){let{promise:t,resolve:n,reject:r}=Promise.withResolvers();return e[N].writeRequests.push({promise:t,resolve:n,reject:r}),t}function writableStreamDefaultWriterWrite(e,t){let{stream:n}=e[N],{controller:r}=n[N],i=writableStreamDefaultControllerGetChunkSize(r,t);if(n!==e[N].stream)return Promise.reject(TypeError(`Mismatched WritableStreams`));let{state:o}=n[N];if(o===`errored`)return Promise.reject(n[N].storedError);if(writableStreamCloseQueuedOrInFlight(n)||o===`closed`)return Promise.reject(TypeError(`WritableStream is closed`));if(o===`erroring`)return Promise.reject(n[N].storedError);let s=writableStreamAddWriteRequest(n);return writableStreamDefaultControllerWrite(r,t,i),s}function writableStreamDefaultWriterRelease(e){let{stream:t}=e[N],n=TypeError(`Writer has been released`);writableStreamDefaultWriterEnsureReadyPromiseRejected(e,n),writableStreamDefaultWriterEnsureClosedPromiseRejected(e,n),t[N].writer=void 0,e[N].stream=void 0}function writableStreamDefaultWriterGetDesiredSize(e){let{stream:t}=e[N];switch(t[N].state){case`errored`:case`erroring`:return null;case`closed`:return 0}return writableStreamDefaultControllerGetDesiredSize(t[N].controller)}function writableStreamDefaultWriterEnsureReadyPromiseRejected(e,t){e[N].ready.reject?(e[N].ready.reject(t),e[N].ready.resolve=void 0,e[N].ready.reject=void 0):e[N].ready={promise:Promise.reject(t),resolve:void 0,reject:void 0},setPromiseHandled(e[N].ready.promise)}function writableStreamDefaultWriterEnsureClosedPromiseRejected(e,t){e[N].close.reject?(e[N].close.reject(t),e[N].close.resolve=void 0,e[N].close.reject=void 0):e[N].close={promise:Promise.reject(t),resolve:void 0,reject:void 0},setPromiseHandled(e[N].close.promise)}function writableStreamDefaultWriterCloseWithErrorPropagation(e){let{stream:t}=e[N],{state:n}=t[N];return writableStreamCloseQueuedOrInFlight(t)||n===`closed`?Promise.resolve():n===`errored`?Promise.reject(t[N].storedError):writableStreamDefaultWriterClose(e)}function writableStreamDefaultWriterClose(e){return writableStreamClose(e[N].stream)}function writableStreamDefaultWriterAbort(e,t){return writableStreamAbort(e[N].stream,t)}function writableStreamDefaultControllerWrite(e,t,n){try{enqueueValueWithSize(e,t,n)}catch(t){writableStreamDefaultControllerErrorIfNeeded(e,t);return}let{stream:r}=e[N];!writableStreamCloseQueuedOrInFlight(r)&&r[N].state===`writable`&&writableStreamUpdateBackpressure(r,writableStreamDefaultControllerGetBackpressure(e)),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)}function writableStreamDefaultControllerProcessWrite(e,t){let{stream:n,writeAlgorithm:r}=e[N];writableStreamMarkFirstWriteRequestInFlight(n),r(t,e).then(()=>{writableStreamFinishInFlightWrite(n);let{state:t}=n[N];dequeueValue(e),!writableStreamCloseQueuedOrInFlight(n)&&t===`writable`&&writableStreamUpdateBackpressure(n,writableStreamDefaultControllerGetBackpressure(e)),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)},t=>{n[N].state===`writable`&&writableStreamDefaultControllerClearAlgorithms(e),writableStreamFinishInFlightWriteWithError(n,t)})}function writableStreamDefaultControllerProcessClose(e){let{closeAlgorithm:t,stream:n}=e[N];writableStreamMarkCloseRequestInFlight(n),dequeueValue(e);let r=t();writableStreamDefaultControllerClearAlgorithms(e),r.then(()=>writableStreamFinishInFlightClose(n),e=>writableStreamFinishInFlightCloseWithError(n,e))}function writableStreamDefaultControllerGetDesiredSize(e){return e[N].highWaterMark-e[N].queueTotalSize}function writableStreamDefaultControllerGetChunkSize(e,t){let{sizeAlgorithm:n}=e[N];if(n===void 0)return 1;try{return n(t)}catch(t){return writableStreamDefaultControllerErrorIfNeeded(e,t),1}}function writableStreamDefaultControllerErrorIfNeeded(e,t){e[N].stream[N].state===`writable`&&writableStreamDefaultControllerError(e,t)}function writableStreamDefaultControllerError(e,t){writableStreamDefaultControllerClearAlgorithms(e),writableStreamStartErroring(e[N].stream,t)}function writableStreamDefaultControllerClose(e){enqueueValueWithSize(e,Ge,0),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)}function writableStreamDefaultControllerClearAlgorithms(e){e[N].writeAlgorithm=void 0,e[N].closeAlgorithm=void 0,e[N].abortAlgorithm=void 0,e[N].sizeAlgorithm=void 0}function writableStreamDefaultControllerGetBackpressure(e){return writableStreamDefaultControllerGetDesiredSize(e)<=0}function writableStreamDefaultControllerAdvanceQueueIfNeeded(e){let{queue:t,started:n,stream:r}=e[N];if(!n||r[N].inFlightWriteRequest.promise!==void 0)return;if(r[N].state===`erroring`){writableStreamFinishErroring(r);return}if(!t.length)return;let i=peekQueueValue(e);i===Ge?writableStreamDefaultControllerProcessClose(e):writableStreamDefaultControllerProcessWrite(e,i)}function setupWritableStreamDefaultControllerFromSink(e,t,n,r){let i=new WritableStreamDefaultController(qe),o=t?.start,s=t?.write,c=t?.close,l=t?.abort;setupWritableStreamDefaultController(e,i,o?o.bind(t,i):nonOpStart,s?createPromiseCallback(`sink.write`,s,t):nonOpWrite,c?createPromiseCallback(`sink.close`,c,t):nonOpCancel,l?createPromiseCallback(`sink.abort`,l,t):nonOpCancel,n,r)}function setupWritableStreamDefaultController(e,t,n,r,i,o,s,c){t[N]={abortAlgorithm:o,closeAlgorithm:i,highWaterMark:s,queue:[],queueTotalSize:0,abortController:new Ue,sizeAlgorithm:c,started:!1,stream:e,writeAlgorithm:r},e[N].controller=t,writableStreamUpdateBackpressure(e,writableStreamDefaultControllerGetBackpressure(t));let l=n();new Promise(e=>e(l)).then(()=>{t[N].started=!0,writableStreamDefaultControllerAdvanceQueueIfNeeded(t)},n=>{t[N].started=!0,writableStreamDealWithRejection(e,n)})}function createWritableStream(e,t,n,r,i=1,o=()=>1){let s=Object.create(WritableStream.prototype);return s[P]=`WritableStream`,s[N]=createWritableStreamState(),setupWritableStreamDefaultController(s,new WritableStreamDefaultController(qe),e,t,n,r,i,o),s}const Ye=Symbol(`kCancel`),L=Symbol(`kClose`),R=Symbol(`kChunk`),z=Symbol(`kError`),Xe=Symbol(`kPull`),Ze=Symbol(`kRelease`),B=Symbol(`kSkipThrow`);let Qe,$e;function lazyReadableReleasedError(){return Qe||(Qe=TypeError(`Reader released`),Qe)}function lazyReadableReleasingError(){return $e||($e=TypeError(`Releasing reader`),$e)}function createAbortError(){if(typeof globalThis.DOMException==`function`)return new DOMException(`The operation was aborted`,`AbortError`);let e=Error(`The operation was aborted`);return e.name=`AbortError`,e}function createReadableStreamState(){return{disturbed:!1,reader:void 0,state:`readable`,storedError:void 0,controller:void 0,closedPromise:Promise.withResolvers()}}var ReadableStream$1=class{static{__name(this,`ReadableStream`)}[P]=`ReadableStream`;[N];constructor(e={},t={}){if(e!=null&&typeof e!=`object`)throw TypeError(`source must be an object`);if(t!=null&&typeof t!=`object`)throw TypeError(`strategy must be an object`);this[N]=createReadableStreamState();let n=t?.size,r=t?.highWaterMark,i=e?.type;if(i!==void 0){if(`${i}`==`bytes`){if(n!==void 0)throw RangeError(`strategy.size must not be set for a byte stream`);setupReadableByteStreamControllerFromSource(this,e,extractHighWaterMark(r,0));return}throw RangeError(`Invalid type: ${i}`)}setupReadableStreamDefaultControllerFromSource(this,e,extractHighWaterMark(r,1),extractSizeAlgorithm(n))}get locked(){if(!V(this))throw TypeError(`Invalid this`);return isReadableStreamLocked(this)}static from(e){return readableStreamFromIterable(e)}cancel(e=void 0){return V(this)?isReadableStreamLocked(this)?Promise.reject(TypeError(`ReadableStream is locked`)):readableStreamCancel(this,e):Promise.reject(TypeError(`Invalid this`))}getReader(e={}){if(!V(this))throw TypeError(`Invalid this`);if(e!=null&&typeof e!=`object`)throw TypeError(`options must be an object`);let t=e?.mode;if(t===void 0)return new ReadableStreamDefaultReader(this);if(`${t}`==`byob`)return new ReadableStreamBYOBReader(this);throw RangeError(`Invalid mode: ${t}`)}pipeThrough(e,t={}){if(!V(this))throw TypeError(`Invalid this`);let n=e?.readable;if(!V(n))throw TypeError(`transform.readable must be a ReadableStream`);let r=e?.writable;if(!F(r))throw TypeError(`transform.writable must be a WritableStream`);if(t!=null&&typeof t!=`object`)throw TypeError(`options must be an object`);let i=t?.preventAbort,o=t?.preventCancel,s=t?.preventClose,c=t?.signal;if(c!==void 0&&!(c instanceof Object&&`aborted`in c))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(r))throw TypeError(`The WritableStream is locked`);return setPromiseHandled(readableStreamPipeTo(this,r,!!s,!!i,!!o,c)),n}pipeTo(e,t={}){try{if(!V(this))throw TypeError(`Invalid this`);if(!F(e))throw TypeError(`destination must be a WritableStream`);if(t!=null&&typeof t!=`object`)throw TypeError(`options must be an object`);let n=t?.preventAbort,r=t?.preventCancel,i=t?.preventClose,o=t?.signal;if(o!==void 0&&!(o instanceof Object&&`aborted`in o))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(e))throw TypeError(`The WritableStream is locked`);return readableStreamPipeTo(this,e,!!i,!!n,!!r,o)}catch(e){return Promise.reject(e)}}tee(){if(!V(this))throw TypeError(`Invalid this`);let e=this[N].controller;return H(e)?readableByteStreamTee(this):readableStreamDefaultTee(this,!1)}values(e={}){if(!V(this))throw TypeError(`Invalid this`);if(e!=null&&typeof e!=`object`)throw TypeError(`options must be an object`);let t=!!e?.preventCancel,n=new ReadableStreamDefaultReader(this),r={done:!1,current:void 0},i=!1;function nextSteps(){if(r.done)return Promise.resolve({done:!0,value:void 0});if(n[N].stream===void 0)return Promise.reject(TypeError(`The reader is not bound to a ReadableStream`));let{promise:e,resolve:t,reject:i}=Promise.withResolvers();return readableStreamDefaultReaderRead(n,{[R](e){r.current=void 0,t({value:e,done:!1})},[L](){r.current=void 0,r.done=!0,readableStreamReaderGenericRelease(n),t({done:!0,value:void 0})},[z](e){r.current=void 0,r.done=!0,readableStreamReaderGenericRelease(n),i(e)}}),e}async function returnSteps(e){if(r.done)return{done:!0,value:e};if(r.done=!0,n[N].stream===void 0)throw TypeError(`The reader is not bound to a ReadableStream`);if(!t){let t=readableStreamReaderGenericCancel(n,e);return readableStreamReaderGenericRelease(n),await t,{done:!0,value:e}}return readableStreamReaderGenericRelease(n),{done:!0,value:e}}return Object.setPrototypeOf({next(){return i||=(r.current=Promise.resolve(),!0),r.current=r.current===void 0?nextSteps():r.current.then(nextSteps,nextSteps),r.current},return(e){return i=!0,r.current=r.current===void 0?returnSteps(e):r.current.then(()=>returnSteps(e),()=>returnSteps(e)),r.current},[Symbol.asyncIterator](){return this}},He)}[Symbol.asyncIterator](){return this.values()}get[Symbol.toStringTag](){return`ReadableStream`}},DefaultReadRequest=class{[N];constructor(){this[N]=Promise.withResolvers()}[R](e){this[N].resolve?.({value:e,done:!1})}[L](){this[N].resolve?.({value:void 0,done:!0})}[z](e){this[N].reject?.(e)}get promise(){return this[N].promise}},ReadableStreamDefaultReader=class{[P]=`ReadableStreamDefaultReader`;[N];constructor(e){if(!V(e))throw TypeError(`Expected a ReadableStream`);this[N]={readRequests:[],readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamDefaultReader(this,e)}read(){if(!tt(this))return Promise.reject(TypeError(`Invalid this`));if(this[N].stream===void 0)return Promise.reject(TypeError(`The reader is not attached to a stream`));let e=this[N].stream,t=e[N].controller;if(e[N].state===`readable`&&et(t)&&t[N].queue.length>0){e[N].disturbed=!0;let n=dequeueValue(t);return t[N].closeRequested&&!t[N].queue.length?(readableStreamDefaultControllerClearAlgorithms(t),readableStreamClose(e)):readableStreamDefaultControllerCallPullIfNeeded(t),Promise.resolve({value:n,done:!1})}let n=new DefaultReadRequest;return readableStreamDefaultReaderRead(this,n),n.promise}releaseLock(){if(!tt(this))throw TypeError(`Invalid this`);this[N].stream!==void 0&&readableStreamDefaultReaderRelease(this)}get closed(){return tt(this)?this[N].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return tt(this)?this[N].stream===void 0?Promise.reject(TypeError(`The reader is not attached to a stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamDefaultReader`}},ReadableStreamDefaultController=class{[P]=`ReadableStreamDefaultController`;[N];constructor(e){if(e!==B)throw TypeError(`Illegal constructor`)}get desiredSize(){return readableStreamDefaultControllerGetDesiredSize(this)}close(){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerClose(this)}enqueue(e=void 0){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerEnqueue(this,e)}error(e=void 0){readableStreamDefaultControllerError(this,e)}[Ye](e){return readableStreamDefaultControllerCancelSteps(this,e)}[Xe](e){readableStreamDefaultControllerPullSteps(this,e)}[Ze](){}get[Symbol.toStringTag](){return`ReadableStreamDefaultController`}};const V=isBrandCheck(`ReadableStream`),et=isBrandCheck(`ReadableStreamDefaultController`),tt=isBrandCheck(`ReadableStreamDefaultReader`);function isReadableStreamLocked(e){return e[N].reader!==void 0}function readableStreamCancel(e,t){switch(e[N].disturbed=!0,e[N].state){case`closed`:return Promise.resolve();case`errored`:return Promise.reject(e[N].storedError)}readableStreamClose(e);let n=e[N].reader;if(n!==void 0&&readableStreamHasBYOBReader(e)){let e=n[N].readIntoRequests;n[N].readIntoRequests=[];for(let t=0;t<e.length;t++)e[t][L](void 0)}return e[N].controller[Ye](t).then(()=>{})}function readableStreamClose(e){e[N].state=`closed`,e[N].closedPromise.resolve();let{reader:t}=e[N];if(t!==void 0&&(t[N].close.resolve?.(),readableStreamHasDefaultReader(e))){for(let e=0;e<t[N].readRequests.length;e++)t[N].readRequests[e][L]();t[N].readRequests=[]}}function readableStreamError(e,t){e[N].state=`errored`,e[N].storedError=t,setPromiseHandled(e[N].closedPromise.promise),e[N].closedPromise.reject(t);let{reader:n}=e[N];if(n!==void 0){if(setPromiseHandled(n[N].close.promise),n[N].close.reject?.(t),readableStreamHasDefaultReader(e)){for(let e=0;e<n[N].readRequests.length;e++)n[N].readRequests[e][z](t);n[N].readRequests=[]}else if(readableStreamHasBYOBReader(e)){for(let e=0;e<n[N].readIntoRequests.length;e++)n[N].readIntoRequests[e][z](t);n[N].readIntoRequests=[]}}}function readableStreamHasDefaultReader(e){let{reader:t}=e[N];return t===void 0?!1:t[N]!==void 0&&t[P]===`ReadableStreamDefaultReader`}function readableStreamGetNumReadRequests(e){return e[N].reader[N].readRequests.length}function readableStreamFulfillReadRequest(e,t,n){let{reader:r}=e[N],i=r[N].readRequests.shift();n?i[L]():i[R](t)}function readableStreamAddReadRequest(e,t){e[N].reader[N].readRequests.push(t)}function readableStreamReaderGenericCancel(e,t){let{stream:n}=e[N];return readableStreamCancel(n,t)}function readableStreamReaderGenericInitialize(e,t){switch(e[N].stream=t,t[N].reader=e,t[N].state){case`readable`:e[N].close=Promise.withResolvers();break;case`closed`:e[N].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;case`errored`:e[N].close={promise:Promise.reject(t[N].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[N].close.promise);break}}function readableStreamReaderGenericRelease(e){let{stream:t}=e[N],n=lazyReadableReleasedError();t[N].state===`readable`?e[N].close.reject?.(n):e[N].close={promise:Promise.reject(n),resolve:void 0,reject:void 0},setPromiseHandled(e[N].close.promise),t[N].controller[Ze](),t[N].reader=void 0,e[N].stream=void 0}function readableStreamDefaultReaderRelease(e){readableStreamReaderGenericRelease(e),readableStreamDefaultReaderErrorReadRequests(e,lazyReadableReleasingError())}function readableStreamDefaultReaderErrorReadRequests(e,t){for(let n=0;n<e[N].readRequests.length;++n)e[N].readRequests[n][z](t);e[N].readRequests=[]}function readableStreamDefaultReaderRead(e,t){let{stream:n}=e[N];switch(n[N].disturbed=!0,n[N].state){case`closed`:t[L]();break;case`errored`:t[z](n[N].storedError);break;case`readable`:n[N].controller[Xe](t);break}}function setupReadableStreamDefaultReader(e,t){if(isReadableStreamLocked(t))throw TypeError(`ReadableStream is locked`);readableStreamReaderGenericInitialize(e,t),e[N].readRequests=[]}function readableStreamDefaultControllerClose(e){readableStreamDefaultControllerCanCloseOrEnqueue(e)&&(e[N].closeRequested=!0,e[N].queue.length||(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(e[N].stream)))}function readableStreamDefaultControllerEnqueue(e,t){if(!readableStreamDefaultControllerCanCloseOrEnqueue(e))return;let{stream:n}=e[N];if(isReadableStreamLocked(n)&&readableStreamGetNumReadRequests(n))readableStreamFulfillReadRequest(n,t,!1);else try{enqueueValueWithSize(e,t,e[N].sizeAlgorithm(t))}catch(t){throw readableStreamDefaultControllerError(e,t),t}readableStreamDefaultControllerCallPullIfNeeded(e)}function readableStreamDefaultControllerCanCloseOrEnqueue(e){let{stream:t}=e[N];return!e[N].closeRequested&&t[N].state===`readable`}function readableStreamDefaultControllerGetDesiredSize(e){let{stream:t,highWaterMark:n,queueTotalSize:r}=e[N];switch(t[N].state){case`errored`:return null;case`closed`:return 0;default:return n-r}}function readableStreamDefaultControllerHasBackpressure(e){return!readableStreamDefaultControllerShouldCallPull(e)}function readableStreamDefaultControllerShouldCallPull(e){let{stream:t}=e[N];if(!readableStreamDefaultControllerCanCloseOrEnqueue(e)||!e[N].started)return!1;if(isReadableStreamLocked(t)&&readableStreamGetNumReadRequests(t))return!0;let n=readableStreamDefaultControllerGetDesiredSize(e);return n!==null&&n>0}function readableStreamDefaultControllerCallPullIfNeeded(e){if(readableStreamDefaultControllerShouldCallPull(e)){if(e[N].pulling){e[N].pullAgain=!0;return}e[N].pulling=!0,e[N].pullAlgorithm(e).then(()=>{e[N].pulling=!1,e[N].pullAgain&&(e[N].pullAgain=!1,readableStreamDefaultControllerCallPullIfNeeded(e))},t=>readableStreamDefaultControllerError(e,t))}}function readableStreamDefaultControllerClearAlgorithms(e){e[N].pullAlgorithm=void 0,e[N].cancelAlgorithm=void 0,e[N].sizeAlgorithm=void 0}function readableStreamDefaultControllerError(e,t){let{stream:n}=e[N];n[N].state===`readable`&&(resetQueue(e),readableStreamDefaultControllerClearAlgorithms(e),readableStreamError(n,t))}function readableStreamDefaultControllerCancelSteps(e,t){resetQueue(e);let n=e[N].cancelAlgorithm?.(t)??Promise.resolve();return readableStreamDefaultControllerClearAlgorithms(e),n}function readableStreamDefaultControllerPullSteps(e,t){let{stream:n,queue:r}=e[N];if(r.length){let i=dequeueValue(e);e[N].closeRequested&&!r.length?(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(n)):readableStreamDefaultControllerCallPullIfNeeded(e),t[R](i);return}readableStreamAddReadRequest(n,t),readableStreamDefaultControllerCallPullIfNeeded(e)}function setupReadableStreamDefaultController(e,t,n,r,i,o,s){t[N]={cancelAlgorithm:i,closeRequested:!1,highWaterMark:o,pullAgain:!1,pullAlgorithm:r,pulling:!1,queue:[],queueTotalSize:0,started:!1,sizeAlgorithm:s,stream:e},e[N].controller=t;let c=n();new Promise(e=>e(c)).then(()=>{t[N].started=!0,readableStreamDefaultControllerCallPullIfNeeded(t)},e=>readableStreamDefaultControllerError(t,e))}function setupReadableStreamDefaultControllerFromSource(e,t,n,r){let i=new ReadableStreamDefaultController(B),o=t?.start,s=t?.pull,c=t?.cancel;setupReadableStreamDefaultController(e,i,o?o.bind(t,i):nonOpStart,s?createPromiseCallback(`source.pull`,s,t):nonOpPull,c?createPromiseCallback(`source.cancel`,c,t):nonOpCancel,n,r)}function createReadableStream(e,t,n,r=1,i=()=>1){let o=Object.create(ReadableStream$1.prototype);return o[P]=`ReadableStream`,o[N]=createReadableStreamState(),setupReadableStreamDefaultController(o,new ReadableStreamDefaultController(B),e,t,n,r,i),o}function readableStreamFromIterable(e){let t,n=getIterator(e,`async`),r=nonOpStart;async function pullAlgorithm(){let e=iteratorNext(n);return Promise.resolve(e).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.next() method must fulfill with an object`);e.done?readableStreamDefaultControllerClose(t[N].controller):readableStreamDefaultControllerEnqueue(t[N].controller,e.value)})}async function cancelAlgorithm(e){let t=n.iterator,r=t.return;if(r===void 0)return Promise.resolve();let i=r.call(t,e);return Promise.resolve(i).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.return() method must fulfill with an object`)})}return t=createReadableStream(r,pullAlgorithm,cancelAlgorithm,0),t}function readableStreamPipeTo(e,t,n,r,i,o){let s,c;try{s=new ReadableStreamDefaultReader(e),c=new WritableStreamDefaultWriter(t)}catch(e){return Promise.reject(e)}e[N].disturbed=!0;let l=!1,{promise:u,resolve:d,reject:f}=Promise.withResolvers(),p={currentWrite:Promise.resolve()},m;function finalize(e,t){writableStreamDefaultWriterRelease(c),readableStreamReaderGenericRelease(s),o!==void 0&&m&&(o.removeEventListener(`abort`,m),m=void 0),e?f(t):d()}async function waitForCurrentWrite(){let e=p.currentWrite;await e,e!==p.currentWrite&&await waitForCurrentWrite()}function shutdownWithAnAction(e,n,r){if(l)return;if(l=!0,t[N].state===`writable`&&!writableStreamCloseQueuedOrInFlight(t)){waitForCurrentWrite().then(complete,e=>finalize(!0,e));return}complete();function complete(){e().then(()=>finalize(!!n,r),e=>finalize(!0,e))}}function shutdown(e,n){if(!l){if(l=!0,t[N].state===`writable`&&!writableStreamCloseQueuedOrInFlight(t)){waitForCurrentWrite().then(()=>finalize(!!e,n),e=>finalize(!0,e));return}finalize(!!e,n)}}function abortAlgorithm(){let n;n=o.reason&&o.reason.name===`AbortError`?createAbortError():o.reason;let s=[];r||s.push(()=>t[N].state===`writable`?writableStreamAbort(t,n):Promise.resolve()),i||s.push(()=>e[N].state===`readable`?readableStreamCancel(e,n):Promise.resolve()),shutdownWithAnAction(()=>Promise.all(s.map(e=>e())).then(()=>void 0),!0,n)}function watchErrored(e,t,n){e[N].state===`errored`?n(e[N].storedError):t.then(void 0,n)}function watchClosed(e,t,n){e[N].state===`closed`?n():t.then(n,()=>{})}class PipeToReadRequest{[R](e){_(()=>{p.currentWrite=writableStreamDefaultWriterWrite(c,e),setPromiseHandled(p.currentWrite),h.resolve(!1)})}[L](){h.resolve(!0)}[z](e){h.reject(e)}}let h={resolve:null,reject:null};async function step(){if(l||t[N].backpressure&&(await c[N].ready.promise,l))return!0;let n=e[N].controller;if(e[N].state===`readable`&&et(n)&&n[N].queue.length>0){for(;n[N].queue.length>0;){if(l)return!0;let r=dequeueValue(n);if(n[N].closeRequested&&!n[N].queue.length&&(readableStreamDefaultControllerClearAlgorithms(n),readableStreamClose(e)),p.currentWrite=writableStreamDefaultWriterWrite(c,r),setPromiseHandled(p.currentWrite),t[N].backpressure||t[N].state!==`writable`||writableStreamCloseQueuedOrInFlight(t))break}return readableStreamDefaultControllerCallPullIfNeeded(n),e[N].state===`closed`}let{promise:r,resolve:i,reject:o}=Promise.withResolvers();return h={resolve:i,reject:o},readableStreamDefaultReaderRead(s,new PipeToReadRequest),r}async function run(){for(;!await step(););}if(o!==void 0){if(o.aborted)return abortAlgorithm(),u;m=abortAlgorithm,o.addEventListener(`abort`,m,{once:!0})}if(setPromiseHandled(run()),watchErrored(e,s[N].close.promise,e=>{if(!r)return shutdownWithAnAction(()=>writableStreamAbort(t,e),!0,e);shutdown(!0,e)}),watchErrored(t,c[N].close.promise,t=>{if(!i)return shutdownWithAnAction(()=>readableStreamCancel(e,t),!0,t);shutdown(!0,t)}),watchClosed(e,s[N].close.promise,()=>{if(!n)return shutdownWithAnAction(()=>writableStreamDefaultWriterCloseWithErrorPropagation(c));shutdown()}),writableStreamCloseQueuedOrInFlight(t)||t[N].state===`closed`){let t=TypeError(`Destination WritableStream is closed`);i?shutdown(!0,t):shutdownWithAnAction(()=>readableStreamCancel(e,t),!0,t)}return u}function readableStreamDefaultTee(e,t){let n=new ReadableStreamDefaultReader(e),r=!1,i=!1,o=!1,s,c,l,u,d=Promise.withResolvers();async function pullAlgorithm(){r||(r=!0,readableStreamDefaultReaderRead(n,{[R](e){_(()=>{r=!1;let n=e,s=e;if(!o&&t)try{s=structuredClone(s)}catch{}i||readableStreamDefaultControllerEnqueue(l[N].controller,n),o||readableStreamDefaultControllerEnqueue(u[N].controller,s)})},[L](){_(()=>{r=!1,i||readableStreamDefaultControllerClose(l[N].controller),o||readableStreamDefaultControllerClose(u[N].controller),(!i||!o)&&d.resolve(void 0)})},[z](){r=!1}}))}function cancel1Algorithm(t){if(i=!0,s=t,o){let t=[s,c];d.resolve(readableStreamCancel(e,t))}return d.promise}function cancel2Algorithm(t){if(o=!0,c=t,i){let t=[s,c];d.resolve(readableStreamCancel(e,t))}return d.promise}return l=createReadableStream(nonOpStart,pullAlgorithm,cancel1Algorithm),u=createReadableStream(nonOpStart,pullAlgorithm,cancel2Algorithm),n[N].close.promise.then(void 0,e=>{readableStreamDefaultControllerError(l[N].controller,e),readableStreamDefaultControllerError(u[N].controller,e),(!i||!o)&&d.resolve(void 0)}),[l,u]}var BYOBReadIntoRequest=class{[N];constructor(){this[N]=Promise.withResolvers()}[R](e){this[N].resolve?.({value:e,done:!1})}[L](e){this[N].resolve?.({value:e,done:!0})}[z](e){this[N].reject?.(e)}get promise(){return this[N].promise}},ReadableStreamBYOBReader=class{[P]=`ReadableStreamBYOBReader`;[N];constructor(e){if(!V(e))throw TypeError(`Expected a ReadableStream`);this[N]={readRequests:[],readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamBYOBReader(this,e)}read(e,t={}){if(!nt(this))return Promise.reject(TypeError(`Invalid this`));if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))return Promise.reject(TypeError(`view must be an ArrayBufferView`));let n=e.buffer,r=e.byteLength;if(r===0)return Promise.reject(TypeError(`view must have non-zero byteLength`));if(n.byteLength===0)return isDetachedBuffer(n)?Promise.reject(TypeError(`view's buffer has been detached`)):Promise.reject(TypeError(`view's buffer must have non-zero byteLength`));let i=t?.min??1;if(typeof i!=`number`||i<1||!Number.isInteger(i)||Number.isNaN(i))return Promise.reject(TypeError(`options.min must be a positive integer`));let o=e[Symbol.toStringTag];if(o!==void 0&&o!==`DataView`){if(i>e.length)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`))}else if(i>r)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`));if(this[N].stream===void 0)return Promise.reject(TypeError(`Reader has no associated stream`));let s=new BYOBReadIntoRequest;return readableStreamBYOBReaderRead(this,e,i,s),s.promise}releaseLock(){if(!nt(this))throw TypeError(`Invalid this`);this[N].stream!==void 0&&readableStreamBYOBReaderRelease(this)}get closed(){return nt(this)?this[N].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return nt(this)?this[N].stream===void 0?Promise.reject(TypeError(`Reader has no associated stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamBYOBReader`}},ReadableStreamBYOBRequest=class{[P]=`ReadableStreamBYOBRequest`;[N];constructor(e){if(e!==B)throw TypeError(`Illegal constructor`)}get view(){if(!rt(this))throw TypeError(`Invalid this`);return this[N].view}respond(e){if(!rt(this))throw TypeError(`Invalid this`);if(this[N].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(e=+e,!Number.isInteger(e)||e<0||!Number.isFinite(e))throw RangeError(`bytesWritten must be a non-negative integer`);let t=this[N].view;if(isDetachedBuffer(t.buffer))throw TypeError(`The BYOB request's buffer has been detached`);readableByteStreamControllerRespond(this[N].controller,e)}respondWithNewView(e){if(!rt(this))throw TypeError(`Invalid this`);if(this[N].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))throw TypeError(`view must be an ArrayBufferView`);if(isDetachedBuffer(e.buffer))throw TypeError(`The given view's buffer has been detached`);readableByteStreamControllerRespondWithNewView(this[N].controller,e)}get[Symbol.toStringTag](){return`ReadableStreamBYOBRequest`}},ReadableByteStreamController=class{[P]=`ReadableByteStreamController`;[N];constructor(e){if(e!==B)throw TypeError(`Illegal constructor`)}get byobRequest(){if(!H(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetBYOBRequest(this)}get desiredSize(){if(!H(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetDesiredSize(this)}close(){if(!H(this))throw TypeError(`Invalid this`);if(this[N].closeRequested)throw TypeError(`Close already requested`);if(this[N].stream[N].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerClose(this)}enqueue(e){if(!H(this))throw TypeError(`Invalid this`);if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))throw TypeError(`chunk must be an ArrayBufferView`);if(e.byteLength===0)throw TypeError(`chunk length must be non-zero`);if(e.buffer.byteLength===0)throw TypeError(`chunk's buffer length must be non-zero`);if(this[N].closeRequested)throw TypeError(`Cannot enqueue after close has been requested`);if(this[N].stream[N].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerEnqueue(this,e)}error(e=void 0){if(!H(this))throw TypeError(`Invalid this`);readableByteStreamControllerError(this,e)}[Ye](e){return readableByteStreamControllerCancelSteps(this,e)}[Xe](e){readableByteStreamControllerPullSteps(this,e)}[Ze](){if(this[N].pendingPullIntos.length>0){let e=this[N].pendingPullIntos[0];e.readerType=`none`,this[N].pendingPullIntos=[e]}}get[Symbol.toStringTag](){return`ReadableByteStreamController`}};const H=isBrandCheck(`ReadableByteStreamController`),nt=isBrandCheck(`ReadableStreamBYOBReader`),rt=isBrandCheck(`ReadableStreamBYOBRequest`);function readableStreamHasBYOBReader(e){let{reader:t}=e[N];return t===void 0?!1:t[N]!==void 0&&t[P]===`ReadableStreamBYOBReader`}function readableStreamGetNumReadIntoRequests(e){return e[N].reader[N].readIntoRequests.length}function readableStreamAddReadIntoRequest(e,t){e[N].reader[N].readIntoRequests.push(t)}function readableStreamFulfillReadIntoRequest(e,t,n){let{reader:r}=e[N],i=r[N].readIntoRequests.shift();n?i[L](t):i[R](t)}function setupReadableStreamBYOBReader(e,t){if(isReadableStreamLocked(t))throw TypeError(`ReadableStream is locked`);if(!H(t[N].controller))throw TypeError(`Cannot use a BYOB reader with a non-byte stream`);readableStreamReaderGenericInitialize(e,t),e[N].readIntoRequests=[]}function readableStreamBYOBReaderRead(e,t,n,r){let{stream:i}=e[N];i[N].disturbed=!0,i[N].state===`errored`?r[z](i[N].storedError):readableByteStreamControllerPullInto(i[N].controller,t,n,r)}function readableStreamBYOBReaderRelease(e){readableStreamReaderGenericRelease(e);let t=TypeError(`Reader was released`);for(let n=0;n<e[N].readIntoRequests.length;n++)e[N].readIntoRequests[n][z](t);e[N].readIntoRequests=[]}function readableByteStreamControllerClearAlgorithms(e){e[N].pullAlgorithm=void 0,e[N].cancelAlgorithm=void 0}function readableByteStreamControllerClearPendingPullIntos(e){readableByteStreamControllerInvalidateBYOBRequest(e),e[N].pendingPullIntos=[]}function readableByteStreamControllerInvalidateBYOBRequest(e){let t=e[N].byobRequest;t!=null&&(t[N].controller=void 0,t[N].view=null,e[N].byobRequest=null)}function readableByteStreamControllerError(e,t){let{stream:n}=e[N];n[N].state===`readable`&&(readableByteStreamControllerClearPendingPullIntos(e),resetQueue(e),readableByteStreamControllerClearAlgorithms(e),readableStreamError(n,t))}function readableByteStreamControllerGetDesiredSize(e){let t=e[N].stream[N].state;return t===`errored`?null:t===`closed`?0:e[N].highWaterMark-e[N].queueTotalSize}function readableByteStreamControllerShouldCallPull(e){let{stream:t}=e[N];if(t[N].state!==`readable`||e[N].closeRequested||!e[N].started)return!1;if(readableStreamHasDefaultReader(t)&&readableStreamGetNumReadRequests(t)>0||readableStreamHasBYOBReader(t)&&readableStreamGetNumReadIntoRequests(t)>0)return!0;let n=readableByteStreamControllerGetDesiredSize(e);return n!==null&&n>0}function readableByteStreamControllerCallPullIfNeeded(e){if(readableByteStreamControllerShouldCallPull(e)){if(e[N].pulling){e[N].pullAgain=!0;return}e[N].pulling=!0,e[N].pullAlgorithm(e).then(()=>{e[N].pulling=!1,e[N].pullAgain&&(e[N].pullAgain=!1,readableByteStreamControllerCallPullIfNeeded(e))},t=>readableByteStreamControllerError(e,t))}}function readableByteStreamControllerHandleQueueDrain(e){e[N].queueTotalSize===0&&e[N].closeRequested?(readableByteStreamControllerClearAlgorithms(e),readableStreamClose(e[N].stream)):readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerEnqueueChunkToQueue(e,t,n,r){e[N].queue.push({buffer:t,byteOffset:n,byteLength:r}),e[N].queueTotalSize+=r}function readableByteStreamControllerEnqueueClonedChunkToQueue(e,t,n,r){let i;try{i=t.slice(n,n+r)}catch(t){readableByteStreamControllerError(e,t);return}readableByteStreamControllerEnqueueChunkToQueue(e,i,0,r)}function readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,t){t.bytesFilled>0&&readableByteStreamControllerEnqueueClonedChunkToQueue(e,t.buffer,t.byteOffset,t.bytesFilled),readableByteStreamControllerShiftPendingPullInto(e)}function readableByteStreamControllerShiftPendingPullInto(e){return e[N].pendingPullIntos.shift()}function readableByteStreamControllerFillHeadPullIntoDescriptor(e,t,n){n.bytesFilled+=t}function readableByteStreamControllerConvertPullIntoDescriptor(e){let t=e.bytesFilled,n=e.elementSize,r=transferArrayBuffer(e.buffer);return e.buffer=r,new e.viewConstructor(r,e.byteOffset,t/n)}function readableByteStreamControllerCommitPullIntoDescriptor(e,t){let n=!1;e[N].state===`closed`&&(n=!0);let r=readableByteStreamControllerConvertPullIntoDescriptor(t);t.readerType==="default"?readableStreamFulfillReadRequest(e,r,n):readableStreamFulfillReadIntoRequest(e,r,n)}function readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,t){let n=Math.min(e[N].queueTotalSize,t.byteLength-t.bytesFilled),r=t.bytesFilled+n,i=n,o=!1,s=r-r%t.elementSize;s>=t.minimumFill&&(i=s-t.bytesFilled,o=!0);let c=e[N].queue;for(;i>0;){let n=c[0],r=Math.min(i,n.byteLength),o=t.byteOffset+t.bytesFilled,s=new Uint8Array(t.buffer,o,r),l=new Uint8Array(n.buffer,n.byteOffset,r);s.set(l),n.byteLength===r?c.shift():(n.byteOffset+=r,n.byteLength-=r),e[N].queueTotalSize-=r,readableByteStreamControllerFillHeadPullIntoDescriptor(e,r,t),i-=r}return o}function readableByteStreamControllerFillReadRequestFromQueue(e,t){let n=e[N].queue.shift();e[N].queueTotalSize-=n.byteLength,readableByteStreamControllerHandleQueueDrain(e);let r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);t[R](r)}function readableByteStreamControllerProcessReadRequestsUsingQueue(e){let t=e[N].stream[N].reader;for(;t[N].readRequests.length!==0;){if(e[N].queueTotalSize===0)return;readableByteStreamControllerFillReadRequestFromQueue(e,t[N].readRequests.shift())}}function readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e){for(;e[N].pendingPullIntos.length!==0;){if(e[N].queueTotalSize===0)return;let t=e[N].pendingPullIntos[0];readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,t)&&(readableByteStreamControllerShiftPendingPullInto(e),readableByteStreamControllerCommitPullIntoDescriptor(e[N].stream,t))}}function readableByteStreamControllerGetBYOBRequest(e){if(e[N].byobRequest===null&&e[N].pendingPullIntos.length!==0){let t=e[N].pendingPullIntos[0],n=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),r=new ReadableStreamBYOBRequest(B);r[N]={controller:e,view:n},e[N].byobRequest=r}return e[N].byobRequest}function readableByteStreamControllerEnqueue(e,t){let{stream:n}=e[N];if(e[N].closeRequested||n[N].state!==`readable`)return;let r=t.buffer,i=t.byteLength,o=t.byteOffset;if(isDetachedBuffer(r))throw TypeError(`chunk's buffer is detached`);let s=transferArrayBuffer(r);if(e[N].pendingPullIntos.length!==0){let t=e[N].pendingPullIntos[0];if(isDetachedBuffer(t.buffer))throw TypeError(`BYOB request's buffer has been detached`);readableByteStreamControllerInvalidateBYOBRequest(e),t.buffer=transferArrayBuffer(t.buffer),t.readerType===`none`&&readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,t)}readableStreamHasDefaultReader(n)?(readableByteStreamControllerProcessReadRequestsUsingQueue(e),readableStreamGetNumReadRequests(n)===0?readableByteStreamControllerEnqueueChunkToQueue(e,s,o,i):(e[N].pendingPullIntos.length!==0&&readableByteStreamControllerShiftPendingPullInto(e),readableStreamFulfillReadRequest(n,new Uint8Array(s,o,i),!1))):readableStreamHasBYOBReader(n)?(readableByteStreamControllerEnqueueChunkToQueue(e,s,o,i),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e)):readableByteStreamControllerEnqueueChunkToQueue(e,s,o,i),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerClose(e){let{stream:t}=e[N];if(!(e[N].closeRequested||t[N].state!==`readable`)){if(e[N].queueTotalSize>0){e[N].closeRequested=!0;return}if(e[N].pendingPullIntos.length!==0){let t=e[N].pendingPullIntos[0];if(t.bytesFilled%t.elementSize!==0){let t=TypeError(`Insufficient bytes to fill elements in the given buffer`);throw readableByteStreamControllerError(e,t),t}}readableByteStreamControllerClearAlgorithms(e),readableStreamClose(t)}}function readableByteStreamControllerPullInto(e,t,n,r){let i=e[N].stream,o=t[Symbol.toStringTag],s,c;if(o===void 0||o===`DataView`)s=DataView,c=1;else{let e=typedArrayConstructorByTag(o);if(!e){r[z](TypeError(`Unsupported typed array: ${o}`));return}s=e,c=elementSizeByTag(o)}let l=t.buffer,u=t.byteLength,d=t.byteOffset,f=n*c,p;try{p=transferArrayBuffer(l)}catch(e){r[z](e);return}let m={buffer:p,bufferByteLength:p.byteLength,byteOffset:d,byteLength:u,bytesFilled:0,minimumFill:f,elementSize:c,viewConstructor:s,readerType:`byob`};if(e[N].pendingPullIntos.length!==0){e[N].pendingPullIntos.push(m),readableStreamAddReadIntoRequest(i,r);return}if(i[N].state===`closed`){let e=new s(m.buffer,m.byteOffset,0);r[L](e);return}if(e[N].queueTotalSize>0){if(readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,m)){let t=readableByteStreamControllerConvertPullIntoDescriptor(m);readableByteStreamControllerHandleQueueDrain(e),r[R](t);return}if(e[N].closeRequested){let t=TypeError(`Insufficient bytes to fill elements in the given buffer`);readableByteStreamControllerError(e,t),r[z](t);return}}e[N].pendingPullIntos.push(m),readableStreamAddReadIntoRequest(i,r),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerRespond(e,t){let n=e[N].pendingPullIntos[0];if(e[N].stream[N].state===`closed`){if(t!==0)throw TypeError(`bytesWritten must be 0 when calling respond() on a closed stream`)}else{if(t===0)throw TypeError(`bytesWritten must be greater than 0 when calling respond() on a readable stream`);if(n.bytesFilled+t>n.byteLength)throw RangeError(`bytesWritten out of range`)}n.buffer=transferArrayBuffer(n.buffer),readableByteStreamControllerRespondInternal(e,t)}function readableByteStreamControllerRespondWithNewView(e,t){let n=e[N].pendingPullIntos[0],r=e[N].stream[N].state,i=t.byteLength,o=t.byteOffset,s=t.buffer;if(r===`closed`){if(i!==0)throw TypeError(`view's length must be 0 when calling respondWithNewView() on a closed stream`)}else if(i===0)throw TypeError(`view's length must be greater than 0 when calling respondWithNewView() on a readable stream`);if(n.byteOffset+n.bytesFilled!==o)throw RangeError(`The region specified by view does not match byobRequest`);if(n.bufferByteLength!==s.byteLength)throw RangeError(`The buffer of view has different capacity than byobRequest`);if(n.bytesFilled+i>n.byteLength)throw RangeError(`The region specified by view is larger than byobRequest`);n.buffer=transferArrayBuffer(s),readableByteStreamControllerRespondInternal(e,i)}function readableByteStreamControllerRespondInternal(e,t){let n=e[N].pendingPullIntos[0];readableByteStreamControllerInvalidateBYOBRequest(e),e[N].stream[N].state===`closed`?readableByteStreamControllerRespondInClosedState(e,n):readableByteStreamControllerRespondInReadableState(e,t,n),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerRespondInClosedState(e,t){t.readerType===`none`&&readableByteStreamControllerShiftPendingPullInto(e);let n=e[N].stream;if(readableStreamHasBYOBReader(n))for(;readableStreamGetNumReadIntoRequests(n)>0;)readableByteStreamControllerCommitPullIntoDescriptor(n,readableByteStreamControllerShiftPendingPullInto(e))}function readableByteStreamControllerRespondInReadableState(e,t,n){if(readableByteStreamControllerFillHeadPullIntoDescriptor(e,t,n),n.readerType===`none`){readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,n),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e);return}if(n.bytesFilled<n.minimumFill)return;readableByteStreamControllerShiftPendingPullInto(e);let r=n.bytesFilled%n.elementSize;if(r>0){let t=n.byteOffset+n.bytesFilled;readableByteStreamControllerEnqueueClonedChunkToQueue(e,n.buffer,t-r,r)}n.bytesFilled-=r,readableByteStreamControllerCommitPullIntoDescriptor(e[N].stream,n),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e)}function readableByteStreamControllerCancelSteps(e,t){readableByteStreamControllerClearPendingPullIntos(e),resetQueue(e);let n=e[N].cancelAlgorithm?.(t)??Promise.resolve();return readableByteStreamControllerClearAlgorithms(e),n}function readableByteStreamControllerPullSteps(e,t){let n=e[N].stream;if(e[N].queueTotalSize>0){readableByteStreamControllerFillReadRequestFromQueue(e,t);return}let r=e[N].autoAllocateChunkSize;if(r!==void 0){let n;try{n=new ArrayBuffer(r)}catch(e){t[z](e);return}let i={buffer:n,bufferByteLength:r,byteOffset:0,byteLength:r,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:`default`};e[N].pendingPullIntos.push(i)}readableStreamAddReadRequest(n,t),readableByteStreamControllerCallPullIfNeeded(e)}function setupReadableByteStreamController(e,t,n,r,i,o,s){t[N]={cancelAlgorithm:i,closeRequested:!1,highWaterMark:o,pullAgain:!1,pullAlgorithm:r,pulling:!1,queue:[],queueTotalSize:0,started:!1,stream:e,byobRequest:null,pendingPullIntos:[],autoAllocateChunkSize:s},e[N].controller=t;let c=n();new Promise(e=>e(c)).then(()=>{t[N].started=!0,readableByteStreamControllerCallPullIfNeeded(t)},e=>readableByteStreamControllerError(t,e))}function setupReadableByteStreamControllerFromSource(e,t,n){let r=new ReadableByteStreamController(B),i=t?.start,o=t?.pull,s=t?.cancel,c=t?.autoAllocateChunkSize;if(c!==void 0&&(c===0||!Number.isInteger(c)||c<0))throw TypeError(`autoAllocateChunkSize must be a positive integer`);setupReadableByteStreamController(e,r,i?i.bind(t,r):nonOpStart,o?createPromiseCallback(`source.pull`,o,t):nonOpPull,s?createPromiseCallback(`source.cancel`,s,t):nonOpCancel,n,c)}function readableByteStreamTee(e){let t=new ReadableStreamDefaultReader(e),n=!1,r=!1,i=!1,o,s,c=Promise.withResolvers(),l,u,d,f;function pullAlgorithm(){return n?Promise.resolve():(n=!0,t.read().then(e=>{if(n=!1,e.done){r||d.close(),i||f.close();return}let t=e.value,o=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));r||d.enqueue(o),i||f.enqueue(new Uint8Array(o))},()=>{}),Promise.resolve())}return l=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(t){if(r=!0,o=t,i){let t=readableStreamCancel(e,[o,s]);return c.resolve(),t}return c.promise}}),u=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(t){if(i=!0,s=t,r){let t=readableStreamCancel(e,[o,s]);return c.resolve(),t}return c.promise}}),d=l[N].controller,f=u[N].controller,t.closed.catch(e=>{d.error(e),f.error(e),(!r||!i)&&c.resolve()}),[l,u]}const it=Symbol(`kSkipThrow`);var TransformStream=class{[P]=`TransformStream`;[N];constructor(e={},t={},n={}){if(e!=null&&typeof e!=`object`)throw TypeError(`transformer must be an object`);if(t!=null&&typeof t!=`object`)throw TypeError(`writableStrategy must be an object`);if(n!=null&&typeof n!=`object`)throw TypeError(`readableStrategy must be an object`);let r=e?.readableType,i=e?.writableType,o=e?.start;if(r!==void 0)throw RangeError(`Invalid readableType: ${r}`);if(i!==void 0)throw RangeError(`Invalid writableType: ${i}`);let s=extractHighWaterMark(n?.highWaterMark,0),c=extractSizeAlgorithm(n?.size),l=extractHighWaterMark(t?.highWaterMark,1),u=extractSizeAlgorithm(t?.size),d=Promise.withResolvers();initializeTransformStream(this,d,l,u,s,c),setupTransformStreamDefaultControllerFromTransformer(this,e),o===void 0?d.resolve():d.resolve(o.call(e,this[N].controller))}get readable(){if(!at(this))throw TypeError(`Invalid this`);return this[N].readable}get writable(){if(!at(this))throw TypeError(`Invalid this`);return this[N].writable}get[Symbol.toStringTag](){return`TransformStream`}},TransformStreamDefaultController=class{[P]=`TransformStreamDefaultController`;[N];constructor(e){if(e!==it)throw TypeError(`Illegal constructor`)}get desiredSize(){if(!ot(this))throw TypeError(`Invalid this`);let{stream:e}=this[N],{readable:t}=e[N],n=t[N].controller;return readableStreamDefaultControllerGetDesiredSize(n)}enqueue(e){if(!ot(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerEnqueue(this,e)}error(e){if(!ot(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerError(this,e)}terminate(){if(!ot(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerTerminate(this)}get[Symbol.toStringTag](){return`TransformStreamDefaultController`}};const at=isBrandCheck(`TransformStream`),ot=isBrandCheck(`TransformStreamDefaultController`);async function defaultTransformAlgorithm(e,t){transformStreamDefaultControllerEnqueue(t,e)}function initializeTransformStream(e,t,n,r,i,o){let startAlgorithm=()=>t.promise,s=createWritableStream(startAlgorithm,t=>transformStreamDefaultSinkWriteAlgorithm(e,t),()=>transformStreamDefaultSinkCloseAlgorithm(e),t=>transformStreamDefaultSinkAbortAlgorithm(e,t),n,r);e[N]={readable:createReadableStream(startAlgorithm,()=>transformStreamDefaultSourcePullAlgorithm(e),t=>transformStreamDefaultSourceCancelAlgorithm(e,t),i,o),writable:s,controller:void 0,backpressure:void 0,backpressureChange:{promise:void 0,resolve:void 0,reject:void 0}},transformStreamSetBackpressure(e,!0)}function transformStreamError(e,t){let{readable:n}=e[N];readableStreamDefaultControllerError(n[N].controller,t),transformStreamErrorWritableAndUnblockWrite(e,t)}function transformStreamErrorWritableAndUnblockWrite(e,t){let{controller:n,writable:r}=e[N];transformStreamDefaultControllerClearAlgorithms(n),writableStreamDefaultControllerErrorIfNeeded(r[N].controller,t),transformStreamUnblockWrite(e)}function transformStreamUnblockWrite(e){e[N].backpressure&&transformStreamSetBackpressure(e,!1)}function transformStreamSetBackpressure(e,t){e[N].backpressureChange.promise!==void 0&&e[N].backpressureChange.resolve?.(),e[N].backpressureChange=Promise.withResolvers(),e[N].backpressure=t}function setupTransformStreamDefaultController(e,t,n,r,i){t[N]={stream:e,transformAlgorithm:n,flushAlgorithm:r,cancelAlgorithm:i,finishPromise:void 0},e[N].controller=t}function setupTransformStreamDefaultControllerFromTransformer(e,t){let n=new TransformStreamDefaultController(it),r=t?.transform,i=t?.flush,o=t?.cancel;setupTransformStreamDefaultController(e,n,r?createPromiseCallback(`transformer.transform`,r,t):defaultTransformAlgorithm,i?createPromiseCallback(`transformer.flush`,i,t):nonOpFlush,o?createPromiseCallback(`transformer.cancel`,o,t):nonOpCancel)}function transformStreamDefaultControllerClearAlgorithms(e){e[N].transformAlgorithm=void 0,e[N].flushAlgorithm=void 0,e[N].cancelAlgorithm=void 0}function transformStreamDefaultControllerEnqueue(e,t){let{stream:n}=e[N],{readable:r}=n[N],i=r[N].controller;if(!readableStreamDefaultControllerCanCloseOrEnqueue(i))throw TypeError(`Unable to enqueue`);try{readableStreamDefaultControllerEnqueue(i,t)}catch(e){throw transformStreamErrorWritableAndUnblockWrite(n,e),r[N].storedError}readableStreamDefaultControllerHasBackpressure(i)!==n[N].backpressure&&transformStreamSetBackpressure(n,!0)}function transformStreamDefaultControllerError(e,t){transformStreamError(e[N].stream,t)}async function transformStreamDefaultControllerPerformTransform(e,t){try{let n=e[N].transformAlgorithm;if(n===void 0)return;await n(t,e)}catch(t){throw transformStreamError(e[N].stream,t),t}}function transformStreamDefaultControllerTerminate(e){let{stream:t}=e[N],{readable:n}=t[N];readableStreamDefaultControllerClose(n[N].controller),transformStreamErrorWritableAndUnblockWrite(t,TypeError(`TransformStream has been terminated`))}function transformStreamDefaultSinkWriteAlgorithm(e,t){let{controller:n}=e[N];return e[N].backpressure?e[N].backpressureChange.promise.then(()=>{let{writable:r}=e[N];if(r[N].state===`erroring`)throw r[N].storedError;return transformStreamDefaultControllerPerformTransform(n,t)}):transformStreamDefaultControllerPerformTransform(n,t)}async function transformStreamDefaultSinkAbortAlgorithm(e,t){let{controller:n,readable:r}=e[N];if(n[N].finishPromise!==void 0)return n[N].finishPromise;let{promise:i,resolve:o,reject:s}=Promise.withResolvers();n[N].finishPromise=i;let c=n[N].cancelAlgorithm(t);return transformStreamDefaultControllerClearAlgorithms(n),c.then(()=>{r[N].state===`errored`?s(r[N].storedError):(readableStreamDefaultControllerError(r[N].controller,t),o())},e=>{readableStreamDefaultControllerError(r[N].controller,e),s(e)}),n[N].finishPromise}function transformStreamDefaultSinkCloseAlgorithm(e){let{readable:t,controller:n}=e[N];if(n[N].finishPromise!==void 0)return n[N].finishPromise;let{promise:r,resolve:i,reject:o}=Promise.withResolvers();n[N].finishPromise=r;let s=n[N].flushAlgorithm(n);return transformStreamDefaultControllerClearAlgorithms(n),s.then(()=>{t[N].state===`errored`?o(t[N].storedError):(readableStreamDefaultControllerClose(t[N].controller),i())},e=>{readableStreamDefaultControllerError(t[N].controller,e),o(e)}),n[N].finishPromise}function transformStreamDefaultSourcePullAlgorithm(e){return transformStreamSetBackpressure(e,!1),e[N].backpressureChange.promise}function transformStreamDefaultSourceCancelAlgorithm(e,t){let{controller:n,writable:r}=e[N];if(n[N].finishPromise!==void 0)return n[N].finishPromise;let{promise:i,resolve:o,reject:s}=Promise.withResolvers();n[N].finishPromise=i;let c=n[N].cancelAlgorithm(t);return transformStreamDefaultControllerClearAlgorithms(n),c.then(()=>{r[N].state===`errored`?s(r[N].storedError):(writableStreamDefaultControllerErrorIfNeeded(r[N].controller,t),transformStreamUnblockWrite(e),o())},t=>{writableStreamDefaultControllerErrorIfNeeded(r[N].controller,t),transformStreamUnblockWrite(e),s(t)}),n[N].finishPromise}const st=Object.defineProperty(e=>e.byteLength,"name",{value:`size`}),ct=Object.defineProperty(()=>1,"name",{value:`size`});var ByteLengthQueuingStrategy=class{#e;constructor(e){if(typeof e!=`object`||!e)throw TypeError(`init must be an object`);if(e.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+e.highWaterMark}get highWaterMark(){return this.#e}get size(){return st}get[Symbol.toStringTag](){return`ByteLengthQueuingStrategy`}},CountQueuingStrategy=class{#e;constructor(e){if(typeof e!=`object`||!e)throw TypeError(`init must be an object`);if(e.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+e.highWaterMark}get highWaterMark(){return this.#e}get size(){return ct}get[Symbol.toStringTag](){return`CountQueuingStrategy`}},TextEncoderStream=class{#e=null;#t=new TextEncoder;#n;constructor(){this.#n=new TransformStream({transform:(e,t)=>{if(e=String(e),e===``)return;this.#e!==null&&(e=this.#e+e);let n=e.charCodeAt(e.length-1);55296<=n&&n<=56319?(this.#e=e.slice(-1),e=e.slice(0,-1)):this.#e=null,e&&t.enqueue(this.#t.encode(e))},flush:e=>{this.#e!==null&&e.enqueue(new Uint8Array([239,191,189]))}})}get encoding(){return`utf-8`}get readable(){return this.#n.readable}get writable(){return this.#n.writable}};function hasStreamingSupport(){try{return new TextDecoder().decode(new Uint8Array([195]),{stream:!0}),!0}catch{return!1}}const lt=hasStreamingSupport();function incompleteUtf8Tail(e){let t=e.length;if(t===0)return 0;for(let n=1;n<=Math.min(3,t);n++){let r=e[t-n];if(!(r&128))return 0;if((r&192)!=128){let e;if((r&224)==192)e=2;else if((r&240)==224)e=3;else if((r&248)==240)e=4;else return 0;return n<e?n:0}}return 0}var TextDecoderStream=class{#e;#t;constructor(e,t){if(this.#e=new TextDecoder(e,t),lt)this.#t=new TransformStream({transform:(e,t)=>{let n=toUint8Array(e),r=this.#e.decode(n,{stream:!0});r&&t.enqueue(r)},flush:e=>{let t=this.#e.decode();t&&e.enqueue(t)},cancel:()=>{this.#e.decode()}});else{let e=new Uint8Array;this.#t=new TransformStream({transform:(t,n)=>{let r=toUint8Array(t),i;e.length>0?(i=new Uint8Array(e.length+r.length),i.set(e,0),i.set(r,e.length)):i=r;let o=incompleteUtf8Tail(i),s;if(o>0?(s=i.slice(0,i.length-o),e=i.slice(i.length-o)):(s=i,e=new Uint8Array),s.length>0){let e=this.#e.decode(s);e&&n.enqueue(e)}},flush:t=>{if(e.length>0){let n=this.#e.decode(e);n&&t.enqueue(n),e=new Uint8Array}},cancel:()=>{e=new Uint8Array}})}}get encoding(){return this.#e.encoding}get fatal(){return this.#e.fatal}get ignoreBOM(){return this.#e.ignoreBOM}get readable(){return this.#t.readable}get writable(){return this.#t.writable}};function toUint8Array(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError(`chunk must be a BufferSource`)}function isNativeStreamUsable$3(e,t){try{return typeof e==`function`?typeof e.prototype?.[t]==`function`:!1}catch{return!1}}__name(isNativeStreamUsable$3,`isNativeStreamUsable`);const ut=isNativeStreamUsable$3(globalThis.ReadableStream,`getReader`)?globalThis.ReadableStream:ReadableStream$1,dt=isNativeStreamUsable$3(globalThis.WritableStream,`getWriter`)?globalThis.WritableStream:WritableStream,ft=isNativeStreamUsable$3(globalThis.TransformStream,`readable`)?globalThis.TransformStream:TransformStream,pt=typeof globalThis.ByteLengthQueuingStrategy==`function`?globalThis.ByteLengthQueuingStrategy:ByteLengthQueuingStrategy,mt=typeof globalThis.CountQueuingStrategy==`function`?globalThis.CountQueuingStrategy:CountQueuingStrategy,ht=typeof globalThis.TextEncoderStream==`function`?globalThis.TextEncoderStream:TextEncoderStream,gt=typeof globalThis.TextDecoderStream==`function`?globalThis.TextDecoderStream:TextDecoderStream,_t=globalThis;globalThis.ByteLengthQueuingStrategy===void 0&&(_t.ByteLengthQueuingStrategy=pt),globalThis.CountQueuingStrategy===void 0&&(_t.CountQueuingStrategy=mt);const U=globalThis;function isNativeStreamUsable$2(e,t){try{return typeof e==`function`?typeof e.prototype?.[t]==`function`:!1}catch{return!1}}__name(isNativeStreamUsable$2,`isNativeStreamUsable`),isNativeStreamUsable$2(globalThis.ReadableStream,`getReader`)||(U.ReadableStream=ut),U.ReadableStreamBYOBReader===void 0&&(U.ReadableStreamBYOBReader=ReadableStreamBYOBReader),U.ReadableStreamBYOBRequest===void 0&&(U.ReadableStreamBYOBRequest=ReadableStreamBYOBRequest),U.ReadableByteStreamController===void 0&&(U.ReadableByteStreamController=ReadableByteStreamController),U.ReadableStreamDefaultController===void 0&&(U.ReadableStreamDefaultController=ReadableStreamDefaultController),U.ReadableStreamDefaultReader===void 0&&(U.ReadableStreamDefaultReader=ReadableStreamDefaultReader);const vt=globalThis;globalThis.TextEncoderStream===void 0&&(vt.TextEncoderStream=ht),globalThis.TextDecoderStream===void 0&&(vt.TextDecoderStream=gt);function isNativeStreamUsable$1(e,t){try{return typeof e==`function`?typeof e.prototype?.[t]==`function`:!1}catch{return!1}}if(__name(isNativeStreamUsable$1,`isNativeStreamUsable`),!isNativeStreamUsable$1(globalThis.TransformStream,`readable`)){let e=globalThis;e.TransformStream=ft}function isNativeStreamUsable(e,t){try{return typeof e==`function`?typeof e.prototype?.[t]==`function`:!1}catch{return!1}}if(!isNativeStreamUsable(globalThis.WritableStream,`getWriter`)){let e=globalThis;e.WritableStream=dt}const yt=[`Overview`,`Presentation`,`Boxed Lists`,`Controls`,`Buttons`,`Layout`,`View Switching`,`Navigation`,`Feedback`];function orderCategories(e){let t=new Map(yt.map((e,t)=>[e,t])),n=[...e].filter(e=>t.has(e));n.sort((e,n)=>t.get(e)-t.get(n));let r=e.filter(e=>!t.has(e));return[...n,...r]}var StoryRegistry=class{constructor(){this.modules=[]}registerStory(e){if(!e||!Array.isArray(e.stories)){g.warn(`Invalid story module provided to registerStory`);return}this.modules.push(e)}registerStories(e){if(!Array.isArray(e)){g.warn(`Invalid story modules array provided to registerStories`);return}let t=e.filter(e=>e&&Array.isArray(e.stories));this.modules.push(...t)}getStories(){return[...this.modules]}createStoryInstances(){for(let e of this.modules)this.instantiateStoriesForModule(e);return[...this.modules]}instantiateStoriesForModule(e){e.instances=[];let t=e.decorators??[];for(let n of e.stories)try{let r=new n,build=()=>{typeof r.initialize==`function`&&r.initialize()};t.reduceRight((e,t)=>()=>t(e,r),build)(),e.instances.push(r)}catch(e){g.error(`Failed to instantiate story: ${n.name||`Unknown`}`,e)}}},StorybookController=class{constructor(e,t){this._registry=new StoryRegistry,this._activeStory=null,this._unsubArgs=null,this._view=e,this._buildControls=t}mount(e,t=!0){this._registry.registerStories(e);let n=this._registry.createStoryInstances(),r=this._groupByCategory(n);if(this._view.renderSidebar(r,e=>this.select(e)),t){let e=r[0]?.stories[0]?.instance??null;e&&this.select(e)}}select(e){this._view.setPreviewTitle(`${e.meta.title} — ${e.story}`),this._view.showPreview(e),this._view.markSelected(e.meta.title),this._wireControls(e),this._activeStory=e}_wireControls(e){this._unsubArgs&&=(this._unsubArgs(),null);let t=this._buildControls(e),n=t.map(e=>e.refresh);this._view.renderControls(t),this._unsubArgs=e.onArgsChanged(e=>{for(let t of n)t(e)})}_groupByCategory(e){let t=new Map;for(let n of e)for(let e of n.instances??[]){let n=e.meta.title.split(`/`),r=n[0],i=n.length>1?n[1]:e.meta.title;t.has(r)||t.set(r,[]),t.get(r).push({instance:e,name:i||`Unnamed`})}return orderCategories([...t.keys()]).map(e=>({category:e,stories:t.get(e)}))}get activeStory(){return this._activeStory}listStories(){return this._registry.getStories().flatMap(e=>(e.instances??[]).map(e=>({title:e.meta.title,story:e.story,category:e.meta.title.split(`/`)[0],controls:e.meta.controls??[]})))}openStoryByTitle(e){let t=this._findByTitle(e);return t?(this.select(t),!0):!1}getCurrentStory(){let e=this._activeStory;return e?{title:e.meta.title,story:e.story,args:e.args}:null}setActiveArg(e,t){let n=this._activeStory;return n?(n.setArg(e,t),!0):!1}_findByTitle(e){for(let t of this._registry.getStories())for(let n of t.instances??[])if(n.meta.title===e)return n;return null}};let W=function(e){return e.TEXT=`text`,e.NUMBER=`number`,e.BOOLEAN=`boolean`,e.SELECT=`select`,e.RANGE=`range`,e.COLOR=`color`,e}({});function isStoryModule(e){return typeof e==`object`&&!!e&&Array.isArray(e.stories)}function argsFromControls(e=[]){let t={};for(let n of e)t[n.name]=defaultFor(n);return t}function defaultFor(e){if(e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`text`:return``;case`color`:return`#000000`;case`boolean`:return!1;case`number`:case`range`:return e.min??0;case`select`:return e.options[0]?.value??null;default:return null}}function controlLabel(e){return e.label||e.name}function bindControl(e,t,n){let r=t.name,i=t.description;switch(t.type){case W.TEXT:{let o=n.text(controlLabel(t),i),s=e.args[r];return o.set(typeof s==`string`?s:``),o.onChange(t=>e.setArg(r,t)),{view:o.node,refresh:e=>{let t=typeof e[r]==`string`?e[r]:``;o.get()!==t&&o.set(t)}}}case W.COLOR:{let o=n.color(controlLabel(t),i),s=e.args[r];return o.set(typeof s==`string`?s:`#000000`),o.onChange(t=>e.setArg(r,t)),{view:o.node,refresh:e=>{let t=typeof e[r]==`string`?e[r]:`#000000`;o.get()!==t&&o.set(t)}}}case W.BOOLEAN:{let o=n.boolean(controlLabel(t),i);return o.set(!!e.args[r]),o.onChange(t=>e.setArg(r,t)),{view:o.node,refresh:e=>{let t=!!e[r];o.get()!==t&&o.set(t)}}}case W.NUMBER:{let i=n.number(t),o=e.args[r];return i.set(typeof o==`number`?o:t.min??0),i.onChange(t=>e.setArg(r,t)),{view:i.node,refresh:e=>{let t=typeof e[r]==`number`?e[r]:0;i.get()!==t&&i.set(t)}}}case W.RANGE:{let i=n.range(t),o=e.args[r],s=typeof o==`number`?o:t.min??0;return i.set(s),i.onChange(t=>e.setArg(r,t)),{view:i.node,refresh:e=>{let t=typeof e[r]==`number`?e[r]:s;i.get()!==t&&i.set(t)}}}case W.SELECT:{let i=t.options;if(!i?.length)return g.warn(`SELECT control "${r}" has no options`),null;let o=n.select(t),s=e.args[r],c=Math.max(0,i.findIndex(e=>e.value===s));return o.set(c),o.onChange(t=>{t>=0&&t<i.length&&e.setArg(r,i[t].value)}),{view:o.node,refresh:e=>{let t=e[r],n=i.findIndex(e=>e.value===t);n>=0&&o.get()!==n&&o.set(n)}}}default:return g.warn(`Unsupported control type: ${t.type}`),null}}function buildStorybookDevtoolsExtension(e){let currentStory=()=>e.getCurrentStory();return{methods:[{name:`ListStories`,kind:`read-only`,handler:(()=>JSON.stringify(e.listStories(),null,2))},{name:`GetCurrentStory`,kind:`read-only`,handler:(()=>JSON.stringify(currentStory(),null,2))},{name:`OpenStory`,kind:`mutating`,handler:(t=>e.openStoryByTitle(t))},{name:`SetStoryArg`,kind:`mutating`,handler:((t,n)=>e.setActiveArg(t,n?JSON.parse(n):null))},{name:`GetStoryArgs`,kind:`read-only`,handler:(()=>JSON.stringify(currentStory()?.args??{},null,2))}],contributeStatus:()=>{let t=currentStory(),n=e.listStories();return{storybook:{currentStory:t?{title:t.title,story:t.story}:null,storyCount:n.length}}}}}function collectStoryModules$1(e){let t=[];for(let n of e)if(!(!n||typeof n!=`object`))for(let e of Object.values(n))isStoryModule(e)&&t.push(e);return t}__name(collectStoryModules$1,`collectStoryModules`);var StoryViewBase=class{constructor(){this._listeners=new Set}initBase(e,t,n){this._meta=e,this._story=t,this._args=argsFromControls(e.controls),this._chrome=this.createChrome(e,n),this.refreshChromeText()}get meta(){return this._meta}get story(){return this._story}get args(){return this._args}get root(){return this._chrome.root}set args(e){this._args!==e&&(this._args=e,this.updateArgs(e),this.emitArgs(e))}emitArgs(e){for(let t of this._listeners)t(e)}onArgsChanged(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}setArg(e,t){this.args={...this._args,[e]:t}}initialize(){}updateArgs(e){}teardown(){}addContent(e){this._chrome.hasStage&&this._chrome.setStageContent(e)}refreshChromeText(){let e=this._story?`${this._meta.title} — ${this._story}`:this._meta.title;this._chrome.setChromeText(e,this._meta.description??``)}};const bt=[`system`,`light`,`dark`];var StorybookSettings=class{constructor(e=()=>!1){this._colorScheme=`system`,this._accentMode=`system`,this._accent=`blue`,this._listeners=new Set,this._systemDark=e}get colorScheme(){return this._colorScheme}set colorScheme(e){!bt.includes(e)||e===this._colorScheme||(this._colorScheme=e,this._notify())}get accentMode(){return this._accentMode}set accentMode(e){e!==this._accentMode&&(this._accentMode=e,this._notify())}get accent(){return this._accent}set accent(e){e!==this._accent&&(this._accent=e,this._notify())}get resolvedAccent(){return this._accentMode===`custom`?this._accent:null}get resolvedDark(){return this._colorScheme===`dark`?!0:this._colorScheme===`light`?!1:this._systemDark()}get state(){return{colorScheme:this._colorScheme,accentMode:this._accentMode,accent:this._accent}}subscribe(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}systemChanged(){this._colorScheme===`system`&&this._notify()}_notify(){let e=this.state;for(let t of[...this._listeners])try{t(e)}catch{}}};const xt={ListStories:`<method name="ListStories"><arg type="s" direction="out" name="stories_json"/></method>`,GetCurrentStory:`<method name="GetCurrentStory"><arg type="s" direction="out" name="story_json"/></method>`,OpenStory:`<method name="OpenStory"><arg type="s" direction="in" name="title"/><arg type="b" direction="out" name="opened"/></method>`,SetStoryArg:`<method name="SetStoryArg"><arg type="s" direction="in" name="name"/><arg type="s" direction="in" name="value_json"/><arg type="b" direction="out" name="applied"/></method>`,GetStoryArgs:`<method name="GetStoryArgs"><arg type="s" direction="out" name="args_json"/></method>`};function storybookDevtoolsExtension(e){let t=buildStorybookDevtoolsExtension(e.controller),n=[],r={},i={};for(let e of t.methods){let t=xt[e.name];t&&n.push(t),r[e.name]=e.handler,i[e.name]=e.kind}return{methodsXml:n,handlers:r,methodKinds:i,contributeStatus:t.contributeStatus}}function variantKindFor(e,t){switch(e){case`s`:case`b`:case`i`:case`u`:case`d`:return e}if(typeof t==`string`)return`s`;if(typeof t==`boolean`)return`b`;if(typeof t==`number`)return Number.isInteger(t)?`i`:`d`;throw Error(`Cannot build a GLib.Variant from ${typeof t}`)}function buildVariant(e,t){switch(variantKindFor(e?.dup_string()??null,t)){case`s`:return x.Variant.new_string(String(t));case`b`:return x.Variant.new_boolean(!!t);case`i`:return x.Variant.new_int32(Number(t));case`u`:return x.Variant.new_uint32(Number(t));case`d`:return x.Variant.new_double(Number(t))}}function describeActions(e){return e?e.list_actions().sort((e,t)=>e.localeCompare(t)).map(t=>({name:t,enabled:e.get_action_enabled(t),parameterType:e.get_action_parameter_type(t)?.dup_string()??null,stateType:e.get_action_state_type(t)?.dup_string()??null})):[]}function activateAction(e,t,n){let r=e.get_action_parameter_type(t),i=n==null?null:buildVariant(r,n);e.activate_action(t,i)}function changeActionState(e,t,n){e.change_action_state(t,buildVariant(e.get_action_state_type(t),n))}var G=t,K=n;const St=new Map;function swapCss(e,t){let n=G.Display.get_default();if(!n)return!1;let r=St.get(e);return r||(r=new K.CssProvider,K.StyleContext.add_provider_for_display(n,r,K.STYLE_PROVIDER_PRIORITY_USER+1),St.set(e,r)),r.load_from_string(t),!0}function dumpCss(){return{providers:[...St.keys()]}}const Ct=`org.gjsify.Devtools`;function formatDbusErrorMessage(e,t){return`${e}: ${t}`}const wt={GetStatus:`read-only`,Screenshot:`read-only`,ListActions:`read-only`,ActivateAction:`mutating`,ChangeActionState:`mutating`,PresentWindow:`read-only`,ResizeWindow:`mutating`,ListToplevels:`read-only`,DumpTree:`read-only`,GetProperty:`read-only`,GetFocused:`read-only`,FindWidget:`read-only`,SendKey:`mutating`,ActivateWidget:`mutating`,DumpGSettings:`read-only`,DumpCss:`read-only`,SwapCss:`mutating`};function sanitizeInstanceId(e){let t=e.toLowerCase().replace(/[^a-z0-9]/g,``);return/^[a-z]/.test(t)?t:`i${t||`0`}`}function appIdToObjectPath(e){return`/${e.replace(/\./g,`/`).replace(/-/g,`_`)}`}function resolveBusAddress(e,t){let n=appIdToObjectPath(e),r=t&&t!=="default"?sanitizeInstanceId(t):`default`;return r==="default"?{busName:e,objectPath:`${n}/devtools`,instance:`default`}:{busName:`${e}.${r}`,objectPath:`${n}/${r}/devtools`,instance:r}}const q=`GJSIFY_DEVTOOLS_ADDRESS`;function isDevtoolsEnabledValue(e){if(e==null)return!1;let t=e.toLowerCase();return t!==``&&t!==`0`&&t!==`false`}function devtoolsAddressFilePath(e,t,n){let{busName:r}=resolveBusAddress(t,n);return`${e}/gjsify-devtools/${r}.address`}function buildDevtoolsIfaceXml(e=[]){return`<node>
7
- <interface name="${Ct}">
8
+ `+t)}profile(e){}profileEnd(e){}timeStamp(e){}};const g=new Console,log=(...e)=>g.log(...e),info=(...e)=>g.info(...e),debug=(...e)=>g.debug(...e),warn=(...e)=>g.warn(...e),error=(...e)=>g.error(...e),dir=(e,t)=>g.dir(e,t),dirxml=(...e)=>g.dirxml(...e),table=(e,t)=>g.table(e,t),clear=()=>g.clear(),assert=(e,...t)=>g.assert(e,...t),trace=(...e)=>g.trace(...e),time=e=>g.time(e),timeEnd=e=>g.timeEnd(e),timeLog=(e,...t)=>g.timeLog(e,...t),count=e=>g.count(e),countReset=e=>g.countReset(e),group=(...e)=>g.group(...e),groupCollapsed=(...e)=>g.groupCollapsed(...e),groupEnd=()=>g.groupEnd(),profile=e=>{},profileEnd=e=>{},timeStamp=e=>{},_={log,info,debug,warn,error,dir,dirxml,table,time,timeEnd,timeLog,trace,assert,clear,count,countReset,group,groupCollapsed,groupEnd,profile,profileEnd,timeStamp},v=__name(e=>{Promise.resolve().then(e)},`queueMicrotask`);function mapSysname(e){let t=e.trim();switch(t){case`Linux`:return`linux`;case`Darwin`:return`darwin`;case`FreeBSD`:return`freebsd`;case`OpenBSD`:return`openbsd`;case`NetBSD`:return`netbsd`;case`SunOS`:return`sunos`;case`AIX`:return`aix`;case`Haiku`:return`haiku`;default:return/^CYGWIN/i.test(t)?`cygwin`:/^(MINGW|MSYS|Windows)/i.test(t)?`win32`:void 0}}function mapMachine(e){let t=e.trim().toLowerCase();switch(t){case`x86_64`:case`amd64`:return`x64`;case`aarch64`:case`arm64`:return`arm64`;case`i386`:case`i486`:case`i586`:case`i686`:return`ia32`;case`ppc64le`:case`ppc64`:return`ppc64`;case`s390x`:return`s390x`;case`riscv64`:return`riscv64`;case`loongarch64`:return`loong64`;case`mipsel`:return`mipsel`;case`mips`:return`mips`;default:return t.startsWith(`arm`)?`arm`:void 0}}const{toString:ee}=Object.prototype;function classOf(e){return ee.call(e).slice(8,-1)}function throwDataCloneError(e){let t=globalThis.DOMException;if(typeof t==`function`)throw new t(e,`DataCloneError`);let n=Error(e);throw n.name=`DataCloneError`,n}const te={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},ne=new Set([`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function internalClone(e,t,n){if(e==null)return e;let r=typeof e;if(r===`boolean`||r===`number`||r===`string`||r===`bigint`)return e;r===`symbol`&&throwDataCloneError(`Symbol cannot be cloned`),r===`function`&&throwDataCloneError(`Function cannot be cloned`);let i=e;if(t.has(i))return t.get(i);let o=classOf(i);if(o===`Date`)return new Date(i.getTime());if(o===`RegExp`)return new RegExp(i.source,i.flags);if(o===`Boolean`||o===`Number`||o===`String`)return Object(i.valueOf());if(o===`BigInt`)return Object(BigInt.prototype.valueOf.call(i));if(i instanceof Error){let e=i,r=e.constructor?.name,o=new(r&&te[r]||te[e.name]||Error)(e.message);return o.name=e.name,`cause`in e&&Object.defineProperty(o,"cause",{value:internalClone(e.cause,t,n),writable:!0,enumerable:!1,configurable:!0}),o}if(o===`DOMException`){let e=globalThis.DOMException;if(typeof e==`function`){let t=i;return new e(t.message,t.name)}}if(o===`ArrayBuffer`){let e=i;if(n&&n.transferred.has(e)){let r=n.transferred.get(e);return t.set(i,r),r}(e.detached===!0||e.byteLength===0&&e.detached)&&throwDataCloneError(`ArrayBuffer is detached and cannot be cloned`);let r=e.slice(0);return t.set(i,r),r}if(o===`SharedArrayBuffer`||i&&typeof i==`object`&&i.constructor?.name===`SharedBuffer`)return i;if(o===`DataView`){let e=i,r=n?.viewSnapshots.get(i),o=internalClone(e.buffer,t,n),s=r?r.byteOffset:e.byteOffset,c=r?r.byteLength:e.byteLength,l=new DataView(o,s,c);return t.set(i,l),l}if(ne.has(o)){let e=i,r=n?.viewSnapshots.get(i),o=internalClone(e.buffer,t,n),s=e.constructor,c=new s(o,r?r.byteOffset:e.byteOffset,r?r.length:e.length);return t.set(i,c),c}if(o===`Map`){let e=new Map;t.set(i,e);for(let[r,o]of i)e.set(internalClone(r,t,n),internalClone(o,t,n));return e}if(o===`Set`){let e=new Set;t.set(i,e);for(let r of i)e.add(internalClone(r,t,n));return e}{let e=globalThis,t=e.Blob,n=e.File;if(typeof n==`function`&&i instanceof n){let e=i;return new n([i],e.name,{type:e.type,lastModified:e.lastModified})}if(typeof t==`function`&&i instanceof t)return new t([i],{type:i.type})}if(i instanceof WeakMap&&throwDataCloneError(`WeakMap cannot be cloned`),i instanceof WeakSet&&throwDataCloneError(`WeakSet cannot be cloned`),i instanceof WeakRef&&throwDataCloneError(`WeakRef cannot be cloned`),typeof globalThis.Promise==`function`&&i instanceof Promise&&throwDataCloneError(`Promise cannot be cloned`),o===`Array`){let e=i,r=[];t.set(i,r);for(let i=0;i<e.length;i++)i in e&&(r[i]=internalClone(e[i],t,n));return r}if(o===`Object`||typeof i==`object`){let e={};t.set(i,e);for(let r of Object.keys(i))e[r]=internalClone(i[r],t,n);return e}throwDataCloneError(`${o} cannot be cloned`)}function structuredClone$1(e,t){let n=t?.transfer;if(!n||n.length===0)return internalClone(e,new Map);let r=new Set;for(let e of n)if(classOf(e)===`ArrayBuffer`){let t=e;t.detached===!0&&throwDataCloneError(`ArrayBuffer in transfer list is detached`),r.add(t)}let i=new Map;r.size>0&&snapshotViewsBackedByTransferredBuffers(e,r,i,new Set);let o=new Map;for(let e of r){let t=e;typeof t.transfer!=`function`&&throwDataCloneError(`ArrayBuffer.prototype.transfer() not available — runtime is not SM140+`),o.set(e,t.transfer())}return internalClone(e,new Map,{transferred:o,viewSnapshots:i})}__name(structuredClone$1,`structuredClone`);function snapshotViewsBackedByTransferredBuffers(e,t,n,r){if(typeof e!=`object`||!e)return;let i=e;if(r.has(i))return;r.add(i);let o=classOf(i);if(o===`DataView`){let e=i;t.has(e.buffer)&&n.set(i,{byteOffset:e.byteOffset,length:0,byteLength:e.byteLength});return}if(ne.has(o)){let e=i;t.has(e.buffer)&&n.set(i,{byteOffset:e.byteOffset,length:e.length,byteLength:e.byteLength});return}if(Array.isArray(i)){for(let e=0;e<i.length;e++)e in i&&snapshotViewsBackedByTransferredBuffers(i[e],t,n,r);return}if(o===`Map`){for(let[e,o]of i)snapshotViewsBackedByTransferredBuffers(e,t,n,r),snapshotViewsBackedByTransferredBuffers(o,t,n,r);return}if(o===`Set`){for(let e of i)snapshotViewsBackedByTransferredBuffers(e,t,n,r);return}if(o===`Object`)for(let e of Object.keys(i))snapshotViewsBackedByTransferredBuffers(i[e],t,n,r)}function hostGlib(){try{return globalThis.imports?.gi?.GLib}catch{return}}function readText(e,t){try{let[n,r]=e.file_get_contents(t);return!n||!r?null:new TextDecoder().decode(r)}catch{return null}}function shellOut(e,t){try{let[n,r]=e.spawn_command_line_sync(t);if(!n||!r)return null;let i=new TextDecoder().decode(r).trim();return i.length>0?i:null}catch{return null}}function hasProcfs(){let e=hostGlib();if(!e)return!1;try{return e.file_test(`/proc/self/status`,16)}catch{return!1}}let y=null;function hostPid(){if(y!==null)return y>0?y:void 0;let e=hostGlib();if(!e)return;let t=0,n=hasProcfs()?readText(e,`/proc/self/stat`):null;if(n)t=parseInt(n,10);else{let n=shellOut(e,`sh -c 'echo $PPID'`);n&&(t=parseInt(n,10))}return y=Number.isInteger(t)&&t>0?t:0,y>0?y:void 0}function hostPpid(){let e=hostGlib();if(!e)return;let t=hasProcfs()?readText(e,`/proc/self/status`):null;if(t){let e=/PPid:\s+(\d+)/.exec(t);if(e){let t=parseInt(e[1],10);return Number.isInteger(t)?t:void 0}}let n=hostPid();if(n===void 0)return;let r=shellOut(e,`ps -o ppid= -p ${n}`);if(!r)return;let i=parseInt(r,10);return Number.isInteger(i)?i:void 0}function hostExecPath(){let e=hostGlib();if(e){if(hasProcfs())try{let t=e.file_read_link(`/proc/self/exe`);if(t)return t}catch{}try{let t=e.get_prgname();if(t){let n=e.find_program_in_path(t);if(n)return n}}catch{return}}}function readProcessMemory(){let e=hostGlib();if(!e)return null;let t=hasProcfs()?readText(e,`/proc/self/status`):null;if(t){let e=new Map;for(let n of t.split(`
9
+ `)){let t=/^(\w+):\s+(\d+)(\s+kB)?/.exec(n);t&&e.set(t[1],parseInt(t[2],10)*(t[3]?1024:1))}if(e.size>0)return{virtual:e.get(`VmSize`)??0,resident:e.get(`VmRSS`)??0,data:e.get(`VmData`)??0,peak:e.get(`VmPeak`)??0}}let n=shellOut(e,`sh -c 'ps -o rss=,vsz= -p $PPID'`);if(!n)return null;let r=/^(\d+)\s+(\d+)$/.exec(n);return r?{virtual:parseInt(r[2],10)*1024,resident:parseInt(r[1],10)*1024,data:0,peak:0}:null}let b=null,re=!1,ie=!1;function glib(){return globalThis.imports?.gi?.GLib}function arm(e){ie||(ie=!0,e.runAsync().catch(()=>{}))}function ensureMainLoop(){let e=glib();if(e)return re?b:(b=new e.MainLoop(null,!1),re=!0,e.main_depth()===0&&arm(b),b)}function quitMainLoop(){b&&=(b.quit(),re=!1,ie=!1,null)}registerGlobal(`Blob`,f),registerGlobal(`File`,p);const x=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,ae=new Uint8Array(256);for(let e=0;e<64;e++)ae[x.charCodeAt(e)]=e;function btoaPolyfill(e){if(typeof globalThis.btoa==`function`)return globalThis.btoa(e);let t=``,n=0;for(;n+2<e.length;n+=3){let r=e.charCodeAt(n)<<16|e.charCodeAt(n+1)<<8|e.charCodeAt(n+2);t+=x[r>>18&63]+x[r>>12&63]+x[r>>6&63]+x[r&63]}if(n+1===e.length){let r=e.charCodeAt(n)<<16;t+=x[r>>18&63]+x[r>>12&63]+`==`}else if(n+2===e.length){let r=e.charCodeAt(n)<<16|e.charCodeAt(n+1)<<8;t+=x[r>>18&63]+x[r>>12&63]+x[r>>6&63]+`=`}return t}function base64Decode(e){let t=e.replace(/[=\s]/g,``),n=new Uint8Array(t.length*3>>2),r=0,i=0,o=0;for(let e=0;e<t.length;e++)r=r<<6|ae[t.charCodeAt(e)],i+=6,i>=8&&(i-=8,n[o++]=r>>i&255);return n.subarray(0,o)}function base64Encode(e){let t=``,n=e.length;for(let r=0;r<n;r+=3){let i=e[r],o=r+1<n?e[r+1]:0,s=r+2<n?e[r+2]:0;t+=x[i>>2],t+=x[(i&3)<<4|o>>4],t+=r+1<n?x[(o&15)<<2|s>>6]:`=`,t+=r+2<n?x[s&63]:`=`}return t}const oe=[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`];function normalizeEncoding(e){if(!e||e===`utf8`||e===`utf-8`)return`utf8`;switch((``+e).toLowerCase().replace(/-/g,``)){case`utf8`:return`utf8`;case`ascii`:return`ascii`;case`latin1`:case`binary`:return`latin1`;case`base64`:return`base64`;case`base64url`:return`base64url`;case`hex`:return`hex`;case`ucs2`:case`utf16le`:return`utf16le`;default:return`utf8`}}function checkEncoding(e){let t=(``+e).toLowerCase().replace(/-/g,``);if(!oe.includes(t))throw TypeError(`Unknown encoding: ${e}`)}let se,ce;const textEncoder=()=>se??=new TextEncoder,textDecoder=()=>ce??=new TextDecoder;function encodeString(e,t){switch(t){case`utf8`:return textEncoder().encode(e);case`ascii`:{let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&127;return t}case`latin1`:{let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t}case`base64`:return base64Decode(e.replace(/-/g,`+`).replace(/_/g,`/`));case`base64url`:return encodeString(e.replace(/-/g,`+`).replace(/_/g,`/`),`base64`);case`hex`:{let t=e.length>>>1,n=new Uint8Array(t);for(let r=0;r<t;r++){let t=parseInt(e[r*2],16),i=parseInt(e[r*2+1],16);if(Number.isNaN(t)||Number.isNaN(i))break;n[r]=t<<4|i}return n}case`utf16le`:{let t=new Uint8Array(e.length*2);for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t[n*2]=r&255,t[n*2+1]=r>>8&255}return t}default:return textEncoder().encode(e)}}function decodeString(e,t,n,r){let i=n!==void 0||r!==void 0?e.subarray(n??0,r??e.length):e;switch(t){case`utf8`:return textDecoder().decode(i);case`ascii`:{let e=``;for(let t=0;t<i.length;t++)e+=String.fromCharCode(i[t]&127);return e}case`latin1`:{let e=``;for(let t=0;t<i.length;t++)e+=String.fromCharCode(i[t]);return e}case`base64`:{let e=``;for(let t=0;t<i.length;t++)e+=String.fromCharCode(i[t]);return btoaPolyfill(e)}case`base64url`:return decodeString(i,`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``);case`hex`:{let e=``;for(let t=0;t<i.length;t++)e+=i[t].toString(16).padStart(2,`0`);return e}case`utf16le`:{let e=``;for(let t=0;t+1<i.length;t+=2)e+=String.fromCharCode(i[t]|i[t+1]<<8);return e}default:return textDecoder().decode(i)}}function checkOffset(e,t,n){if(e+t>n)throw RangeError(`Attempt to access memory outside buffer bounds`)}const le=typeof SharedArrayBuffer<`u`;var ue=class Buffer extends Uint8Array{static _isBuffer=!0;static alloc(e,t,n){if(typeof e!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof e}`);if(e<0)throw RangeError(`The value "${e}" is invalid for option "size"`);let r=new Buffer(e);return t!==void 0&&t!==0&&r.fill(t,0,e,n),r}static allocUnsafe(e){if(typeof e!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof e}`);return new Buffer(e)}static allocUnsafeSlow(e){return Buffer.allocUnsafe(e)}static from(e,t,n){if(typeof e==`string`){let n=normalizeEncoding(t);if(t&&typeof t==`string`){let e=(``+t).toLowerCase().replace(/-/g,``);[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`,``].includes(e)||checkEncoding(t)}let r=encodeString(e,n);return new Buffer(r.buffer,r.byteOffset,r.byteLength)}if(ArrayBuffer.isView(e)){let t=new Buffer(e.buffer,e.byteOffset,e.byteLength),n=new Buffer(t.length);return n.set(t),n}if(e instanceof ArrayBuffer){let r=t||0,i=n===void 0?e.byteLength-r:n;return new Buffer(e,r,i)}if(le&&e instanceof SharedArrayBuffer){let r=t||0,i=n===void 0?e.byteLength-r:n;return new Buffer(new Uint8Array(e,r,i))}if(typeof e==`object`&&e&&typeof e.viewBytes==`function`&&typeof e.byteLength==`number`&&e.constructor?.name===`SharedBuffer`){let r=e,i=t||0,o=n===void 0?r.byteLength-i:n,s=r.viewBytes(i,o);return new Buffer(s.buffer,s.byteOffset,s.byteLength)}if(Array.isArray(e)){let t=new Buffer(e.length);for(let n=0;n<e.length;n++)t[n]=e[n]&255;return t}throw TypeError(`The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array`)}static isBuffer(e){return e instanceof Buffer}static isEncoding(e){if(typeof e!=`string`)return!1;let t=e.toLowerCase().replace(/-/g,``);return[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`].includes(t)}static byteLength(e,t){if(typeof e!=`string`){if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer||le&&e instanceof SharedArrayBuffer)return e.byteLength;throw TypeError(`The "string" argument must be one of type string, Buffer, or ArrayBuffer`)}switch(normalizeEncoding(t)){case`utf8`:return new TextEncoder().encode(e).byteLength;case`ascii`:case`latin1`:return e.length;case`base64`:case`base64url`:{let t=e.length;for(;t>0&&(e[t-1]===`=`||e[t-1]===` `);)t--;return t*3>>>2}case`hex`:return e.length>>>1;case`utf16le`:return e.length*2;default:return new TextEncoder().encode(e).byteLength}}static compare(e,t){if(!(e instanceof Uint8Array)||!(t instanceof Uint8Array))throw TypeError(`Arguments must be Buffers or Uint8Arrays`);let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length<t.length?-1:+(e.length>t.length)}static concat(e,t){if(e.length===0)return Buffer.alloc(0);if(t===void 0){t=0;for(let n=0;n<e.length;n++)t+=e[n].length}let n=Buffer.alloc(t),r=0;for(let i=0;i<e.length;i++){let o=e[i],s=Math.min(o.length,t-r);s<=0||(n.set(o.subarray(0,s),r),r+=s)}return n}static poolSize=65536;toString(e,t,n){let r=normalizeEncoding(e);return decodeString(this,r,t,n)}toJSON(){return{type:`Buffer`,data:Array.from(this)}}equals(e){if(!(e instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);if(this.length!==e.length)return!1;for(let t=0;t<this.length;t++)if(this[t]!==e[t])return!1;return!0}compare(e,t,n,r,i){if(!(e instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);let o=r!==void 0||i!==void 0?this.subarray(r??0,i??this.length):this,s=t!==void 0||n!==void 0?e.subarray(t??0,n??e.length):e;return Buffer.compare(o,s)}copy(e,t=0,n=0,r){let i=r??this.length,o=Math.min(i-n,e.length-t);return o<=0?0:(e.set(this.subarray(n,n+o),t),o)}slice(e,t){let n=e??0,r=t??this.length,i=super.subarray(n,r);return new Buffer(i.buffer,i.byteOffset,i.byteLength)}subarray(e,t){let n=super.subarray(e,t);return new Buffer(n.buffer,n.byteOffset,n.byteLength)}write(e,t,n,r){t??=0;let i=encodeString(e,normalizeEncoding(r||(typeof n==`string`?n:void 0))),o=n!==void 0&&typeof n==`number`?Math.min(n,this.length-t):this.length-t,s=Math.min(i.length,o);return this.set(i.subarray(0,s),t),s}fill(e,t,n,r){let i=t??0,o=n??this.length;if(typeof e==`number`)super.fill(e&255,i,o);else if(typeof e==`string`){let t=encodeString(e,normalizeEncoding(r));if(t.length===0)super.fill(0,i,o);else if(t.length===1)super.fill(t[0],i,o);else for(let e=i;e<o;e++)this[e]=t[(e-i)%t.length]}else if(e instanceof Uint8Array)if(e.length===0)super.fill(0,i,o);else for(let t=i;t<o;t++)this[t]=e[(t-i)%e.length];return this}indexOf(e,t,n){if(typeof e==`number`)return super.indexOf(e&255,t);let r=typeof e==`string`?encodeString(e,normalizeEncoding(n)):e,i=t??0;outer:for(let e=i;e<=this.length-r.length;e++){for(let t=0;t<r.length;t++)if(this[e+t]!==r[t])continue outer;return e}return-1}lastIndexOf(e,t,n){if(typeof e==`number`)return t===void 0?super.lastIndexOf(e&255):super.lastIndexOf(e&255,t);let r=typeof e==`string`?encodeString(e,normalizeEncoding(n)):e,i=t===void 0?this.length-r.length:Math.min(t,this.length-r.length);outer:for(let e=i;e>=0;e--){for(let t=0;t<r.length;t++)if(this[e+t]!==r[t])continue outer;return e}return-1}includes(e,t,n){return this.indexOf(e,t,n)!==-1}readUInt8(e=0){return checkOffset(e,1,this.length),this[e]}readUInt16BE(e=0){return checkOffset(e,2,this.length),this[e]<<8|this[e+1]}readUInt16LE(e=0){return checkOffset(e,2,this.length),this[e]|this[e+1]<<8}readUInt32BE(e=0){return checkOffset(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])}readUInt32LE(e=0){return checkOffset(e,4,this.length),this[e+3]*16777216+(this[e+2]<<16|this[e+1]<<8|this[e])>>>0}readInt8(e=0){return checkOffset(e,1,this.length),this[e]|(this[e]&128?4294967040:0)}readInt16BE(e=0){checkOffset(e,2,this.length);let t=this[e]<<8|this[e+1];return t&32768?t|4294901760:t}readInt16LE(e=0){checkOffset(e,2,this.length);let t=this[e]|this[e+1]<<8;return t&32768?t|4294901760:t}readInt32BE(e=0){return checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]}readInt32LE(e=0){return checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24}readFloatBE(e=0){return checkOffset(e,4,this.length),new DataView(this.buffer,this.byteOffset+e,4).getFloat32(0,!1)}readFloatLE(e=0){return checkOffset(e,4,this.length),new DataView(this.buffer,this.byteOffset+e,4).getFloat32(0,!0)}readDoubleBE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getFloat64(0,!1)}readDoubleLE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getFloat64(0,!0)}readBigInt64BE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigInt64(0,!1)}readBigInt64LE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigInt64(0,!0)}readBigUInt64BE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigUint64(0,!1)}readBigUInt64LE(e=0){return checkOffset(e,8,this.length),new DataView(this.buffer,this.byteOffset+e,8).getBigUint64(0,!0)}readUIntBE(e,t){checkOffset(e,t,this.length);let n=0;for(let r=0;r<t;r++)n=n*256+this[e+r];return n}readUIntLE(e,t){checkOffset(e,t,this.length);let n=0,r=1;for(let i=0;i<t;i++)n+=this[e+i]*r,r*=256;return n}readIntBE(e,t){checkOffset(e,t,this.length);let n=0;for(let r=0;r<t;r++)n=n*256+this[e+r];return n>=2**(8*t-1)&&(n-=2**(8*t)),n}readIntLE(e,t){checkOffset(e,t,this.length);let n=0,r=1;for(let i=0;i<t;i++)n+=this[e+i]*r,r*=256;return n>=2**(8*t-1)&&(n-=2**(8*t)),n}writeUInt8(e,t=0){return checkOffset(t,1,this.length),this[t]=e&255,t+1}writeUInt16BE(e,t=0){return checkOffset(t,2,this.length),this[t]=e>>>8&255,this[t+1]=e&255,t+2}writeUInt16LE(e,t=0){return checkOffset(t,2,this.length),this[t]=e&255,this[t+1]=e>>>8&255,t+2}writeUInt32BE(e,t=0){return checkOffset(t,4,this.length),this[t]=e>>>24&255,this[t+1]=e>>>16&255,this[t+2]=e>>>8&255,this[t+3]=e&255,t+4}writeUInt32LE(e,t=0){return checkOffset(t,4,this.length),this[t]=e&255,this[t+1]=e>>>8&255,this[t+2]=e>>>16&255,this[t+3]=e>>>24&255,t+4}writeInt8(e,t=0){return checkOffset(t,1,this.length),e<0&&(e=255+e+1),this[t]=e&255,t+1}writeInt16BE(e,t=0){return checkOffset(t,2,this.length),this[t]=e>>>8&255,this[t+1]=e&255,t+2}writeInt16LE(e,t=0){return checkOffset(t,2,this.length),this[t]=e&255,this[t+1]=e>>>8&255,t+2}writeInt32BE(e,t=0){return checkOffset(t,4,this.length),this[t]=e>>>24&255,this[t+1]=e>>>16&255,this[t+2]=e>>>8&255,this[t+3]=e&255,t+4}writeInt32LE(e,t=0){return checkOffset(t,4,this.length),this[t]=e&255,this[t+1]=e>>>8&255,this[t+2]=e>>>16&255,this[t+3]=e>>>24&255,t+4}writeFloatBE(e,t=0){return checkOffset(t,4,this.length),new DataView(this.buffer,this.byteOffset+t,4).setFloat32(0,e,!1),t+4}writeFloatLE(e,t=0){return checkOffset(t,4,this.length),new DataView(this.buffer,this.byteOffset+t,4).setFloat32(0,e,!0),t+4}writeDoubleBE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setFloat64(0,e,!1),t+8}writeDoubleLE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setFloat64(0,e,!0),t+8}writeBigInt64BE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setBigInt64(0,e,!1),t+8}writeBigInt64LE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setBigInt64(0,e,!0),t+8}writeBigUInt64BE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setBigUint64(0,e,!1),t+8}writeBigUInt64LE(e,t=0){return checkOffset(t,8,this.length),new DataView(this.buffer,this.byteOffset+t,8).setBigUint64(0,e,!0),t+8}swap16(){let e=this.length;if(e%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let t=0;t<e;t+=2){let e=this[t];this[t]=this[t+1],this[t+1]=e}return this}swap32(){let e=this.length;if(e%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let t=0;t<e;t+=4){let e=this[t],n=this[t+1];this[t]=this[t+3],this[t+1]=this[t+2],this[t+2]=n,this[t+3]=e}return this}swap64(){let e=this.length;if(e%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let t=0;t<e;t+=8){let e=this[t],n=this[t+1],r=this[t+2],i=this[t+3];this[t]=this[t+7],this[t+1]=this[t+6],this[t+2]=this[t+5],this[t+3]=this[t+4],this[t+4]=i,this[t+5]=r,this[t+6]=n,this[t+7]=e}return this}};`Buffer`in globalThis||Object.defineProperty(globalThis,"Buffer",{value:ue,enumerable:!1,writable:!0,configurable:!0});var S=e;typeof globalThis.btoa!=`function`&&Object.defineProperty(globalThis,"btoa",{value:function btoa(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return S.base64_encode(t)},enumerable:!0,writable:!0,configurable:!0}),typeof globalThis.atob!=`function`&&Object.defineProperty(globalThis,"atob",{value:function atob(e){let t=S.base64_decode(e),n=``;for(let e=0;e<t.length;e++)n+=String.fromCharCode(t[e]);return n},enumerable:!0,writable:!0,configurable:!0}),typeof queueMicrotask!=`function`&&Object.defineProperty(globalThis,"queueMicrotask",{value:v,enumerable:!0,writable:!0,configurable:!0});function getGjsGlobal(){return globalThis}function getGioNamespace(){let e=getGjsGlobal().imports?.gi;if(!e)return null;let t=null;try{t=e.GioUnix??null}catch{}if(!t)try{t=e.Gio??null}catch{}return t}function getMonotonicTime(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e?.get_monotonic_time)return BigInt(e.get_monotonic_time())*1000n}catch{}return typeof performance?.now==`function`?BigInt(Math.round(performance.now()*1e6)):BigInt(Date.now())*1000000n}const de=getMonotonicTime();function hrtime(e){let t=getMonotonicTime()-de,n=Number(t/1000000000n),r=Number(t%1000000000n);if(e){let t=n-e[0],i=r-e[1];return i<0&&(t--,i+=1e9),[t,i]}return[n,r]}function hrtimeBigint(){return getMonotonicTime()-de}let C;function probeUname(){if(C!==void 0)return C;C=null;try{let e=getGjsGlobal().imports?.gi?.GLib;if(!e)return C;let t=e.spawn_sync,n=e.SpawnFlags?.SEARCH_PATH;if(!t||n===void 0)return C;let[r,i]=t(null,[`uname`,`-sm`],null,n,null);if(!r||!i)return C;let o=new TextDecoder().decode(i).trim().split(/\s+/);if(o.length<2)return C;let s=mapSysname(o[0]),c=mapMachine(o[o.length-1]);if(!s||!c)return C;C={platform:s,arch:c}}catch{}return C}function detectGjsVersion(){try{let e=getGjsGlobal().imports?.system;if(e?.version!==void 0){let t=Number(e.version);return`${Math.floor(t/1e4)}.${Math.floor(t%1e4/100)}.${t%100}`}}catch{}}function detectNodeVersion(){if(typeof globalThis.process?.versions?.node==`string`)return globalThis.process.versions.node}function detectVersionInfo(){if(detectNodeVersion())return{version:globalThis.process.version,versions:{...globalThis.process.versions},title:globalThis.process?.title||`node`};let e=detectGjsVersion(),t={node:`20.0.0`};return e&&(t.gjs=e),{version:`v20.0.0`,versions:t,title:`gjs`}}function detectPpid(){return!onGjs()&&typeof globalThis.process?.ppid==`number`?globalThis.process.ppid:hostPpid()??0}function onGjs(){try{return getGjsGlobal().imports?.gi!==void 0}catch{return!1}}function detectPlatform(){if(onGjs()){let e=probeUname();return e?e.platform:`linux`}let e=globalThis.process;return typeof e?.platform==`string`?e.platform:`linux`}function detectArch(){if(onGjs()){let e=probeUname();return e?e.arch:`x64`}let e=globalThis.process;return typeof e?.arch==`string`?e.arch:`x64`}function getPid(){return!onGjs()&&typeof globalThis.process?.pid==`number`?globalThis.process.pid:hostPid()??0}function getEnvProxy(){if(typeof globalThis.process?.env==`object`)return globalThis.process.env;try{let e=getGjsGlobal().imports?.gi?.GLib;if(e)return new Proxy({},{get(t,n){if(typeof n==`string`)return e.getenv(n)??void 0},set(t,n,r){return typeof n==`string`?(e.setenv(n,String(r),!0),!0):!1},deleteProperty(t,n){return typeof n==`string`?(e.unsetenv(n),!0):!1},has(t,n){return typeof n==`string`?e.getenv(n)!==null:!1},ownKeys(t){return e.listenv()},getOwnPropertyDescriptor(t,n){if(typeof n!=`string`)return;let r=e.getenv(n);if(r!==null)return{configurable:!0,enumerable:!0,writable:!0,value:r}}})}catch{}return{}}function getArgv(){if(globalThis.process?.argv!==void 0)return globalThis.process.argv;try{let e=getGjsGlobal().imports?.system;if(e?.programArgs)return[`gjs`,e.programInvocationName||``,...e.programArgs]}catch{}return[`gjs`]}function getExecPath(){let e=globalThis.process;return!isGjsHost()&&typeof e?.execPath==`string`?e.execPath:hostExecPath()??`/usr/bin/gjs`}function isGjsHost(){try{return getGjsGlobal().imports?.gi!==void 0}catch{return!1}}function getCwd(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e?.get_current_dir)return e.get_current_dir()}catch{}return`/`}function chdir(e){let t=getGjsGlobal().imports?.gi?.GLib;try{if(t?.chdir){if(!t.file_test(e,16)){let t=Error(`ENOENT: no such file or directory, chdir '${e}'`);throw t.code=`ENOENT`,t.syscall=`chdir`,t.path=e,t}t.chdir(e);return}}catch(e){if(e&&typeof e==`object`&&e.code===`ENOENT`)throw e}if(!t){let t=globalThis.process;if(t&&typeof t.chdir==`function`){t.chdir(e);return}}throw Error(`process.chdir() is not supported in this environment`)}function exitProcess(e){let t=getGjsGlobal().imports,n=t?.gi?.GLib,r=t?.system,i=n?.idle_add,o=n?.SOURCE_REMOVE,s=n?.PRIORITY_DEFAULT,c=n?.MainContext;if(r?.exit&&i&&typeof s==`number`&&typeof o==`boolean`&&typeof c?.default==`function`){i(s,()=>(r.exit(e),o));let t=c.default();for(;;)t.iteration(!0)}try{r?.exit&&r.exit(e)}catch{}let l=globalThis.process;throw l&&typeof l.exit==`function`&&l.exit(e),Error(`process.exit(${e})`)}function isGjs(){return getGjsGlobal().imports?.gi?.GLib!==void 0}function killPid(e,t){try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let r=typeof t==`number`?String(t):t||`SIGTERM`,i=r.startsWith(`SIG`)?`-${r.slice(3)}`:`-${r}`;return n.spawn_command_line_sync(`kill ${i} ${e}`),!0}}catch{}if(!isGjs()){let n=globalThis.process;if(n&&typeof n.kill==`function`)return n.kill(e,t)}throw Error(`process.kill() is not supported in this environment`)}function memoryUsage(){let e=readProcessMemory();if(e)return{rss:e.resident,heapTotal:e.resident,heapUsed:e.resident,external:0,arrayBuffers:0};if(!isGjs()){let e=globalThis.process;if(e&&typeof e.memoryUsage==`function`)return e.memoryUsage()}return{rss:0,heapTotal:0,heapUsed:0,external:0,arrayBuffers:0}}function cpuUsage(e){if(!isGjs()){let t=globalThis.process;if(t&&typeof t.cpuUsage==`function`)return t.cpuUsage(e)}return{user:0,system:0}}function readUmask(){try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let[t,n]=e.file_get_contents(`/proc/self/status`);if(t){let e=/^Umask:\s*([0-7]+)/m.exec(new TextDecoder().decode(n));if(e)return parseInt(e[1],8)}}}catch{}return 18}const fe={SIGHUP:1,SIGINT:2,SIGTERM:15},pe=new Map;function resolveSignalAdd(){let e=getGjsGlobal().imports?.gi;if(!e)return null;for(let[t,n]of[[`GLibUnix`,`signal_add`],[`GLib`,`unix_signal_add`]])try{let r=e[t]?.[n];if(typeof r==`function`)return r}catch{}return null}function isDeliverableSignal(e){return typeof e==`string`&&e in fe}function armSignal(e,t){if(pe.has(e))return;let n=fe[e],r=resolveSignalAdd(),i=getGjsGlobal().imports?.gi?.GLib;if(n===void 0||r===null||!i)return;let o=i.PRIORITY_DEFAULT,s=r(o,n,()=>(t(e),!0));pe.set(e,s)}function disarmSignal(e){let t=pe.get(e);if(t===void 0)return;pe.delete(e);let n=getGjsGlobal().imports?.gi?.GLib;n&&typeof n.source_remove==`function`&&n.source_remove(t)}let me=null;const he=globalThis.imports?.gi;if(he)try{me=he.GjsifyTerminal}catch{}const w=me,T=Symbol(`kCapture`),ge=Symbol.for(`nodejs.rejection`);function onceWrapper(){let{target:e,type:t,listener:n}=this;return this.wrapperFn&&e.removeListener(t,this.wrapperFn),n.apply(e,Array.from(arguments))}function _onceWrap(e,t,n){let r={target:e,type:t,listener:n,wrapperFn:void 0},i=onceWrapper.bind(r);return r.wrapperFn=i,i.listener=n,i}function arrayClone(e){switch(e.length){case 0:return[];case 1:return[e[0]];case 2:return[e[0],e[1]];case 3:return[e[0],e[1],e[2]];default:return e.slice()}}function checkListener(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}function validateNumber(e,t){if(typeof e!=`number`||e!==e)throw TypeError(`The "${t}" argument must be of type number. Received type ${typeof e}`)}function spliceOne(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}var E=class EventEmitter{static defaultMaxListeners=10;static errorMonitor=Symbol(`events.errorMonitor`);static captureRejectionSymbol=ge;static _captureRejections=!1;static get captureRejections(){return EventEmitter._captureRejections}static set captureRejections(e){if(typeof e!=`boolean`)throw TypeError(`The "captureRejections" argument must be of type boolean.`);EventEmitter._captureRejections=e}_events;_eventsCount;_maxListeners;[T];constructor(e){this._events=Object.create(null),this._eventsCount=0,this._maxListeners=void 0,this[T]=e?.captureRejections??EventEmitter._captureRejections}setMaxListeners(e){if(validateNumber(e,`n`),e<0)throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e);return this._maxListeners=e,this}getMaxListeners(){return this._maxListeners??EventEmitter.defaultMaxListeners}emit(e,...t){let n=this._events,r=e===`error`;if(n!==void 0)r&&n[EventEmitter.errorMonitor]!==void 0&&this.emit(EventEmitter.errorMonitor,...t),r&&=n.error===void 0;else if(!r)return!1;if(r){let e;if(e=t.length>0?t[0]:Error(`Unhandled error.`),e instanceof Error)throw e;let n=Error(`Unhandled error. (`+e+`)`);throw n.context=e,n}let i=n[e];if(i===void 0)return!1;if(typeof i==`function`){let n=i.apply(this,t);n!=null&&this[T]&&this._addCatch(n,e,t)}else{let n=arrayClone(i),r=n.length;for(let i=0;i<r;++i){let r=n[i].apply(this,t);r!=null&&this[T]&&this._addCatch(r,e,t)}}return!0}_addCatch(e,t,n){typeof e?.then==`function`&&e.then(void 0,e=>{let r=this[ge];if(typeof r==`function`)r.call(this,e,t,...n);else{let t=this[T];try{this[T]=!1,this.emit(`error`,e)}finally{this[T]=t}}})}addListener(e,t){return this._addListener(e,t,!1)}on(e,t){return this._addListener(e,t,!1)}prependListener(e,t){return this._addListener(e,t,!0)}_addListener(e,t,n){checkListener(t);let r=this._events;r===void 0?(r=this._events=Object.create(null),this._eventsCount=0):r.newListener!==void 0&&(this.emit(`newListener`,e,t.listener??t),r=this._events);let i=r[e];i===void 0?(r[e]=t,++this._eventsCount):typeof i==`function`?r[e]=n?[t,i]:[i,t]:n?i.unshift(t):i.push(t);let o=this.getMaxListeners();if(o>0){let t=typeof r[e]==`function`?1:r[e].length;if(t>o&&!r[e].warned){typeof r[e]!=`function`&&(r[e].warned=!0);let n=Error(`Possible EventEmitter memory leak detected. ${t} ${String(e)} listeners added to [${this.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);n.name=`MaxListenersExceededWarning`,_.warn(n.message)}}return this}once(e,t){return checkListener(t),this.on(e,_onceWrap(this,e,t)),this}prependOnceListener(e,t){return checkListener(t),this.prependListener(e,_onceWrap(this,e,t)),this}removeListener(e,t){checkListener(t);let n=this._events;if(n===void 0)return this;let r=n[e];if(r===void 0)return this;if(r===t||r.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit(`removeListener`,e,r.listener??t));else if(typeof r!=`function`){let i=-1;for(let e=r.length-1;e>=0;e--)if(r[e]===t||r[e].listener===t){i=e;break}if(i<0)return this;i===0?r.shift():spliceOne(r,i),r.length===1&&(n[e]=r[0]),n.removeListener!==void 0&&this.emit(`removeListener`,e,t.listener??t)}return this}off(e,t){return this.removeListener(e,t)}removeAllListeners(e){let t=this._events;if(t===void 0)return this;if(t.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):t[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete t[e]),this;if(arguments.length===0){let e=Object.keys(t);for(let t=0;t<e.length;++t){let n=e[t];n!==`removeListener`&&this.removeAllListeners(n)}return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}let n=t[e];if(typeof n==`function`)this.removeListener(e,n);else if(n!==void 0)for(let t=n.length-1;t>=0;t--)this.removeListener(e,n[t]);return this}listeners(e){let t=this._events;if(t===void 0)return[];let n=t[e];return n===void 0?[]:typeof n==`function`?[n.listener??n]:unwrapListeners(n)}rawListeners(e){let t=this._events;if(t===void 0)return[];let n=t[e];return n===void 0?[]:typeof n==`function`?[n]:arrayClone(n)}listenerCount(e){let t=this._events;if(t===void 0)return 0;let n=t[e];return n===void 0?0:typeof n==`function`?1:n.length}eventNames(){return(this._eventsCount??0)>0?Reflect.ownKeys(this._events):[]}static once(e,t,n){return new Promise((r,i)=>{let o=n?.signal;if(o?.aborted){i(createAbortError$1(o));return}if(typeof e.addEventListener==`function`){let n=e,handler=(...e)=>{o&&o.removeEventListener(`abort`,abortHandler),r(e)},errorHandler=e=>{o&&o.removeEventListener(`abort`,abortHandler),n.removeEventListener(`error`,errorHandler),i(e)},abortHandler=()=>{n.removeEventListener(t,handler),n.removeEventListener(`error`,errorHandler),i(createAbortError$1(o))};n.addEventListener(t,handler,{once:!0}),t!==`error`&&n.addEventListener(`error`,errorHandler,{once:!0}),o&&o.addEventListener(`abort`,abortHandler,{once:!0});return}let s=e,eventHandler=(...e)=>{o&&o.removeEventListener(`abort`,abortHandler),errorHandler!==void 0&&s.removeListener(`error`,errorHandler),r(e)},errorHandler;t!==`error`&&(errorHandler=e=>{s.removeListener(t,eventHandler),o&&o.removeEventListener(`abort`,abortHandler),i(e)},s.once(`error`,errorHandler)),s.once(t,eventHandler);let abortHandler=()=>{s.removeListener(t,eventHandler),errorHandler&&s.removeListener(`error`,errorHandler),i(createAbortError$1(o))};o&&o.addEventListener(`abort`,abortHandler,{once:!0})})}static on(e,t,n){let r=n?.signal;if(r?.aborted)throw createAbortError$1(r);let i=n?.highWaterMark??2**53-1,o=n?.lowWaterMark??1;validateNumber(i,`highWaterMark`),validateNumber(o,`lowWaterMark`);let s=[],c=[],l=null,u=!1,d=!1,eventHandler=(...t)=>{if(c.length>0){let{resolve:e}=c.shift();e({value:t,done:!1})}else s.push(t),s.length>=i&&!d&&(d=!0,typeof e.pause==`function`&&e.pause())},errorHandler=e=>{if(l=e,c.length>0){let{reject:t}=c.shift();t(e)}f.return()},abortHandler=()=>{errorHandler(createAbortError$1(r))};e.on(t,eventHandler),t!==`error`&&e.on(`error`,errorHandler),r&&r.addEventListener(`abort`,abortHandler,{once:!0});let cleanup=()=>{e.removeListener(t,eventHandler),e.removeListener(`error`,errorHandler),r&&r.removeEventListener(`abort`,abortHandler),u=!0;for(let{resolve:e}of c)e({value:void 0,done:!0});c.length=0,s.length=0},f={next(){if(s.length>0){let t=s.shift();return d&&s.length<o&&(d=!1,typeof e.resume==`function`&&e.resume()),Promise.resolve({value:t,done:!1})}if(l){let e=Promise.reject(l);return l=null,e}return u?Promise.resolve({value:void 0,done:!0}):new Promise((e,t)=>{c.push({resolve:e,reject:t})})},return(){return cleanup(),Promise.resolve({value:void 0,done:!0})},throw(e){return u||(l=e,cleanup()),Promise.reject(e)},[Symbol.asyncIterator](){return this}};return f}static listenerCount(e,t){return e.listenerCount(t)}static getEventListeners(e,t){return typeof e.listeners==`function`?e.listeners(t):[]}static setMaxListeners(e,...t){if(validateNumber(e,`n`),e<0)throw RangeError(`The value of "n" is out of range.`);if(t.length===0)EventEmitter.defaultMaxListeners=e;else for(let n of t)typeof n.setMaxListeners==`function`&&n.setMaxListeners(e)}static getMaxListeners(e){return typeof e.getMaxListeners==`function`?e.getMaxListeners():EventEmitter.defaultMaxListeners}static addAbortListener(e,t){e.aborted&&Promise.resolve().then(()=>t());let handler=()=>t();return e.addEventListener(`abort`,handler,{once:!0}),{[Symbol.dispose](){e.removeEventListener(`abort`,handler)}}}};E.EventEmitter=E;for(let e of[`setMaxListeners`,`getMaxListeners`,`emit`,`addListener`,`on`,`prependListener`,`once`,`prependOnceListener`,`removeListener`,`off`,`removeAllListeners`,`listeners`,`rawListeners`,`listenerCount`,`eventNames`]){let t=E.prototype[e];typeof t==`function`&&Object.defineProperty(E.prototype,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}Object.defineProperty(E.prototype,"_events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(E.prototype,"_eventsCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(E.prototype,"_maxListeners",{enumerable:!0,configurable:!0,writable:!0,value:void 0});function unwrapListeners(e){let t=Array.from({length:e.length});for(let n=0;n<t.length;++n)t[n]=e[n].listener??e[n];return t}function createAbortError$1(e){let t=Error(`The operation was aborted`);return t.name=`AbortError`,t.code=`ABORT_ERR`,e?.reason&&(t.cause=e.reason),t}__name(createAbortError$1,`createAbortError`);const D=makeCallable(E);D.EventEmitter=D,D.captureRejectionSymbol,D.errorMonitor,D.defaultMaxListeners,D.setMaxListeners,D.getMaxListeners,D.once,D.on,D.getEventListeners,D.listenerCount,D.addAbortListener;function normalizeAndValidateEncoding(e){return e&&checkEncoding(e),normalizeEncoding(e)}function utf8DecodeMaximalSubpart(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i];if(t<=127){r+=String.fromCharCode(t),i++;continue}if(t>=194&&t<=223){i+1<n&&e[i+1]>=128&&e[i+1]<=191?(r+=String.fromCharCode((t&31)<<6|e[i+1]&63),i+=2):(r+=`�`,i++);continue}if(t>=224&&t<=239){let o,s;if(t===224?(o=160,s=191):t===237?(o=128,s=159):(o=128,s=191),i+1>=n){r+=`�`,i++;continue}let c=e[i+1];if(c<o||c>s){r+=`�`,i++;continue}if(i+2>=n){r+=`�`,i+=2;continue}let l=e[i+2];if(l<128||l>191){r+=`�`,i+=2;continue}let u=(t&15)<<12|(c&63)<<6|l&63;r+=String.fromCharCode(u),i+=3;continue}if(t>=240&&t<=244){let o,s;if(t===240?(o=144,s=191):t===244?(o=128,s=143):(o=128,s=191),i+1>=n){r+=`�`,i++;continue}let c=e[i+1];if(c<o||c>s){r+=`�`,i++;continue}if(i+2>=n){r+=`�`,i+=2;continue}let l=e[i+2];if(l<128||l>191){r+=`�`,i+=2;continue}if(i+3>=n){r+=`�`,i+=3;continue}let u=e[i+3];if(u<128||u>191){r+=`�`,i+=3;continue}let d=(t&7)<<18|(c&63)<<12|(l&63)<<6|u&63;r+=String.fromCharCode(55296+(d-65536>>10),56320+(d-65536&1023)),i+=4;continue}r+=`�`,i++}return r}function utf8CharLength(e){return e&128?e>=194&&e<=223?2:e>=224&&e<=239?3:e>=240&&e<=244?4:0:1}function isValidContinuation(e,t,n,r){if(n===1){if(t===3)return e===224?r>=160&&r<=191:e===237?r>=128&&r<=159:r>=128&&r<=191;if(t===4)return e===240?r>=144&&r<=191:e===244?r>=128&&r<=143:r>=128&&r<=191}return r>=128&&r<=191}const _e=function StringDecoder(e){this.encoding=normalizeAndValidateEncoding(e),this._lastNeed=0,this._lastTotal=0,this._lastLeadByte=0,this.encoding===`utf8`||this.encoding===`utf16le`?this._lastChar=new Uint8Array(4):this.encoding===`base64`?this._lastChar=new Uint8Array(3):this._lastChar=new Uint8Array};_e.prototype.write=function write(e){if(e.length===0)return``;switch(this.encoding){case`utf8`:return writeUtf8(this,e);case`utf16le`:return writeUtf16le(this,e);case`base64`:return writeBase64(this,e);case`ascii`:return decodeAscii(e);case`latin1`:return decodeLatin1(e);case`hex`:return decodeHex(e);default:return decodeAscii(e)}},_e.prototype.end=function end(e){let t=``;if(e&&e.length>0&&(t=this.write(e)),this.encoding===`utf8`&&this._lastNeed>0)t+=`�`,this._lastNeed=0,this._lastTotal=0;else if(this.encoding===`utf16le`&&this._lastNeed>0){let e=this._lastTotal-this._lastNeed;for(let n=0;n+1<e;n+=2)t+=String.fromCharCode(this._lastChar[n]|this._lastChar[n+1]<<8);this._lastNeed=0,this._lastTotal=0}else if(this.encoding===`base64`&&this._lastNeed>0){let e=this._lastChar.subarray(0,this._lastTotal-this._lastNeed);t+=base64Encode(e),this._lastNeed=0,this._lastTotal=0}return t};function writeUtf8(e,t){let n=0,r=``;if(e._lastNeed>0){for(;n<t.length&&e._lastNeed>0;){let i=t[n],o=e._lastTotal-e._lastNeed;if(isValidContinuation(e._lastLeadByte,e._lastTotal,o,i))e._lastChar[o]=i,e._lastNeed--,n++;else{r+=`�`,e._lastNeed=0,e._lastTotal=0,e._lastLeadByte=0;break}}if(e._lastNeed===0&&e._lastTotal>0&&(r+=utf8DecodeMaximalSubpart(e._lastChar,0,e._lastTotal),e._lastTotal=0,e._lastLeadByte=0),e._lastNeed>0)return r}let i=t.length;for(let r=0;r<Math.min(4,t.length-n);r++){let o=t.length-1-r;if(o<n)break;let s=t[o];if((s&192)!=128){let n=utf8CharLength(s);if(n>0&&s>=128){let r=t.length-o;if(r<n){let c=!0;for(let e=1;e<r;e++)if(!isValidContinuation(s,n,e,t[o+e])){c=!1;break}if(c){i=o;for(let n=0;n<r;n++)e._lastChar[n]=t[o+n];e._lastNeed=n-r,e._lastTotal=n,e._lastLeadByte=s}}}break}}return i>n&&(r+=utf8DecodeMaximalSubpart(t,n,i)),r}function writeUtf16le(e,t){let n=``,r=0;if(e._lastNeed>0){let i=e._lastTotal-e._lastNeed,o=Math.min(e._lastNeed,t.length);for(let n=0;n<o;n++)e._lastChar[i+n]=t[n];if(e._lastNeed-=o,r=o,e._lastNeed>0)return``;let s=e._lastTotal,c=0;for(;c+1<s;){let i=e._lastChar[c]|e._lastChar[c+1]<<8;if(c+=2,i>=55296&&i<=56319){if(c+1<s){let t=e._lastChar[c]|e._lastChar[c+1]<<8;if(t>=56320&&t<=57343){n+=String.fromCharCode(i,t),c+=2;continue}}if(r+1<t.length){let e=t[r]|t[r+1]<<8;if(e>=56320&&e<=57343){n+=String.fromCharCode(i,e),r+=2;continue}}else if(r>=t.length)return e._lastChar[0]=e._lastChar[c-2],e._lastChar[1]=e._lastChar[c-1],e._lastNeed=2,e._lastTotal=4,n}n+=String.fromCharCode(i)}e._lastTotal=0}for(;r+1<t.length;){let i=t[r]|t[r+1]<<8;if(r+=2,i>=55296&&i<=56319)if(r+1<t.length){let e=t[r]|t[r+1]<<8;if(e>=56320&&e<=57343){n+=String.fromCharCode(i,e),r+=2;continue}}else if(r<t.length)return n+=String.fromCharCode(i),e._lastChar[0]=t[r],e._lastNeed=1,e._lastTotal=2,n;else return e._lastChar[0]=t[r-2],e._lastChar[1]=t[r-1],e._lastNeed=2,e._lastTotal=4,n;n+=String.fromCharCode(i)}return r<t.length&&(e._lastChar[0]=t[r],e._lastNeed=1,e._lastTotal=2),n}function writeBase64(e,t){let n=0;if(e._lastNeed>0){let r=Math.min(e._lastNeed,t.length);for(let n=0;n<r;n++)e._lastChar[e._lastTotal-e._lastNeed+n]=t[n],e._lastNeed--;if(n=r,e._lastNeed>0)return``}let r=t.length-n,i=r-r%3,o=``;e._lastTotal>0&&e._lastNeed===0&&(o+=base64Encode(e._lastChar.subarray(0,e._lastTotal)),e._lastTotal=0),i>0&&(o+=base64Encode(t.subarray(n,n+i)));let s=r-i;if(s>0){for(let r=0;r<s;r++)e._lastChar[r]=t[n+i+r];e._lastNeed=3-s,e._lastTotal=3}return o}function decodeAscii(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]&127);return t}function decodeLatin1(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}function decodeHex(e){let t=``;for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,`0`);return t}const ve=new TextEncoder;var ProcessWriteStream=class extends D{fd;writable=!0;_outGio=null;constructor(e){super(),this.fd=e;let t=getGioNamespace();if(t){let e=t.UnixOutputStream??t.OutputStream;if(e)try{this._outGio=e.new(this.fd,!1)}catch{}}}write(e){if(this._outGio)try{let t=typeof e==`string`?ve.encode(e):e;return this._outGio.write_all(t,null),!0}catch{}return this.fd===2?_.error(e):_.log(e),!0}get isTTY(){if(w)return w.Terminal.is_tty(this.fd);try{let e=getGjsGlobal().imports?.gi?.GLib;if(e)return!!e.log_writer_supports_color(this.fd)}catch{}return!1}get columns(){if(w){let[e,,t]=w.Terminal.get_size(this.fd);if(e&&t>0)return t}try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let t=parseInt(e.getenv(`COLUMNS`)??`0`,10);if(t>0)return t}}catch{}return 80}end(){}destroy(){}get rows(){if(w){let[e,t]=w.Terminal.get_size(this.fd);if(e&&t>0)return t}try{let e=getGjsGlobal().imports?.gi?.GLib;if(e){let t=parseInt(e.getenv(`LINES`)??`0`,10);if(t>0)return t}}catch{}return 24}},ProcessReadStream=class extends D{fd;isRaw=!1;_gio=null;_stdinGio=null;_reading=!1;_flowing=!1;_sttyCleanupRegistered=!1;_mainLoopHeld=!1;_pendingRead=!1;_decoder=null;constructor(e){super(),this.fd=e,this._gio=getGioNamespace()}get isTTY(){return w?w.Terminal.is_tty(this.fd):!1}setRawMode(e){return w&&w.Terminal.set_raw_mode(this.fd,e)?(this.isRaw=e,this):(this._setRawModeViaStty(e),this.isRaw=e,this)}_setRawModeViaStty(e){try{let t=globalThis.imports?.gi,n=t?.Gio??t?.Gio;if(!n)return;let r=n.SubprocessFlags?.STDIN_INHERIT??2,i=e?[`stty`,`-icanon`,`-echo`,`-icrnl`,`-isig`,`min`,`1`,`time`,`0`]:[`stty`,`icanon`,`echo`,`icrnl`,`isig`];if(new n.SubprocessLauncher({flags:r}).spawnv(i).wait(null),e&&!this._sttyCleanupRegistered){this._sttyCleanupRegistered=!0;let e=globalThis.process;e?.once&&typeof e.once==`function`&&e.once(`exit`,()=>this._setRawModeViaStty(!1))}}catch{}}setEncoding(e){return this._decoder=new _e(e),this}_pushData(e){if(this._decoder){let t=this._decoder.write(e);t.length>0&&this.emit(`data`,t)}else this.emit(`data`,e)}on(e,t){let n=e===`data`&&this.listenerCount(`data`)===0;return super.on(e,t),n&&e===`data`&&this.resume(),this}addListener(e,t){return this.on(e,t)}once(e,t){return super.once(e,t),this}removeListener(e,t){return super.removeListener(e,t),e===`data`&&this.listenerCount(`data`)===0&&this.pause(),this}off(e,t){return this.removeListener(e,t)}removeAllListeners(e){let t=e===void 0||e===`data`?this.listenerCount(`data`)>0:!1;return super.removeAllListeners(e),t&&this.listenerCount(`data`)===0&&this.pause(),this}resume(){return this._flowing=!0,this._gio&&this.fd===0&&!this._reading&&this._startReading(),this}pause(){if(this._flowing=!1,this._reading=!1,this._mainLoopHeld){this._mainLoopHeld=!1;let e=globalThis.imports?.gi,t=e?.GLib??e?.GLib;t?.idle_add?t.idle_add(300,()=>(this._mainLoopHeld||quitMainLoop(),!1)):quitMainLoop()}return this}read(){return null}_startReading(){if(!this._gio||this._reading)return;if(this._pendingRead){this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop());return}if(this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop()),!this._stdinGio){let e=this._gio.UnixInputStream??this._gio.InputStream;if(!e){this._reading=!1;return}try{this._stdinGio=e.new(this.fd,!1)}catch{this._reading=!1;return}}let loop=()=>{if(!this._reading){this._pendingRead=!1;return}this._pendingRead=!0,this._stdinGio.read_bytes_async(4096,0,null,(e,t)=>{this._pendingRead=!1;try{let n=e.read_bytes_finish(t)?.get_data?.()??null;if(n&&n.byteLength>0)this._pushData(Buffer.from(n));else if(n!==null&&n.byteLength===0){if(this._reading=!1,this._decoder){let e=this._decoder.end();e.length>0&&this.emit(`data`,e)}this.emit(`end`);return}}catch{this._reading=!1;return}this._reading&&loop()})};loop()}};const ye=Date.now();function defineLazy(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){let r=n();return Object.defineProperty(e,t,{value:r,configurable:!0,enumerable:!0,writable:!1}),r}})}var Process=class extends D{platform;arch;env;argv;argv0;execPath;pid;ppid;version;versions;title;execArgv;config;exitCode;constructor(){super(),defineLazy(this,`platform`,detectPlatform),defineLazy(this,`arch`,detectArch),this.env=getEnvProxy(),this.argv=getArgv(),this.argv0=this.argv[0]||`gjs`,this.execPath=getExecPath(),this.execArgv=globalThis.process?.execArgv??[],this.config=globalThis.process?.config??{target_defaults:{},variables:{}},this.pid=getPid(),this.ppid=detectPpid();let e=detectVersionInfo();this.version=e.version,this.versions=e.versions,this.title=e.title,this.on(`newListener`,e=>{isDeliverableSignal(e)&&armSignal(e,e=>this.emit(e,e))}),this.on(`removeListener`,e=>{isDeliverableSignal(e)&&this.listenerCount(e)===0&&disarmSignal(e)})}cwd(){return getCwd()}chdir(e){chdir(e)}kill(e,t){return killPid(e,t)}exit(e){return this.exitCode=e??this.exitCode??0,this.emit(`exit`,this.exitCode),exitProcess(this.exitCode)}nextTick(e,...t){typeof queueMicrotask==`function`?queueMicrotask(()=>e(...t)):Promise.resolve().then(()=>e(...t))}hrtime(e){return hrtime(e)}uptime(){return(Date.now()-ye)/1e3}memoryUsage(){return memoryUsage()}cpuUsage(e){return cpuUsage(e)}stdout=new ProcessWriteStream(1);stderr=new ProcessWriteStream(2);stdin=new ProcessReadStream(0);abort(){this.exit(1)}umask(e){let t=readUmask();return e!==void 0&&!this._umaskWarned&&(this._umaskWarned=!0,this.emitWarning(`process.umask(0${e.toString(8)}) cannot change the file-creation mask under GJS — there is no umask(2) binding, so the mask is UNCHANGED. Pass an explicit \`mode\` to open/mkdir/writeFile instead; the kernel applies it atomically at creation.`,`UnsupportedWarning`)),t}_umaskWarned=!1;emitWarning(e,t){_.warn(typeof e==`string`?`(${t||`Warning`}): ${e}`:e.message)}};Process.prototype.hrtime.bigint=function(){return hrtimeBigint()};const O=new Process;if(w)try{let e=new w.ResizeWatcher;e.connect(`resized`,(e,t,n)=>{O.stdout.emit(`resize`),O.stderr.emit(`resize`)}),e.start()}catch{}O.platform,O.arch,O.env,O.argv,O.argv0,O.execPath,O.pid,O.ppid,O.version,O.versions,O.cwd.bind(O),O.chdir.bind(O),O.exit.bind(O),O.nextTick.bind(O),Object.assign(O.hrtime.bind(O),{bigint:hrtimeBigint}),O.uptime.bind(O),O.memoryUsage.bind(O),O.cpuUsage.bind(O),O.kill.bind(O),O.abort.bind(O),O.umask.bind(O),O.emitWarning.bind(O),O.execArgv,O.config,O.stdout,O.stderr,O.stdin,typeof Promise.withResolvers!=`function`&&(Promise.withResolvers=function(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}),initErrorV8Methods(Error),`global`in globalThis||Object.defineProperty(globalThis,"global",{value:globalThis,writable:!1,enumerable:!1,configurable:!0}),Object.defineProperty(globalThis,"process",{value:O,enumerable:!1,writable:!0,configurable:!0}),typeof globalThis.structuredClone!=`function`&&Object.defineProperty(globalThis,"structuredClone",{value:structuredClone$1,enumerable:!0,writable:!0,configurable:!0});function getGLib(){return globalThis.imports?.gi?.GLib}const be=getGLib()!==void 0;var GjsifyTimeout=class{_id=null;_refed=!0;_callback;_delay;_args;_repeat;constructor(e,t,n,r){this._callback=e,this._delay=t,this._args=n,this._repeat=r,this._schedule()}_schedule(){let e=getGLib();if(!e)return;let t=e.timeout_add.bind(e);this._id=t(e.PRIORITY_DEFAULT,this._delay,()=>{try{this._callback.apply(globalThis,this._args)}catch(e){setTimeout(()=>{throw e},0)}return this._repeat?e.SOURCE_CONTINUE:(this._id=null,e.SOURCE_REMOVE)})}ref(){return this._refed=!0,this}unref(){return this._refed=!1,this}hasRef(){return this._refed}refresh(){return this._cancel(),this._schedule(),this}_cancel(){this._id!==null&&(getGLib()?.Source.remove(this._id),this._id=null)}[Symbol.toPrimitive](){return this._id}[Symbol.dispose](){this._cancel()}};function removeById(e){e instanceof GjsifyTimeout?e._cancel():typeof e==`number`&&getGLib()?.Source.remove(e)}if(be){let setT=(e,t=0,...n)=>new GjsifyTimeout(e,Math.max(0,t|0),n,!1),setI=(e,t=0,...n)=>new GjsifyTimeout(e,Math.max(0,t|0),n,!0),e=globalThis;e.setTimeout=setT,e.clearTimeout=removeById,e.setInterval=setI,e.clearInterval=removeById}function setImmediate(e,...t){return setTimeout(e,0,...t)}function clearImmediate(e){clearTimeout(e)}`setImmediate`in globalThis||Object.defineProperty(globalThis,"setImmediate",{value:setImmediate,enumerable:!0,writable:!0,configurable:!0}),`clearImmediate`in globalThis||Object.defineProperty(globalThis,"clearImmediate",{value:clearImmediate,enumerable:!0,writable:!0,configurable:!0});let xe;if(globalThis.performance)xe=globalThis.performance;else{let e,_now;try{let t=globalThis.imports?.gi?.GLib;if(!t)throw Error(`GJS imports.gi.GLib not available`);e=t.get_monotonic_time(),_now=()=>(t.get_monotonic_time()-e)/1e3}catch{let t=Date.now();e=0,_now=()=>Date.now()-t}let t=[],n=Date.now()-_now();xe={timeOrigin:n,now:_now,mark(e){let n={name:e,entryType:`mark`,startTime:_now(),duration:0};return t.push(n),n},measure(e,n,r){let i=0,o=_now();if(n){let e=t.find(e=>e.entryType===`mark`&&e.name===n);e&&(i=e.startTime)}if(r){let e=t.find(e=>e.entryType===`mark`&&e.name===r);e&&(o=e.startTime)}let s={name:e,entryType:`measure`,startTime:i,duration:o-i};return t.push(s),s},getEntries(){return[...t]},getEntriesByName(e){return t.filter(t=>t.name===e)},getEntriesByType(e){return t.filter(t=>t.entryType===e)},clearMarks(e){for(let n=t.length-1;n>=0;n--)t[n].entryType===`mark`&&(!e||t[n].name===e)&&t.splice(n,1)},clearMeasures(e){for(let n=t.length-1;n>=0;n--)t[n].entryType===`measure`&&(!e||t[n].name===e)&&t.splice(n,1)},clearResourceTimings(){},setResourceTimingBufferSize(){},toJSON(){return{timeOrigin:n}}}}var PerformanceObserverStub=class{_callback;constructor(e){this._callback=e}observe(e){}disconnect(){}takeRecords(){return[]}};const k=globalThis,Se=k.PerformanceObserver||PerformanceObserverStub;k.PerformanceEntry,k.PerformanceObserverEntryList,k.PerformanceMark,k.PerformanceMeasure;const Ce=globalThis;globalThis.performance===void 0&&(Ce.performance=xe),typeof Ce.PerformanceObserver!=`function`&&(Ce.PerformanceObserver=Se);const we={IndexSizeError:1,HierarchyRequestError:3,WrongDocumentError:4,InvalidCharacterError:5,NoModificationAllowedError:7,NotFoundError:8,NotSupportedError:9,InUseAttributeError:10,InvalidStateError:11,SyntaxError:12,InvalidModificationError:13,NamespaceError:14,InvalidAccessError:15,TypeMismatchError:17,SecurityError:18,NetworkError:19,AbortError:20,URLMismatchError:21,QuotaExceededError:22,TimeoutError:23,InvalidNodeTypeError:24,DataCloneError:25};var _DOMExceptionPolyfill=class extends Error{code;constructor(e,t){super(e),this.name=t||`Error`,this.code=Object.hasOwn(we,this.name)?we[this.name]:0}};const Te=globalThis.DOMException===void 0?_DOMExceptionPolyfill:globalThis.DOMException,Ee=Symbol(`type`),De=Symbol(`bubbles`),Oe=Symbol(`cancelable`),ke=Symbol(`composed`),Ae=Symbol(`target`),A=Symbol(`currentTarget`),je=Symbol(`eventPhase`),Me=Symbol(`defaultPrevented`),Ne=Symbol(`isTrusted`),Pe=Symbol(`timeStamp`),j=Symbol(`stop`),Fe=Symbol(`immediateStop`),Ie=Symbol(`dispatching`),Le=Symbol(`inPassiveListener`);var Event=class{[Ee];[De];[Oe];[ke];[Ae]=null;[A]=null;[je]=0;[Me]=!1;[Ne]=!1;[Pe];[j]=!1;[Fe]=!1;[Ie]=!1;[Le]=!1;get type(){return this[Ee]}get bubbles(){return this[De]}get cancelable(){return this[Oe]}get composed(){return this[ke]}get target(){return this[Ae]}get currentTarget(){return this[A]}get eventPhase(){return this[je]}get defaultPrevented(){return this[Me]}get timeStamp(){return this[Pe]}get cancelBubble(){return this[j]}set cancelBubble(e){e&&this.stopPropagation()}get returnValue(){return!this[Me]}set returnValue(e){e||this.preventDefault()}get srcElement(){return this[Ae]}static NONE=0;static CAPTURING_PHASE=1;static AT_TARGET=2;static BUBBLING_PHASE=3;get[Symbol.toStringTag](){return`Event`}constructor(e,t){this[Ee]=e,this[De]=t?.bubbles??!1,this[Oe]=t?.cancelable??!1,this[ke]=t?.composed??!1,this[Pe]=Date.now(),Object.defineProperty(this,"isTrusted",{get:()=>this[Ne],enumerable:!0,configurable:!1})}composedPath(){return this[A]?[this[A]]:[]}preventDefault(){this[Oe]&&!this[Le]&&(this[Me]=!0)}stopPropagation(){this[j]=!0}stopImmediatePropagation(){this[j]=!0,this[Fe]=!0}},EventTarget=class{#e=new Map;get[Symbol.toStringTag](){return`EventTarget`}addEventListener(e,t,n){if(t===null)return;let r=typeof n==`boolean`?n:n?.capture??!1,i=typeof n==`object`?n?.once??!1:!1,o=typeof n==`object`?n?.passive??!1:!1,s=this.#e.get(e);s||(s=[],this.#e.set(e,s));for(let e of s)if(e.listener===t&&e.capture===r)return;let c={listener:t,capture:r,once:i,passive:o,removed:!1};s.push(c),typeof n==`object`&&n?.signal&&n.signal.addEventListener(`abort`,()=>{this.removeEventListener(e,t,{capture:r})},{once:!0})}removeEventListener(e,t,n){if(t===null)return;let r=typeof n==`boolean`?n:n?.capture??!1,i=this.#e.get(e);if(!i)return;let o=i.findIndex(e=>e.listener===t&&e.capture===r);o!==-1&&(i[o].removed=!0,i.splice(o,1),i.length===0&&this.#e.delete(e))}dispatchEvent(e){let t=e;if(t[Ie])throw new Te(`The event is already being dispatched.`,`InvalidStateError`);t[Ie]=!0,t[Ae]=this,t[A]=this,t[je]=Event.AT_TARGET;try{let n=this.#e.get(e.type);if(n){let r=[...n];for(let n of r)if(!n.removed){if(t[Fe]||t[j])break;n.once&&this.removeEventListener(e.type,n.listener,{capture:n.capture});try{n.passive&&(t[Le]=!0),typeof n.listener==`function`?n.listener.call(this,e):typeof n.listener.handleEvent==`function`&&n.listener.handleEvent.call(n.listener,e)}catch(e){reportListenerException(e)}finally{t[Le]=!1}}}}finally{t[je]=Event.NONE,t[A]=null,t[Ie]=!1}return!e.defaultPrevented}};function reportListenerException(e){try{let t=globalThis;if(typeof t.reportError==`function`)t.reportError(e);else if(e instanceof Error){let t=`${e.name}: ${e.message}`;_.error(e.stack?`${t}\n${e.stack}`:t)}else _.error(String(e))}catch{}}for(let[e,t]of[[`NONE`,0],[`CAPTURING_PHASE`,1],[`AT_TARGET`,2],[`BUBBLING_PHASE`,3]])Object.defineProperty(Event.prototype,e,{value:t,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(Event,e,{value:t,writable:!1,enumerable:!0,configurable:!1});const M=Symbol(`abort`),Re=Symbol(`internal`);var ze=class AbortSignal extends EventTarget{#e=!1;#t=void 0;onabort=null;constructor(e){if(super(),e!==Re)throw TypeError(`Illegal constructor.`)}get aborted(){if(!(this instanceof AbortSignal))throw TypeError(`'get aborted' called on an object that is not a valid instance of AbortSignal.`);return this.#e}get reason(){return this.#t}get[Symbol.toStringTag](){return`AbortSignal`}throwIfAborted(){if(this.#e)throw this.#t}[M](e){if(this.#e)return;this.#e=!0,this.#t=e??new Te(`The operation was aborted.`,`AbortError`);let t=new Event(`abort`);typeof this.onabort==`function`&&this.onabort.call(this,t),this.dispatchEvent(t)}static abort(e){let t=new AbortSignal(Re);return t[M](e),t}static timeout(e){let t=new AbortSignal(Re);return setTimeout(()=>{t[M](new Te(`The operation timed out.`,`TimeoutError`))},e),t}static any(e){let t=new AbortSignal(Re);for(let n of e)if(n.aborted)return t[M](n.reason),t;let onAbort=()=>{if(!t.aborted){let n=e.find(e=>e.aborted);t[M](n?.reason)}};for(let t of e)t.addEventListener(`abort`,onAbort,{once:!0});return t}},Be=class AbortController{signal;constructor(){this.signal=new ze(Re)}get[Symbol.toStringTag](){return`AbortController`}abort(e){if(!(this instanceof AbortController))throw TypeError(`'abort' called on an object that is not a valid instance of AbortController.`);this.signal[M](e)}};const Ve=globalThis;globalThis.AbortController===void 0&&(Ve.AbortController=Be),globalThis.AbortSignal===void 0&&(Ve.AbortSignal=ze);const He=globalThis;globalThis.DOMException===void 0&&(He.DOMException=Te);const N=Symbol(`kState`),P=Symbol(`kType`);function isBrandCheck(e){return t=>typeof t==`object`&&!!t&&t[N]!==void 0&&t[P]===e}function dequeueValue(e){let t=e[N].queue.shift();if(t===void 0)throw Error(`dequeueValue called on an empty queue`);let{value:n,size:r}=t;return e[N].queueTotalSize=Math.max(0,e[N].queueTotalSize-r),n}function resetQueue(e){e[N].queue=[],e[N].queueTotalSize=0}function peekQueueValue(e){return e[N].queue[0].value}function enqueueValueWithSize(e,t,n){if(n=+n,typeof n!=`number`||n<0||Number.isNaN(n)||n===1/0)throw RangeError(`Invalid size: ${n}`);e[N].queue.push({value:t,size:n}),e[N].queueTotalSize+=n}function extractHighWaterMark(e,t){if(e===void 0)return t;if(e=+e,typeof e!=`number`||Number.isNaN(e)||e<0)throw RangeError(`Invalid highWaterMark: ${e}`);return e}function extractSizeAlgorithm(e){if(e===void 0)return()=>1;if(typeof e!=`function`)throw TypeError(`strategy.size must be a function`);return e}function transferArrayBuffer(e){return typeof ArrayBuffer.prototype.transfer==`function`?e.transfer():e.slice(0)}function isDetachedBuffer(e){if(typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||e.byteLength!==0)return!1;try{return e.slice(0,0),!1}catch{return!0}}function typedArrayConstructorByTag(e){switch(e){case`Int8Array`:return Int8Array;case`Uint8Array`:return Uint8Array;case`Uint8ClampedArray`:return Uint8ClampedArray;case`Int16Array`:return Int16Array;case`Uint16Array`:return Uint16Array;case`Int32Array`:return Int32Array;case`Uint32Array`:return Uint32Array;case`Float32Array`:return Float32Array;case`Float64Array`:return Float64Array;case`BigInt64Array`:return typeof BigInt64Array<`u`?BigInt64Array:void 0;case`BigUint64Array`:return typeof BigUint64Array<`u`?BigUint64Array:void 0;default:return}}function elementSizeByTag(e){switch(e){case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:return 1;case`Int16Array`:case`Uint16Array`:return 2;case`Int32Array`:case`Uint32Array`:case`Float32Array`:return 4;case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:return 8;default:return 1}}function setPromiseHandled(e){e.then(()=>{},()=>{})}function createPromiseCallback(e,t,n){if(typeof t!=`function`)throw TypeError(`${e} must be a function`);return async(...e)=>t.call(n,...e)}async function nonOpFlush(){}function nonOpStart(){}async function nonOpPull(){}async function nonOpCancel(){}async function nonOpWrite(){}const Ue={__proto__:Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),next:void 0,return:void 0};function createAsyncFromSyncIterator(e){let t={[Symbol.iterator]:()=>e.iterator},n=(async function*(){return yield*t})();return{iterator:n,nextMethod:n.next,done:!1}}function getIterator(e,t=`sync`,n){if(n===void 0)if(t===`async`){if(n=e[Symbol.asyncIterator],n==null){let t=e[Symbol.iterator];if(t===void 0)throw TypeError(`Object is not iterable`);return createAsyncFromSyncIterator(getIterator(e,`sync`,t))}}else n=e[Symbol.iterator];if(n===void 0)throw TypeError(`Object is not iterable`);let r=n.call(e);if(typeof r!=`object`||!r)throw TypeError(`The iterator method must return an object`);return{iterator:r,nextMethod:r.next,done:!1}}function iteratorNext(e,t){let n;if(n=t===void 0?e.nextMethod.call(e.iterator):e.nextMethod.call(e.iterator,t),typeof n!=`object`||!n)throw TypeError(`The iterator.next() method must return an object`);return n}const We=typeof globalThis.AbortController==`function`?globalThis.AbortController:class AbortControllerShim{signal={aborted:!1,reason:void 0,addEventListener(){},removeEventListener(){}};abort(e){this.signal.aborted=!0,this.signal.reason=e}},Ge=Symbol(`kAbort`),Ke=Symbol(`kCloseSentinel`),qe=Symbol(`kError`),Je=Symbol(`kSkipThrow`);var WritableStream=class{[P]=`WritableStream`;[N];constructor(e={},t={}){if(e!=null&&typeof e!=`object`)throw TypeError(`sink must be an object`);if(t!=null&&typeof t!=`object`)throw TypeError(`strategy must be an object`);let n=e?.type;if(n!==void 0)throw RangeError(`Invalid type: ${n}`);this[N]=createWritableStreamState();let r=extractSizeAlgorithm(t?.size),i=extractHighWaterMark(t?.highWaterMark,1);setupWritableStreamDefaultControllerFromSink(this,e,i,r)}get locked(){if(!F(this))throw TypeError(`Invalid this`);return isWritableStreamLocked(this)}abort(e){return F(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamAbort(this,e):Promise.reject(TypeError(`Invalid this`))}close(){return F(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamCloseQueuedOrInFlight(this)?Promise.reject(TypeError(`Failure closing WritableStream`)):writableStreamClose(this):Promise.reject(TypeError(`Invalid this`))}getWriter(){if(!F(this))throw TypeError(`Invalid this`);return new WritableStreamDefaultWriter(this)}get[Symbol.toStringTag](){return`WritableStream`}},WritableStreamDefaultWriter=class{[P]=`WritableStreamDefaultWriter`;[N];constructor(e){if(!F(e))throw TypeError(`Expected a WritableStream`);this[N]={stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0},ready:{promise:void 0,resolve:void 0,reject:void 0}},setupWritableStreamDefaultWriter(this,e)}get closed(){return I(this)?this[N].close.promise:Promise.reject(TypeError(`Invalid this`))}get desiredSize(){if(!I(this))throw TypeError(`Invalid this`);if(this[N].stream===void 0)throw TypeError(`Writer is not bound to a WritableStream`);return writableStreamDefaultWriterGetDesiredSize(this)}get ready(){return I(this)?this[N].ready.promise:Promise.reject(TypeError(`Invalid this`))}abort(e){return I(this)?this[N].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterAbort(this,e):Promise.reject(TypeError(`Invalid this`))}close(){if(!I(this))return Promise.reject(TypeError(`Invalid this`));let{stream:e}=this[N];return e===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamCloseQueuedOrInFlight(e)?Promise.reject(TypeError(`Failure to close WritableStream`)):writableStreamDefaultWriterClose(this)}releaseLock(){if(!I(this))throw TypeError(`Invalid this`);let{stream:e}=this[N];e!==void 0&&writableStreamDefaultWriterRelease(this)}write(e){return I(this)?this[N].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterWrite(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`WritableStreamDefaultWriter`}},WritableStreamDefaultController=class{[P]=`WritableStreamDefaultController`;[N];constructor(e){if(e!==Je)throw TypeError(`Illegal constructor`)}[Ge](e){let t=this[N].abortAlgorithm(e);return writableStreamDefaultControllerClearAlgorithms(this),t}[qe](){resetQueue(this)}get signal(){if(!Ye(this))throw TypeError(`Invalid this`);return this[N].abortController.signal}error(e){if(!Ye(this))throw TypeError(`Invalid this`);this[N].stream[N].state===`writable`&&writableStreamDefaultControllerError(this,e)}get[Symbol.toStringTag](){return`WritableStreamDefaultController`}};const F=isBrandCheck(`WritableStream`),I=isBrandCheck(`WritableStreamDefaultWriter`),Ye=isBrandCheck(`WritableStreamDefaultController`);function createEmptyPromiseRecord(){return{promise:void 0,resolve:void 0,reject:void 0}}function createWritableStreamState(){return{close:Promise.withResolvers(),closeRequest:createEmptyPromiseRecord(),inFlightWriteRequest:createEmptyPromiseRecord(),inFlightCloseRequest:createEmptyPromiseRecord(),pendingAbortRequest:{abort:createEmptyPromiseRecord(),reason:void 0,wasAlreadyErroring:!1},backpressure:!1,controller:void 0,state:`writable`,storedError:void 0,writeRequests:[],writer:void 0}}function isWritableStreamLocked(e){return e[N].writer!==void 0}function setupWritableStreamDefaultWriter(e,t){if(isWritableStreamLocked(t))throw TypeError(`WritableStream is locked`);switch(e[N].stream=t,t[N].writer=e,t[N].state){case`writable`:!writableStreamCloseQueuedOrInFlight(t)&&t[N].backpressure?e[N].ready=Promise.withResolvers():e[N].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},e[N].close=Promise.withResolvers();break;case`erroring`:e[N].ready={promise:Promise.reject(t[N].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[N].ready.promise),e[N].close=Promise.withResolvers();break;case`closed`:e[N].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},e[N].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;default:e[N].ready={promise:Promise.reject(t[N].storedError),resolve:void 0,reject:void 0},e[N].close={promise:Promise.reject(t[N].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[N].ready.promise),setPromiseHandled(e[N].close.promise)}}function writableStreamAbort(e,t){let{state:n,controller:r}=e[N];if(n===`closed`||n===`errored`)return Promise.resolve();if(r[N].abortController.abort(t),e[N].pendingAbortRequest.abort.promise!==void 0)return e[N].pendingAbortRequest.abort.promise;let i=!1;n===`erroring`&&(i=!0,t=void 0);let o=Promise.withResolvers();return e[N].pendingAbortRequest={abort:o,reason:t,wasAlreadyErroring:i},i||writableStreamStartErroring(e,t),o.promise}function writableStreamClose(e){let{state:t,writer:n,backpressure:r,controller:i}=e[N];if(t===`closed`||t===`errored`)return Promise.reject(TypeError(`WritableStream is closed`));e[N].closeRequest=Promise.withResolvers();let{promise:o}=e[N].closeRequest;return n!==void 0&&r&&t===`writable`&&n[N].ready.resolve?.(),writableStreamDefaultControllerClose(i),o}function writableStreamUpdateBackpressure(e,t){let{writer:n}=e[N];n!==void 0&&e[N].backpressure!==t&&(t?n[N].ready=Promise.withResolvers():n[N].ready.resolve?.()),e[N].backpressure=t}function writableStreamStartErroring(e,t){let{controller:n,writer:r}=e[N];e[N].state=`erroring`,e[N].storedError=t,r!==void 0&&writableStreamDefaultWriterEnsureReadyPromiseRejected(r,t),!writableStreamHasOperationMarkedInFlight(e)&&n[N].started&&writableStreamFinishErroring(e)}function writableStreamRejectCloseAndClosedPromiseIfNeeded(e){e[N].closeRequest.promise!==void 0&&(e[N].closeRequest.reject?.(e[N].storedError),e[N].closeRequest={promise:void 0,resolve:void 0,reject:void 0}),setPromiseHandled(e[N].close.promise),e[N].close.reject?.(e[N].storedError);let{writer:t}=e[N];t!==void 0&&(setPromiseHandled(t[N].close.promise),t[N].close.reject?.(e[N].storedError))}function writableStreamMarkFirstWriteRequestInFlight(e){let t=e[N].writeRequests.shift();e[N].inFlightWriteRequest=t}function writableStreamMarkCloseRequestInFlight(e){e[N].inFlightCloseRequest=e[N].closeRequest,e[N].closeRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamHasOperationMarkedInFlight(e){return e[N].inFlightWriteRequest.promise!==void 0||e[N].inFlightCloseRequest.promise!==void 0}function writableStreamFinishInFlightWriteWithError(e,t){e[N].inFlightWriteRequest.reject?.(t),e[N].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0},writableStreamDealWithRejection(e,t)}function writableStreamFinishInFlightWrite(e){e[N].inFlightWriteRequest.resolve?.(),e[N].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamFinishInFlightCloseWithError(e,t){e[N].inFlightCloseRequest.reject?.(t),e[N].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},e[N].pendingAbortRequest.abort.promise!==void 0&&(e[N].pendingAbortRequest.abort.reject?.(t),e[N].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1}),writableStreamDealWithRejection(e,t)}function writableStreamFinishInFlightClose(e){e[N].inFlightCloseRequest.resolve?.(),e[N].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},e[N].state===`erroring`&&(e[N].storedError=void 0,e[N].pendingAbortRequest.abort.promise!==void 0&&(e[N].pendingAbortRequest.abort.resolve?.(),e[N].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1})),e[N].state=`closed`,e[N].writer!==void 0&&e[N].writer[N].close.resolve?.(),e[N].close.resolve?.()}function writableStreamFinishErroring(e){e[N].state=`errored`,e[N].controller[qe]();let t=e[N].storedError;for(let n of e[N].writeRequests)n.reject?.(t);if(e[N].writeRequests=[],e[N].pendingAbortRequest.abort.promise===void 0){writableStreamRejectCloseAndClosedPromiseIfNeeded(e);return}let n=e[N].pendingAbortRequest;if(e[N].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1},n.wasAlreadyErroring){n.abort.reject?.(t),writableStreamRejectCloseAndClosedPromiseIfNeeded(e);return}e[N].controller[Ge](n.reason).then(()=>{n.abort.resolve?.(),writableStreamRejectCloseAndClosedPromiseIfNeeded(e)},t=>{n.abort.reject?.(t),writableStreamRejectCloseAndClosedPromiseIfNeeded(e)})}function writableStreamDealWithRejection(e,t){if(e[N].state===`writable`){writableStreamStartErroring(e,t);return}writableStreamFinishErroring(e)}function writableStreamCloseQueuedOrInFlight(e){return e[N].closeRequest.promise!==void 0||e[N].inFlightCloseRequest.promise!==void 0}function writableStreamAddWriteRequest(e){let{promise:t,resolve:n,reject:r}=Promise.withResolvers();return e[N].writeRequests.push({promise:t,resolve:n,reject:r}),t}function writableStreamDefaultWriterWrite(e,t){let{stream:n}=e[N],{controller:r}=n[N],i=writableStreamDefaultControllerGetChunkSize(r,t);if(n!==e[N].stream)return Promise.reject(TypeError(`Mismatched WritableStreams`));let{state:o}=n[N];if(o===`errored`)return Promise.reject(n[N].storedError);if(writableStreamCloseQueuedOrInFlight(n)||o===`closed`)return Promise.reject(TypeError(`WritableStream is closed`));if(o===`erroring`)return Promise.reject(n[N].storedError);let s=writableStreamAddWriteRequest(n);return writableStreamDefaultControllerWrite(r,t,i),s}function writableStreamDefaultWriterRelease(e){let{stream:t}=e[N],n=TypeError(`Writer has been released`);writableStreamDefaultWriterEnsureReadyPromiseRejected(e,n),writableStreamDefaultWriterEnsureClosedPromiseRejected(e,n),t[N].writer=void 0,e[N].stream=void 0}function writableStreamDefaultWriterGetDesiredSize(e){let{stream:t}=e[N];switch(t[N].state){case`errored`:case`erroring`:return null;case`closed`:return 0}return writableStreamDefaultControllerGetDesiredSize(t[N].controller)}function writableStreamDefaultWriterEnsureReadyPromiseRejected(e,t){e[N].ready.reject?(e[N].ready.reject(t),e[N].ready.resolve=void 0,e[N].ready.reject=void 0):e[N].ready={promise:Promise.reject(t),resolve:void 0,reject:void 0},setPromiseHandled(e[N].ready.promise)}function writableStreamDefaultWriterEnsureClosedPromiseRejected(e,t){e[N].close.reject?(e[N].close.reject(t),e[N].close.resolve=void 0,e[N].close.reject=void 0):e[N].close={promise:Promise.reject(t),resolve:void 0,reject:void 0},setPromiseHandled(e[N].close.promise)}function writableStreamDefaultWriterCloseWithErrorPropagation(e){let{stream:t}=e[N],{state:n}=t[N];return writableStreamCloseQueuedOrInFlight(t)||n===`closed`?Promise.resolve():n===`errored`?Promise.reject(t[N].storedError):writableStreamDefaultWriterClose(e)}function writableStreamDefaultWriterClose(e){return writableStreamClose(e[N].stream)}function writableStreamDefaultWriterAbort(e,t){return writableStreamAbort(e[N].stream,t)}function writableStreamDefaultControllerWrite(e,t,n){try{enqueueValueWithSize(e,t,n)}catch(t){writableStreamDefaultControllerErrorIfNeeded(e,t);return}let{stream:r}=e[N];!writableStreamCloseQueuedOrInFlight(r)&&r[N].state===`writable`&&writableStreamUpdateBackpressure(r,writableStreamDefaultControllerGetBackpressure(e)),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)}function writableStreamDefaultControllerProcessWrite(e,t){let{stream:n,writeAlgorithm:r}=e[N];writableStreamMarkFirstWriteRequestInFlight(n),r(t,e).then(()=>{writableStreamFinishInFlightWrite(n);let{state:t}=n[N];dequeueValue(e),!writableStreamCloseQueuedOrInFlight(n)&&t===`writable`&&writableStreamUpdateBackpressure(n,writableStreamDefaultControllerGetBackpressure(e)),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)},t=>{n[N].state===`writable`&&writableStreamDefaultControllerClearAlgorithms(e),writableStreamFinishInFlightWriteWithError(n,t)})}function writableStreamDefaultControllerProcessClose(e){let{closeAlgorithm:t,stream:n}=e[N];writableStreamMarkCloseRequestInFlight(n),dequeueValue(e);let r=t();writableStreamDefaultControllerClearAlgorithms(e),r.then(()=>writableStreamFinishInFlightClose(n),e=>writableStreamFinishInFlightCloseWithError(n,e))}function writableStreamDefaultControllerGetDesiredSize(e){return e[N].highWaterMark-e[N].queueTotalSize}function writableStreamDefaultControllerGetChunkSize(e,t){let{sizeAlgorithm:n}=e[N];if(n===void 0)return 1;try{return n(t)}catch(t){return writableStreamDefaultControllerErrorIfNeeded(e,t),1}}function writableStreamDefaultControllerErrorIfNeeded(e,t){e[N].stream[N].state===`writable`&&writableStreamDefaultControllerError(e,t)}function writableStreamDefaultControllerError(e,t){writableStreamDefaultControllerClearAlgorithms(e),writableStreamStartErroring(e[N].stream,t)}function writableStreamDefaultControllerClose(e){enqueueValueWithSize(e,Ke,0),writableStreamDefaultControllerAdvanceQueueIfNeeded(e)}function writableStreamDefaultControllerClearAlgorithms(e){e[N].writeAlgorithm=void 0,e[N].closeAlgorithm=void 0,e[N].abortAlgorithm=void 0,e[N].sizeAlgorithm=void 0}function writableStreamDefaultControllerGetBackpressure(e){return writableStreamDefaultControllerGetDesiredSize(e)<=0}function writableStreamDefaultControllerAdvanceQueueIfNeeded(e){let{queue:t,started:n,stream:r}=e[N];if(!n||r[N].inFlightWriteRequest.promise!==void 0)return;if(r[N].state===`erroring`){writableStreamFinishErroring(r);return}if(!t.length)return;let i=peekQueueValue(e);i===Ke?writableStreamDefaultControllerProcessClose(e):writableStreamDefaultControllerProcessWrite(e,i)}function setupWritableStreamDefaultControllerFromSink(e,t,n,r){let i=new WritableStreamDefaultController(Je),o=t?.start,s=t?.write,c=t?.close,l=t?.abort;setupWritableStreamDefaultController(e,i,o?o.bind(t,i):nonOpStart,s?createPromiseCallback(`sink.write`,s,t):nonOpWrite,c?createPromiseCallback(`sink.close`,c,t):nonOpCancel,l?createPromiseCallback(`sink.abort`,l,t):nonOpCancel,n,r)}function setupWritableStreamDefaultController(e,t,n,r,i,o,s,c){t[N]={abortAlgorithm:o,closeAlgorithm:i,highWaterMark:s,queue:[],queueTotalSize:0,abortController:new We,sizeAlgorithm:c,started:!1,stream:e,writeAlgorithm:r},e[N].controller=t,writableStreamUpdateBackpressure(e,writableStreamDefaultControllerGetBackpressure(t));let l=n();new Promise(e=>e(l)).then(()=>{t[N].started=!0,writableStreamDefaultControllerAdvanceQueueIfNeeded(t)},n=>{t[N].started=!0,writableStreamDealWithRejection(e,n)})}function createWritableStream(e,t,n,r,i=1,o=()=>1){let s=Object.create(WritableStream.prototype);return s[P]=`WritableStream`,s[N]=createWritableStreamState(),setupWritableStreamDefaultController(s,new WritableStreamDefaultController(Je),e,t,n,r,i,o),s}const Xe=Symbol(`kCancel`),L=Symbol(`kClose`),R=Symbol(`kChunk`),z=Symbol(`kError`),Ze=Symbol(`kPull`),Qe=Symbol(`kRelease`),B=Symbol(`kSkipThrow`);let $e,et;function lazyReadableReleasedError(){return $e||($e=TypeError(`Reader released`),$e)}function lazyReadableReleasingError(){return et||(et=TypeError(`Releasing reader`),et)}function createAbortError(){if(typeof globalThis.DOMException==`function`)return new DOMException(`The operation was aborted`,`AbortError`);let e=Error(`The operation was aborted`);return e.name=`AbortError`,e}function createReadableStreamState(){return{disturbed:!1,reader:void 0,state:`readable`,storedError:void 0,controller:void 0,closedPromise:Promise.withResolvers()}}var ReadableStream$1=class{static{__name(this,`ReadableStream`)}[P]=`ReadableStream`;[N];constructor(e={},t={}){if(e!=null&&typeof e!=`object`)throw TypeError(`source must be an object`);if(t!=null&&typeof t!=`object`)throw TypeError(`strategy must be an object`);this[N]=createReadableStreamState();let n=t?.size,r=t?.highWaterMark,i=e?.type;if(i!==void 0){if(`${i}`==`bytes`){if(n!==void 0)throw RangeError(`strategy.size must not be set for a byte stream`);setupReadableByteStreamControllerFromSource(this,e,extractHighWaterMark(r,0));return}throw RangeError(`Invalid type: ${i}`)}setupReadableStreamDefaultControllerFromSource(this,e,extractHighWaterMark(r,1),extractSizeAlgorithm(n))}get locked(){if(!V(this))throw TypeError(`Invalid this`);return isReadableStreamLocked(this)}static from(e){return readableStreamFromIterable(e)}cancel(e=void 0){return V(this)?isReadableStreamLocked(this)?Promise.reject(TypeError(`ReadableStream is locked`)):readableStreamCancel(this,e):Promise.reject(TypeError(`Invalid this`))}getReader(e={}){if(!V(this))throw TypeError(`Invalid this`);if(e!=null&&typeof e!=`object`)throw TypeError(`options must be an object`);let t=e?.mode;if(t===void 0)return new ReadableStreamDefaultReader(this);if(`${t}`==`byob`)return new ReadableStreamBYOBReader(this);throw RangeError(`Invalid mode: ${t}`)}pipeThrough(e,t={}){if(!V(this))throw TypeError(`Invalid this`);let n=e?.readable;if(!V(n))throw TypeError(`transform.readable must be a ReadableStream`);let r=e?.writable;if(!F(r))throw TypeError(`transform.writable must be a WritableStream`);if(t!=null&&typeof t!=`object`)throw TypeError(`options must be an object`);let i=t?.preventAbort,o=t?.preventCancel,s=t?.preventClose,c=t?.signal;if(c!==void 0&&!(c instanceof Object&&`aborted`in c))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(r))throw TypeError(`The WritableStream is locked`);return setPromiseHandled(readableStreamPipeTo(this,r,!!s,!!i,!!o,c)),n}pipeTo(e,t={}){try{if(!V(this))throw TypeError(`Invalid this`);if(!F(e))throw TypeError(`destination must be a WritableStream`);if(t!=null&&typeof t!=`object`)throw TypeError(`options must be an object`);let n=t?.preventAbort,r=t?.preventCancel,i=t?.preventClose,o=t?.signal;if(o!==void 0&&!(o instanceof Object&&`aborted`in o))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(e))throw TypeError(`The WritableStream is locked`);return readableStreamPipeTo(this,e,!!i,!!n,!!r,o)}catch(e){return Promise.reject(e)}}tee(){if(!V(this))throw TypeError(`Invalid this`);let e=this[N].controller;return H(e)?readableByteStreamTee(this):readableStreamDefaultTee(this,!1)}values(e={}){if(!V(this))throw TypeError(`Invalid this`);if(e!=null&&typeof e!=`object`)throw TypeError(`options must be an object`);let t=!!e?.preventCancel,n=new ReadableStreamDefaultReader(this),r={done:!1,current:void 0},i=!1;function nextSteps(){if(r.done)return Promise.resolve({done:!0,value:void 0});if(n[N].stream===void 0)return Promise.reject(TypeError(`The reader is not bound to a ReadableStream`));let{promise:e,resolve:t,reject:i}=Promise.withResolvers();return readableStreamDefaultReaderRead(n,{[R](e){r.current=void 0,t({value:e,done:!1})},[L](){r.current=void 0,r.done=!0,readableStreamReaderGenericRelease(n),t({done:!0,value:void 0})},[z](e){r.current=void 0,r.done=!0,readableStreamReaderGenericRelease(n),i(e)}}),e}async function returnSteps(e){if(r.done)return{done:!0,value:e};if(r.done=!0,n[N].stream===void 0)throw TypeError(`The reader is not bound to a ReadableStream`);if(!t){let t=readableStreamReaderGenericCancel(n,e);return readableStreamReaderGenericRelease(n),await t,{done:!0,value:e}}return readableStreamReaderGenericRelease(n),{done:!0,value:e}}return Object.setPrototypeOf({next(){return i||=(r.current=Promise.resolve(),!0),r.current=r.current===void 0?nextSteps():r.current.then(nextSteps,nextSteps),r.current},return(e){return i=!0,r.current=r.current===void 0?returnSteps(e):r.current.then(()=>returnSteps(e),()=>returnSteps(e)),r.current},[Symbol.asyncIterator](){return this}},Ue)}[Symbol.asyncIterator](){return this.values()}get[Symbol.toStringTag](){return`ReadableStream`}},DefaultReadRequest=class{[N];constructor(){this[N]=Promise.withResolvers()}[R](e){this[N].resolve?.({value:e,done:!1})}[L](){this[N].resolve?.({value:void 0,done:!0})}[z](e){this[N].reject?.(e)}get promise(){return this[N].promise}},ReadableStreamDefaultReader=class{[P]=`ReadableStreamDefaultReader`;[N];constructor(e){if(!V(e))throw TypeError(`Expected a ReadableStream`);this[N]={readRequests:[],readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamDefaultReader(this,e)}read(){if(!nt(this))return Promise.reject(TypeError(`Invalid this`));if(this[N].stream===void 0)return Promise.reject(TypeError(`The reader is not attached to a stream`));let e=this[N].stream,t=e[N].controller;if(e[N].state===`readable`&&tt(t)&&t[N].queue.length>0){e[N].disturbed=!0;let n=dequeueValue(t);return t[N].closeRequested&&!t[N].queue.length?(readableStreamDefaultControllerClearAlgorithms(t),readableStreamClose(e)):readableStreamDefaultControllerCallPullIfNeeded(t),Promise.resolve({value:n,done:!1})}let n=new DefaultReadRequest;return readableStreamDefaultReaderRead(this,n),n.promise}releaseLock(){if(!nt(this))throw TypeError(`Invalid this`);this[N].stream!==void 0&&readableStreamDefaultReaderRelease(this)}get closed(){return nt(this)?this[N].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return nt(this)?this[N].stream===void 0?Promise.reject(TypeError(`The reader is not attached to a stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamDefaultReader`}},ReadableStreamDefaultController=class{[P]=`ReadableStreamDefaultController`;[N];constructor(e){if(e!==B)throw TypeError(`Illegal constructor`)}get desiredSize(){return readableStreamDefaultControllerGetDesiredSize(this)}close(){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerClose(this)}enqueue(e=void 0){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerEnqueue(this,e)}error(e=void 0){readableStreamDefaultControllerError(this,e)}[Xe](e){return readableStreamDefaultControllerCancelSteps(this,e)}[Ze](e){readableStreamDefaultControllerPullSteps(this,e)}[Qe](){}get[Symbol.toStringTag](){return`ReadableStreamDefaultController`}};const V=isBrandCheck(`ReadableStream`),tt=isBrandCheck(`ReadableStreamDefaultController`),nt=isBrandCheck(`ReadableStreamDefaultReader`);function isReadableStreamLocked(e){return e[N].reader!==void 0}function readableStreamCancel(e,t){switch(e[N].disturbed=!0,e[N].state){case`closed`:return Promise.resolve();case`errored`:return Promise.reject(e[N].storedError)}readableStreamClose(e);let n=e[N].reader;if(n!==void 0&&readableStreamHasBYOBReader(e)){let e=n[N].readIntoRequests;n[N].readIntoRequests=[];for(let t=0;t<e.length;t++)e[t][L](void 0)}return e[N].controller[Xe](t).then(()=>{})}function readableStreamClose(e){e[N].state=`closed`,e[N].closedPromise.resolve();let{reader:t}=e[N];if(t!==void 0&&(t[N].close.resolve?.(),readableStreamHasDefaultReader(e))){for(let e=0;e<t[N].readRequests.length;e++)t[N].readRequests[e][L]();t[N].readRequests=[]}}function readableStreamError(e,t){e[N].state=`errored`,e[N].storedError=t,setPromiseHandled(e[N].closedPromise.promise),e[N].closedPromise.reject(t);let{reader:n}=e[N];if(n!==void 0){if(setPromiseHandled(n[N].close.promise),n[N].close.reject?.(t),readableStreamHasDefaultReader(e)){for(let e=0;e<n[N].readRequests.length;e++)n[N].readRequests[e][z](t);n[N].readRequests=[]}else if(readableStreamHasBYOBReader(e)){for(let e=0;e<n[N].readIntoRequests.length;e++)n[N].readIntoRequests[e][z](t);n[N].readIntoRequests=[]}}}function readableStreamHasDefaultReader(e){let{reader:t}=e[N];return t===void 0?!1:t[N]!==void 0&&t[P]===`ReadableStreamDefaultReader`}function readableStreamGetNumReadRequests(e){return e[N].reader[N].readRequests.length}function readableStreamFulfillReadRequest(e,t,n){let{reader:r}=e[N],i=r[N].readRequests.shift();n?i[L]():i[R](t)}function readableStreamAddReadRequest(e,t){e[N].reader[N].readRequests.push(t)}function readableStreamReaderGenericCancel(e,t){let{stream:n}=e[N];return readableStreamCancel(n,t)}function readableStreamReaderGenericInitialize(e,t){switch(e[N].stream=t,t[N].reader=e,t[N].state){case`readable`:e[N].close=Promise.withResolvers();break;case`closed`:e[N].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;case`errored`:e[N].close={promise:Promise.reject(t[N].storedError),resolve:void 0,reject:void 0},setPromiseHandled(e[N].close.promise);break}}function readableStreamReaderGenericRelease(e){let{stream:t}=e[N],n=lazyReadableReleasedError();t[N].state===`readable`?e[N].close.reject?.(n):e[N].close={promise:Promise.reject(n),resolve:void 0,reject:void 0},setPromiseHandled(e[N].close.promise),t[N].controller[Qe](),t[N].reader=void 0,e[N].stream=void 0}function readableStreamDefaultReaderRelease(e){readableStreamReaderGenericRelease(e),readableStreamDefaultReaderErrorReadRequests(e,lazyReadableReleasingError())}function readableStreamDefaultReaderErrorReadRequests(e,t){for(let n=0;n<e[N].readRequests.length;++n)e[N].readRequests[n][z](t);e[N].readRequests=[]}function readableStreamDefaultReaderRead(e,t){let{stream:n}=e[N];switch(n[N].disturbed=!0,n[N].state){case`closed`:t[L]();break;case`errored`:t[z](n[N].storedError);break;case`readable`:n[N].controller[Ze](t);break}}function setupReadableStreamDefaultReader(e,t){if(isReadableStreamLocked(t))throw TypeError(`ReadableStream is locked`);readableStreamReaderGenericInitialize(e,t),e[N].readRequests=[]}function readableStreamDefaultControllerClose(e){readableStreamDefaultControllerCanCloseOrEnqueue(e)&&(e[N].closeRequested=!0,e[N].queue.length||(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(e[N].stream)))}function readableStreamDefaultControllerEnqueue(e,t){if(!readableStreamDefaultControllerCanCloseOrEnqueue(e))return;let{stream:n}=e[N];if(isReadableStreamLocked(n)&&readableStreamGetNumReadRequests(n))readableStreamFulfillReadRequest(n,t,!1);else try{enqueueValueWithSize(e,t,e[N].sizeAlgorithm(t))}catch(t){throw readableStreamDefaultControllerError(e,t),t}readableStreamDefaultControllerCallPullIfNeeded(e)}function readableStreamDefaultControllerCanCloseOrEnqueue(e){let{stream:t}=e[N];return!e[N].closeRequested&&t[N].state===`readable`}function readableStreamDefaultControllerGetDesiredSize(e){let{stream:t,highWaterMark:n,queueTotalSize:r}=e[N];switch(t[N].state){case`errored`:return null;case`closed`:return 0;default:return n-r}}function readableStreamDefaultControllerHasBackpressure(e){return!readableStreamDefaultControllerShouldCallPull(e)}function readableStreamDefaultControllerShouldCallPull(e){let{stream:t}=e[N];if(!readableStreamDefaultControllerCanCloseOrEnqueue(e)||!e[N].started)return!1;if(isReadableStreamLocked(t)&&readableStreamGetNumReadRequests(t))return!0;let n=readableStreamDefaultControllerGetDesiredSize(e);return n!==null&&n>0}function readableStreamDefaultControllerCallPullIfNeeded(e){if(readableStreamDefaultControllerShouldCallPull(e)){if(e[N].pulling){e[N].pullAgain=!0;return}e[N].pulling=!0,e[N].pullAlgorithm(e).then(()=>{e[N].pulling=!1,e[N].pullAgain&&(e[N].pullAgain=!1,readableStreamDefaultControllerCallPullIfNeeded(e))},t=>readableStreamDefaultControllerError(e,t))}}function readableStreamDefaultControllerClearAlgorithms(e){e[N].pullAlgorithm=void 0,e[N].cancelAlgorithm=void 0,e[N].sizeAlgorithm=void 0}function readableStreamDefaultControllerError(e,t){let{stream:n}=e[N];n[N].state===`readable`&&(resetQueue(e),readableStreamDefaultControllerClearAlgorithms(e),readableStreamError(n,t))}function readableStreamDefaultControllerCancelSteps(e,t){resetQueue(e);let n=e[N].cancelAlgorithm?.(t)??Promise.resolve();return readableStreamDefaultControllerClearAlgorithms(e),n}function readableStreamDefaultControllerPullSteps(e,t){let{stream:n,queue:r}=e[N];if(r.length){let i=dequeueValue(e);e[N].closeRequested&&!r.length?(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(n)):readableStreamDefaultControllerCallPullIfNeeded(e),t[R](i);return}readableStreamAddReadRequest(n,t),readableStreamDefaultControllerCallPullIfNeeded(e)}function setupReadableStreamDefaultController(e,t,n,r,i,o,s){t[N]={cancelAlgorithm:i,closeRequested:!1,highWaterMark:o,pullAgain:!1,pullAlgorithm:r,pulling:!1,queue:[],queueTotalSize:0,started:!1,sizeAlgorithm:s,stream:e},e[N].controller=t;let c=n();new Promise(e=>e(c)).then(()=>{t[N].started=!0,readableStreamDefaultControllerCallPullIfNeeded(t)},e=>readableStreamDefaultControllerError(t,e))}function setupReadableStreamDefaultControllerFromSource(e,t,n,r){let i=new ReadableStreamDefaultController(B),o=t?.start,s=t?.pull,c=t?.cancel;setupReadableStreamDefaultController(e,i,o?o.bind(t,i):nonOpStart,s?createPromiseCallback(`source.pull`,s,t):nonOpPull,c?createPromiseCallback(`source.cancel`,c,t):nonOpCancel,n,r)}function createReadableStream(e,t,n,r=1,i=()=>1){let o=Object.create(ReadableStream$1.prototype);return o[P]=`ReadableStream`,o[N]=createReadableStreamState(),setupReadableStreamDefaultController(o,new ReadableStreamDefaultController(B),e,t,n,r,i),o}function readableStreamFromIterable(e){let t,n=getIterator(e,`async`),r=nonOpStart;async function pullAlgorithm(){let e=iteratorNext(n);return Promise.resolve(e).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.next() method must fulfill with an object`);e.done?readableStreamDefaultControllerClose(t[N].controller):readableStreamDefaultControllerEnqueue(t[N].controller,e.value)})}async function cancelAlgorithm(e){let t=n.iterator,r=t.return;if(r===void 0)return Promise.resolve();let i=r.call(t,e);return Promise.resolve(i).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.return() method must fulfill with an object`)})}return t=createReadableStream(r,pullAlgorithm,cancelAlgorithm,0),t}function readableStreamPipeTo(e,t,n,r,i,o){let s,c;try{s=new ReadableStreamDefaultReader(e),c=new WritableStreamDefaultWriter(t)}catch(e){return Promise.reject(e)}e[N].disturbed=!0;let l=!1,{promise:u,resolve:d,reject:f}=Promise.withResolvers(),p={currentWrite:Promise.resolve()},m;function finalize(e,t){writableStreamDefaultWriterRelease(c),readableStreamReaderGenericRelease(s),o!==void 0&&m&&(o.removeEventListener(`abort`,m),m=void 0),e?f(t):d()}async function waitForCurrentWrite(){let e=p.currentWrite;await e,e!==p.currentWrite&&await waitForCurrentWrite()}function shutdownWithAnAction(e,n,r){if(l)return;if(l=!0,t[N].state===`writable`&&!writableStreamCloseQueuedOrInFlight(t)){waitForCurrentWrite().then(complete,e=>finalize(!0,e));return}complete();function complete(){e().then(()=>finalize(!!n,r),e=>finalize(!0,e))}}function shutdown(e,n){if(!l){if(l=!0,t[N].state===`writable`&&!writableStreamCloseQueuedOrInFlight(t)){waitForCurrentWrite().then(()=>finalize(!!e,n),e=>finalize(!0,e));return}finalize(!!e,n)}}function abortAlgorithm(){let n;n=o.reason&&o.reason.name===`AbortError`?createAbortError():o.reason;let s=[];r||s.push(()=>t[N].state===`writable`?writableStreamAbort(t,n):Promise.resolve()),i||s.push(()=>e[N].state===`readable`?readableStreamCancel(e,n):Promise.resolve()),shutdownWithAnAction(()=>Promise.all(s.map(e=>e())).then(()=>void 0),!0,n)}function watchErrored(e,t,n){e[N].state===`errored`?n(e[N].storedError):t.then(void 0,n)}function watchClosed(e,t,n){e[N].state===`closed`?n():t.then(n,()=>{})}class PipeToReadRequest{[R](e){v(()=>{p.currentWrite=writableStreamDefaultWriterWrite(c,e),setPromiseHandled(p.currentWrite),h.resolve(!1)})}[L](){h.resolve(!0)}[z](e){h.reject(e)}}let h={resolve:null,reject:null};async function step(){if(l||t[N].backpressure&&(await c[N].ready.promise,l))return!0;let n=e[N].controller;if(e[N].state===`readable`&&tt(n)&&n[N].queue.length>0){for(;n[N].queue.length>0;){if(l)return!0;let r=dequeueValue(n);if(n[N].closeRequested&&!n[N].queue.length&&(readableStreamDefaultControllerClearAlgorithms(n),readableStreamClose(e)),p.currentWrite=writableStreamDefaultWriterWrite(c,r),setPromiseHandled(p.currentWrite),t[N].backpressure||t[N].state!==`writable`||writableStreamCloseQueuedOrInFlight(t))break}return readableStreamDefaultControllerCallPullIfNeeded(n),e[N].state===`closed`}let{promise:r,resolve:i,reject:o}=Promise.withResolvers();return h={resolve:i,reject:o},readableStreamDefaultReaderRead(s,new PipeToReadRequest),r}async function run(){for(;!await step(););}if(o!==void 0){if(o.aborted)return abortAlgorithm(),u;m=abortAlgorithm,o.addEventListener(`abort`,m,{once:!0})}if(setPromiseHandled(run()),watchErrored(e,s[N].close.promise,e=>{if(!r)return shutdownWithAnAction(()=>writableStreamAbort(t,e),!0,e);shutdown(!0,e)}),watchErrored(t,c[N].close.promise,t=>{if(!i)return shutdownWithAnAction(()=>readableStreamCancel(e,t),!0,t);shutdown(!0,t)}),watchClosed(e,s[N].close.promise,()=>{if(!n)return shutdownWithAnAction(()=>writableStreamDefaultWriterCloseWithErrorPropagation(c));shutdown()}),writableStreamCloseQueuedOrInFlight(t)||t[N].state===`closed`){let t=TypeError(`Destination WritableStream is closed`);i?shutdown(!0,t):shutdownWithAnAction(()=>readableStreamCancel(e,t),!0,t)}return u}function readableStreamDefaultTee(e,t){let n=new ReadableStreamDefaultReader(e),r=!1,i=!1,o=!1,s,c,l,u,d=Promise.withResolvers();async function pullAlgorithm(){r||(r=!0,readableStreamDefaultReaderRead(n,{[R](e){v(()=>{r=!1;let n=e,s=e;if(!o&&t)try{s=structuredClone(s)}catch{}i||readableStreamDefaultControllerEnqueue(l[N].controller,n),o||readableStreamDefaultControllerEnqueue(u[N].controller,s)})},[L](){v(()=>{r=!1,i||readableStreamDefaultControllerClose(l[N].controller),o||readableStreamDefaultControllerClose(u[N].controller),(!i||!o)&&d.resolve(void 0)})},[z](){r=!1}}))}function cancel1Algorithm(t){if(i=!0,s=t,o){let t=[s,c];d.resolve(readableStreamCancel(e,t))}return d.promise}function cancel2Algorithm(t){if(o=!0,c=t,i){let t=[s,c];d.resolve(readableStreamCancel(e,t))}return d.promise}return l=createReadableStream(nonOpStart,pullAlgorithm,cancel1Algorithm),u=createReadableStream(nonOpStart,pullAlgorithm,cancel2Algorithm),n[N].close.promise.then(void 0,e=>{readableStreamDefaultControllerError(l[N].controller,e),readableStreamDefaultControllerError(u[N].controller,e),(!i||!o)&&d.resolve(void 0)}),[l,u]}var BYOBReadIntoRequest=class{[N];constructor(){this[N]=Promise.withResolvers()}[R](e){this[N].resolve?.({value:e,done:!1})}[L](e){this[N].resolve?.({value:e,done:!0})}[z](e){this[N].reject?.(e)}get promise(){return this[N].promise}},ReadableStreamBYOBReader=class{[P]=`ReadableStreamBYOBReader`;[N];constructor(e){if(!V(e))throw TypeError(`Expected a ReadableStream`);this[N]={readRequests:[],readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamBYOBReader(this,e)}read(e,t={}){if(!rt(this))return Promise.reject(TypeError(`Invalid this`));if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))return Promise.reject(TypeError(`view must be an ArrayBufferView`));let n=e.buffer,r=e.byteLength;if(r===0)return Promise.reject(TypeError(`view must have non-zero byteLength`));if(n.byteLength===0)return isDetachedBuffer(n)?Promise.reject(TypeError(`view's buffer has been detached`)):Promise.reject(TypeError(`view's buffer must have non-zero byteLength`));let i=t?.min??1;if(typeof i!=`number`||i<1||!Number.isInteger(i)||Number.isNaN(i))return Promise.reject(TypeError(`options.min must be a positive integer`));let o=e[Symbol.toStringTag];if(o!==void 0&&o!==`DataView`){if(i>e.length)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`))}else if(i>r)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`));if(this[N].stream===void 0)return Promise.reject(TypeError(`Reader has no associated stream`));let s=new BYOBReadIntoRequest;return readableStreamBYOBReaderRead(this,e,i,s),s.promise}releaseLock(){if(!rt(this))throw TypeError(`Invalid this`);this[N].stream!==void 0&&readableStreamBYOBReaderRelease(this)}get closed(){return rt(this)?this[N].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return rt(this)?this[N].stream===void 0?Promise.reject(TypeError(`Reader has no associated stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamBYOBReader`}},ReadableStreamBYOBRequest=class{[P]=`ReadableStreamBYOBRequest`;[N];constructor(e){if(e!==B)throw TypeError(`Illegal constructor`)}get view(){if(!it(this))throw TypeError(`Invalid this`);return this[N].view}respond(e){if(!it(this))throw TypeError(`Invalid this`);if(this[N].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(e=+e,!Number.isInteger(e)||e<0||!Number.isFinite(e))throw RangeError(`bytesWritten must be a non-negative integer`);let t=this[N].view;if(isDetachedBuffer(t.buffer))throw TypeError(`The BYOB request's buffer has been detached`);readableByteStreamControllerRespond(this[N].controller,e)}respondWithNewView(e){if(!it(this))throw TypeError(`Invalid this`);if(this[N].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))throw TypeError(`view must be an ArrayBufferView`);if(isDetachedBuffer(e.buffer))throw TypeError(`The given view's buffer has been detached`);readableByteStreamControllerRespondWithNewView(this[N].controller,e)}get[Symbol.toStringTag](){return`ReadableStreamBYOBRequest`}},ReadableByteStreamController=class{[P]=`ReadableByteStreamController`;[N];constructor(e){if(e!==B)throw TypeError(`Illegal constructor`)}get byobRequest(){if(!H(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetBYOBRequest(this)}get desiredSize(){if(!H(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetDesiredSize(this)}close(){if(!H(this))throw TypeError(`Invalid this`);if(this[N].closeRequested)throw TypeError(`Close already requested`);if(this[N].stream[N].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerClose(this)}enqueue(e){if(!H(this))throw TypeError(`Invalid this`);if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))throw TypeError(`chunk must be an ArrayBufferView`);if(e.byteLength===0)throw TypeError(`chunk length must be non-zero`);if(e.buffer.byteLength===0)throw TypeError(`chunk's buffer length must be non-zero`);if(this[N].closeRequested)throw TypeError(`Cannot enqueue after close has been requested`);if(this[N].stream[N].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerEnqueue(this,e)}error(e=void 0){if(!H(this))throw TypeError(`Invalid this`);readableByteStreamControllerError(this,e)}[Xe](e){return readableByteStreamControllerCancelSteps(this,e)}[Ze](e){readableByteStreamControllerPullSteps(this,e)}[Qe](){if(this[N].pendingPullIntos.length>0){let e=this[N].pendingPullIntos[0];e.readerType=`none`,this[N].pendingPullIntos=[e]}}get[Symbol.toStringTag](){return`ReadableByteStreamController`}};const H=isBrandCheck(`ReadableByteStreamController`),rt=isBrandCheck(`ReadableStreamBYOBReader`),it=isBrandCheck(`ReadableStreamBYOBRequest`);function readableStreamHasBYOBReader(e){let{reader:t}=e[N];return t===void 0?!1:t[N]!==void 0&&t[P]===`ReadableStreamBYOBReader`}function readableStreamGetNumReadIntoRequests(e){return e[N].reader[N].readIntoRequests.length}function readableStreamAddReadIntoRequest(e,t){e[N].reader[N].readIntoRequests.push(t)}function readableStreamFulfillReadIntoRequest(e,t,n){let{reader:r}=e[N],i=r[N].readIntoRequests.shift();n?i[L](t):i[R](t)}function setupReadableStreamBYOBReader(e,t){if(isReadableStreamLocked(t))throw TypeError(`ReadableStream is locked`);if(!H(t[N].controller))throw TypeError(`Cannot use a BYOB reader with a non-byte stream`);readableStreamReaderGenericInitialize(e,t),e[N].readIntoRequests=[]}function readableStreamBYOBReaderRead(e,t,n,r){let{stream:i}=e[N];i[N].disturbed=!0,i[N].state===`errored`?r[z](i[N].storedError):readableByteStreamControllerPullInto(i[N].controller,t,n,r)}function readableStreamBYOBReaderRelease(e){readableStreamReaderGenericRelease(e);let t=TypeError(`Reader was released`);for(let n=0;n<e[N].readIntoRequests.length;n++)e[N].readIntoRequests[n][z](t);e[N].readIntoRequests=[]}function readableByteStreamControllerClearAlgorithms(e){e[N].pullAlgorithm=void 0,e[N].cancelAlgorithm=void 0}function readableByteStreamControllerClearPendingPullIntos(e){readableByteStreamControllerInvalidateBYOBRequest(e),e[N].pendingPullIntos=[]}function readableByteStreamControllerInvalidateBYOBRequest(e){let t=e[N].byobRequest;t!=null&&(t[N].controller=void 0,t[N].view=null,e[N].byobRequest=null)}function readableByteStreamControllerError(e,t){let{stream:n}=e[N];n[N].state===`readable`&&(readableByteStreamControllerClearPendingPullIntos(e),resetQueue(e),readableByteStreamControllerClearAlgorithms(e),readableStreamError(n,t))}function readableByteStreamControllerGetDesiredSize(e){let t=e[N].stream[N].state;return t===`errored`?null:t===`closed`?0:e[N].highWaterMark-e[N].queueTotalSize}function readableByteStreamControllerShouldCallPull(e){let{stream:t}=e[N];if(t[N].state!==`readable`||e[N].closeRequested||!e[N].started)return!1;if(readableStreamHasDefaultReader(t)&&readableStreamGetNumReadRequests(t)>0||readableStreamHasBYOBReader(t)&&readableStreamGetNumReadIntoRequests(t)>0)return!0;let n=readableByteStreamControllerGetDesiredSize(e);return n!==null&&n>0}function readableByteStreamControllerCallPullIfNeeded(e){if(readableByteStreamControllerShouldCallPull(e)){if(e[N].pulling){e[N].pullAgain=!0;return}e[N].pulling=!0,e[N].pullAlgorithm(e).then(()=>{e[N].pulling=!1,e[N].pullAgain&&(e[N].pullAgain=!1,readableByteStreamControllerCallPullIfNeeded(e))},t=>readableByteStreamControllerError(e,t))}}function readableByteStreamControllerHandleQueueDrain(e){e[N].queueTotalSize===0&&e[N].closeRequested?(readableByteStreamControllerClearAlgorithms(e),readableStreamClose(e[N].stream)):readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerEnqueueChunkToQueue(e,t,n,r){e[N].queue.push({buffer:t,byteOffset:n,byteLength:r}),e[N].queueTotalSize+=r}function readableByteStreamControllerEnqueueClonedChunkToQueue(e,t,n,r){let i;try{i=t.slice(n,n+r)}catch(t){readableByteStreamControllerError(e,t);return}readableByteStreamControllerEnqueueChunkToQueue(e,i,0,r)}function readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,t){t.bytesFilled>0&&readableByteStreamControllerEnqueueClonedChunkToQueue(e,t.buffer,t.byteOffset,t.bytesFilled),readableByteStreamControllerShiftPendingPullInto(e)}function readableByteStreamControllerShiftPendingPullInto(e){return e[N].pendingPullIntos.shift()}function readableByteStreamControllerFillHeadPullIntoDescriptor(e,t,n){n.bytesFilled+=t}function readableByteStreamControllerConvertPullIntoDescriptor(e){let t=e.bytesFilled,n=e.elementSize,r=transferArrayBuffer(e.buffer);return e.buffer=r,new e.viewConstructor(r,e.byteOffset,t/n)}function readableByteStreamControllerCommitPullIntoDescriptor(e,t){let n=!1;e[N].state===`closed`&&(n=!0);let r=readableByteStreamControllerConvertPullIntoDescriptor(t);t.readerType==="default"?readableStreamFulfillReadRequest(e,r,n):readableStreamFulfillReadIntoRequest(e,r,n)}function readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,t){let n=Math.min(e[N].queueTotalSize,t.byteLength-t.bytesFilled),r=t.bytesFilled+n,i=n,o=!1,s=r-r%t.elementSize;s>=t.minimumFill&&(i=s-t.bytesFilled,o=!0);let c=e[N].queue;for(;i>0;){let n=c[0],r=Math.min(i,n.byteLength),o=t.byteOffset+t.bytesFilled,s=new Uint8Array(t.buffer,o,r),l=new Uint8Array(n.buffer,n.byteOffset,r);s.set(l),n.byteLength===r?c.shift():(n.byteOffset+=r,n.byteLength-=r),e[N].queueTotalSize-=r,readableByteStreamControllerFillHeadPullIntoDescriptor(e,r,t),i-=r}return o}function readableByteStreamControllerFillReadRequestFromQueue(e,t){let n=e[N].queue.shift();e[N].queueTotalSize-=n.byteLength,readableByteStreamControllerHandleQueueDrain(e);let r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);t[R](r)}function readableByteStreamControllerProcessReadRequestsUsingQueue(e){let t=e[N].stream[N].reader;for(;t[N].readRequests.length!==0;){if(e[N].queueTotalSize===0)return;readableByteStreamControllerFillReadRequestFromQueue(e,t[N].readRequests.shift())}}function readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e){for(;e[N].pendingPullIntos.length!==0;){if(e[N].queueTotalSize===0)return;let t=e[N].pendingPullIntos[0];readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,t)&&(readableByteStreamControllerShiftPendingPullInto(e),readableByteStreamControllerCommitPullIntoDescriptor(e[N].stream,t))}}function readableByteStreamControllerGetBYOBRequest(e){if(e[N].byobRequest===null&&e[N].pendingPullIntos.length!==0){let t=e[N].pendingPullIntos[0],n=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),r=new ReadableStreamBYOBRequest(B);r[N]={controller:e,view:n},e[N].byobRequest=r}return e[N].byobRequest}function readableByteStreamControllerEnqueue(e,t){let{stream:n}=e[N];if(e[N].closeRequested||n[N].state!==`readable`)return;let r=t.buffer,i=t.byteLength,o=t.byteOffset;if(isDetachedBuffer(r))throw TypeError(`chunk's buffer is detached`);let s=transferArrayBuffer(r);if(e[N].pendingPullIntos.length!==0){let t=e[N].pendingPullIntos[0];if(isDetachedBuffer(t.buffer))throw TypeError(`BYOB request's buffer has been detached`);readableByteStreamControllerInvalidateBYOBRequest(e),t.buffer=transferArrayBuffer(t.buffer),t.readerType===`none`&&readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,t)}readableStreamHasDefaultReader(n)?(readableByteStreamControllerProcessReadRequestsUsingQueue(e),readableStreamGetNumReadRequests(n)===0?readableByteStreamControllerEnqueueChunkToQueue(e,s,o,i):(e[N].pendingPullIntos.length!==0&&readableByteStreamControllerShiftPendingPullInto(e),readableStreamFulfillReadRequest(n,new Uint8Array(s,o,i),!1))):readableStreamHasBYOBReader(n)?(readableByteStreamControllerEnqueueChunkToQueue(e,s,o,i),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e)):readableByteStreamControllerEnqueueChunkToQueue(e,s,o,i),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerClose(e){let{stream:t}=e[N];if(!(e[N].closeRequested||t[N].state!==`readable`)){if(e[N].queueTotalSize>0){e[N].closeRequested=!0;return}if(e[N].pendingPullIntos.length!==0){let t=e[N].pendingPullIntos[0];if(t.bytesFilled%t.elementSize!==0){let t=TypeError(`Insufficient bytes to fill elements in the given buffer`);throw readableByteStreamControllerError(e,t),t}}readableByteStreamControllerClearAlgorithms(e),readableStreamClose(t)}}function readableByteStreamControllerPullInto(e,t,n,r){let i=e[N].stream,o=t[Symbol.toStringTag],s,c;if(o===void 0||o===`DataView`)s=DataView,c=1;else{let e=typedArrayConstructorByTag(o);if(!e){r[z](TypeError(`Unsupported typed array: ${o}`));return}s=e,c=elementSizeByTag(o)}let l=t.buffer,u=t.byteLength,d=t.byteOffset,f=n*c,p;try{p=transferArrayBuffer(l)}catch(e){r[z](e);return}let m={buffer:p,bufferByteLength:p.byteLength,byteOffset:d,byteLength:u,bytesFilled:0,minimumFill:f,elementSize:c,viewConstructor:s,readerType:`byob`};if(e[N].pendingPullIntos.length!==0){e[N].pendingPullIntos.push(m),readableStreamAddReadIntoRequest(i,r);return}if(i[N].state===`closed`){let e=new s(m.buffer,m.byteOffset,0);r[L](e);return}if(e[N].queueTotalSize>0){if(readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,m)){let t=readableByteStreamControllerConvertPullIntoDescriptor(m);readableByteStreamControllerHandleQueueDrain(e),r[R](t);return}if(e[N].closeRequested){let t=TypeError(`Insufficient bytes to fill elements in the given buffer`);readableByteStreamControllerError(e,t),r[z](t);return}}e[N].pendingPullIntos.push(m),readableStreamAddReadIntoRequest(i,r),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerRespond(e,t){let n=e[N].pendingPullIntos[0];if(e[N].stream[N].state===`closed`){if(t!==0)throw TypeError(`bytesWritten must be 0 when calling respond() on a closed stream`)}else{if(t===0)throw TypeError(`bytesWritten must be greater than 0 when calling respond() on a readable stream`);if(n.bytesFilled+t>n.byteLength)throw RangeError(`bytesWritten out of range`)}n.buffer=transferArrayBuffer(n.buffer),readableByteStreamControllerRespondInternal(e,t)}function readableByteStreamControllerRespondWithNewView(e,t){let n=e[N].pendingPullIntos[0],r=e[N].stream[N].state,i=t.byteLength,o=t.byteOffset,s=t.buffer;if(r===`closed`){if(i!==0)throw TypeError(`view's length must be 0 when calling respondWithNewView() on a closed stream`)}else if(i===0)throw TypeError(`view's length must be greater than 0 when calling respondWithNewView() on a readable stream`);if(n.byteOffset+n.bytesFilled!==o)throw RangeError(`The region specified by view does not match byobRequest`);if(n.bufferByteLength!==s.byteLength)throw RangeError(`The buffer of view has different capacity than byobRequest`);if(n.bytesFilled+i>n.byteLength)throw RangeError(`The region specified by view is larger than byobRequest`);n.buffer=transferArrayBuffer(s),readableByteStreamControllerRespondInternal(e,i)}function readableByteStreamControllerRespondInternal(e,t){let n=e[N].pendingPullIntos[0];readableByteStreamControllerInvalidateBYOBRequest(e),e[N].stream[N].state===`closed`?readableByteStreamControllerRespondInClosedState(e,n):readableByteStreamControllerRespondInReadableState(e,t,n),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerRespondInClosedState(e,t){t.readerType===`none`&&readableByteStreamControllerShiftPendingPullInto(e);let n=e[N].stream;if(readableStreamHasBYOBReader(n))for(;readableStreamGetNumReadIntoRequests(n)>0;)readableByteStreamControllerCommitPullIntoDescriptor(n,readableByteStreamControllerShiftPendingPullInto(e))}function readableByteStreamControllerRespondInReadableState(e,t,n){if(readableByteStreamControllerFillHeadPullIntoDescriptor(e,t,n),n.readerType===`none`){readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,n),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e);return}if(n.bytesFilled<n.minimumFill)return;readableByteStreamControllerShiftPendingPullInto(e);let r=n.bytesFilled%n.elementSize;if(r>0){let t=n.byteOffset+n.bytesFilled;readableByteStreamControllerEnqueueClonedChunkToQueue(e,n.buffer,t-r,r)}n.bytesFilled-=r,readableByteStreamControllerCommitPullIntoDescriptor(e[N].stream,n),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e)}function readableByteStreamControllerCancelSteps(e,t){readableByteStreamControllerClearPendingPullIntos(e),resetQueue(e);let n=e[N].cancelAlgorithm?.(t)??Promise.resolve();return readableByteStreamControllerClearAlgorithms(e),n}function readableByteStreamControllerPullSteps(e,t){let n=e[N].stream;if(e[N].queueTotalSize>0){readableByteStreamControllerFillReadRequestFromQueue(e,t);return}let r=e[N].autoAllocateChunkSize;if(r!==void 0){let n;try{n=new ArrayBuffer(r)}catch(e){t[z](e);return}let i={buffer:n,bufferByteLength:r,byteOffset:0,byteLength:r,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:`default`};e[N].pendingPullIntos.push(i)}readableStreamAddReadRequest(n,t),readableByteStreamControllerCallPullIfNeeded(e)}function setupReadableByteStreamController(e,t,n,r,i,o,s){t[N]={cancelAlgorithm:i,closeRequested:!1,highWaterMark:o,pullAgain:!1,pullAlgorithm:r,pulling:!1,queue:[],queueTotalSize:0,started:!1,stream:e,byobRequest:null,pendingPullIntos:[],autoAllocateChunkSize:s},e[N].controller=t;let c=n();new Promise(e=>e(c)).then(()=>{t[N].started=!0,readableByteStreamControllerCallPullIfNeeded(t)},e=>readableByteStreamControllerError(t,e))}function setupReadableByteStreamControllerFromSource(e,t,n){let r=new ReadableByteStreamController(B),i=t?.start,o=t?.pull,s=t?.cancel,c=t?.autoAllocateChunkSize;if(c!==void 0&&(c===0||!Number.isInteger(c)||c<0))throw TypeError(`autoAllocateChunkSize must be a positive integer`);setupReadableByteStreamController(e,r,i?i.bind(t,r):nonOpStart,o?createPromiseCallback(`source.pull`,o,t):nonOpPull,s?createPromiseCallback(`source.cancel`,s,t):nonOpCancel,n,c)}function readableByteStreamTee(e){let t=new ReadableStreamDefaultReader(e),n=!1,r=!1,i=!1,o,s,c=Promise.withResolvers(),l,u,d,f;function pullAlgorithm(){return n?Promise.resolve():(n=!0,t.read().then(e=>{if(n=!1,e.done){r||d.close(),i||f.close();return}let t=e.value,o=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));r||d.enqueue(o),i||f.enqueue(new Uint8Array(o))},()=>{}),Promise.resolve())}return l=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(t){if(r=!0,o=t,i){let t=readableStreamCancel(e,[o,s]);return c.resolve(),t}return c.promise}}),u=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(t){if(i=!0,s=t,r){let t=readableStreamCancel(e,[o,s]);return c.resolve(),t}return c.promise}}),d=l[N].controller,f=u[N].controller,t.closed.catch(e=>{d.error(e),f.error(e),(!r||!i)&&c.resolve()}),[l,u]}const at=Symbol(`kSkipThrow`);var TransformStream=class{[P]=`TransformStream`;[N];constructor(e={},t={},n={}){if(e!=null&&typeof e!=`object`)throw TypeError(`transformer must be an object`);if(t!=null&&typeof t!=`object`)throw TypeError(`writableStrategy must be an object`);if(n!=null&&typeof n!=`object`)throw TypeError(`readableStrategy must be an object`);let r=e?.readableType,i=e?.writableType,o=e?.start;if(r!==void 0)throw RangeError(`Invalid readableType: ${r}`);if(i!==void 0)throw RangeError(`Invalid writableType: ${i}`);let s=extractHighWaterMark(n?.highWaterMark,0),c=extractSizeAlgorithm(n?.size),l=extractHighWaterMark(t?.highWaterMark,1),u=extractSizeAlgorithm(t?.size),d=Promise.withResolvers();initializeTransformStream(this,d,l,u,s,c),setupTransformStreamDefaultControllerFromTransformer(this,e),o===void 0?d.resolve():d.resolve(o.call(e,this[N].controller))}get readable(){if(!ot(this))throw TypeError(`Invalid this`);return this[N].readable}get writable(){if(!ot(this))throw TypeError(`Invalid this`);return this[N].writable}get[Symbol.toStringTag](){return`TransformStream`}},TransformStreamDefaultController=class{[P]=`TransformStreamDefaultController`;[N];constructor(e){if(e!==at)throw TypeError(`Illegal constructor`)}get desiredSize(){if(!st(this))throw TypeError(`Invalid this`);let{stream:e}=this[N],{readable:t}=e[N],n=t[N].controller;return readableStreamDefaultControllerGetDesiredSize(n)}enqueue(e){if(!st(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerEnqueue(this,e)}error(e){if(!st(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerError(this,e)}terminate(){if(!st(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerTerminate(this)}get[Symbol.toStringTag](){return`TransformStreamDefaultController`}};const ot=isBrandCheck(`TransformStream`),st=isBrandCheck(`TransformStreamDefaultController`);async function defaultTransformAlgorithm(e,t){transformStreamDefaultControllerEnqueue(t,e)}function initializeTransformStream(e,t,n,r,i,o){let startAlgorithm=()=>t.promise,s=createWritableStream(startAlgorithm,t=>transformStreamDefaultSinkWriteAlgorithm(e,t),()=>transformStreamDefaultSinkCloseAlgorithm(e),t=>transformStreamDefaultSinkAbortAlgorithm(e,t),n,r);e[N]={readable:createReadableStream(startAlgorithm,()=>transformStreamDefaultSourcePullAlgorithm(e),t=>transformStreamDefaultSourceCancelAlgorithm(e,t),i,o),writable:s,controller:void 0,backpressure:void 0,backpressureChange:{promise:void 0,resolve:void 0,reject:void 0}},transformStreamSetBackpressure(e,!0)}function transformStreamError(e,t){let{readable:n}=e[N];readableStreamDefaultControllerError(n[N].controller,t),transformStreamErrorWritableAndUnblockWrite(e,t)}function transformStreamErrorWritableAndUnblockWrite(e,t){let{controller:n,writable:r}=e[N];transformStreamDefaultControllerClearAlgorithms(n),writableStreamDefaultControllerErrorIfNeeded(r[N].controller,t),transformStreamUnblockWrite(e)}function transformStreamUnblockWrite(e){e[N].backpressure&&transformStreamSetBackpressure(e,!1)}function transformStreamSetBackpressure(e,t){e[N].backpressureChange.promise!==void 0&&e[N].backpressureChange.resolve?.(),e[N].backpressureChange=Promise.withResolvers(),e[N].backpressure=t}function setupTransformStreamDefaultController(e,t,n,r,i){t[N]={stream:e,transformAlgorithm:n,flushAlgorithm:r,cancelAlgorithm:i,finishPromise:void 0},e[N].controller=t}function setupTransformStreamDefaultControllerFromTransformer(e,t){let n=new TransformStreamDefaultController(at),r=t?.transform,i=t?.flush,o=t?.cancel;setupTransformStreamDefaultController(e,n,r?createPromiseCallback(`transformer.transform`,r,t):defaultTransformAlgorithm,i?createPromiseCallback(`transformer.flush`,i,t):nonOpFlush,o?createPromiseCallback(`transformer.cancel`,o,t):nonOpCancel)}function transformStreamDefaultControllerClearAlgorithms(e){e[N].transformAlgorithm=void 0,e[N].flushAlgorithm=void 0,e[N].cancelAlgorithm=void 0}function transformStreamDefaultControllerEnqueue(e,t){let{stream:n}=e[N],{readable:r}=n[N],i=r[N].controller;if(!readableStreamDefaultControllerCanCloseOrEnqueue(i))throw TypeError(`Unable to enqueue`);try{readableStreamDefaultControllerEnqueue(i,t)}catch(e){throw transformStreamErrorWritableAndUnblockWrite(n,e),r[N].storedError}readableStreamDefaultControllerHasBackpressure(i)!==n[N].backpressure&&transformStreamSetBackpressure(n,!0)}function transformStreamDefaultControllerError(e,t){transformStreamError(e[N].stream,t)}async function transformStreamDefaultControllerPerformTransform(e,t){try{let n=e[N].transformAlgorithm;if(n===void 0)return;await n(t,e)}catch(t){throw transformStreamError(e[N].stream,t),t}}function transformStreamDefaultControllerTerminate(e){let{stream:t}=e[N],{readable:n}=t[N];readableStreamDefaultControllerClose(n[N].controller),transformStreamErrorWritableAndUnblockWrite(t,TypeError(`TransformStream has been terminated`))}function transformStreamDefaultSinkWriteAlgorithm(e,t){let{controller:n}=e[N];return e[N].backpressure?e[N].backpressureChange.promise.then(()=>{let{writable:r}=e[N];if(r[N].state===`erroring`)throw r[N].storedError;return transformStreamDefaultControllerPerformTransform(n,t)}):transformStreamDefaultControllerPerformTransform(n,t)}async function transformStreamDefaultSinkAbortAlgorithm(e,t){let{controller:n,readable:r}=e[N];if(n[N].finishPromise!==void 0)return n[N].finishPromise;let{promise:i,resolve:o,reject:s}=Promise.withResolvers();n[N].finishPromise=i;let c=n[N].cancelAlgorithm(t);return transformStreamDefaultControllerClearAlgorithms(n),c.then(()=>{r[N].state===`errored`?s(r[N].storedError):(readableStreamDefaultControllerError(r[N].controller,t),o())},e=>{readableStreamDefaultControllerError(r[N].controller,e),s(e)}),n[N].finishPromise}function transformStreamDefaultSinkCloseAlgorithm(e){let{readable:t,controller:n}=e[N];if(n[N].finishPromise!==void 0)return n[N].finishPromise;let{promise:r,resolve:i,reject:o}=Promise.withResolvers();n[N].finishPromise=r;let s=n[N].flushAlgorithm(n);return transformStreamDefaultControllerClearAlgorithms(n),s.then(()=>{t[N].state===`errored`?o(t[N].storedError):(readableStreamDefaultControllerClose(t[N].controller),i())},e=>{readableStreamDefaultControllerError(t[N].controller,e),o(e)}),n[N].finishPromise}function transformStreamDefaultSourcePullAlgorithm(e){return transformStreamSetBackpressure(e,!1),e[N].backpressureChange.promise}function transformStreamDefaultSourceCancelAlgorithm(e,t){let{controller:n,writable:r}=e[N];if(n[N].finishPromise!==void 0)return n[N].finishPromise;let{promise:i,resolve:o,reject:s}=Promise.withResolvers();n[N].finishPromise=i;let c=n[N].cancelAlgorithm(t);return transformStreamDefaultControllerClearAlgorithms(n),c.then(()=>{r[N].state===`errored`?s(r[N].storedError):(writableStreamDefaultControllerErrorIfNeeded(r[N].controller,t),transformStreamUnblockWrite(e),o())},t=>{writableStreamDefaultControllerErrorIfNeeded(r[N].controller,t),transformStreamUnblockWrite(e),s(t)}),n[N].finishPromise}const ct=Object.defineProperty(e=>e.byteLength,"name",{value:`size`}),lt=Object.defineProperty(()=>1,"name",{value:`size`});var ByteLengthQueuingStrategy=class{#e;constructor(e){if(typeof e!=`object`||!e)throw TypeError(`init must be an object`);if(e.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+e.highWaterMark}get highWaterMark(){return this.#e}get size(){return ct}get[Symbol.toStringTag](){return`ByteLengthQueuingStrategy`}},CountQueuingStrategy=class{#e;constructor(e){if(typeof e!=`object`||!e)throw TypeError(`init must be an object`);if(e.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+e.highWaterMark}get highWaterMark(){return this.#e}get size(){return lt}get[Symbol.toStringTag](){return`CountQueuingStrategy`}},TextEncoderStream=class{#e=null;#t=new TextEncoder;#n;constructor(){this.#n=new TransformStream({transform:(e,t)=>{if(e=String(e),e===``)return;this.#e!==null&&(e=this.#e+e);let n=e.charCodeAt(e.length-1);55296<=n&&n<=56319?(this.#e=e.slice(-1),e=e.slice(0,-1)):this.#e=null,e&&t.enqueue(this.#t.encode(e))},flush:e=>{this.#e!==null&&e.enqueue(new Uint8Array([239,191,189]))}})}get encoding(){return`utf-8`}get readable(){return this.#n.readable}get writable(){return this.#n.writable}};function hasStreamingSupport(){try{return new TextDecoder().decode(new Uint8Array([195]),{stream:!0}),!0}catch{return!1}}const ut=hasStreamingSupport();function incompleteUtf8Tail(e){let t=e.length;if(t===0)return 0;for(let n=1;n<=Math.min(3,t);n++){let r=e[t-n];if(!(r&128))return 0;if((r&192)!=128){let e;if((r&224)==192)e=2;else if((r&240)==224)e=3;else if((r&248)==240)e=4;else return 0;return n<e?n:0}}return 0}var TextDecoderStream=class{#e;#t;constructor(e,t){if(this.#e=new TextDecoder(e,t),ut)this.#t=new TransformStream({transform:(e,t)=>{let n=toUint8Array(e),r=this.#e.decode(n,{stream:!0});r&&t.enqueue(r)},flush:e=>{let t=this.#e.decode();t&&e.enqueue(t)},cancel:()=>{this.#e.decode()}});else{let e=new Uint8Array;this.#t=new TransformStream({transform:(t,n)=>{let r=toUint8Array(t),i;e.length>0?(i=new Uint8Array(e.length+r.length),i.set(e,0),i.set(r,e.length)):i=r;let o=incompleteUtf8Tail(i),s;if(o>0?(s=i.slice(0,i.length-o),e=i.slice(i.length-o)):(s=i,e=new Uint8Array),s.length>0){let e=this.#e.decode(s);e&&n.enqueue(e)}},flush:t=>{if(e.length>0){let n=this.#e.decode(e);n&&t.enqueue(n),e=new Uint8Array}},cancel:()=>{e=new Uint8Array}})}}get encoding(){return this.#e.encoding}get fatal(){return this.#e.fatal}get ignoreBOM(){return this.#e.ignoreBOM}get readable(){return this.#t.readable}get writable(){return this.#t.writable}};function toUint8Array(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError(`chunk must be a BufferSource`)}function isNativeStreamUsable$3(e,t){try{return typeof e==`function`?typeof e.prototype?.[t]==`function`:!1}catch{return!1}}__name(isNativeStreamUsable$3,`isNativeStreamUsable`);const dt=isNativeStreamUsable$3(globalThis.ReadableStream,`getReader`)?globalThis.ReadableStream:ReadableStream$1,ft=isNativeStreamUsable$3(globalThis.WritableStream,`getWriter`)?globalThis.WritableStream:WritableStream,pt=isNativeStreamUsable$3(globalThis.TransformStream,`readable`)?globalThis.TransformStream:TransformStream,mt=typeof globalThis.ByteLengthQueuingStrategy==`function`?globalThis.ByteLengthQueuingStrategy:ByteLengthQueuingStrategy,ht=typeof globalThis.CountQueuingStrategy==`function`?globalThis.CountQueuingStrategy:CountQueuingStrategy,gt=typeof globalThis.TextEncoderStream==`function`?globalThis.TextEncoderStream:TextEncoderStream,_t=typeof globalThis.TextDecoderStream==`function`?globalThis.TextDecoderStream:TextDecoderStream,vt=globalThis;globalThis.ByteLengthQueuingStrategy===void 0&&(vt.ByteLengthQueuingStrategy=mt),globalThis.CountQueuingStrategy===void 0&&(vt.CountQueuingStrategy=ht);const U=globalThis;function isNativeStreamUsable$2(e,t){try{return typeof e==`function`?typeof e.prototype?.[t]==`function`:!1}catch{return!1}}__name(isNativeStreamUsable$2,`isNativeStreamUsable`),isNativeStreamUsable$2(globalThis.ReadableStream,`getReader`)||(U.ReadableStream=dt),U.ReadableStreamBYOBReader===void 0&&(U.ReadableStreamBYOBReader=ReadableStreamBYOBReader),U.ReadableStreamBYOBRequest===void 0&&(U.ReadableStreamBYOBRequest=ReadableStreamBYOBRequest),U.ReadableByteStreamController===void 0&&(U.ReadableByteStreamController=ReadableByteStreamController),U.ReadableStreamDefaultController===void 0&&(U.ReadableStreamDefaultController=ReadableStreamDefaultController),U.ReadableStreamDefaultReader===void 0&&(U.ReadableStreamDefaultReader=ReadableStreamDefaultReader);const yt=globalThis;globalThis.TextEncoderStream===void 0&&(yt.TextEncoderStream=gt),globalThis.TextDecoderStream===void 0&&(yt.TextDecoderStream=_t);function isNativeStreamUsable$1(e,t){try{return typeof e==`function`?typeof e.prototype?.[t]==`function`:!1}catch{return!1}}if(__name(isNativeStreamUsable$1,`isNativeStreamUsable`),!isNativeStreamUsable$1(globalThis.TransformStream,`readable`)){let e=globalThis;e.TransformStream=pt}function isNativeStreamUsable(e,t){try{return typeof e==`function`?typeof e.prototype?.[t]==`function`:!1}catch{return!1}}if(!isNativeStreamUsable(globalThis.WritableStream,`getWriter`)){let e=globalThis;e.WritableStream=ft}const bt=[`Overview`,`Presentation`,`Boxed Lists`,`Controls`,`Buttons`,`Layout`,`View Switching`,`Navigation`,`Feedback`];function orderCategories(e){let t=new Map(bt.map((e,t)=>[e,t])),n=[...e].filter(e=>t.has(e));n.sort((e,n)=>t.get(e)-t.get(n));let r=e.filter(e=>!t.has(e));return[...n,...r]}var StoryRegistry=class{constructor(){this.modules=[]}registerStory(e){if(!e||!Array.isArray(e.stories)){_.warn(`Invalid story module provided to registerStory`);return}this.modules.push(e)}registerStories(e){if(!Array.isArray(e)){_.warn(`Invalid story modules array provided to registerStories`);return}let t=e.filter(e=>e&&Array.isArray(e.stories));this.modules.push(...t)}getStories(){return[...this.modules]}createStoryInstances(){for(let e of this.modules)this.instantiateStoriesForModule(e);return[...this.modules]}instantiateStoriesForModule(e){e.instances=[];let t=e.decorators??[];for(let n of e.stories)try{let r=new n,build=()=>{typeof r.initialize==`function`&&r.initialize()};t.reduceRight((e,t)=>()=>t(e,r),build)(),e.instances.push(r)}catch(e){_.error(`Failed to instantiate story: ${n.name||`Unknown`}`,e)}}},StorybookController=class{constructor(e,t){this._registry=new StoryRegistry,this._activeStory=null,this._unsubArgs=null,this._view=e,this._buildControls=t}mount(e,t=!0){this._registry.registerStories(e);let n=this._registry.createStoryInstances(),r=this._groupByCategory(n);if(this._view.renderSidebar(r,e=>this.select(e)),t){let e=r[0]?.stories[0]?.instance??null;e&&this.select(e)}}select(e){this._view.setPreviewTitle(`${e.meta.title} — ${e.story}`),this._view.showPreview(e),this._view.markSelected(e.meta.title),this._wireControls(e),this._activeStory=e}_wireControls(e){this._unsubArgs&&=(this._unsubArgs(),null);let t=this._buildControls(e),n=t.map(e=>e.refresh);this._view.renderControls(t),this._unsubArgs=e.onArgsChanged(e=>{for(let t of n)t(e)})}_groupByCategory(e){let t=new Map;for(let n of e)for(let e of n.instances??[]){let n=e.meta.title.split(`/`),r=n[0],i=n.length>1?n[1]:e.meta.title;t.has(r)||t.set(r,[]),t.get(r).push({instance:e,name:i||`Unnamed`})}return orderCategories([...t.keys()]).map(e=>({category:e,stories:t.get(e)}))}get activeStory(){return this._activeStory}listStories(){return this._registry.getStories().flatMap(e=>(e.instances??[]).map(e=>({title:e.meta.title,story:e.story,category:e.meta.title.split(`/`)[0],controls:e.meta.controls??[]})))}openStoryByTitle(e){let t=this._findByTitle(e);return t?(this.select(t),!0):!1}getCurrentStory(){let e=this._activeStory;return e?{title:e.meta.title,story:e.story,args:e.args}:null}setActiveArg(e,t){let n=this._activeStory;return n?(n.setArg(e,t),!0):!1}_findByTitle(e){for(let t of this._registry.getStories())for(let n of t.instances??[])if(n.meta.title===e)return n;return null}};let W=function(e){return e.TEXT=`text`,e.NUMBER=`number`,e.BOOLEAN=`boolean`,e.SELECT=`select`,e.RANGE=`range`,e.COLOR=`color`,e}({});function isStoryModule(e){return typeof e==`object`&&!!e&&Array.isArray(e.stories)}function argsFromControls(e=[]){let t={};for(let n of e)t[n.name]=defaultFor(n);return t}function defaultFor(e){if(e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`text`:return``;case`color`:return`#000000`;case`boolean`:return!1;case`number`:case`range`:return e.min??0;case`select`:return e.options[0]?.value??null;default:return null}}function controlLabel(e){return e.label||e.name}function bindControl(e,t,n){let r=t.name,i=t.description;switch(t.type){case W.TEXT:{let o=n.text(controlLabel(t),i),s=e.args[r];return o.set(typeof s==`string`?s:``),o.onChange(t=>e.setArg(r,t)),{view:o.node,refresh:e=>{let t=typeof e[r]==`string`?e[r]:``;o.get()!==t&&o.set(t)}}}case W.COLOR:{let o=n.color(controlLabel(t),i),s=e.args[r];return o.set(typeof s==`string`?s:`#000000`),o.onChange(t=>e.setArg(r,t)),{view:o.node,refresh:e=>{let t=typeof e[r]==`string`?e[r]:`#000000`;o.get()!==t&&o.set(t)}}}case W.BOOLEAN:{let o=n.boolean(controlLabel(t),i);return o.set(!!e.args[r]),o.onChange(t=>e.setArg(r,t)),{view:o.node,refresh:e=>{let t=!!e[r];o.get()!==t&&o.set(t)}}}case W.NUMBER:{let i=n.number(t),o=e.args[r];return i.set(typeof o==`number`?o:t.min??0),i.onChange(t=>e.setArg(r,t)),{view:i.node,refresh:e=>{let t=typeof e[r]==`number`?e[r]:0;i.get()!==t&&i.set(t)}}}case W.RANGE:{let i=n.range(t),o=e.args[r],s=typeof o==`number`?o:t.min??0;return i.set(s),i.onChange(t=>e.setArg(r,t)),{view:i.node,refresh:e=>{let t=typeof e[r]==`number`?e[r]:s;i.get()!==t&&i.set(t)}}}case W.SELECT:{let i=t.options;if(!i?.length)return _.warn(`SELECT control "${r}" has no options`),null;let o=n.select(t),s=e.args[r],c=Math.max(0,i.findIndex(e=>e.value===s));return o.set(c),o.onChange(t=>{t>=0&&t<i.length&&e.setArg(r,i[t].value)}),{view:o.node,refresh:e=>{let t=e[r],n=i.findIndex(e=>e.value===t);n>=0&&o.get()!==n&&o.set(n)}}}default:return _.warn(`Unsupported control type: ${t.type}`),null}}function buildStorybookDevtoolsExtension(e){let currentStory=()=>e.getCurrentStory();return{methods:[{name:`ListStories`,kind:`read-only`,handler:(()=>JSON.stringify(e.listStories(),null,2))},{name:`GetCurrentStory`,kind:`read-only`,handler:(()=>JSON.stringify(currentStory(),null,2))},{name:`OpenStory`,kind:`mutating`,handler:(t=>e.openStoryByTitle(t))},{name:`SetStoryArg`,kind:`mutating`,handler:((t,n)=>e.setActiveArg(t,n?JSON.parse(n):null))},{name:`GetStoryArgs`,kind:`read-only`,handler:(()=>JSON.stringify(currentStory()?.args??{},null,2))}],contributeStatus:()=>{let t=currentStory(),n=e.listStories();return{storybook:{currentStory:t?{title:t.title,story:t.story}:null,storyCount:n.length}}}}}function collectStoryModules$1(e){let t=[];for(let n of e)if(!(!n||typeof n!=`object`))for(let e of Object.values(n))isStoryModule(e)&&t.push(e);return t}__name(collectStoryModules$1,`collectStoryModules`);var StoryViewBase=class{constructor(){this._listeners=new Set}initBase(e,t,n){this._meta=e,this._story=t,this._args=argsFromControls(e.controls),this._chrome=this.createChrome(e,n),this.refreshChromeText()}get meta(){return this._meta}get story(){return this._story}get args(){return this._args}get root(){return this._chrome.root}set args(e){this._args!==e&&(this._args=e,this.updateArgs(e),this.emitArgs(e))}emitArgs(e){for(let t of this._listeners)t(e)}onArgsChanged(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}setArg(e,t){this.args={...this._args,[e]:t}}initialize(){}updateArgs(e){}teardown(){}addContent(e){this._chrome.hasStage&&this._chrome.setStageContent(e)}refreshChromeText(){let e=this._story?`${this._meta.title} — ${this._story}`:this._meta.title;this._chrome.setChromeText(e,this._meta.description??``)}};const xt=[`system`,`light`,`dark`];var StorybookSettings=class{constructor(e=()=>!1){this._colorScheme=`system`,this._accentMode=`system`,this._accent=`blue`,this._listeners=new Set,this._systemDark=e}get colorScheme(){return this._colorScheme}set colorScheme(e){!xt.includes(e)||e===this._colorScheme||(this._colorScheme=e,this._notify())}get accentMode(){return this._accentMode}set accentMode(e){e!==this._accentMode&&(this._accentMode=e,this._notify())}get accent(){return this._accent}set accent(e){e!==this._accent&&(this._accent=e,this._notify())}get resolvedAccent(){return this._accentMode===`custom`?this._accent:null}get resolvedDark(){return this._colorScheme===`dark`?!0:this._colorScheme===`light`?!1:this._systemDark()}get state(){return{colorScheme:this._colorScheme,accentMode:this._accentMode,accent:this._accent}}subscribe(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}systemChanged(){this._colorScheme===`system`&&this._notify()}_notify(){let e=this.state;for(let t of[...this._listeners])try{t(e)}catch{}}};const St={ListStories:`<method name="ListStories"><arg type="s" direction="out" name="stories_json"/></method>`,GetCurrentStory:`<method name="GetCurrentStory"><arg type="s" direction="out" name="story_json"/></method>`,OpenStory:`<method name="OpenStory"><arg type="s" direction="in" name="title"/><arg type="b" direction="out" name="opened"/></method>`,SetStoryArg:`<method name="SetStoryArg"><arg type="s" direction="in" name="name"/><arg type="s" direction="in" name="value_json"/><arg type="b" direction="out" name="applied"/></method>`,GetStoryArgs:`<method name="GetStoryArgs"><arg type="s" direction="out" name="args_json"/></method>`};function storybookDevtoolsExtension(e){let t=buildStorybookDevtoolsExtension(e.controller),n=[],r={},i={};for(let e of t.methods){let t=St[e.name];t&&n.push(t),r[e.name]=e.handler,i[e.name]=e.kind}return{methodsXml:n,handlers:r,methodKinds:i,contributeStatus:t.contributeStatus}}function variantKindFor(e,t){switch(e){case`s`:case`b`:case`i`:case`u`:case`d`:return e}if(typeof t==`string`)return`s`;if(typeof t==`boolean`)return`b`;if(typeof t==`number`)return Number.isInteger(t)?`i`:`d`;throw Error(`Cannot build a GLib.Variant from ${typeof t}`)}function buildVariant(e,t){switch(variantKindFor(e?.dup_string()??null,t)){case`s`:return S.Variant.new_string(String(t));case`b`:return S.Variant.new_boolean(!!t);case`i`:return S.Variant.new_int32(Number(t));case`u`:return S.Variant.new_uint32(Number(t));case`d`:return S.Variant.new_double(Number(t))}}function describeActions(e){return e?e.list_actions().sort((e,t)=>e.localeCompare(t)).map(t=>({name:t,enabled:e.get_action_enabled(t),parameterType:e.get_action_parameter_type(t)?.dup_string()??null,stateType:e.get_action_state_type(t)?.dup_string()??null})):[]}function activateAction(e,t,n){let r=e.get_action_parameter_type(t),i=n==null?null:buildVariant(r,n);e.activate_action(t,i)}function changeActionState(e,t,n){e.change_action_state(t,buildVariant(e.get_action_state_type(t),n))}var G=t,K=n;const Ct=new Map;function swapCss(e,t){let n=G.Display.get_default();if(!n)return!1;let r=Ct.get(e);return r||(r=new K.CssProvider,K.StyleContext.add_provider_for_display(n,r,K.STYLE_PROVIDER_PRIORITY_USER+1),Ct.set(e,r)),r.load_from_string(t),!0}function dumpCss(){return{providers:[...Ct.keys()]}}const wt=`org.gjsify.Devtools`;function formatDbusErrorMessage(e,t){return`${e}: ${t}`}const Tt={GetStatus:`read-only`,Screenshot:`read-only`,ListActions:`read-only`,ActivateAction:`mutating`,ChangeActionState:`mutating`,PresentWindow:`read-only`,ResizeWindow:`mutating`,ListToplevels:`read-only`,DumpTree:`read-only`,GetProperty:`read-only`,GetFocused:`read-only`,FindWidget:`read-only`,SendKey:`mutating`,ActivateWidget:`mutating`,DumpGSettings:`read-only`,DumpCss:`read-only`,SwapCss:`mutating`};function sanitizeInstanceId(e){let t=e.toLowerCase().replace(/[^a-z0-9]/g,``);return/^[a-z]/.test(t)?t:`i${t||`0`}`}function appIdToObjectPath(e){return`/${e.replace(/\./g,`/`).replace(/-/g,`_`)}`}function resolveBusAddress(e,t){let n=appIdToObjectPath(e),r=t&&t!=="default"?sanitizeInstanceId(t):`default`;return r==="default"?{busName:e,objectPath:`${n}/devtools`,instance:`default`}:{busName:`${e}.${r}`,objectPath:`${n}/${r}/devtools`,instance:r}}const q=`GJSIFY_DEVTOOLS_ADDRESS`;function isDevtoolsEnabledValue(e){if(e==null)return!1;let t=e.toLowerCase();return t!==``&&t!==`0`&&t!==`false`}function devtoolsAddressFilePath(e,t,n){let{busName:r}=resolveBusAddress(t,n);return`${e}/gjsify-devtools/${r}.address`}function buildDevtoolsIfaceXml(e=[]){return`<node>
10
+ <interface name="${wt}">
8
11
  <method name="GetStatus">
9
12
  <arg type="s" direction="out" name="status_json"/>
10
13
  </method>
@@ -75,7 +78,7 @@ if(globalThis.__gjsifyBundleUrl??=import.meta.url,Symbol.dispose||(Symbol.dispos
75
78
  </method>${e.length>0?`\n${e.join(`
76
79
  `)}`:``}
77
80
  </interface>
78
- </node>`}var J=r;function isWin32(){return x.DIR_SEPARATOR===92}function defaultListenAddress(){return isWin32()?`nonce-tcp:host=127.0.0.1`:`unix:tmpdir=${x.get_tmp_dir()}`}var DevtoolsPeerServerError=class extends Error{constructor(e,t,n,r){super(e),this.address=t,this.reason=n,this.name=`DevtoolsPeerServerError`,this.cause=r}};function isAddressInUse(e){return e instanceof x.Error&&e.matches(J.io_error_quark(),J.IOErrorEnum.ADDRESS_IN_USE)}function unixSocketPath(e){if(!e.startsWith(`unix:`))return null;for(let t of e.slice(5).split(`,`)){let e=t.indexOf(`=`);if(!(e<0||t.slice(0,e)!==`path`))try{return decodeURIComponent(t.slice(e+1))}catch{return null}}return null}function inspectExistingSocket(e){try{if((J.File.new_for_path(e).query_info(`unix::mode`,J.FileQueryInfoFlags.NONE,null).get_attribute_uint32(`unix::mode`)&61440)!=49152)return`not-a-socket`}catch{return`not-a-socket`}let t=new J.SocketClient;t.set_timeout(2);let n;try{n=t.connect(J.UnixSocketAddress.new(e),null)}catch{return`dead`}return n.close(null),`live`}function clearReclaimableSocket(e){let t=unixSocketPath(e);if(!t||!x.file_test(t,x.FileTest.EXISTS))return;let n=inspectExistingSocket(t);if(n===`live`)throw new DevtoolsPeerServerError(`cannot listen on ${e}: another process is already listening there. Stop it, or point ${q} (or options.address) at a different socket — GJSIFY_DEVTOOLS_INSTANCE=<label> lets two devtools-enabled apps run side by side.`,e,`address-in-use`);if(n===`not-a-socket`)throw new DevtoolsPeerServerError(`cannot listen on ${e}: ${t} already exists and is not a socket, so it will NOT be removed. Point ${q} (or options.address) at a free path.`,e,`occupied-by-other-file`);try{J.File.new_for_path(t).delete(null)}catch(n){throw new DevtoolsPeerServerError(`cannot listen on ${e}: ${t} is a socket nothing listens on, but removing it failed (${n}). Delete it by hand, or point ${q} at a free path.`,e,`address-in-use`,n)}g.log(`[gjsify-devtools] reclaimed the stale socket ${t}: nothing was listening on it (an abnormal exit — Ctrl-C, SIGKILL, a crash — leaves the inode behind).`)}function flagsForAddress(e){return e.startsWith(`tcp:`)||e.startsWith(`nonce-tcp:`)?J.DBusServerFlags.NONE:J.DBusServerFlags.AUTHENTICATION_REQUIRE_SAME_USER}function startDevtoolsPeerServer(e,t,n){let r=n&&n!==``?n:defaultListenAddress();clearReclaimableSocket(r);let i;try{i=J.DBusServer.new_sync(r,flagsForAddress(r),J.dbus_generate_guid(),null,null)}catch(e){let t=isAddressInUse(e);throw new DevtoolsPeerServerError(t?`cannot listen on ${r}: the address is already in use (${e}). Stop whatever holds it, or point ${q} (or options.address) at a different address.`:`cannot listen on ${r}: ${e}. Check the address form — \`unix:path=/tmp/app.sock\`, \`unix:tmpdir=/tmp\` or \`nonce-tcp:host=127.0.0.1\`.`,r,t?`address-in-use`:`listen-failed`,e)}let o=new Set;i.connect(`new-connection`,(n,r)=>(o.add(r),r.connect(`closed`,()=>{e.unexport(r),o.delete(r)}),e.export(r,t),!0)),i.start();let s=!1;return{address:i.get_client_address(),objectPath:t,get connectionCount(){return o.size},stop(){if(!s){s=!0,i.stop();for(let t of o)e.unexport(t),!t.is_closed()&&t.close(null,(e,t)=>{try{e.close_finish(t)}catch{}});o.clear()}}}}function writeDevtoolsAddressFile(e,t){try{if(x.mkdir_with_parents(x.path_get_dirname(e),448),!x.file_set_contents(e,`${t}\n`))return null}catch(t){return g.error(`[gjsify-devtools] could not publish the peer address to ${e}: ${t}`),null}try{J.File.new_for_path(e).set_attribute_uint32(`unix::mode`,384,J.FileQueryInfoFlags.NONE,null)}catch(t){g.error(`[gjsify-devtools] could not restrict ${e} to the current user: ${t}`)}return e}function removeDevtoolsAddressFile(e){try{J.File.new_for_path(e).delete(null)}catch{}}var Tt=i;function captureWidgetPng(e){let t=e.get_native()?.get_renderer();if(!t)return null;let n=e.get_width(),r=e.get_height();if(n<=0||r<=0)return null;let i=K.WidgetPaintable.new(e),o=K.Snapshot.new();i.snapshot(o,n,r);let s=o.to_node();if(!s)return null;let c=new Tt.Rect;c.init(0,0,n,r);let l=t.render_texture(s,c).save_to_png_bytes().get_data();return l?new Uint8Array(l):null}function dumpGSettings(e){let t=J.SettingsSchemaSource.get_default()?.lookup(e,!0);if(!t)throw Error(formatDbusErrorMessage(`not-found`,`GSettings schema '${e}' is not installed`));let n=new J.Settings({settings_schema:t}),r={};for(let e of t.list_keys())r[e]=n.get_value(e).recursiveUnpack();return r}function parseWidgetPath(e){let t=e.split(`/`).filter(e=>e.length>0);if(t.length===0)return null;let n=t[0].match(/^toplevel:(\d+)$/);if(!n)return null;let r=[];for(let e of t.slice(1)){let t=e.match(/^child:(\d+)$/);if(!t)return null;r.push(Number(t[1]))}return{toplevel:Number(n[1]),children:r}}function buildWidgetPath(e,t){return[`toplevel:${e}`,...t.map(e=>`child:${e}`)].join(`/`)}function widgetType(e){return gtypeName(e)??`GtkWidget`}function gtypeName(e){let t=e;return typeof t?.$typeName==`string`&&t.$typeName.length>0?t.$typeName:t?.constructor?.$gtype?.name??null}function activateWidget(e){let t=e;if(typeof t.activate==`function`&&t.activate()===!0)return!0;let n=typeof t.get_parent==`function`?t.get_parent():null;if(n&&widgetType(n)===`GtkListBox`){let t=n,r=!1;return typeof t.select_row==`function`&&(t.select_row(e),r=!0),typeof t.emit==`function`&&(t.emit(`row-activated`,e),r=!0),r}return!1}function sendKeyToWidget(e,t,n){let r=e.observe_controllers(),i=!1;for(let e=0;e<r.get_n_items();e++){let o=r.get_item(e);gtypeName(o)===`GtkEventControllerKey`&&(o.emit(`key-pressed`,t,0,n),i=!0)}return i}function nthChild(e,t){let n=e.get_first_child(),r=0;for(;n&&r<t;)n=n.get_next_sibling(),r++;return r===t?n:null}function listToplevels(){let e=K.Window.get_toplevels(),t=e.get_n_items(),n=[];for(let r=0;r<t;r++){let t=e.get_item(r);t&&n.push({path:`toplevel:${r}`,type:widgetType(t),title:t.get_title?.()??null,mapped:t.get_mapped(),focused:t.is_active??!1})}return n}function resolveWidgetPath(e){let t=parseWidgetPath(e);if(!t)return null;let n=K.Window.get_toplevels().get_item(t.toplevel);if(!n)return null;for(let e of t.children)if(n=nthChild(n,e),!n)return null;return n}function parseWidgetSelector(e){let t=e.indexOf(`:`),n=(t<0?e:e.slice(0,t)).trim(),r=(t<0?``:e.slice(t+1)).trim();return!n&&!r?null:{type:n,cssClass:r}}function findWidgetPath(e,t,n){if(!e.get_visible()||!e.get_mapped())return null;let r=!t.type||widgetType(e)===t.type,i=!t.cssClass||e.get_css_classes().includes(t.cssClass);if(r&&i)return n;let o=e.get_first_child(),s=0;for(;o;){let e=findWidgetPath(o,t,`${n}/child:${s}`);if(e)return e;o=o.get_next_sibling(),s++}return null}function dumpTree(e,t,n){let r={path:n,type:widgetType(e),name:e.get_name()||null,cssClasses:e.get_css_classes(),mapped:e.get_mapped(),visible:e.get_visible(),children:[]};if(t<=0)return r;let i=e.get_first_child(),o=0;for(;i;)r.children.push(dumpTree(i,t-1,`${n}/child:${o}`)),i=i.get_next_sibling(),o++;return r}function jsonSafe(e){let t=typeof e;return e==null||t===`string`||t===`number`||t===`boolean`?e??null:`[${t}]`}function getWidgetProperty(e,t){let n=e,r=t.replace(/-/g,`_`),i=t.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase());for(let e of[t,r,i])if(e in n)return jsonSafe(n[e])}function childIndex(e,t){let n=e.get_first_child(),r=0;for(;n;){if(n===t)return r;n=n.get_next_sibling(),r++}return-1}function pathOfWidget(e){let t=[],n=e,r=n.get_parent();for(;r;){let e=childIndex(r,n);if(e<0)return null;t.unshift(e),n=r,r=n.get_parent()}let i=K.Window.get_toplevels(),o=i.get_n_items();for(let e=0;e<o;e++)if(i.get_item(e)===n)return buildWidgetPath(e,t);return null}function isActiveWindowScope(e){return!e||e===`window`||e===`active`}function frameDelay(e){return new Promise(t=>{x.timeout_add(x.PRIORITY_DEFAULT,e,()=>(t(),x.SOURCE_REMOVE))})}async function captureWidgetWhenRenderable(e,t=12,n=50){for(let r=0;r<t;r++){let t=captureWidgetPng(e);if(t)return t;await frameDelay(n)}return captureWidgetPng(e)}var DevtoolsService=class{constructor(e,t){this._app=e,this._options=t,this._exported=new Map,this._peer=null,this._addressFile=null,this._kinds=new Map,this._extensions=t.extend??[];for(let[e,t]of Object.entries(wt))this._kinds.set(e,t);for(let e of this._extensions){for(let[t,n]of Object.entries(e.methodKinds))this._kinds.set(t,n);for(let[t,n]of Object.entries(e.handlers)){let e=n;this[t]=(...n)=>(this._guard(t),e(...n))}}}export(e,t){if(this._exported.has(e))return;let n=buildDevtoolsIfaceXml(this._extensions.flatMap(e=>e.methodsXml??[])),r=J.DBusExportedObject.wrapJSObject(n,this);r.export(e,t),this._exported.set(e,r)}unexport(e){if(e){this._exported.get(e)?.unexport(),this._exported.delete(e);return}for(let e of this._exported.values())e.unexport();this._exported.clear(),this._peer?.stop(),this._peer=null,this._addressFile&&=(removeDevtoolsAddressFile(this._addressFile),null)}attachPeerServer(e,t){this._peer=e,this._addressFile=t??null}get peerAddress(){return this._peer?.address??null}get addressFile(){return this._addressFile}GetStatus(){let e=this._app.get_active_window(),t={appId:this._app.get_application_id()??`unknown`,instance:this._options.instance??`default`,activeWindow:e?{id:e.get_name()||`window`,title:e.get_title()??``,mapped:e.get_mapped()}:null,toplevelCount:K.Window.get_toplevels().get_n_items(),focusedWidget:null,paused:this._isPaused()};for(let e of this._extensions){let n=e.contributeStatus?.();n&&Object.assign(t,n)}return JSON.stringify(t)}async ScreenshotAsync(e,t){try{let n=typeof e?.[0]==`string`?e[0]:``,r=await this._captureScopePng(n);t.return_value(new x.Variant(`(ay)`,[r]))}catch(e){t.return_dbus_error(`org.gjsify.Devtools.Error.Screenshot`,e instanceof Error?e.message:String(e))}}async _captureScopePng(e){let t=this._resolveRootWidget(e);if(!t){if(isActiveWindowScope(e))return new Uint8Array;throw Error(formatDbusErrorMessage(`not-found`,`no widget at '${e}'`))}let n=captureWidgetPng(t.widget);if(!n){let e=t.widget.get_root();e instanceof K.Window&&e.present(),n=await captureWidgetWhenRenderable(t.widget)}return n??new Uint8Array}ListActions(){let e={app:describeActions(this._actionGroup(`app`)),win:describeActions(this._actionGroup(`win`))};return JSON.stringify(e)}ActivateAction(e,t,n){this._guard(`ActivateAction`);let r=this._scope(e);activateAction(this._requireGroup(r,t),t,this._parseValue(n))}ChangeActionState(e,t,n){this._guard(`ChangeActionState`);let r=this._scope(e);changeActionState(this._requireGroup(r,t),t,this._parseValue(n))}PresentWindow(){this._app.get_active_window()?.present()}ResizeWindow(e,t){this._guard(`ResizeWindow`);let n=this._app.get_active_window();if(!n)throw Error(formatDbusErrorMessage(`unavailable`,`no active window to resize`));let r=Math.max(1,Math.round(e)),i=Math.max(1,Math.round(t));return n.is_maximized()&&n.unmaximize(),n.is_fullscreen()&&n.unfullscreen(),n.set_default_size(r,i),[r,i]}ListToplevels(){return JSON.stringify(listToplevels())}DumpTree(e,t){let n=this._resolveRootWidget(e);if(!n)throw Error(formatDbusErrorMessage(`not-found`,`no widget at '${e||`active window`}'`));return JSON.stringify(dumpTree(n.widget,t>0?t:8,n.path))}GetProperty(e,t){let n=this._resolveRootWidget(e);if(!n)throw Error(formatDbusErrorMessage(`not-found`,`no widget at '${e}'`));let r=getWidgetProperty(n.widget,t);if(r===void 0)throw Error(formatDbusErrorMessage(`not-found`,`widget has no property '${t}'`));return JSON.stringify(r)}GetFocused(){let e=this._app.get_active_window(),t=e?e.get_focus():null;return JSON.stringify(t?{path:pathOfWidget(t),name:t.get_name()||null,type:widgetType(t)}:null)}ActivateWidget(e){this._guard(`ActivateWidget`);let t=this._resolveRootWidget(e);if(!t)throw Error(formatDbusErrorMessage(`not-found`,`no widget at '${e}'`));return activateWidget(t.widget)}FindWidget(e){let t=parseWidgetSelector(e);if(!t)throw Error(formatDbusErrorMessage(`invalid-params`,`empty selector '${e}'`));let n=this._resolveRootWidget(``);return n?findWidgetPath(n.widget,t,n.path)??``:``}SendKey(e,t){this._guard(`SendKey`);let[n,r,i]=K.accelerator_parse(e);if(!n)throw Error(formatDbusErrorMessage(`invalid-params`,`cannot parse accelerator '${e}'`));let o;if(o=t?this._resolveRootWidget(t)?.widget??null:this._app.get_active_window()?.get_focus()??null,!o)throw Error(formatDbusErrorMessage(`not-found`,`no widget at '${t||`focus`}'`));return sendKeyToWidget(o,r,i??0)}DumpGSettings(e){return JSON.stringify(dumpGSettings(e))}DumpCss(){return JSON.stringify(dumpCss())}SwapCss(e,t){return this._guard(`SwapCss`),swapCss(e,t)}_resolveRootWidget(e){if(isActiveWindowScope(e)){let e=this._app.get_active_window();return e?{widget:e,path:pathOfWidget(e)??`toplevel:0`}:null}let t=resolveWidgetPath(e);return t?{widget:t,path:e}:null}_isPaused(){return this._options.paused?.()??!1}_guard(e){let t=this._kinds.get(e);if(!t)throw Error(formatDbusErrorMessage(`internal`,`unclassified devtools method '${e}'`));if(t===`mutating`&&this._isPaused())throw Error(formatDbusErrorMessage(`paused`,`${e} rejected — external control is paused. Read-only methods keep working.`))}_scope(e){return e===`app`?`app`:`win`}_actionGroup(e){if(e===`app`)return this._app;if(this._options.winActionGroup)return this._options.winActionGroup;let t=this._app.get_active_window();return t instanceof K.ApplicationWindow?t:null}_requireGroup(e,t){let n=this._actionGroup(e);if(!n)throw Error(formatDbusErrorMessage(`unavailable`,`no '${e}' action group`));if(!n.has_action(t))throw Error(formatDbusErrorMessage(`not-found`,`unknown action ${e}.${t}`));return n}_parseValue(e){if(!e||e===`null`)return null;try{return JSON.parse(e)}catch{throw Error(formatDbusErrorMessage(`invalid-params`,`value_json is not valid JSON: ${e}`))}}};const Et=`DBUS_SESSION_BUS_ADDRESS`,Dt=new Set;function envEnabled(){return isDevtoolsEnabledValue(x.getenv(`GJSIFY_DEVTOOLS`))}function envValue(e){let t=x.getenv(e);return t&&t!==``?t:null}function sessionBusUsable(){if(!envValue(Et))return!1;try{return J.bus_get_sync(J.BusType.SESSION,null),!0}catch{return!1}}function chooseDevtoolsTransport(e){return e.requestedAddress?{kind:`peer`,address:e.requestedAddress,reason:`requested`}:e.hasAppConnection?{kind:`session-bus`}:e.sessionBusUsable?{kind:`unregistered`}:{kind:`peer`,address:null,reason:`no-session-bus`}}function describeMissingConnection(e,t){return e?t?`[gjsify-devtools] the session bus answers but this application is not registered on it yet — call installDevtools() from the GtkApplication "startup" handler (the bus connection and object path exist only after registration).`:`[gjsify-devtools] ${Et} is set (${e}) but no bus answers there — using the bus-less peer transport instead. On macOS this is the usual state: Homebrew's dbus listens on launchd, so the advertised address only works while that socket is live.`:`[gjsify-devtools] this machine has no session bus (${Et} is unset) — using the bus-less peer transport instead. Point the bridge at the address below, or set ${q} on both the app and \`gjsify debug\` to pin it yourself.`}function installDevtools(e,t={}){if(!(t.enabled??envEnabled()))return null;let n=t.instance??envValue(`GJSIFY_DEVTOOLS_INSTANCE`)??void 0,r=new DevtoolsService(e,{...t,instance:n});try{return exportDevtools(e,r,t,n)}catch(e){return r.unexport(),g.error(`[gjsify-devtools] devtools stayed OFF, the app is unaffected — ${describeInstallFailure(e)}`),null}}function describeInstallFailure(e){return e instanceof DevtoolsPeerServerError||e instanceof Error?e.message:String(e)}function exportDevtools(e,t,n,r){let i=e.get_is_registered(),o=i?e.get_dbus_connection():null,s=i?e.get_dbus_object_path():null,c=envValue(Et),l=!!(o&&s),u=l||sessionBusUsable(),d=chooseDevtoolsTransport({requestedAddress:n.address??envValue(q),hasAppConnection:l,sessionBusUsable:u}),f=e.get_application_id()??`unknown`,p=`${s??appIdToObjectPath(f)}/devtools`;if((d.kind===`unregistered`||d.kind===`peer`&&d.reason===`no-session-bus`)&&g.error(describeMissingConnection(c,u)),d.kind===`session-bus`&&o)t.export(o,p),g.log(`[gjsify-devtools] exported ${Ct} at ${p} (dest ${f})`);else if(d.kind===`peer`){let n=startDevtoolsPeerServer(t,p,d.address??void 0),i=writeDevtoolsAddressFile(devtoolsAddressFilePath(x.get_user_runtime_dir(),f,r),n.address);t.attachPeerServer(n,i),g.log(`[gjsify-devtools] exported ${Ct} at ${p} (peer address ${n.address}${i?`, published to ${i}`:``})`),i&&e.connect(`shutdown`,()=>removeDevtoolsAddressFile(i))}return Dt.add(t),t}const Ot=[`AdwNavigationSplitView`,`GtkListBox`,`AdwOverlaySplitView`];function probeEnabled(){let e=x.getenv(`GJSIFY_STORYBOOK_PROBE`);if(e==null)return!1;let t=e.toLowerCase();return t!==``&&t!==`0`&&t!==`false`}function collectTypes(e,t){t.add(e.type);for(let n of e.children)collectTypes(n,t)}function installStorybookProbe(e,t,n={}){let r=n.requireChrome??Ot,i=n.out??x.getenv(`GJSIFY_STORYBOOK_PROBE_OUT`)??void 0,o=n.timeoutMs??8e3,s=n.storyWidget??x.getenv(`GJSIFY_STORYBOOK_PROBE_STORY_WIDGET`)??void 0,c=t.controller.listStories(),l=[...new Set(c.map(e=>e.category))],u=n.story??x.getenv(`GJSIFY_STORYBOOK_PROBE_STORY`)??c[0]?.title,d=u?t.openStoryByTitle(u):!1,f=t.activeStory,p=new Set;collectTypes(dumpTree(t,60,`toplevel:0`),p);let m=r.filter(e=>!p.has(e)),h=new Set;f&&collectTypes(dumpTree(f,60,`story`),h);let _=h.size,ee=s?h.has(s):null,finish=t=>{let n=JSON.stringify(t);if(t.ok)g.log(`STORYBOOK PROBE: PASS ${n}`);else{g.error(`STORYBOOK PROBE: FAIL ${n}`);try{typeof process<`u`&&(process.exitCode=1)}catch{}}if(i)try{x.file_set_contents(i,JSON.stringify(t,null,2))}catch{}e.quit()},te=0;x.timeout_add(x.PRIORITY_DEFAULT,100,()=>{te+=100;let e=captureWidgetPng(t),n=t.get_width()>0&&t.get_height()>0;if(!e&&!(te>=o))return x.SOURCE_CONTINUE;let i=f?captureWidgetPng(f):null,p=c.length>=1&&l.length>=1&&m.length===0&&d&&f!=null&&_>1,g;return c.length<1?g=`no stories registered`:l.length<1?g=`no categories`:m.length>0?g=`chrome missing: ${m.join(`, `)}`:!d||f==null?g=`could not open story: ${u??`(none)`}`:_<=1&&(g=`opened story rendered an empty subtree`),p&&s&&!h.has(s)&&(p=!1,g=`story widget ${s} not found in the opened story subtree`),p&&n&&(!e||e.length===0)&&(p=!1,g=`window realized (${t.get_width()}x${t.get_height()}) but the GSK capture was empty`),finish({ok:p,reason:g,stories:c.length,categories:l,opened:d,activeStory:f?f.meta.title:null,requiredChrome:r,missingChrome:m,storySubtreeWidgets:_,storyWidgetPresent:ee,windowRealized:n,windowPngBytes:e?e.length:0,storyPngBytes:i?i.length:0}),x.SOURCE_REMOVE})}var Y=o;const kt={UNKNOWN:0,CUSTOM:1,GPL_2_0:2,GPL_3_0:3,LGPL_2_1:4,LGPL_3_0:5,BSD:6,MIT_X11:7,ARTISTIC:8,GPL_2_0_ONLY:9,GPL_3_0_ONLY:10,LGPL_2_1_ONLY:11,LGPL_3_0_ONLY:12,AGPL_3_0:13,AGPL_3_0_ONLY:14,BSD_3:15,APACHE_2_0:16,MPL_2_0:17,"0BSD":18};kt.GPL_2_0_ONLY,kt.GPL_3_0_ONLY,kt.UNKNOWN;const At=[`blue`,`teal`,`green`,`yellow`,`orange`,`red`,`pink`,`purple`,`slate`],jt={blue:`#3584e4`,teal:`#2190a4`,green:`#3a944a`,yellow:`#c88800`,orange:`#ed5b00`,red:`#e62d42`,pink:`#d56199`,purple:`#9141ac`,slate:`#6f8396`};function parseHex(e){let t=/^#([0-9a-f]{6})$/i.exec(e.trim());if(!t)return null;let n=Number.parseInt(t[1],16);return[(n>>16&255)/255,(n>>8&255)/255,(n&255)/255]}function toHex(e,t,n){let channel=e=>Math.round(Math.min(1,Math.max(0,e))*255).toString(16).padStart(2,`0`);return`#${channel(e)}${channel(t)}${channel(n)}`}const toLinear=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4,fromLinear=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055;function linearToOklab(e,t,n){let r=Math.cbrt(.4122214708*e+.5363325363*t+.0514459929*n),i=Math.cbrt(.2119034982*e+.6806995451*t+.1073969566*n),o=Math.cbrt(.0883024619*e+.2817188376*t+.6299787005*n);return[.2104542553*r+.793617785*i-.0040720468*o,1.9779984951*r-2.428592205*i+.4505937099*o,.0259040371*r+.7827717662*i-.808675766*o]}function oklabToLinear(e,t,n){let r=(e+.3963377774*t+.2158037573*n)**3,i=(e-.1055613458*t-.0638541728*n)**3,o=(e-.0894841775*t-1.291485548*n)**3;return[4.0767416621*r-3.3077115913*i+.2309699292*o,-1.2684380046*r+2.6097574011*i-.3413193965*o,-.0041960863*r-.7034186147*i+1.707614701*o]}function adwaitaStandaloneColor(e,t){let n=parseHex(e);if(!n)return e;let[r,i,o]=linearToOklab(toLinear(n[0]),toLinear(n[1]),toLinear(n[2])),[s,c,l]=oklabToLinear(t?Math.max(r,.85):Math.min(r,.5),i,o);return toHex(fromLinear(s),fromLinear(c),fromLinear(l))}function adwaitaAccentBgColor(e){return jt[e]}function adwaitaAccentColor(e,t){return adwaitaStandaloneColor(jt[e],t)}Math.PI*.35,Math.PI*.015,Math.PI*.9;const Mt=Math.PI*.9,Nt=Math.PI*.7,Pt=Math.PI*1.1,Ft=Math.PI*1.35,It=Mt+Pt+Ft-Nt;53*Math.PI*2/It,Pt-Nt/2;const Lt={system:`Follow system`,light:`Light`,dark:`Dark`},Rt={blue:`Blue`,teal:`Teal`,green:`Green`,yellow:`Yellow`,orange:`Orange`,red:`Red`,pink:`Pink`,purple:`Purple`,slate:`Slate`};var StorybookAppearance=class{constructor(){this._provider=null,this._applying=!1,this._styleManager=Y.StyleManager.get_default(),this.settings=new StorybookSettings(()=>this._styleManager.get_dark()),this.settings.subscribe(e=>this._apply(e)),this._styleManager.connect(`notify::dark`,()=>this.settings.systemChanged()),this._apply(this.settings.state)}_apply(e){if(!this._applying){this._applying=!0;try{this._styleManager.set_color_scheme(e.colorScheme===`light`?Y.ColorScheme.FORCE_LIGHT:e.colorScheme===`dark`?Y.ColorScheme.FORCE_DARK:Y.ColorScheme.DEFAULT),this._applyAccent(this.settings.resolvedAccent)}finally{this._applying=!1}}}_applyAccent(e){let t=G.Display.get_default();if(!t)return;if(!this._provider){if(!e)return;this._provider=new K.CssProvider,K.StyleContext.add_provider_for_display(t,this._provider,K.STYLE_PROVIDER_PRIORITY_APPLICATION)}if(!e){this._provider.load_from_string(``);return}let n=adwaitaAccentBgColor(e),r=adwaitaAccentColor(e,this.settings.resolvedDark);this._provider.load_from_string(`:root { --accent-bg-color: ${n}; --accent-color: ${r}; }`)}};function buildSwatch(e,t,n){let r=new K.CheckButton({tooltip_text:t,halign:K.Align.CENTER,valign:K.Align.CENTER,focus_on_click:!1});for(let t of e)r.add_css_class(t);return r.update_property([K.AccessibleProperty.LABEL],[t]),n&&r.set_group(n),r}function buildSwatchCard(e=!1){let t=new Y.WrapBox({align:.5,child_spacing:8,line_spacing:8,margin_top:12,margin_bottom:12,margin_start:12,margin_end:12}),n=new Y.Bin({child:t,hexpand:!0});return n.add_css_class(`card`),e&&n.add_css_class(`storybook-card-attached`),{card:n,row:t}}function buildAppearanceDialog(e){let t=e.settings,n=new Y.PreferencesPage,r=new Y.PreferencesGroup({title:`Style`}),{card:i,row:o}=buildSwatchCard(),s=null,c=new Map;for(let e of bt){let n=buildSwatch([`storybook-swatch`,`storybook-scheme-swatch`,`storybook-scheme-${e}`],Lt[e],s);s??=n,n.set_active(t.colorScheme===e),n.connect(`toggled`,()=>{n.get_active()&&(t.colorScheme=e)}),c.set(e,n),o.append(n)}r.add(i),n.add(r);let l=new Y.PreferencesGroup({title:`Accent colour`});l.add_css_class(`storybook-attached-group`);let u=new Y.SwitchRow({title:`Use a custom accent colour`,subtitle:`Off follows the desktop, which owns the accent`,active:t.accentMode===`custom`});l.add(u);let{card:d,row:f}=buildSwatchCard(!0),p=null,m=new Map;for(let e of At){let n=buildSwatch([`storybook-swatch`],Rt[e],p);p??=n,n.set_active(t.accent===e);let r=new K.CssProvider;r.load_from_string(`checkbutton { background-color: ${adwaitaAccentBgColor(e)}; }`),n.get_style_context().add_provider(r,K.STYLE_PROVIDER_PRIORITY_APPLICATION),n.connect(`toggled`,()=>{n.get_active()&&(t.accent=e)}),m.set(e,n),f.append(n)}f.set_sensitive(t.accentMode===`custom`),u.connect(`notify::active`,()=>{t.accentMode=u.get_active()?`custom`:`system`}),l.add(d),n.add(l),t.subscribe(e=>{let t=c.get(e.colorScheme);t&&!t.get_active()&&t.set_active(!0);let n=m.get(e.accent);n&&!n.get_active()&&n.set_active(!0);let r=e.accentMode===`custom`;u.get_active()!==r&&u.set_active(r),f.set_sensitive(r)});let h=new Y.PreferencesDialog({title:`Appearance`});return h.add(n),h}var X=s;function adwControlWidgetFactory(){return{text(e,t){let n=new Y.EntryRow({title:e});t&&n.set_tooltip_text(t);let r=null;return n.connect(`changed`,()=>r?.(n.get_text())),{node:n,get:()=>n.get_text(),set:e=>n.set_text(e),onChange:e=>{r=e}}},boolean(e,t){let n=new Y.SwitchRow({title:e,subtitle:t??``}),r=null;return n.connect(`notify::active`,()=>r?.(n.get_active())),{node:n,get:()=>n.get_active(),set:e=>n.set_active(e),onChange:e=>{r=e}}},number(e){let t=Y.SpinRow.new_with_range(e.min??0,e.max??100,e.step??1);t.set_title(e.label||e.name),e.description&&t.set_subtitle(e.description);let n=null;return t.connect(`changed`,()=>n?.(t.get_value())),{node:t,get:()=>t.get_value(),set:e=>t.set_value(e),onChange:e=>{n=e}}},range(e){return buildRangeWidget(e)},select(e){return buildSelectWidget(e)},color(e,t){return buildColorWidget(e,t)}}}function buildRangeWidget(e){let t=e.min??0,n=e.max??100,r=e.step??1,i=typeof e.min==`number`?e.min:0,o=Number.isInteger(r)&&Number.isInteger(i),s=new K.Adjustment({lower:t,upper:n,step_increment:r,value:i});s.step_increment=r;let c=new K.ListBoxRow({selectable:!1,activatable:!1});c.add_css_class(`story-range-row`);let l=new K.Box({orientation:K.Orientation.VERTICAL,spacing:6,margin_top:12,margin_bottom:12,margin_start:12,margin_end:12}),u=new K.Box({orientation:K.Orientation.HORIZONTAL,spacing:12}),d=new K.Label({label:e.label||e.name,halign:K.Align.START,hexpand:!0,ellipsize:3});d.add_css_class(`heading`);let formatValue=e=>o?String(Math.round(e)):e.toFixed(2),f=new K.Label({label:formatValue(i),halign:K.Align.END});if(f.add_css_class(`numeric`),f.add_css_class(`dim-label`),u.append(d),u.append(f),l.append(u),e.description){let t=new K.Label({label:e.description,halign:K.Align.START,xalign:0,wrap:!0,max_width_chars:32});t.add_css_class(`caption`),t.add_css_class(`dim-label`),l.append(t)}let p=new K.Scale({orientation:K.Orientation.HORIZONTAL,adjustment:s,draw_value:!1,hexpand:!0}),m=null,h=!1;return p.connect(`value-changed`,()=>{if(h)return;let e=p.get_value();if(o){let t=Math.round(e);if(t!==e){p.set_value(t);return}e=t}f.set_label(formatValue(e)),m?.(e)}),l.append(p),c.set_child(l),{node:c,get:()=>p.get_value(),set:e=>{h=!0,p.set_value(e),h=!1,f.set_label(formatValue(e))},onChange:e=>{m=e}}}function buildSelectWidget(e){let t=e.options??[],n=K.StringList.new(t.map(e=>e.label)),r=new Y.ComboRow({title:e.label||e.name,subtitle:e.description??``,model:n}),i=null;return r.connect(`notify::selected`,()=>i?.(r.get_selected())),{node:r,get:()=>r.get_selected(),set:e=>r.set_selected(e),onChange:e=>{i=e}}}function buildColorWidget(e,t){let n=new Y.ActionRow({title:e,subtitle:t??``}),r=new K.ColorDialogButton({dialog:new K.ColorDialog({title:e}),valign:K.Align.CENTER});n.add_suffix(r),n.set_activatable_widget(r);let channel=e=>Math.round(Math.max(0,Math.min(1,e))*255).toString(16).padStart(2,`0`),rgbaToHex=e=>`#${channel(e.red)}${channel(e.green)}${channel(e.blue)}`,i=null,o=!1;return r.connect(`notify::rgba`,()=>{o||i?.(rgbaToHex(r.get_rgba()))}),{node:n,get:()=>rgbaToHex(r.get_rgba()),set:e=>{let t=new G.RGBA;t.parse(e)&&(o=!0,r.set_rgba(t),o=!1)},onChange:e=>{i=e}}}var zt=class StorybookWindow extends Y.ApplicationWindow{static{X.registerClass({GTypeName:`StorybookWindow`},StorybookWindow)}constructor(e){super(e),this._appearance=new StorybookAppearance,this._controlRows=[],this._rowByTitle=new Map,this._onSelect=null,this._suppressSelect=!1,this.set_default_size(1200,800),this.set_size_request(360,320),this.set_title(`Storybook`),this._buildUI(),this._controller=new StorybookController(this,e=>this._buildControls(e)),this._sidebar_list.connect(`row-selected`,this._onRowSelected.bind(this)),this._show_controls_button.connect(`toggled`,this._onToggleControls.bind(this)),this._controls_split_view.set_show_sidebar(!0)}_onRowSelected(e,t){if(this._suppressSelect||!t)return;let n=t;n.storyWidget&&this._onSelect?.(n.storyWidget)}get controller(){return this._controller}_buildControls(e){let t=e.meta.controls;if(!Array.isArray(t))return[];let n=adwControlWidgetFactory(),r=[];for(let i of t){if(!i?.name||!i?.type){g.warn(`Invalid control configuration:`,i);continue}let t=bindControl(e,i,n);t&&r.push(t)}return r}_buildUI(){this._sidebar_list=new K.ListBox({selection_mode:K.SelectionMode.SINGLE}),this._sidebar_list.add_css_class(`navigation-sidebar`);let e=new K.ScrolledWindow({hexpand:!0,vexpand:!0,child:this._sidebar_list}),t=new Y.HeaderBar({title_widget:new Y.WindowTitle({title:`Stories`}),show_end_title_buttons:!1}),n=new Y.ToolbarView({content:e,top_bar_style:Y.ToolbarStyle.FLAT});n.add_top_bar(t);let r=new Y.NavigationPage({title:`Stories`,tag:`stories`,child:n});this._content_area=new Y.Bin({hexpand:!0,vexpand:!0});let i=new K.ScrolledWindow({hexpand:!0,vexpand:!0,child:this._content_area});i.add_css_class(`sb-preview-area`),this._control_panel=new Y.PreferencesGroup({title:`Controls`});let o=new Y.PreferencesPage;o.add(this._control_panel);let s=new K.ScrolledWindow({vexpand:!0,child:o});this._controls_split_view=new Y.OverlaySplitView({show_sidebar:!0,sidebar_position:K.PackType.END,min_sidebar_width:280,max_sidebar_width:360,content:i,sidebar:s,css_classes:[`storybook-controls`]}),this._preview_title=new Y.WindowTitle({title:`Preview`}),this._show_controls_button=new K.ToggleButton({icon_name:`sidebar-show-right-symbolic`,tooltip_text:`Toggle Controls`,active:!0});let c=new Y.HeaderBar({title_widget:this._preview_title});c.pack_end(this._show_controls_button);let l=new K.Button({icon_name:`applications-graphics-symbolic`,tooltip_text:`Appearance`});l.connect(`clicked`,()=>buildAppearanceDialog(this._appearance).present(this)),c.pack_end(l);let u=new Y.ToolbarView({content:this._controls_split_view,top_bar_style:Y.ToolbarStyle.FLAT});u.add_top_bar(c);let d=new Y.NavigationPage({title:`Preview`,tag:`preview`,child:u});this._main_split_view=new Y.NavigationSplitView({min_sidebar_width:220,max_sidebar_width:320,sidebar:r,content:d}),this.set_content(this._main_split_view);let f=Y.BreakpointCondition.parse(`max-width: 720sp`);if(f){let e=new Y.Breakpoint({condition:f});e.connect(`apply`,()=>{this._main_split_view.collapsed=!0,this._controls_split_view.collapsed=!0}),e.connect(`unapply`,()=>{this._main_split_view.collapsed=!1,this._controls_split_view.collapsed=!1}),this.add_breakpoint(e)}}_onToggleControls(e){this._controls_split_view.set_show_sidebar(e.get_active())}populateSidebar(e){this._controller.mount(e,!0)}renderSidebar(e,t){this._onSelect=t,this._suppressSelect=!0,this._clearSidebar(),this._rowByTitle.clear();for(let t of e){this._addCategoryToSidebar(t.category);for(let{instance:e,name:n}of t.stories)this._addStoryToSidebar(e,n)}this._suppressSelect=!1}markSelected(e){let t=this._rowByTitle.get(e);t&&this._sidebar_list.get_selected_row()!==t&&(this._suppressSelect=!0,this._sidebar_list.select_row(t),this._suppressSelect=!1)}setPreviewTitle(e){this._preview_title.set_title(e)}showPreview(e){this._content_area.set_child(e),this._main_split_view.get_collapsed()&&this._main_split_view.set_show_content(!0)}renderControls(e){this._clearControlPanel();for(let t of e){let e=t.view;e instanceof Y.PreferencesRow&&e.set_use_markup(!1),this._control_panel.add(e),this._controlRows.push(e)}this._show_controls_button.set_active(!0)}_clearSidebar(){let e=this._sidebar_list.get_first_child();for(;e;){let t=e.get_next_sibling();e.unparent(),e=t}}_addCategoryToSidebar(e){let t=new K.ListBoxRow({selectable:!1}),n=new K.Label({label:e,halign:K.Align.START,margin_top:10,margin_bottom:4,margin_start:12,margin_end:12});n.add_css_class(`heading`),n.add_css_class(`dim-label`),t.set_child(n),this._sidebar_list.append(t)}_addStoryToSidebar(e,t){let n=new K.ListBoxRow,r=new K.Label({label:t||`Unnamed Story`,halign:K.Align.START,margin_start:20,margin_top:6,margin_bottom:6});n.set_child(r),this._sidebar_list.append(n),n.storyWidget=e,this._rowByTitle.set(e.meta.title,n)}_clearControlPanel(){for(let e of this._controlRows)this._control_panel.remove(e);this._controlRows=[]}get activeStory(){return this._controller.activeStory}openStoryByTitle(e){return this._controller.openStoryByTitle(e)}setActiveArg(e,t){return this._controller.setActiveArg(e,t)}};X.type_ensure(zt.$gtype);var Bt=class StorybookApplication extends Y.Application{static{X.registerClass({GTypeName:`StorybookApplication`},StorybookApplication)}constructor(e){super({application_id:e.applicationId,flags:J.ApplicationFlags.DEFAULT_FLAGS}),this._window=null,this._options=e,this.connect(`startup`,()=>this._initStyles()),this.connect(`activate`,()=>this._onActivate())}_initStyles(){let e=new K.CssProvider;e.load_from_string(`
81
+ </node>`}var J=r;function isWin32(){return S.DIR_SEPARATOR===92}function defaultListenAddress(){return isWin32()?`nonce-tcp:host=127.0.0.1`:`unix:tmpdir=${S.get_tmp_dir()}`}var DevtoolsPeerServerError=class extends Error{constructor(e,t,n,r){super(e),this.address=t,this.reason=n,this.name=`DevtoolsPeerServerError`,this.cause=r}};function isAddressInUse(e){return e instanceof S.Error&&e.matches(J.io_error_quark(),J.IOErrorEnum.ADDRESS_IN_USE)}function unixSocketPath(e){if(!e.startsWith(`unix:`))return null;for(let t of e.slice(5).split(`,`)){let e=t.indexOf(`=`);if(!(e<0||t.slice(0,e)!==`path`))try{return decodeURIComponent(t.slice(e+1))}catch{return null}}return null}function inspectExistingSocket(e){try{if((J.File.new_for_path(e).query_info(`unix::mode`,J.FileQueryInfoFlags.NONE,null).get_attribute_uint32(`unix::mode`)&61440)!=49152)return`not-a-socket`}catch{return`not-a-socket`}let t=new J.SocketClient;t.set_timeout(2);let n;try{n=t.connect(J.UnixSocketAddress.new(e),null)}catch{return`dead`}return n.close(null),`live`}function clearReclaimableSocket(e){let t=unixSocketPath(e);if(!t||!S.file_test(t,S.FileTest.EXISTS))return;let n=inspectExistingSocket(t);if(n===`live`)throw new DevtoolsPeerServerError(`cannot listen on ${e}: another process is already listening there. Stop it, or point ${q} (or options.address) at a different socket — GJSIFY_DEVTOOLS_INSTANCE=<label> lets two devtools-enabled apps run side by side.`,e,`address-in-use`);if(n===`not-a-socket`)throw new DevtoolsPeerServerError(`cannot listen on ${e}: ${t} already exists and is not a socket, so it will NOT be removed. Point ${q} (or options.address) at a free path.`,e,`occupied-by-other-file`);try{J.File.new_for_path(t).delete(null)}catch(n){throw new DevtoolsPeerServerError(`cannot listen on ${e}: ${t} is a socket nothing listens on, but removing it failed (${n}). Delete it by hand, or point ${q} at a free path.`,e,`address-in-use`,n)}_.log(`[gjsify-devtools] reclaimed the stale socket ${t}: nothing was listening on it (an abnormal exit — Ctrl-C, SIGKILL, a crash — leaves the inode behind).`)}function flagsForAddress(e){return e.startsWith(`tcp:`)||e.startsWith(`nonce-tcp:`)?J.DBusServerFlags.NONE:J.DBusServerFlags.AUTHENTICATION_REQUIRE_SAME_USER}function startDevtoolsPeerServer(e,t,n){let r=n&&n!==``?n:defaultListenAddress();clearReclaimableSocket(r);let i;try{i=J.DBusServer.new_sync(r,flagsForAddress(r),J.dbus_generate_guid(),null,null)}catch(e){let t=isAddressInUse(e);throw new DevtoolsPeerServerError(t?`cannot listen on ${r}: the address is already in use (${e}). Stop whatever holds it, or point ${q} (or options.address) at a different address.`:`cannot listen on ${r}: ${e}. Check the address form — \`unix:path=/tmp/app.sock\`, \`unix:tmpdir=/tmp\` or \`nonce-tcp:host=127.0.0.1\`.`,r,t?`address-in-use`:`listen-failed`,e)}let o=new Set;i.connect(`new-connection`,(n,r)=>(o.add(r),r.connect(`closed`,()=>{e.unexport(r),o.delete(r)}),e.export(r,t),!0)),i.start();let s=!1;return{address:i.get_client_address(),objectPath:t,get connectionCount(){return o.size},stop(){if(!s){s=!0,i.stop();for(let t of o)e.unexport(t),!t.is_closed()&&t.close(null,(e,t)=>{try{e.close_finish(t)}catch{}});o.clear()}}}}function writeDevtoolsAddressFile(e,t){try{if(S.mkdir_with_parents(S.path_get_dirname(e),448),!S.file_set_contents(e,`${t}\n`))return null}catch(t){return _.error(`[gjsify-devtools] could not publish the peer address to ${e}: ${t}`),null}try{J.File.new_for_path(e).set_attribute_uint32(`unix::mode`,384,J.FileQueryInfoFlags.NONE,null)}catch(t){_.error(`[gjsify-devtools] could not restrict ${e} to the current user: ${t}`)}return e}function removeDevtoolsAddressFile(e){try{J.File.new_for_path(e).delete(null)}catch{}}var Et=i;function captureWidgetPng(e){let t=e.get_native()?.get_renderer();if(!t)return null;let n=e.get_width(),r=e.get_height();if(n<=0||r<=0)return null;let i=K.WidgetPaintable.new(e),o=K.Snapshot.new();i.snapshot(o,n,r);let s=o.to_node();if(!s)return null;let c=new Et.Rect;c.init(0,0,n,r);let l=t.render_texture(s,c).save_to_png_bytes().get_data();return l?new Uint8Array(l):null}function dumpGSettings(e){let t=J.SettingsSchemaSource.get_default()?.lookup(e,!0);if(!t)throw Error(formatDbusErrorMessage(`not-found`,`GSettings schema '${e}' is not installed`));let n=new J.Settings({settings_schema:t}),r={};for(let e of t.list_keys())r[e]=n.get_value(e).recursiveUnpack();return r}function parseWidgetPath(e){let t=e.split(`/`).filter(e=>e.length>0);if(t.length===0)return null;let n=t[0].match(/^toplevel:(\d+)$/);if(!n)return null;let r=[];for(let e of t.slice(1)){let t=e.match(/^child:(\d+)$/);if(!t)return null;r.push(Number(t[1]))}return{toplevel:Number(n[1]),children:r}}function buildWidgetPath(e,t){return[`toplevel:${e}`,...t.map(e=>`child:${e}`)].join(`/`)}function widgetType(e){return gtypeName(e)??`GtkWidget`}function gtypeName(e){let t=e;return typeof t?.$typeName==`string`&&t.$typeName.length>0?t.$typeName:t?.constructor?.$gtype?.name??null}function activateWidget(e){let t=e;if(typeof t.activate==`function`&&t.activate()===!0)return!0;let n=typeof t.get_parent==`function`?t.get_parent():null;if(n&&widgetType(n)===`GtkListBox`){let t=n,r=!1;return typeof t.select_row==`function`&&(t.select_row(e),r=!0),typeof t.emit==`function`&&(t.emit(`row-activated`,e),r=!0),r}return!1}function sendKeyToWidget(e,t,n){let r=e.observe_controllers(),i=!1;for(let e=0;e<r.get_n_items();e++){let o=r.get_item(e);gtypeName(o)===`GtkEventControllerKey`&&(o.emit(`key-pressed`,t,0,n),i=!0)}return i}function nthChild(e,t){let n=e.get_first_child(),r=0;for(;n&&r<t;)n=n.get_next_sibling(),r++;return r===t?n:null}function listToplevels(){let e=K.Window.get_toplevels(),t=e.get_n_items(),n=[];for(let r=0;r<t;r++){let t=e.get_item(r);t&&n.push({path:`toplevel:${r}`,type:widgetType(t),title:t.get_title?.()??null,mapped:t.get_mapped(),focused:t.is_active??!1})}return n}function resolveWidgetPath(e){let t=parseWidgetPath(e);if(!t)return null;let n=K.Window.get_toplevels().get_item(t.toplevel);if(!n)return null;for(let e of t.children)if(n=nthChild(n,e),!n)return null;return n}function parseWidgetSelector(e){let t=e.indexOf(`:`),n=(t<0?e:e.slice(0,t)).trim(),r=(t<0?``:e.slice(t+1)).trim();return!n&&!r?null:{type:n,cssClass:r}}function findWidgetPath(e,t,n){if(!e.get_visible()||!e.get_mapped())return null;let r=!t.type||widgetType(e)===t.type,i=!t.cssClass||e.get_css_classes().includes(t.cssClass);if(r&&i)return n;let o=e.get_first_child(),s=0;for(;o;){let e=findWidgetPath(o,t,`${n}/child:${s}`);if(e)return e;o=o.get_next_sibling(),s++}return null}function dumpTree(e,t,n){let r={path:n,type:widgetType(e),name:e.get_name()||null,cssClasses:e.get_css_classes(),mapped:e.get_mapped(),visible:e.get_visible(),children:[]};if(t<=0)return r;let i=e.get_first_child(),o=0;for(;i;)r.children.push(dumpTree(i,t-1,`${n}/child:${o}`)),i=i.get_next_sibling(),o++;return r}function jsonSafe(e){let t=typeof e;return e==null||t===`string`||t===`number`||t===`boolean`?e??null:`[${t}]`}function getWidgetProperty(e,t){let n=e,r=t.replace(/-/g,`_`),i=t.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase());for(let e of[t,r,i])if(e in n)return jsonSafe(n[e])}function childIndex(e,t){let n=e.get_first_child(),r=0;for(;n;){if(n===t)return r;n=n.get_next_sibling(),r++}return-1}function pathOfWidget(e){let t=[],n=e,r=n.get_parent();for(;r;){let e=childIndex(r,n);if(e<0)return null;t.unshift(e),n=r,r=n.get_parent()}let i=K.Window.get_toplevels(),o=i.get_n_items();for(let e=0;e<o;e++)if(i.get_item(e)===n)return buildWidgetPath(e,t);return null}function isActiveWindowScope(e){return!e||e===`window`||e===`active`}function frameDelay(e){return new Promise(t=>{S.timeout_add(S.PRIORITY_DEFAULT,e,()=>(t(),S.SOURCE_REMOVE))})}async function captureWidgetWhenRenderable(e,t=12,n=50){for(let r=0;r<t;r++){let t=captureWidgetPng(e);if(t)return t;await frameDelay(n)}return captureWidgetPng(e)}var DevtoolsService=class{constructor(e,t){this._app=e,this._options=t,this._exported=new Map,this._peer=null,this._addressFile=null,this._kinds=new Map,this._extensions=t.extend??[];for(let[e,t]of Object.entries(Tt))this._kinds.set(e,t);for(let e of this._extensions){for(let[t,n]of Object.entries(e.methodKinds))this._kinds.set(t,n);for(let[t,n]of Object.entries(e.handlers)){let e=n;this[t]=(...n)=>(this._guard(t),e(...n))}}}export(e,t){if(this._exported.has(e))return;let n=buildDevtoolsIfaceXml(this._extensions.flatMap(e=>e.methodsXml??[])),r=J.DBusExportedObject.wrapJSObject(n,this);r.export(e,t),this._exported.set(e,r)}unexport(e){if(e){this._exported.get(e)?.unexport(),this._exported.delete(e);return}for(let e of this._exported.values())e.unexport();this._exported.clear(),this._peer?.stop(),this._peer=null,this._addressFile&&=(removeDevtoolsAddressFile(this._addressFile),null)}attachPeerServer(e,t){this._peer=e,this._addressFile=t??null}get peerAddress(){return this._peer?.address??null}get addressFile(){return this._addressFile}GetStatus(){let e=this._app.get_active_window(),t={appId:this._app.get_application_id()??`unknown`,instance:this._options.instance??`default`,activeWindow:e?{id:e.get_name()||`window`,title:e.get_title()??``,mapped:e.get_mapped()}:null,toplevelCount:K.Window.get_toplevels().get_n_items(),focusedWidget:null,paused:this._isPaused()};for(let e of this._extensions){let n=e.contributeStatus?.();n&&Object.assign(t,n)}return JSON.stringify(t)}async ScreenshotAsync(e,t){try{let n=typeof e?.[0]==`string`?e[0]:``,r=await this._captureScopePng(n);t.return_value(new S.Variant(`(ay)`,[r]))}catch(e){t.return_dbus_error(`org.gjsify.Devtools.Error.Screenshot`,e instanceof Error?e.message:String(e))}}async _captureScopePng(e){let t=this._resolveRootWidget(e);if(!t){if(isActiveWindowScope(e))return new Uint8Array;throw Error(formatDbusErrorMessage(`not-found`,`no widget at '${e}'`))}let n=captureWidgetPng(t.widget);if(!n){let e=t.widget.get_root();e instanceof K.Window&&e.present(),n=await captureWidgetWhenRenderable(t.widget)}return n??new Uint8Array}ListActions(){let e={app:describeActions(this._actionGroup(`app`)),win:describeActions(this._actionGroup(`win`))};return JSON.stringify(e)}ActivateAction(e,t,n){this._guard(`ActivateAction`);let r=this._scope(e);activateAction(this._requireGroup(r,t),t,this._parseValue(n))}ChangeActionState(e,t,n){this._guard(`ChangeActionState`);let r=this._scope(e);changeActionState(this._requireGroup(r,t),t,this._parseValue(n))}PresentWindow(){this._app.get_active_window()?.present()}ResizeWindow(e,t){this._guard(`ResizeWindow`);let n=this._app.get_active_window();if(!n)throw Error(formatDbusErrorMessage(`unavailable`,`no active window to resize`));let r=Math.max(1,Math.round(e)),i=Math.max(1,Math.round(t));return n.is_maximized()&&n.unmaximize(),n.is_fullscreen()&&n.unfullscreen(),n.set_default_size(r,i),[r,i]}ListToplevels(){return JSON.stringify(listToplevels())}DumpTree(e,t){let n=this._resolveRootWidget(e);if(!n)throw Error(formatDbusErrorMessage(`not-found`,`no widget at '${e||`active window`}'`));return JSON.stringify(dumpTree(n.widget,t>0?t:8,n.path))}GetProperty(e,t){let n=this._resolveRootWidget(e);if(!n)throw Error(formatDbusErrorMessage(`not-found`,`no widget at '${e}'`));let r=getWidgetProperty(n.widget,t);if(r===void 0)throw Error(formatDbusErrorMessage(`not-found`,`widget has no property '${t}'`));return JSON.stringify(r)}GetFocused(){let e=this._app.get_active_window(),t=e?e.get_focus():null;return JSON.stringify(t?{path:pathOfWidget(t),name:t.get_name()||null,type:widgetType(t)}:null)}ActivateWidget(e){this._guard(`ActivateWidget`);let t=this._resolveRootWidget(e);if(!t)throw Error(formatDbusErrorMessage(`not-found`,`no widget at '${e}'`));return activateWidget(t.widget)}FindWidget(e){let t=parseWidgetSelector(e);if(!t)throw Error(formatDbusErrorMessage(`invalid-params`,`empty selector '${e}'`));let n=this._resolveRootWidget(``);return n?findWidgetPath(n.widget,t,n.path)??``:``}SendKey(e,t){this._guard(`SendKey`);let[n,r,i]=K.accelerator_parse(e);if(!n)throw Error(formatDbusErrorMessage(`invalid-params`,`cannot parse accelerator '${e}'`));let o;if(o=t?this._resolveRootWidget(t)?.widget??null:this._app.get_active_window()?.get_focus()??null,!o)throw Error(formatDbusErrorMessage(`not-found`,`no widget at '${t||`focus`}'`));return sendKeyToWidget(o,r,i??0)}DumpGSettings(e){return JSON.stringify(dumpGSettings(e))}DumpCss(){return JSON.stringify(dumpCss())}SwapCss(e,t){return this._guard(`SwapCss`),swapCss(e,t)}_resolveRootWidget(e){if(isActiveWindowScope(e)){let e=this._app.get_active_window();return e?{widget:e,path:pathOfWidget(e)??`toplevel:0`}:null}let t=resolveWidgetPath(e);return t?{widget:t,path:e}:null}_isPaused(){return this._options.paused?.()??!1}_guard(e){let t=this._kinds.get(e);if(!t)throw Error(formatDbusErrorMessage(`internal`,`unclassified devtools method '${e}'`));if(t===`mutating`&&this._isPaused())throw Error(formatDbusErrorMessage(`paused`,`${e} rejected — external control is paused. Read-only methods keep working.`))}_scope(e){return e===`app`?`app`:`win`}_actionGroup(e){if(e===`app`)return this._app;if(this._options.winActionGroup)return this._options.winActionGroup;let t=this._app.get_active_window();return t instanceof K.ApplicationWindow?t:null}_requireGroup(e,t){let n=this._actionGroup(e);if(!n)throw Error(formatDbusErrorMessage(`unavailable`,`no '${e}' action group`));if(!n.has_action(t))throw Error(formatDbusErrorMessage(`not-found`,`unknown action ${e}.${t}`));return n}_parseValue(e){if(!e||e===`null`)return null;try{return JSON.parse(e)}catch{throw Error(formatDbusErrorMessage(`invalid-params`,`value_json is not valid JSON: ${e}`))}}};const Dt=`DBUS_SESSION_BUS_ADDRESS`,Ot=new Set;function envEnabled(){return isDevtoolsEnabledValue(S.getenv(`GJSIFY_DEVTOOLS`))}function envValue(e){let t=S.getenv(e);return t&&t!==``?t:null}function sessionBusUsable(){if(!envValue(Dt))return!1;try{return J.bus_get_sync(J.BusType.SESSION,null),!0}catch{return!1}}function chooseDevtoolsTransport(e){return e.requestedAddress?{kind:`peer`,address:e.requestedAddress,reason:`requested`}:e.hasAppConnection?{kind:`session-bus`}:e.sessionBusUsable?{kind:`unregistered`}:{kind:`peer`,address:null,reason:`no-session-bus`}}function describeMissingConnection(e,t){return e?t?`[gjsify-devtools] the session bus answers but this application is not registered on it yet — call installDevtools() from the GtkApplication "startup" handler (the bus connection and object path exist only after registration).`:`[gjsify-devtools] ${Dt} is set (${e}) but no bus answers there — using the bus-less peer transport instead. On macOS this is the usual state: Homebrew's dbus listens on launchd, so the advertised address only works while that socket is live.`:`[gjsify-devtools] this machine has no session bus (${Dt} is unset) — using the bus-less peer transport instead. Point the bridge at the address below, or set ${q} on both the app and \`gjsify debug\` to pin it yourself.`}function installDevtools(e,t={}){if(!(t.enabled??envEnabled()))return null;let n=t.instance??envValue(`GJSIFY_DEVTOOLS_INSTANCE`)??void 0,r=new DevtoolsService(e,{...t,instance:n});try{return exportDevtools(e,r,t,n)}catch(e){return r.unexport(),_.error(`[gjsify-devtools] devtools stayed OFF, the app is unaffected — ${describeInstallFailure(e)}`),null}}function describeInstallFailure(e){return e instanceof DevtoolsPeerServerError||e instanceof Error?e.message:String(e)}function exportDevtools(e,t,n,r){let i=e.get_is_registered(),o=i?e.get_dbus_connection():null,s=i?e.get_dbus_object_path():null,c=envValue(Dt),l=!!(o&&s),u=l||sessionBusUsable(),d=chooseDevtoolsTransport({requestedAddress:n.address??envValue(q),hasAppConnection:l,sessionBusUsable:u}),f=e.get_application_id()??`unknown`,p=`${s??appIdToObjectPath(f)}/devtools`;if((d.kind===`unregistered`||d.kind===`peer`&&d.reason===`no-session-bus`)&&_.error(describeMissingConnection(c,u)),d.kind===`session-bus`&&o)t.export(o,p),_.log(`[gjsify-devtools] exported ${wt} at ${p} (dest ${f})`);else if(d.kind===`peer`){let n=startDevtoolsPeerServer(t,p,d.address??void 0),i=writeDevtoolsAddressFile(devtoolsAddressFilePath(S.get_user_runtime_dir(),f,r),n.address);t.attachPeerServer(n,i),_.log(`[gjsify-devtools] exported ${wt} at ${p} (peer address ${n.address}${i?`, published to ${i}`:``})`),i&&e.connect(`shutdown`,()=>removeDevtoolsAddressFile(i))}return Ot.add(t),t}const kt=[`AdwNavigationSplitView`,`GtkListBox`,`AdwOverlaySplitView`];function probeEnabled(){let e=S.getenv(`GJSIFY_STORYBOOK_PROBE`);if(e==null)return!1;let t=e.toLowerCase();return t!==``&&t!==`0`&&t!==`false`}function collectTypes(e,t){t.add(e.type);for(let n of e.children)collectTypes(n,t)}function installStorybookProbe(e,t,n={}){let r=n.requireChrome??kt,i=n.out??S.getenv(`GJSIFY_STORYBOOK_PROBE_OUT`)??void 0,o=n.timeoutMs??8e3,s=n.storyWidget??S.getenv(`GJSIFY_STORYBOOK_PROBE_STORY_WIDGET`)??void 0,c=t.controller.listStories(),l=[...new Set(c.map(e=>e.category))],u=n.story??S.getenv(`GJSIFY_STORYBOOK_PROBE_STORY`)??c[0]?.title,d=u?t.openStoryByTitle(u):!1,f=t.activeStory,p=new Set;collectTypes(dumpTree(t,60,`toplevel:0`),p);let m=r.filter(e=>!p.has(e)),h=new Set;f&&collectTypes(dumpTree(f,60,`story`),h);let g=h.size,v=s?h.has(s):null,finish=t=>{let n=JSON.stringify(t);if(t.ok)_.log(`STORYBOOK PROBE: PASS ${n}`);else{_.error(`STORYBOOK PROBE: FAIL ${n}`);try{typeof process<`u`&&(process.exitCode=1)}catch{}}if(i)try{S.file_set_contents(i,JSON.stringify(t,null,2))}catch{}e.quit()},ee=0;S.timeout_add(S.PRIORITY_DEFAULT,100,()=>{ee+=100;let e=captureWidgetPng(t),n=t.get_width()>0&&t.get_height()>0;if(!e&&!(ee>=o))return S.SOURCE_CONTINUE;let i=f?captureWidgetPng(f):null,p=c.length>=1&&l.length>=1&&m.length===0&&d&&f!=null&&g>1,_;return c.length<1?_=`no stories registered`:l.length<1?_=`no categories`:m.length>0?_=`chrome missing: ${m.join(`, `)}`:!d||f==null?_=`could not open story: ${u??`(none)`}`:g<=1&&(_=`opened story rendered an empty subtree`),p&&s&&!h.has(s)&&(p=!1,_=`story widget ${s} not found in the opened story subtree`),p&&n&&(!e||e.length===0)&&(p=!1,_=`window realized (${t.get_width()}x${t.get_height()}) but the GSK capture was empty`),finish({ok:p,reason:_,stories:c.length,categories:l,opened:d,activeStory:f?f.meta.title:null,requiredChrome:r,missingChrome:m,storySubtreeWidgets:g,storyWidgetPresent:v,windowRealized:n,windowPngBytes:e?e.length:0,storyPngBytes:i?i.length:0}),S.SOURCE_REMOVE})}var Y=o;const At={UNKNOWN:0,CUSTOM:1,GPL_2_0:2,GPL_3_0:3,LGPL_2_1:4,LGPL_3_0:5,BSD:6,MIT_X11:7,ARTISTIC:8,GPL_2_0_ONLY:9,GPL_3_0_ONLY:10,LGPL_2_1_ONLY:11,LGPL_3_0_ONLY:12,AGPL_3_0:13,AGPL_3_0_ONLY:14,BSD_3:15,APACHE_2_0:16,MPL_2_0:17,"0BSD":18};At.GPL_2_0_ONLY,At.GPL_3_0_ONLY,At.UNKNOWN;const jt=[`blue`,`teal`,`green`,`yellow`,`orange`,`red`,`pink`,`purple`,`slate`],Mt={blue:`#3584e4`,teal:`#2190a4`,green:`#3a944a`,yellow:`#c88800`,orange:`#ed5b00`,red:`#e62d42`,pink:`#d56199`,purple:`#9141ac`,slate:`#6f8396`};function parseHex(e){let t=/^#([0-9a-f]{6})$/i.exec(e.trim());if(!t)return null;let n=Number.parseInt(t[1],16);return[(n>>16&255)/255,(n>>8&255)/255,(n&255)/255]}function toHex(e,t,n){let channel=e=>Math.round(Math.min(1,Math.max(0,e))*255).toString(16).padStart(2,`0`);return`#${channel(e)}${channel(t)}${channel(n)}`}const toLinear=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4,fromLinear=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055;function linearToOklab(e,t,n){let r=Math.cbrt(.4122214708*e+.5363325363*t+.0514459929*n),i=Math.cbrt(.2119034982*e+.6806995451*t+.1073969566*n),o=Math.cbrt(.0883024619*e+.2817188376*t+.6299787005*n);return[.2104542553*r+.793617785*i-.0040720468*o,1.9779984951*r-2.428592205*i+.4505937099*o,.0259040371*r+.7827717662*i-.808675766*o]}function oklabToLinear(e,t,n){let r=(e+.3963377774*t+.2158037573*n)**3,i=(e-.1055613458*t-.0638541728*n)**3,o=(e-.0894841775*t-1.291485548*n)**3;return[4.0767416621*r-3.3077115913*i+.2309699292*o,-1.2684380046*r+2.6097574011*i-.3413193965*o,-.0041960863*r-.7034186147*i+1.707614701*o]}function adwaitaStandaloneColor(e,t){let n=parseHex(e);if(!n)return e;let[r,i,o]=linearToOklab(toLinear(n[0]),toLinear(n[1]),toLinear(n[2])),[s,c,l]=oklabToLinear(t?Math.max(r,.85):Math.min(r,.5),i,o);return toHex(fromLinear(s),fromLinear(c),fromLinear(l))}function adwaitaAccentBgColor(e){return Mt[e]}function adwaitaAccentColor(e,t){return adwaitaStandaloneColor(Mt[e],t)}Math.PI*.35,Math.PI*.015,Math.PI*.9;const Nt=Math.PI*.9,Pt=Math.PI*.7,Ft=Math.PI*1.1,It=Math.PI*1.35,Lt=Nt+Ft+It-Pt;53*Math.PI*2/Lt,Ft-Pt/2;const Rt={system:`Follow system`,light:`Light`,dark:`Dark`},zt={blue:`Blue`,teal:`Teal`,green:`Green`,yellow:`Yellow`,orange:`Orange`,red:`Red`,pink:`Pink`,purple:`Purple`,slate:`Slate`};var StorybookAppearance=class{constructor(){this._provider=null,this._applying=!1,this._styleManager=Y.StyleManager.get_default(),this.settings=new StorybookSettings(()=>this._styleManager.get_dark()),this.settings.subscribe(e=>this._apply(e)),this._styleManager.connect(`notify::dark`,()=>this.settings.systemChanged()),this._apply(this.settings.state)}_apply(e){if(!this._applying){this._applying=!0;try{this._styleManager.set_color_scheme(e.colorScheme===`light`?Y.ColorScheme.FORCE_LIGHT:e.colorScheme===`dark`?Y.ColorScheme.FORCE_DARK:Y.ColorScheme.DEFAULT),this._applyAccent(this.settings.resolvedAccent)}finally{this._applying=!1}}}_applyAccent(e){let t=G.Display.get_default();if(!t)return;if(!this._provider){if(!e)return;this._provider=new K.CssProvider,K.StyleContext.add_provider_for_display(t,this._provider,K.STYLE_PROVIDER_PRIORITY_APPLICATION)}if(!e){this._provider.load_from_string(``);return}let n=adwaitaAccentBgColor(e),r=adwaitaAccentColor(e,this.settings.resolvedDark);this._provider.load_from_string(`:root { --accent-bg-color: ${n}; --accent-color: ${r}; }`)}};function buildSwatch(e,t,n){let r=new K.CheckButton({tooltip_text:t,halign:K.Align.CENTER,valign:K.Align.CENTER,focus_on_click:!1});for(let t of e)r.add_css_class(t);return r.update_property([K.AccessibleProperty.LABEL],[t]),n&&r.set_group(n),r}function buildSwatchCard(e=!1){let t=new Y.WrapBox({align:.5,child_spacing:8,line_spacing:8,margin_top:12,margin_bottom:12,margin_start:12,margin_end:12}),n=new Y.Bin({child:t,hexpand:!0});return n.add_css_class(`card`),e&&n.add_css_class(`storybook-card-attached`),{card:n,row:t}}function buildAppearanceDialog(e){let t=e.settings,n=new Y.PreferencesPage,r=new Y.PreferencesGroup({title:`Style`}),{card:i,row:o}=buildSwatchCard(),s=null,c=new Map;for(let e of xt){let n=buildSwatch([`storybook-swatch`,`storybook-scheme-swatch`,`storybook-scheme-${e}`],Rt[e],s);s??=n,n.set_active(t.colorScheme===e),n.connect(`toggled`,()=>{n.get_active()&&(t.colorScheme=e)}),c.set(e,n),o.append(n)}r.add(i),n.add(r);let l=new Y.PreferencesGroup({title:`Accent colour`});l.add_css_class(`storybook-attached-group`);let u=new Y.SwitchRow({title:`Use a custom accent colour`,subtitle:`Off follows the desktop, which owns the accent`,active:t.accentMode===`custom`});l.add(u);let{card:d,row:f}=buildSwatchCard(!0),p=null,m=new Map;for(let e of jt){let n=buildSwatch([`storybook-swatch`],zt[e],p);p??=n,n.set_active(t.accent===e);let r=new K.CssProvider;r.load_from_string(`checkbutton { background-color: ${adwaitaAccentBgColor(e)}; }`),n.get_style_context().add_provider(r,K.STYLE_PROVIDER_PRIORITY_APPLICATION),n.connect(`toggled`,()=>{n.get_active()&&(t.accent=e)}),m.set(e,n),f.append(n)}f.set_sensitive(t.accentMode===`custom`),u.connect(`notify::active`,()=>{t.accentMode=u.get_active()?`custom`:`system`}),l.add(d),n.add(l),t.subscribe(e=>{let t=c.get(e.colorScheme);t&&!t.get_active()&&t.set_active(!0);let n=m.get(e.accent);n&&!n.get_active()&&n.set_active(!0);let r=e.accentMode===`custom`;u.get_active()!==r&&u.set_active(r),f.set_sensitive(r)});let h=new Y.PreferencesDialog({title:`Appearance`});return h.add(n),h}var X=s;function adwControlWidgetFactory(){return{text(e,t){let n=new Y.EntryRow({title:e});t&&n.set_tooltip_text(t);let r=null;return n.connect(`changed`,()=>r?.(n.get_text())),{node:n,get:()=>n.get_text(),set:e=>n.set_text(e),onChange:e=>{r=e}}},boolean(e,t){let n=new Y.SwitchRow({title:e,subtitle:t??``}),r=null;return n.connect(`notify::active`,()=>r?.(n.get_active())),{node:n,get:()=>n.get_active(),set:e=>n.set_active(e),onChange:e=>{r=e}}},number(e){let t=Y.SpinRow.new_with_range(e.min??0,e.max??100,e.step??1);t.set_title(e.label||e.name),e.description&&t.set_subtitle(e.description);let n=null;return t.connect(`changed`,()=>n?.(t.get_value())),{node:t,get:()=>t.get_value(),set:e=>t.set_value(e),onChange:e=>{n=e}}},range(e){return buildRangeWidget(e)},select(e){return buildSelectWidget(e)},color(e,t){return buildColorWidget(e,t)}}}function buildRangeWidget(e){let t=e.min??0,n=e.max??100,r=e.step??1,i=typeof e.min==`number`?e.min:0,o=Number.isInteger(r)&&Number.isInteger(i),s=new K.Adjustment({lower:t,upper:n,step_increment:r,value:i});s.step_increment=r;let c=new K.ListBoxRow({selectable:!1,activatable:!1});c.add_css_class(`story-range-row`);let l=new K.Box({orientation:K.Orientation.VERTICAL,spacing:6,margin_top:12,margin_bottom:12,margin_start:12,margin_end:12}),u=new K.Box({orientation:K.Orientation.HORIZONTAL,spacing:12}),d=new K.Label({label:e.label||e.name,halign:K.Align.START,hexpand:!0,ellipsize:3});d.add_css_class(`heading`);let formatValue=e=>o?String(Math.round(e)):e.toFixed(2),f=new K.Label({label:formatValue(i),halign:K.Align.END});if(f.add_css_class(`numeric`),f.add_css_class(`dim-label`),u.append(d),u.append(f),l.append(u),e.description){let t=new K.Label({label:e.description,halign:K.Align.START,xalign:0,wrap:!0,max_width_chars:32});t.add_css_class(`caption`),t.add_css_class(`dim-label`),l.append(t)}let p=new K.Scale({orientation:K.Orientation.HORIZONTAL,adjustment:s,draw_value:!1,hexpand:!0}),m=null,h=!1;return p.connect(`value-changed`,()=>{if(h)return;let e=p.get_value();if(o){let t=Math.round(e);if(t!==e){p.set_value(t);return}e=t}f.set_label(formatValue(e)),m?.(e)}),l.append(p),c.set_child(l),{node:c,get:()=>p.get_value(),set:e=>{h=!0,p.set_value(e),h=!1,f.set_label(formatValue(e))},onChange:e=>{m=e}}}function buildSelectWidget(e){let t=e.options??[],n=K.StringList.new(t.map(e=>e.label)),r=new Y.ComboRow({title:e.label||e.name,subtitle:e.description??``,model:n}),i=null;return r.connect(`notify::selected`,()=>i?.(r.get_selected())),{node:r,get:()=>r.get_selected(),set:e=>r.set_selected(e),onChange:e=>{i=e}}}function buildColorWidget(e,t){let n=new Y.ActionRow({title:e,subtitle:t??``}),r=new K.ColorDialogButton({dialog:new K.ColorDialog({title:e}),valign:K.Align.CENTER});n.add_suffix(r),n.set_activatable_widget(r);let channel=e=>Math.round(Math.max(0,Math.min(1,e))*255).toString(16).padStart(2,`0`),rgbaToHex=e=>`#${channel(e.red)}${channel(e.green)}${channel(e.blue)}`,i=null,o=!1;return r.connect(`notify::rgba`,()=>{o||i?.(rgbaToHex(r.get_rgba()))}),{node:n,get:()=>rgbaToHex(r.get_rgba()),set:e=>{let t=new G.RGBA;t.parse(e)&&(o=!0,r.set_rgba(t),o=!1)},onChange:e=>{i=e}}}var Bt=class StorybookWindow extends Y.ApplicationWindow{static{X.registerClass({GTypeName:`StorybookWindow`},StorybookWindow)}constructor(e){super(e),this._appearance=new StorybookAppearance,this._controlRows=[],this._rowByTitle=new Map,this._onSelect=null,this._suppressSelect=!1,this.set_default_size(1200,800),this.set_size_request(360,320),this.set_title(`Storybook`),this._buildUI(),this._controller=new StorybookController(this,e=>this._buildControls(e)),this._sidebar_list.connect(`row-selected`,this._onRowSelected.bind(this)),this._show_controls_button.connect(`toggled`,this._onToggleControls.bind(this)),this._controls_split_view.set_show_sidebar(!0)}_onRowSelected(e,t){if(this._suppressSelect||!t)return;let n=t;n.storyWidget&&this._onSelect?.(n.storyWidget)}get controller(){return this._controller}_buildControls(e){let t=e.meta.controls;if(!Array.isArray(t))return[];let n=adwControlWidgetFactory(),r=[];for(let i of t){if(!i?.name||!i?.type){_.warn(`Invalid control configuration:`,i);continue}let t=bindControl(e,i,n);t&&r.push(t)}return r}_buildUI(){this._sidebar_list=new K.ListBox({selection_mode:K.SelectionMode.SINGLE}),this._sidebar_list.add_css_class(`navigation-sidebar`);let e=new K.ScrolledWindow({hexpand:!0,vexpand:!0,child:this._sidebar_list}),t=new Y.HeaderBar({title_widget:new Y.WindowTitle({title:`Stories`}),show_end_title_buttons:!1}),n=new Y.ToolbarView({content:e,top_bar_style:Y.ToolbarStyle.FLAT});n.add_top_bar(t);let r=new Y.NavigationPage({title:`Stories`,tag:`stories`,child:n});this._content_area=new Y.Bin({hexpand:!0,vexpand:!0});let i=new K.ScrolledWindow({hexpand:!0,vexpand:!0,child:this._content_area});i.add_css_class(`sb-preview-area`),this._control_panel=new Y.PreferencesGroup({title:`Controls`});let o=new Y.PreferencesPage;o.add(this._control_panel);let s=new K.ScrolledWindow({vexpand:!0,child:o});this._controls_split_view=new Y.OverlaySplitView({show_sidebar:!0,sidebar_position:K.PackType.END,min_sidebar_width:280,max_sidebar_width:360,content:i,sidebar:s,css_classes:[`storybook-controls`]}),this._preview_title=new Y.WindowTitle({title:`Preview`}),this._show_controls_button=new K.ToggleButton({icon_name:`sidebar-show-right-symbolic`,tooltip_text:`Toggle Controls`,active:!0});let c=new Y.HeaderBar({title_widget:this._preview_title});c.pack_end(this._show_controls_button);let l=new K.Button({icon_name:`applications-graphics-symbolic`,tooltip_text:`Appearance`});l.connect(`clicked`,()=>buildAppearanceDialog(this._appearance).present(this)),c.pack_end(l);let u=new Y.ToolbarView({content:this._controls_split_view,top_bar_style:Y.ToolbarStyle.FLAT});u.add_top_bar(c);let d=new Y.NavigationPage({title:`Preview`,tag:`preview`,child:u});this._main_split_view=new Y.NavigationSplitView({min_sidebar_width:220,max_sidebar_width:320,sidebar:r,content:d}),this.set_content(this._main_split_view);let f=Y.BreakpointCondition.parse(`max-width: 720sp`);if(f){let e=new Y.Breakpoint({condition:f});e.connect(`apply`,()=>{this._main_split_view.collapsed=!0,this._controls_split_view.collapsed=!0}),e.connect(`unapply`,()=>{this._main_split_view.collapsed=!1,this._controls_split_view.collapsed=!1}),this.add_breakpoint(e)}}_onToggleControls(e){this._controls_split_view.set_show_sidebar(e.get_active())}populateSidebar(e){this._controller.mount(e,!0)}renderSidebar(e,t){this._onSelect=t,this._suppressSelect=!0,this._clearSidebar(),this._rowByTitle.clear();for(let t of e){this._addCategoryToSidebar(t.category);for(let{instance:e,name:n}of t.stories)this._addStoryToSidebar(e,n)}this._suppressSelect=!1}markSelected(e){let t=this._rowByTitle.get(e);t&&this._sidebar_list.get_selected_row()!==t&&(this._suppressSelect=!0,this._sidebar_list.select_row(t),this._suppressSelect=!1)}setPreviewTitle(e){this._preview_title.set_title(e)}showPreview(e){this._content_area.set_child(e),this._main_split_view.get_collapsed()&&this._main_split_view.set_show_content(!0)}renderControls(e){this._clearControlPanel();for(let t of e){let e=t.view;e instanceof Y.PreferencesRow&&e.set_use_markup(!1),this._control_panel.add(e),this._controlRows.push(e)}this._show_controls_button.set_active(!0)}_clearSidebar(){let e=this._sidebar_list.get_first_child();for(;e;){let t=e.get_next_sibling();e.unparent(),e=t}}_addCategoryToSidebar(e){let t=new K.ListBoxRow({selectable:!1}),n=new K.Label({label:e,halign:K.Align.START,margin_top:10,margin_bottom:4,margin_start:12,margin_end:12});n.add_css_class(`heading`),n.add_css_class(`dim-label`),t.set_child(n),this._sidebar_list.append(t)}_addStoryToSidebar(e,t){let n=new K.ListBoxRow,r=new K.Label({label:t||`Unnamed Story`,halign:K.Align.START,margin_start:20,margin_top:6,margin_bottom:6});n.set_child(r),this._sidebar_list.append(n),n.storyWidget=e,this._rowByTitle.set(e.meta.title,n)}_clearControlPanel(){for(let e of this._controlRows)this._control_panel.remove(e);this._controlRows=[]}get activeStory(){return this._controller.activeStory}openStoryByTitle(e){return this._controller.openStoryByTitle(e)}setActiveArg(e,t){return this._controller.setActiveArg(e,t)}};X.type_ensure(Bt.$gtype);var Vt=class StorybookApplication extends Y.Application{static{X.registerClass({GTypeName:`StorybookApplication`},StorybookApplication)}constructor(e){super({application_id:e.applicationId,flags:J.ApplicationFlags.DEFAULT_FLAGS}),this._window=null,this._options=e,this.connect(`startup`,()=>this._initStyles()),this.connect(`activate`,()=>this._onActivate())}_initStyles(){let e=new K.CssProvider;e.load_from_string(`
79
82
  /* Appearance dialog — round swatches with a selection ring, the shape GNOME's own
80
83
  appearance switcher uses. Adapted from Learn6502's theme-mode-selector.css and
81
84
  accent-color-selector.css (JumpLink/easy6502, MIT).
@@ -195,4 +198,4 @@ if(globalThis.__gjsifyBundleUrl??=import.meta.url,Symbol.dispose||(Symbol.dispos
195
198
  .story-stage {
196
199
  padding: 18px;
197
200
  }
198
- \n${this._options.css??``}`);let t=G.Display.get_default();if(!t){g.error(`No display found`);return}K.StyleContext.add_provider_for_display(t,e,K.STYLE_PROVIDER_PRIORITY_APPLICATION)}_onActivate(){if(!this._window){this._window=new zt({application:this}),this._options.title&&this._window.set_title(this._options.title);try{this._window.populateSidebar(this._options.stories)}catch(e){g.error(`Failed to create story instances:`,e)}installDevtools(this,{enabled:this._options.devtools||void 0,extend:[storybookDevtoolsExtension(this._window)]}),probeEnabled()&&installStorybookProbe(this,this._window,this._options.probe)}this._window.present()}};X.type_ensure(Bt.$gtype);function collectStoryModules(e){return collectStoryModules$1(e)}function buildGtkChrome(e){let t=new Y.PreferencesPage,n=new Y.PreferencesGroup,r=new K.Box({orientation:K.Orientation.VERTICAL,halign:K.Align.CENTER,valign:K.Align.CENTER,margin_top:12,margin_bottom:12,spacing:12,hexpand:!0});return r.add_css_class(`story-stage`),n.add(r),t.add(n),e.set_child(t),{root:e,hasStage:!0,setStageContent(e){let t=r.get_first_child();for(;t;)t.unparent(),t=r.get_first_child();r.append(e)},setChromeText(e,t){n.set_title(x.markup_escape_text(e,-1)),n.set_description(x.markup_escape_text(t,-1))}}}var StoryCore=class extends StoryViewBase{constructor(e,t,n){super(),this._widget=e,this.initBase(t,n)}createChrome(e){return buildGtkChrome(this._widget)}initialize(){this._widget.initialize()}updateArgs(e){this._widget.updateArgs(e)}teardown(){this._widget.teardown()}emitArgs(e){super.emitArgs(e),this._widget.notify(`args`)}},Z=class StoryWidget extends Y.Bin{static{X.registerClass({GTypeName:`StoryWidget`,Properties:{meta:X.ParamSpec.object(`meta`,`Meta`,`Story metadata`,X.ParamFlags.READWRITE,X.Object),story:X.ParamSpec.string(`story`,`Story Name`,`Story name`,X.ParamFlags.READWRITE,``),args:X.ParamSpec.object(`args`,`Args`,`Story arguments`,X.ParamFlags.READWRITE,X.Object)}},StoryWidget)}constructor(e,t={}){super(t),this._core=new StoryCore(this,e.meta,e.story)}static fromMeta(e,t){return{meta:e,story:t,args:argsFromControls(e.controls)}}get meta(){return this._core.meta}get story(){return this._core.story}get args(){return this._core.args}set args(e){this._core.args=e}onArgsChanged(e){return this._core.onArgsChanged(e)}setArg(e,t){this._core.setArg(e,t)}initialize(){}updateArgs(e){}teardown(){}addContent(e){this._core.addContent(e)}};X.type_ensure(Z.$gtype);var Vt=class AdwaitaApp extends Y.Application{static{X.registerClass({GTypeName:`GjsifyAdwaitaApp`},AdwaitaApp)}constructor(e){super({application_id:e.applicationId,flags:e.flags??J.ApplicationFlags.DEFAULT_FLAGS}),this._window=null,this._options=e,this._initActions(),this.connect(`startup`,()=>this._onStartup()),this.connect(`activate`,()=>this._onActivate())}_initActions(){if(this._options.quitAction!==!1){let e=new J.SimpleAction({name:`quit`});e.connect(`activate`,()=>this.quit()),this.add_action(e),this.set_accels_for_action(`app.quit`,[`<primary>q`])}if(this._options.about){let e=new J.SimpleAction({name:`about`});e.connect(`activate`,()=>this._showAbout()),this.add_action(e)}}_onStartup(){this._options.css&&this._loadCss(this._options.css),this._installDevtools(),this._options.onStartup?.(this)}_loadCss(e){let t=G.Display.get_default();if(!t){g.error(`@gjsify/adwaita-app: no default display; CSS not applied`);return}let n=new K.CssProvider;n.load_from_string(e),K.StyleContext.add_provider_for_display(t,n,K.STYLE_PROVIDER_PRIORITY_APPLICATION)}_installDevtools(){let e=this._options.devtools;if(e===!1)return;let t=typeof e==`object`?e:{enabled:e||void 0};installDevtools(this,t)}_onActivate(){this._window||=this._options.createWindow(this),this._window.present()}_showAbout(){let e=this._options.about;if(!e)return;let t=new Y.AboutDialog({application_name:e.applicationName,application_icon:e.applicationIcon??this._options.applicationId});e.version&&(t.version=e.version),e.developerName&&(t.developer_name=e.developerName),e.website&&(t.website=e.website),e.issueUrl&&(t.issue_url=e.issueUrl),e.license&&(t.license=e.license),e.comments&&(t.comments=e.comments),e.copyright&&(t.copyright=e.copyright),e.developers?.length&&t.set_developers(e.developers),t.present(this.get_active_window())}};async function runApplication(e,t){let n=!1;try{e.register(null),n=e.get_is_remote()}catch{n=!1}let r=await e.runAsync(t);return n&&g.error(`${e.applicationId??`This application`} is already running — brought the existing instance to the front instead of opening a second window.`),r}X.type_ensure(Vt.$gtype);var Ht=class LoadingStack extends K.Stack{static{X.registerClass({GTypeName:`GjsifyLoadingStack`},LoadingStack)}constructor(e={}){super(e);let t=new K.Box({orientation:K.Orientation.VERTICAL,halign:K.Align.CENTER,valign:K.Align.CENTER,hexpand:!0,vexpand:!0});t.append(new Y.Spinner),this.add_named(t,`loading`),this._content=new Y.Bin({hexpand:!0,vexpand:!0}),this.add_named(this._content,`content`),this._error=new Y.StatusPage({iconName:`dialog-error-symbolic`,title:`Something went wrong`}),this.add_named(this._error,`error`),this.set_visible_child_name(`loading`)}setContent(e){this._content.set_child(e)}setError(e,t){this._error.set_title(e),this._error.set_description(t??``)}showLoading(){this.set_visible_child_name(`loading`)}showContent(){this.set_visible_child_name(`content`)}showError(){this.set_visible_child_name(`error`)}};X.type_ensure(Ht.$gtype);async function runStorybook(e){return runApplication(new Bt(e),[c.programInvocationName,...c.programArgs])}const Ut={title:`Buttons/Button Content`,description:`Adw.ButtonContent — pairs a symbolic icon with a label inside a Gtk.Button.`,controls:[{name:`label`,label:`Label`,type:W.TEXT,defaultValue:`Download`},{name:`iconName`,label:`Icon`,type:W.SELECT,options:[{label:`Download`,value:`folder-download-symbolic`},{label:`Add`,value:`list-add-symbolic`},{label:`Send`,value:`mail-send-symbolic`},{label:`Star`,value:`starred-symbolic`}],defaultValue:`folder-download-symbolic`},{name:`canShrink`,label:`Can shrink`,type:W.BOOLEAN,defaultValue:!1}]};var Wt=__exportAll({ButtonContentStories:()=>Kt,ButtonContentStory:()=>Gt}),Gt=class ButtonContentStory extends Z{_content=null;_button=null;static{X.registerClass({GTypeName:`AdwStorybookButtonContent`},ButtonContentStory)}constructor(){super(Z.fromMeta(ButtonContentStory.getMetadata(),`Default`))}static getMetadata(){return{...Ut,component:Y.ButtonContent.$gtype}}initialize(){this._content=new Y.ButtonContent({label:this.args.label,iconName:this.args.iconName,canShrink:this.args.canShrink}),this._button=new K.Button({child:this._content}),this._button.add_css_class(`suggested-action`),this._button.add_css_class(`pill`),this.addContent(this._button)}updateArgs(e){this._content&&(this._content.label=this.args.label,this._content.iconName=this.args.iconName,this._content.canShrink=this.args.canShrink)}};X.type_ensure(Gt.$gtype);const Kt={stories:[Gt]},qt={title:`Buttons/Button Styles`,description:`Buttons with Adwaita style classes: .pill, .circular, .suggested-action, .destructive-action, .flat.`,controls:[{name:`label`,label:`Demo label`,type:W.TEXT,defaultValue:`Click me`},{name:`style`,label:`Demo style`,type:W.SELECT,options:[{label:`Pill`,value:`pill`},{label:`Circular (icon)`,value:`circular`},{label:`Suggested`,value:`suggested-action`},{label:`Destructive`,value:`destructive-action`},{label:`Flat`,value:`flat`}],defaultValue:`suggested-action`}]};var Jt=__exportAll({ButtonStylesStories:()=>Zt,ButtonStylesStory:()=>Xt});const Yt=[`pill`,`circular`,`suggested-action`,`destructive-action`,`flat`];var Xt=class ButtonStylesStory extends Z{_demo=null;static{X.registerClass({GTypeName:`AdwStorybookButtonStyles`},ButtonStylesStory)}constructor(){super(Z.fromMeta(ButtonStylesStory.getMetadata(),`Default`))}static getMetadata(){return{...qt,component:K.Button.$gtype}}initialize(){let e=new Y.WrapBox({childSpacing:12,lineSpacing:12,halign:K.Align.CENTER}),t=new K.Button({label:`Pill`});t.add_css_class(`pill`),e.append(t);let n=new K.Button({iconName:`list-add-symbolic`});n.add_css_class(`circular`),e.append(n);let r=new K.Button({label:`Suggested`});r.add_css_class(`suggested-action`),e.append(r);let i=new K.Button({label:`Delete`});i.add_css_class(`destructive-action`),e.append(i);let o=new K.Button({label:`Flat`});o.add_css_class(`flat`),e.append(o),this._demo=new K.Button({label:this.args.label}),this._applyStyle(this.args.style),e.append(this._demo),this.addContent(e)}_applyStyle(e){if(this._demo){for(let e of Yt)this._demo.remove_css_class(e);this._demo.add_css_class(e)}}updateArgs(e){this._demo&&(this._demo.label=this.args.label,this._applyStyle(this.args.style))}};X.type_ensure(Xt.$gtype);const Zt={stories:[Xt]},Qt=[`Save as…`,`Export`,`Print`],$t={title:`Buttons/Menu Button`,description:`Gtk.MenuButton — a button whose only action is to open a menu. Where a Split Button has a primary action beside its arrow, this one has none: every choice lives in the popover.`,controls:[{name:`iconName`,label:`Icon`,type:W.SELECT,options:[{label:`Hamburger`,value:`open-menu-symbolic`},{label:`More`,value:`view-more-symbolic`},{label:`Open`,value:`document-open-symbolic`}],defaultValue:`open-menu-symbolic`},{name:`menuTitle`,label:`Menu title`,type:W.TEXT,defaultValue:`Document`}]};var en=__exportAll({MenuButtonStories:()=>nn,MenuButtonStory:()=>tn}),tn=class MenuButtonStory extends Z{_widget=null;static{X.registerClass({GTypeName:`AdwStorybookMenuButton`},MenuButtonStory)}constructor(){super(Z.fromMeta(MenuButtonStory.getMetadata(),`Default`))}static getMetadata(){return{...$t,component:K.MenuButton.$gtype}}initialize(){this._widget=new K.MenuButton({halign:K.Align.CENTER}),this._apply(),this.addContent(this._widget)}updateArgs(e){this._apply()}_buildMenu(e){let t=new J.Menu;for(let e of Qt)t.append(e,`app.${e.toLowerCase().replace(/[^a-z]+/g,`-`)}`);let n=new J.Menu;return n.append_section(e.length>0?e:null,t),n}_apply(){this._widget&&(this._widget.iconName=this.args.iconName,this._widget.menuModel=this._buildMenu(this.args.menuTitle))}};X.type_ensure(tn.$gtype);const nn={stories:[tn]},rn={title:`Buttons/Split Button`,description:`Adw.SplitButton — a primary action button paired with a dropdown menu of related actions.`,controls:[{name:`label`,label:`Label`,type:W.TEXT,defaultValue:`Save`},{name:`iconName`,label:`Icon`,type:W.SELECT,options:[{label:`None`,value:``},{label:`Save`,value:`document-save-symbolic`},{label:`Send`,value:`mail-send-symbolic`},{label:`Add`,value:`list-add-symbolic`}],defaultValue:`document-save-symbolic`}]},an={title:`Buttons/Split Button Flat`,description:`Adw.SplitButton with the .flat style class, as used inside header bars and toolbars.`,controls:[{name:`label`,label:`Label`,type:W.TEXT,defaultValue:`Reply`},{name:`iconName`,label:`Icon`,type:W.SELECT,options:[{label:`None`,value:``},{label:`Reply`,value:`mail-reply-sender-symbolic`},{label:`Edit`,value:`document-edit-symbolic`},{label:`Open`,value:`document-open-symbolic`}],defaultValue:`mail-reply-sender-symbolic`}]};var on=__exportAll({SplitButtonFlatStory:()=>cn,SplitButtonStories:()=>ln,SplitButtonStory:()=>sn});function buildMenu(){let e=new J.Menu;return e.append(`Save as…`,`app.save-as`),e.append(`Export`,`app.export`),e.append(`Print`,`app.print`),e}var sn=class SplitButtonStory extends Z{_widget=null;static{X.registerClass({GTypeName:`AdwStorybookSplitButton`},SplitButtonStory)}constructor(){super(Z.fromMeta(SplitButtonStory.getMetadata(),`Default`))}static getMetadata(){return{...rn,component:Y.SplitButton.$gtype}}initialize(){this._widget=new Y.SplitButton({label:this.args.label,menuModel:buildMenu()});let e=this.args.iconName;e&&(this._widget.iconName=e),this.addContent(this._widget)}updateArgs(e){if(!this._widget)return;let t=this.args.iconName;t?this._widget.iconName=t:this._widget.label=this.args.label}};X.type_ensure(sn.$gtype);var cn=class SplitButtonFlatStory extends Z{_widget=null;static{X.registerClass({GTypeName:`AdwStorybookSplitButtonFlat`},SplitButtonFlatStory)}constructor(){super(Z.fromMeta(SplitButtonFlatStory.getMetadata(),`Default`))}static getMetadata(){return{...an,component:Y.SplitButton.$gtype}}initialize(){this._widget=new Y.SplitButton({label:this.args.label,menuModel:buildMenu()}),this._widget.add_css_class(`flat`);let e=this.args.iconName;e&&(this._widget.iconName=e),this.addContent(this._widget)}updateArgs(e){if(!this._widget)return;let t=this.args.iconName;t?this._widget.iconName=t:this._widget.label=this.args.label}};X.type_ensure(cn.$gtype);const ln={stories:[sn,cn]},un={title:`Buttons/Toggle Group`,description:`Adw.ToggleGroup — a linked group of Adw.Toggle buttons where exactly one is active.`,controls:[{name:`active`,label:`Active toggle`,type:W.SELECT,options:[{label:`List`,value:0},{label:`Grid`,value:1},{label:`Columns`,value:2}],defaultValue:0},{name:`style`,label:`Style`,type:W.SELECT,options:[{label:`Default`,value:`default`},{label:`Flat`,value:`flat`},{label:`Round`,value:`round`}],defaultValue:`default`}]};var dn=__exportAll({ToggleGroupStories:()=>mn,ToggleGroupStory:()=>pn});const fn=[`flat`,`round`];var pn=class ToggleGroupStory extends Z{_toggleGroup=null;static{X.registerClass({GTypeName:`AdwStorybookToggleGroup`},ToggleGroupStory)}constructor(){super(Z.fromMeta(ToggleGroupStory.getMetadata(),`Default`))}static getMetadata(){return{...un,component:Y.ToggleGroup.$gtype}}initialize(){this._toggleGroup=new Y.ToggleGroup,this._toggleGroup.add(new Y.Toggle({label:`List`,iconName:`view-list-symbolic`})),this._toggleGroup.add(new Y.Toggle({label:`Grid`,iconName:`view-grid-symbolic`})),this._toggleGroup.add(new Y.Toggle({label:`Columns`,iconName:`view-columns-symbolic`})),this._toggleGroup.active=this.args.active,this._applyStyle(this.args.style),this.addContent(this._toggleGroup)}_applyStyle(e){if(this._toggleGroup){for(let e of fn)this._toggleGroup.remove_css_class(e);e!=="default"&&this._toggleGroup.add_css_class(e)}}updateArgs(e){this._toggleGroup&&(this._toggleGroup.active=this.args.active,this._applyStyle(this.args.style))}};X.type_ensure(pn.$gtype);const mn={stories:[pn]},hn=[`Automatic`,`Always`,`Never`,`When busy`],gn={title:`Controls/Drop Down`,description:`Gtk.DropDown — pick one value from a list. The button shows the selection; the list opens in a popover. Adw.ComboRow is the same choice presented as a boxed-list row.`,controls:[{name:`selected`,label:`Selected`,type:W.SELECT,options:hn.map((e,t)=>({label:e,value:t})),defaultValue:0},{name:`enableSearch`,label:`Search field`,type:W.BOOLEAN,defaultValue:!1}]};var _n=__exportAll({DropDownStories:()=>yn,DropDownStory:()=>vn}),vn=class DropDownStory extends Z{_dropDown=null;static{X.registerClass({GTypeName:`AdwStorybookDropDown`},DropDownStory)}constructor(){super(Z.fromMeta(DropDownStory.getMetadata(),`Default`))}static getMetadata(){return{...gn,component:K.DropDown.$gtype}}initialize(){this._dropDown=K.DropDown.new_from_strings([...hn]),this._dropDown.expression=K.PropertyExpression.new(K.StringObject.$gtype,null,`string`),this._dropDown.halign=K.Align.CENTER,this._apply(),this.addContent(this._dropDown)}updateArgs(e){this._apply()}_apply(){this._dropDown&&(this._dropDown.selected=this.args.selected,this._dropDown.enableSearch=this.args.enableSearch)}};X.type_ensure(vn.$gtype);const yn={stories:[vn]},bn={title:`Controls/Entry`,description:`Gtk.Entry — a single-line text field. Libadwaita ships no AdwEntry; the Adwaita look is the GTK entry styled by the stylesheet, which is why the row variants (Entry Row, Password Entry Row) are the widgets with an Adw prefix.`,controls:[{name:`text`,label:`Text`,type:W.TEXT,defaultValue:``},{name:`placeholder`,label:`Placeholder`,type:W.TEXT,defaultValue:`Search files…`},{name:`editable`,label:`Editable`,type:W.BOOLEAN,defaultValue:!0}]};var xn=__exportAll({EntryStories:()=>Cn,EntryStory:()=>Sn}),Sn=class EntryStory extends Z{_entry=null;static{X.registerClass({GTypeName:`AdwStorybookEntry`},EntryStory)}constructor(){super(Z.fromMeta(EntryStory.getMetadata(),`Default`))}static getMetadata(){return{...bn,component:K.Entry.$gtype}}initialize(){this._entry=new K.Entry({widthRequest:280,halign:K.Align.CENTER}),this._apply(),this.addContent(this._entry)}updateArgs(e){this._apply()}_apply(){this._entry&&(this._entry.text=this.args.text,this._entry.placeholderText=this.args.placeholder,this._entry.editable=this.args.editable)}};X.type_ensure(Sn.$gtype);const Cn={stories:[Sn]},wn={title:`Feedback/About Dialog`,description:`Adw.AboutDialog — the standard Adwaita about window with application name, version, credits and license.`,controls:[{name:`applicationName`,label:`Application name`,type:W.TEXT,defaultValue:`Adwaita Storybook`},{name:`version`,label:`Version`,type:W.TEXT,defaultValue:`0.11.0`}]};var Tn=__exportAll({AboutDialogStories:()=>Dn,AboutDialogStory:()=>En}),En=class AboutDialogStory extends Z{_button=null;static{X.registerClass({GTypeName:`AdwStorybookAboutDialog`},AboutDialogStory)}constructor(){super(Z.fromMeta(AboutDialogStory.getMetadata(),`Default`))}static getMetadata(){return{...wn,component:Y.AboutDialog.$gtype}}initialize(){this._button=new K.Button({label:`Show dialog`,halign:K.Align.CENTER,valign:K.Align.CENTER}),this._button.add_css_class(`pill`),this._button.add_css_class(`suggested-action`),this._button.connect(`clicked`,()=>this._present()),this.addContent(this._button)}_present(){new Y.AboutDialog({applicationName:this.args.applicationName,applicationIcon:`application-x-executable-symbolic`,developerName:`A GJSify Project`,version:this.args.version,comments:`A live catalogue of native GTK and Adwaita widgets, rendered under GJS.`,website:`https://github.com/gjsify/gjsify`,issueUrl:`https://github.com/gjsify/gjsify/issues`,licenseType:K.License.MIT_X11,developers:[`Ada Lovelace`,`Grace Hopper`],designers:[`Margaret Hamilton`],copyright:`© 2026 The GJSify Project`}).present(this)}updateArgs(e){}};X.type_ensure(En.$gtype);const Dn={stories:[En]},On={title:`Feedback/Alert Dialog`,description:`Adw.AlertDialog — a modal dialog with a heading, body text and responses, including a destructive action.`,controls:[{name:`heading`,label:`Heading`,type:W.TEXT,defaultValue:`Delete Project?`},{name:`body`,label:`Body`,type:W.TEXT,defaultValue:`This will permanently remove the project and all of its files. This action cannot be undone.`}]};var kn=__exportAll({AlertDialogStories:()=>jn,AlertDialogStory:()=>An}),An=class AlertDialogStory extends Z{_button=null;static{X.registerClass({GTypeName:`AdwStorybookAlertDialog`},AlertDialogStory)}constructor(){super(Z.fromMeta(AlertDialogStory.getMetadata(),`Default`))}static getMetadata(){return{...On,component:Y.AlertDialog.$gtype}}initialize(){this._button=new K.Button({label:`Show dialog`,halign:K.Align.CENTER,valign:K.Align.CENTER}),this._button.add_css_class(`pill`),this._button.add_css_class(`suggested-action`),this._button.connect(`clicked`,()=>this._present()),this.addContent(this._button)}_present(){let e=new Y.AlertDialog({heading:this.args.heading,body:this.args.body});e.add_response(`cancel`,`Cancel`),e.add_response(`delete`,`Delete`),e.set_response_appearance(`delete`,Y.ResponseAppearance.DESTRUCTIVE),e.set_default_response(`cancel`),e.set_close_response(`cancel`),e.present(this)}updateArgs(e){}};X.type_ensure(An.$gtype);const jn={stories:[An]},Mn={title:`Feedback/Preferences Dialog`,description:`Adw.PreferencesDialog — a preferences window with a page, a group and a handful of boxed-list rows.`,controls:[{name:`pageTitle`,label:`Page title`,type:W.TEXT,defaultValue:`General`},{name:`groupTitle`,label:`Group title`,type:W.TEXT,defaultValue:`Appearance`}]};var Nn=__exportAll({PreferencesDialogStories:()=>Fn,PreferencesDialogStory:()=>Pn}),Pn=class PreferencesDialogStory extends Z{_button=null;static{X.registerClass({GTypeName:`AdwStorybookPreferencesDialog`},PreferencesDialogStory)}constructor(){super(Z.fromMeta(PreferencesDialogStory.getMetadata(),`Default`))}static getMetadata(){return{...Mn,component:Y.PreferencesDialog.$gtype}}initialize(){this._button=new K.Button({label:`Show dialog`,halign:K.Align.CENTER,valign:K.Align.CENTER}),this._button.add_css_class(`pill`),this._button.add_css_class(`suggested-action`),this._button.connect(`clicked`,()=>this._present()),this.addContent(this._button)}_present(){let e=new Y.PreferencesDialog,t=new Y.PreferencesPage({title:this.args.pageTitle,iconName:`preferences-system-symbolic`}),n=new Y.PreferencesGroup({title:this.args.groupTitle,description:`Control how the application looks and behaves.`});n.add(new Y.SwitchRow({title:`Dark style`,subtitle:`Use a dark colour scheme`,active:!0})),n.add(new Y.ComboRow({title:`Accent colour`,model:new K.StringList({strings:[`Blue`,`Teal`,`Green`,`Orange`,`Purple`]}),selected:0})),n.add(new Y.SpinRow({title:`Font size`,adjustment:new K.Adjustment({lower:8,upper:24,value:12,stepIncrement:1,pageIncrement:4})})),t.add(n),e.add(t),e.present(this)}updateArgs(e){}};X.type_ensure(Pn.$gtype);const Fn={stories:[Pn]},In={title:`Feedback/Toast`,description:`Adw.Toast — a transient notification, with an optional action button, shown over an Adw.ToastOverlay.`,controls:[{name:`title`,label:`Toast text`,type:W.TEXT,defaultValue:`File moved to Trash`},{name:`timeout`,label:`Timeout (s)`,type:W.NUMBER,min:0,max:10,step:1,defaultValue:3},{name:`hasButton`,label:`Action button`,type:W.BOOLEAN,defaultValue:!0},{name:`buttonLabel`,label:`Button label`,type:W.TEXT,defaultValue:`Undo`}]};var Ln=__exportAll({ToastStories:()=>zn,ToastStory:()=>Rn}),Rn=class ToastStory extends Z{_overlay=null;static{X.registerClass({GTypeName:`AdwStorybookToast`},ToastStory)}constructor(){super(Z.fromMeta(ToastStory.getMetadata(),`Default`))}static getMetadata(){return{...In,component:Y.Toast.$gtype}}initialize(){let e=new K.Button({label:`Show toast`,halign:K.Align.CENTER,valign:K.Align.CENTER});e.add_css_class(`pill`),e.add_css_class(`suggested-action`),e.connect(`clicked`,()=>this._showToast()),this._overlay=new Y.ToastOverlay({child:e,widthRequest:360,heightRequest:220}),this.addContent(this._overlay)}_showToast(){if(!this._overlay)return;let e=new Y.Toast({title:this.args.title,timeout:this.args.timeout});this.args.hasButton&&(e.buttonLabel=this.args.buttonLabel),this._overlay.add_toast(e)}updateArgs(e){}};X.type_ensure(Rn.$gtype);const zn={stories:[Rn]},Bn={title:`Layout/Clamp`,description:`Adw.Clamp limits its child to a maximum width and centres it, tightening the layout as space shrinks.`,controls:[{name:`maximumSize`,label:`Maximum size`,type:W.RANGE,min:200,max:600,step:10,defaultValue:400},{name:`tighteningThreshold`,label:`Tightening threshold`,type:W.RANGE,min:100,max:600,step:10,defaultValue:300}]};var Vn=__exportAll({ClampStories:()=>Un,ClampStory:()=>Hn}),Hn=class ClampStory extends Z{_clamp=null;static{X.registerClass({GTypeName:`AdwStorybookClamp`},ClampStory)}constructor(){super(Z.fromMeta(ClampStory.getMetadata(),`Default`))}static getMetadata(){return{...Bn,component:Y.Clamp.$gtype}}initialize(){let e=new K.Box({orientation:K.Orientation.HORIZONTAL,widthRequest:520});e.add_css_class(`card`);let t=new K.Label({label:`This content is clamped — it stops growing past the maximum size and stays centred.`,wrap:!0,xalign:0,hexpand:!0,marginTop:18,marginBottom:18,marginStart:18,marginEnd:18});e.append(t),this._clamp=new Y.Clamp({maximumSize:this.args.maximumSize,tighteningThreshold:this.args.tighteningThreshold,child:e}),this.addContent(this._clamp)}updateArgs(e){this._clamp&&(this._clamp.maximumSize=this.args.maximumSize,this._clamp.tighteningThreshold=this.args.tighteningThreshold)}};X.type_ensure(Hn.$gtype);const Un={stories:[Hn]},Wn={title:`Layout/Header Bar`,description:`Adw.HeaderBar hosts a custom title widget with start and end controls — the standard top chrome of an Adwaita window.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Text Editor`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`notes.md`},{name:`showTitle`,label:`Show title`,type:W.BOOLEAN,defaultValue:!0}]};var Gn=__exportAll({HeaderBarStories:()=>qn,HeaderBarStory:()=>Kn}),Kn=class HeaderBarStory extends Z{_headerBar=null;_title=null;static{X.registerClass({GTypeName:`AdwStorybookHeaderBar`},HeaderBarStory)}constructor(){super(Z.fromMeta(HeaderBarStory.getMetadata(),`Default`))}static getMetadata(){return{...Wn,component:Y.HeaderBar.$gtype}}initialize(){this._title=new Y.WindowTitle({title:this.args.title,subtitle:this.args.subtitle}),this._headerBar=new Y.HeaderBar({titleWidget:this._title,showTitle:this.args.showTitle,widthRequest:460});let e=new K.Button({iconName:`go-previous-symbolic`});e.add_css_class(`flat`),this._headerBar.pack_start(e);let t=new J.Menu;t.append(`New Window`,`app.new-window`),t.append(`Preferences`,`app.preferences`),t.append(`About`,`app.about`);let n=new K.MenuButton({iconName:`open-menu-symbolic`,menuModel:t});n.add_css_class(`flat`),this._headerBar.pack_end(n),this.addContent(this._headerBar)}updateArgs(e){!this._headerBar||!this._title||(this._title.title=this.args.title,this._title.subtitle=this.args.subtitle,this._headerBar.showTitle=this.args.showTitle)}};X.type_ensure(Kn.$gtype);const qn={stories:[Kn]},Jn={title:`Layout/Toolbar View`,description:`Adw.ToolbarView pins a top header bar and a bottom toolbar around its content, each independently revealable.`,controls:[{name:`revealTopBars`,label:`Reveal top bars`,type:W.BOOLEAN,defaultValue:!0},{name:`revealBottomBars`,label:`Reveal bottom bars`,type:W.BOOLEAN,defaultValue:!0}]};var Yn=__exportAll({ToolbarViewStories:()=>Zn,ToolbarViewStory:()=>Xn}),Xn=class ToolbarViewStory extends Z{_view=null;static{X.registerClass({GTypeName:`AdwStorybookToolbarView`},ToolbarViewStory)}constructor(){super(Z.fromMeta(ToolbarViewStory.getMetadata(),`Default`))}static getMetadata(){return{...Jn,component:Y.ToolbarView.$gtype}}initialize(){this._view=new Y.ToolbarView({widthRequest:460,heightRequest:320,revealTopBars:this.args.revealTopBars,revealBottomBars:this.args.revealBottomBars});let e=new Y.HeaderBar({titleWidget:new Y.WindowTitle({title:`Documents`,subtitle:`12 items`})});this._view.add_top_bar(e);let t=new Y.StatusPage({iconName:`folder-documents-symbolic`,title:`Your library`,description:`Content sits between the toolbars and scrolls independently of them.`});this._view.content=t;let n=new K.ActionBar,r=new K.Button({iconName:`list-add-symbolic`});r.add_css_class(`flat`);let i=new K.Button({iconName:`list-remove-symbolic`});i.add_css_class(`flat`),n.pack_start(r),n.pack_start(i),n.set_center_widget(new K.Label({label:`Selection: none`}));let o=new K.Button({iconName:`send-to-symbolic`});o.add_css_class(`flat`),n.pack_end(o),this._view.add_bottom_bar(n),this.addContent(this._view)}updateArgs(e){this._view&&(this._view.revealTopBars=this.args.revealTopBars,this._view.revealBottomBars=this.args.revealBottomBars)}};X.type_ensure(Xn.$gtype);const Zn={stories:[Xn]},Qn={title:`Layout/Wrap Box`,description:`Adw.WrapBox flows its children horizontally and wraps them onto new lines when they run out of room.`,controls:[{name:`childSpacing`,label:`Child spacing`,type:W.RANGE,min:0,max:36,step:1,defaultValue:8},{name:`lineSpacing`,label:`Line spacing`,type:W.RANGE,min:0,max:36,step:1,defaultValue:8}]};var $n=__exportAll({WrapBoxStories:()=>tr,WrapBoxStory:()=>er}),er=class WrapBoxStory extends Z{_wrap=null;static{X.registerClass({GTypeName:`AdwStorybookWrapBox`},WrapBoxStory)}constructor(){super(Z.fromMeta(WrapBoxStory.getMetadata(),`Default`))}static getMetadata(){return{...Qn,component:Y.WrapBox.$gtype}}initialize(){this._wrap=new Y.WrapBox({childSpacing:this.args.childSpacing,lineSpacing:this.args.lineSpacing,widthRequest:460});for(let e of[`Design`,`Adwaita`,`GNOME`,`GTK`,`Typescript`,`Storybook`,`Wrapping`,`Layout`]){let t=new K.Button({label:e});t.add_css_class(`pill`),this._wrap.append(t)}this.addContent(this._wrap)}updateArgs(e){this._wrap&&(this._wrap.childSpacing=this.args.childSpacing,this._wrap.lineSpacing=this.args.lineSpacing)}};X.type_ensure(er.$gtype);const tr={stories:[er]},nr={title:`Navigation/Bottom Sheet`,description:`Adw.BottomSheet — a sheet that slides up over the content. Toggle "Open" to reveal it.`,controls:[{name:`open`,label:`Open`,type:W.BOOLEAN,defaultValue:!0},{name:`modal`,label:`Modal`,type:W.BOOLEAN,defaultValue:!0},{name:`canClose`,label:`Can close`,type:W.BOOLEAN,defaultValue:!0}]};var rr=__exportAll({BottomSheetStories:()=>ar,BottomSheetStory:()=>ir}),ir=class BottomSheetStory extends Z{_sheet=null;static{X.registerClass({GTypeName:`AdwStorybookBottomSheet`},BottomSheetStory)}constructor(){super(Z.fromMeta(BottomSheetStory.getMetadata(),`Default`))}static getMetadata(){return{...nr,component:Y.BottomSheet.$gtype}}buildContent(){let e=new K.Button({label:`Toggle sheet`,halign:K.Align.CENTER,valign:K.Align.CENTER,vexpand:!0});return e.add_css_class(`pill`),e.add_css_class(`suggested-action`),e.connect(`clicked`,()=>{this._sheet&&(this._sheet.open=!this._sheet.open)}),e}buildSheet(){let e=new K.Box({orientation:K.Orientation.VERTICAL,spacing:12,marginTop:18,marginBottom:24,marginStart:18,marginEnd:18});e.append(new K.Label({label:`Share track`,halign:K.Align.START,cssClasses:[`title-2`]}));let t=new Y.PreferencesGroup;for(let[e,n]of[[`Copy link`,`edit-copy-symbolic`],[`Send to a friend`,`mail-send-symbolic`],[`Add to playlist`,`list-add-symbolic`]]){let r=new Y.ActionRow({title:e});r.add_prefix(new K.Image({iconName:n})),r.activatable=!0,t.add(r)}return e.append(t),e}initialize(){this._sheet=new Y.BottomSheet({content:this.buildContent(),sheet:this.buildSheet(),open:this.args.open,modal:this.args.modal,canClose:this.args.canClose,widthRequest:480,heightRequest:340}),this.addContent(this._sheet)}updateArgs(e){this._sheet&&(this._sheet.open=this.args.open,this._sheet.modal=this.args.modal,this._sheet.canClose=this.args.canClose)}};X.type_ensure(ir.$gtype);const ar={stories:[ir]},or={title:`Navigation/Navigation Split View`,description:`Adw.NavigationSplitView — a resizable sidebar beside a content pane. When collapsed it folds into a navigation stack.`,controls:[{name:`showContent`,label:`Show content`,type:W.BOOLEAN,defaultValue:!0},{name:`collapsed`,label:`Collapsed`,type:W.BOOLEAN,defaultValue:!1}]};var sr=__exportAll({NavigationSplitViewStories:()=>lr,NavigationSplitViewStory:()=>cr}),cr=class NavigationSplitViewStory extends Z{_view=null;static{X.registerClass({GTypeName:`AdwStorybookNavigationSplitView`},NavigationSplitViewStory)}constructor(){super(Z.fromMeta(NavigationSplitViewStory.getMetadata(),`Default`))}static getMetadata(){return{...or,component:Y.NavigationSplitView.$gtype}}buildSidebar(){let e=new Y.PreferencesGroup;for(let[t,n,r]of[[`All Mail`,`128 messages`,`mail-unread-symbolic`],[`Starred`,`6 messages`,`starred-symbolic`],[`Drafts`,`2 messages`,`document-edit-symbolic`],[`Archive`,`512 messages`,`folder-symbolic`]]){let i=new Y.ActionRow({title:t,subtitle:n});i.add_prefix(new K.Image({iconName:r})),i.activatable=!0,e.add(i)}let t=new Y.ToolbarView;return t.add_top_bar(new Y.HeaderBar),t.content=e,new Y.NavigationPage({title:`Mailboxes`,child:t})}buildContent(){let e=new Y.StatusPage({iconName:`mail-unread-symbolic`,title:`All Mail`,description:`Select a conversation from the list to read it here.`,vexpand:!0}),t=new Y.ToolbarView;return t.add_top_bar(new Y.HeaderBar),t.content=e,new Y.NavigationPage({title:`All Mail`,child:t})}initialize(){this._view=new Y.NavigationSplitView({sidebar:this.buildSidebar(),content:this.buildContent(),showContent:this.args.showContent,collapsed:this.args.collapsed,widthRequest:480,heightRequest:340}),this.addContent(this._view)}updateArgs(e){this._view&&(this._view.showContent=this.args.showContent,this._view.collapsed=this.args.collapsed)}};X.type_ensure(cr.$gtype);const lr={stories:[cr]},ur={title:`Navigation/Navigation View`,description:`Adw.NavigationView — a navigation stack. The root page pushes a detail page, which gets an automatic back button.`,controls:[{name:`rootTitle`,label:`Root title`,type:W.TEXT,defaultValue:`Contacts`},{name:`detailTitle`,label:`Detail title`,type:W.TEXT,defaultValue:`Ada Lovelace`},{name:`animateTransitions`,label:`Animate transitions`,type:W.BOOLEAN,defaultValue:!0}]};var dr=__exportAll({NavigationViewStories:()=>pr,NavigationViewStory:()=>fr}),fr=class NavigationViewStory extends Z{_view=null;static{X.registerClass({GTypeName:`AdwStorybookNavigationView`},NavigationViewStory)}constructor(){super(Z.fromMeta(NavigationViewStory.getMetadata(),`Default`))}static getMetadata(){return{...ur,component:Y.NavigationView.$gtype}}buildPage(e,t){let n=new Y.ToolbarView;return n.add_top_bar(new Y.HeaderBar),n.content=t,new Y.NavigationPage({title:e,child:n})}initialize(){this._view=new Y.NavigationView({animateTransitions:this.args.animateTransitions,widthRequest:480,heightRequest:340});let e=this.buildPage(this.args.detailTitle,new Y.StatusPage({iconName:`avatar-default-symbolic`,title:this.args.detailTitle,description:`Mathematician and writer, the first computer programmer.`,vexpand:!0})),t=new K.Button({label:`Open contact`,halign:K.Align.CENTER,valign:K.Align.CENTER,vexpand:!0});t.add_css_class(`pill`),t.add_css_class(`suggested-action`),t.connect(`clicked`,()=>{this._view?.push(e)});let n=this.buildPage(this.args.rootTitle,t);this._view.add(n),this._view.add(e),this.addContent(this._view)}updateArgs(e){this._view&&(this._view.animateTransitions=this.args.animateTransitions)}};X.type_ensure(fr.$gtype);const pr={stories:[fr]},mr={title:`Navigation/Overlay Split View`,description:`Adw.OverlaySplitView — a sidebar shown beside the content, or overlaid on top of it when collapsed.`,controls:[{name:`showSidebar`,label:`Show sidebar`,type:W.BOOLEAN,defaultValue:!0},{name:`collapsed`,label:`Collapsed`,type:W.BOOLEAN,defaultValue:!1}]};var hr=__exportAll({OverlaySplitViewStories:()=>_r,OverlaySplitViewStory:()=>gr}),gr=class OverlaySplitViewStory extends Z{_view=null;static{X.registerClass({GTypeName:`AdwStorybookOverlaySplitView`},OverlaySplitViewStory)}constructor(){super(Z.fromMeta(OverlaySplitViewStory.getMetadata(),`Default`))}static getMetadata(){return{...mr,component:Y.OverlaySplitView.$gtype}}buildSidebar(){let e=new Y.PreferencesGroup;for(let[t,n]of[[`Home`,`go-home-symbolic`],[`Discover`,`system-search-symbolic`],[`Library`,`folder-music-symbolic`],[`Settings`,`emblem-system-symbolic`]]){let r=new Y.ActionRow({title:t});r.add_prefix(new K.Image({iconName:n})),r.activatable=!0,e.add(r)}let t=new Y.ToolbarView;return t.add_top_bar(new Y.HeaderBar({showTitle:!1})),t.content=e,t.add_css_class(`sidebar`),t}buildContent(){let e=new Y.StatusPage({iconName:`folder-music-symbolic`,title:`Your Library`,description:`Toggle the sidebar to browse sections. Collapse it to overlay the content.`,vexpand:!0}),t=new Y.ToolbarView;return t.add_top_bar(new Y.HeaderBar),t.content=e,t}initialize(){this._view=new Y.OverlaySplitView({sidebar:this.buildSidebar(),content:this.buildContent(),showSidebar:this.args.showSidebar,collapsed:this.args.collapsed,widthRequest:480,heightRequest:340}),this.addContent(this._view)}updateArgs(e){this._view&&(this._view.showSidebar=this.args.showSidebar,this._view.collapsed=this.args.collapsed)}};X.type_ensure(gr.$gtype);const _r={stories:[gr]},vr={title:`Navigation/Sidebar`,description:`Adw.Sidebar — a selectable list of Adw.SidebarItem grouped into sections. Selecting an item updates the content.`,controls:[{name:`mode`,label:`Mode`,type:W.SELECT,options:[{label:`Sidebar`,value:`sidebar`},{label:`Page`,value:`page`}],defaultValue:`sidebar`},{name:`selected`,label:`Selected index`,type:W.NUMBER,min:0,max:3,step:1,defaultValue:0}]};var yr=__exportAll({SidebarStories:()=>xr,SidebarStory:()=>br}),br=class SidebarStory extends Z{_sidebar=null;_status=null;static{X.registerClass({GTypeName:`AdwStorybookSidebar`},SidebarStory)}constructor(){super(Z.fromMeta(SidebarStory.getMetadata(),`Default`))}static getMetadata(){return{...vr,component:Y.Sidebar.$gtype}}items=[{title:`Inbox`,subtitle:`3 unread`,icon:`mail-unread-symbolic`},{title:`Starred`,subtitle:`Favourites`,icon:`starred-symbolic`},{title:`Sent`,subtitle:`Outgoing mail`,icon:`mail-send-symbolic`},{title:`Archive`,subtitle:`Older mail`,icon:`folder-symbolic`}];modeFromArg(e){return e===`page`?Y.SidebarMode.PAGE:Y.SidebarMode.SIDEBAR}syncContent(){if(!this._sidebar||!this._status)return;let e=this.items[this._sidebar.selected]??this.items[0];this._status.title=e.title,this._status.iconName=e.icon,this._status.description=e.subtitle}initialize(){let e=new Y.SidebarSection({title:`Mailboxes`});for(let t of this.items)e.append(new Y.SidebarItem({title:t.title,subtitle:t.subtitle,iconName:t.icon}));this._sidebar=new Y.Sidebar({mode:this.modeFromArg(this.args.mode),selected:this.args.selected,widthRequest:220}),this._sidebar.append(e),this._sidebar.connect(`notify::selected`,()=>this.syncContent()),this._status=new Y.StatusPage({hexpand:!0,vexpand:!0});let t=new K.Box({orientation:K.Orientation.HORIZONTAL,widthRequest:480,heightRequest:340});t.append(this._sidebar),t.append(new K.Separator({orientation:K.Orientation.VERTICAL})),t.append(this._status),this.syncContent(),this.addContent(t)}updateArgs(e){this._sidebar&&(this._sidebar.mode=this.modeFromArg(this.args.mode),this._sidebar.selected=this.args.selected,this.syncContent())}};X.type_ensure(br.$gtype);const xr={stories:[br]},Sr=[{title:`Sync`,kind:`switch`,active:!0},{title:`Export`,kind:`action`}],Cr=[`Blue`,`Teal`,`Green`,`Orange`],wr={appearance:`Appearance`,account:`Account`,shortcuts:`Shortcuts`,actions:`Actions`},Q={bannerTitle:`You have unsaved changes`,bannerButton:`Save`,darkMode:`Dark mode`,darkModeSubtitle:`Use the dark Adwaita palette`,notifications:`Notifications`,notificationsSubtitle:`Show toasts for events`,accentColor:`Accent color`,name:`Name`,nameValue:`Ada Lovelace`,email:`Email`,emailValue:`ada@example.com`,devices:`Devices`,advanced:`Advanced`,advancedSubtitle:`More options`,save:`Save changes`,delete:`Delete account`},$={value:3,lower:1,upper:10,step:1},Tr=[{title:`Copy`,accelerator:`<Control>C`},{title:`Select all`,accelerator:`<Shift><Control>a`},{title:`Switch tab`,accelerator:`<Alt>1...9`}],Er={title:`Overview/Widgets`,description:`Many widgets at once, the way an app composes them: a banner, preference groups of rows, an expander, buttons and shortcut labels. Use it to judge spacing, alignment and the theme as a whole rather than one widget in isolation.`,controls:[{name:`revealed`,label:`Show banner`,type:W.BOOLEAN,description:`Adw.Banner:revealed — animates in and out`,defaultValue:!0}]};var Dr=__exportAll({OverviewWidgetsStories:()=>kr,OverviewWidgetsStory:()=>Or}),Or=class OverviewWidgetsStory extends Z{_banner=null;static{X.registerClass({GTypeName:`AdwStorybookOverviewWidgets`},OverviewWidgetsStory)}constructor(){super(Z.fromMeta(OverviewWidgetsStory.getMetadata(),`Default`))}static getMetadata(){return Er}initialize(){let e=new K.Box({orientation:K.Orientation.VERTICAL,hexpand:!0});this._banner=new Y.Banner({title:Q.bannerTitle,button_label:Q.bannerButton,revealed:this.args.revealed}),e.append(this._banner);let t=new Y.PreferencesPage({hexpand:!0}),n=new Y.PreferencesGroup({title:wr.appearance});n.add(new Y.SwitchRow({title:Q.darkMode,subtitle:Q.darkModeSubtitle,active:!1})),n.add(new Y.SwitchRow({title:Q.notifications,subtitle:Q.notificationsSubtitle,active:!0})),n.add(new Y.ComboRow({title:Q.accentColor,model:K.StringList.new([...Cr]),selected:0})),t.add(n);let r=new Y.PreferencesGroup({title:wr.account}),i=new Y.EntryRow({title:Q.name});i.set_text(Q.nameValue),r.add(i);let o=new Y.EntryRow({title:Q.email});o.set_text(Q.emailValue),r.add(o);let s=new Y.SpinRow({title:Q.devices,adjustment:new K.Adjustment({value:$.value,lower:$.lower,upper:$.upper,step_increment:$.step,page_increment:$.step})});s.set_value($.value),r.add(s);let c=new Y.ExpanderRow({title:Q.advanced,subtitle:Q.advancedSubtitle,expanded:!0});for(let e of Sr)c.add_row(e.kind===`switch`?new Y.SwitchRow({title:e.title,active:e.active??!1}):new Y.ActionRow({title:e.title}));r.add(c),t.add(r);let l=new Y.PreferencesGroup({title:wr.shortcuts});for(let e of Tr){let t=new Y.ActionRow({title:e.title});t.add_suffix(new Y.ShortcutLabel({accelerator:e.accelerator,valign:K.Align.CENTER})),l.add(t)}t.add(l);let u=new Y.PreferencesGroup({title:wr.actions}),d=new K.Box({orientation:K.Orientation.HORIZONTAL,spacing:12,homogeneous:!0,margin_top:6,margin_bottom:6}),f=new K.Button({label:Q.save});f.add_css_class(`suggested-action`),d.append(f);let p=new K.Button({label:Q.delete});p.add_css_class(`destructive-action`),d.append(p),u.add(d),t.add(u),e.append(t),this.addContent(e)}updateArgs(e){this._banner?.set_revealed(this.args.revealed)}};X.type_ensure(Or.$gtype);const kr={stories:[Or]},Ar={title:`Presentation/Avatar`,description:`A circular avatar that derives initials (and a colour) from a name, or shows a symbolic icon.`,controls:[{name:`text`,label:`Name`,type:W.TEXT,defaultValue:`Ada Lovelace`},{name:`size`,label:`Size`,type:W.RANGE,min:24,max:160,step:8,defaultValue:96},{name:`showInitials`,label:`Show initials`,type:W.BOOLEAN,defaultValue:!0},{name:`iconName`,label:`Fallback icon`,type:W.SELECT,options:[{label:`Person`,value:`avatar-default-symbolic`},{label:`Contact`,value:`contact-new-symbolic`},{label:`Camera`,value:`camera-photo-symbolic`}],defaultValue:`avatar-default-symbolic`}]};var jr=__exportAll({AvatarStories:()=>Nr,AvatarStory:()=>Mr}),Mr=class AvatarStory extends Z{_avatar=null;static{X.registerClass({GTypeName:`AdwStorybookAvatar`},AvatarStory)}constructor(){super(Z.fromMeta(AvatarStory.getMetadata(),`Default`))}static getMetadata(){return{...Ar,component:Y.Avatar.$gtype}}initialize(){this._avatar=new Y.Avatar({size:this.args.size,text:this.args.text,showInitials:this.args.showInitials,iconName:this.args.iconName}),this.addContent(this._avatar)}updateArgs(e){this._avatar&&(this._avatar.size=this.args.size,this._avatar.text=this.args.text,this._avatar.showInitials=this.args.showInitials,this._avatar.iconName=this.args.iconName)}};X.type_ensure(Mr.$gtype);const Nr={stories:[Mr]},Pr={title:`Presentation/Banner`,description:`Adw.Banner — a full-width strip carrying a status message and an optional action button.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Metered connection — updates paused`},{name:`buttonLabel`,label:`Button label`,type:W.TEXT,defaultValue:`Resume`},{name:`revealed`,label:`Revealed`,type:W.BOOLEAN,defaultValue:!0},{name:`useMarkup`,label:`Use markup`,type:W.BOOLEAN,defaultValue:!1}]};var Fr=__exportAll({BannerStories:()=>Lr,BannerStory:()=>Ir}),Ir=class BannerStory extends Z{_banner=null;static{X.registerClass({GTypeName:`AdwStorybookBanner`},BannerStory)}constructor(){super(Z.fromMeta(BannerStory.getMetadata(),`Default`))}static getMetadata(){return{...Pr,component:Y.Banner.$gtype}}initialize(){this._banner=new Y.Banner({title:this.args.title,buttonLabel:this.args.buttonLabel,revealed:this.args.revealed,useMarkup:this.args.useMarkup});let e=new K.Box({orientation:K.Orientation.VERTICAL,widthRequest:460});e.append(this._banner),this.addContent(e)}updateArgs(e){this._banner&&(this._banner.title=this.args.title,this._banner.buttonLabel=this.args.buttonLabel,this._banner.revealed=this.args.revealed,this._banner.useMarkup=this.args.useMarkup)}};X.type_ensure(Ir.$gtype);const Lr={stories:[Ir]},Rr=[{label:`Single`,accelerator:`<Control>C`},{label:`Modifier order`,accelerator:`<Shift><Control>a`},{label:`Alternatives`,accelerator:`<Shift>A Home`},{label:`Range`,accelerator:`<Alt>1...9`},{label:`In sequence`,accelerator:`<Control>C+<Control>X`},{label:`Together`,accelerator:`Control_L&Control_R`},{label:`Nested`,accelerator:`<Alt>1...9 <Alt>0`},{label:`Unset`,accelerator:``}],zr={title:`Presentation/Shortcut Label`,description:`Adw.ShortcutLabel — an accelerator drawn as keycaps. The four grammar levels: alternatives (space), a range (...), pressed in sequence (+), and pressed together (&).`,controls:[{name:`accelerator`,label:`Accelerator`,type:W.SELECT,options:[{label:`Ctrl+C`,value:`<Control>C`},{label:`Modifier order (Shift+Ctrl+A)`,value:`<Shift><Control>a`},{label:`Alternatives (Shift+A / Home)`,value:`<Shift>A Home`},{label:`Range (Alt+1…9)`,value:`<Alt>1...9`},{label:`In sequence (Ctrl+C → Ctrl+X)`,value:`<Control>C+<Control>X`},{label:`Together (Ctrl L + Ctrl R)`,value:`Control_L&Control_R`},{label:`Nested (Alt+1…9 / Alt+0)`,value:`<Alt>1...9 <Alt>0`},{label:`Glyph key (Ctrl+Space)`,value:`<Control>space`},{label:`Arrow key (Left)`,value:`Left`},{label:`Unset — shows the placeholder`,value:``}],defaultValue:`<Control>C`},{name:`disabledText`,label:`Placeholder`,type:W.TEXT,defaultValue:`Disabled`}]},Br={title:`Presentation/Shortcut Label (All Levels)`,description:`Every Adw.ShortcutLabel grammar level at once: alternatives (space), a range (...), pressed in sequence (+), pressed together (&) — plus GTK's fixed keycap order and the disabled placeholder.`,controls:[{name:`disabledText`,label:`Placeholder`,type:W.TEXT,defaultValue:`Disabled`}]};var Vr=__exportAll({ShortcutLabelLevelsStory:()=>Ur,ShortcutLabelStories:()=>Wr,ShortcutLabelStory:()=>Hr}),Hr=class ShortcutLabelStory extends Z{_widget=null;static{X.registerClass({GTypeName:`AdwStorybookShortcutLabel`},ShortcutLabelStory)}constructor(){super(Z.fromMeta(ShortcutLabelStory.getMetadata(),`Default`))}static getMetadata(){return{...zr,component:Y.ShortcutLabel.$gtype}}initialize(){this._widget=new Y.ShortcutLabel({accelerator:this.args.accelerator,disabledText:this.args.disabledText,halign:K.Align.CENTER,valign:K.Align.CENTER}),this.addContent(this._widget)}updateArgs(e){this._widget&&(this._widget.disabledText=this.args.disabledText,this._widget.accelerator=this.args.accelerator)}};X.type_ensure(Hr.$gtype);var Ur=class ShortcutLabelLevelsStory extends Z{_widgets=[];static{X.registerClass({GTypeName:`AdwStorybookShortcutLabelLevels`},ShortcutLabelLevelsStory)}constructor(){super(Z.fromMeta(ShortcutLabelLevelsStory.getMetadata(),`Default`))}static getMetadata(){return{...Br,component:Y.ShortcutLabel.$gtype}}initialize(){let e=new K.Grid({row_spacing:12,column_spacing:24});for(let[t,n]of Rr.entries()){let r=new K.Label({label:n.label,halign:K.Align.START});r.add_css_class(`dimmed`),e.attach(r,0,t,1,1);let i=new Y.ShortcutLabel({accelerator:n.accelerator,disabledText:this.args.disabledText,halign:K.Align.END,hexpand:!0});e.attach(i,1,t,1,1),this._widgets.push(i)}this.addContent(e)}updateArgs(e){for(let e of this._widgets)e.disabledText=this.args.disabledText}};X.type_ensure(Ur.$gtype);const Wr={stories:[Hr,Ur]},Gr={title:`Presentation/Spinner`,description:`Adw.Spinner — a lightweight loading indicator that spins continuously while visible.`,controls:[{name:`size`,label:`Size`,type:W.RANGE,min:16,max:64,step:4,defaultValue:48}]};var Kr=__exportAll({SpinnerStories:()=>Jr,SpinnerStory:()=>qr}),qr=class SpinnerStory extends Z{_spinner=null;static{X.registerClass({GTypeName:`AdwStorybookSpinner`},SpinnerStory)}constructor(){super(Z.fromMeta(SpinnerStory.getMetadata(),`Default`))}static getMetadata(){return{...Gr,component:Y.Spinner.$gtype}}initialize(){let e=this.args.size;this._spinner=new Y.Spinner({widthRequest:e,heightRequest:e,halign:K.Align.CENTER,valign:K.Align.CENTER}),this.addContent(this._spinner)}updateArgs(e){if(!this._spinner)return;let t=this.args.size;this._spinner.widthRequest=t,this._spinner.heightRequest=t}};X.type_ensure(qr.$gtype);const Jr={stories:[qr]},Yr={title:`Presentation/Status Page`,description:`Adw.StatusPage — a full-page empty state with an icon, title, description and optional action.`,controls:[{name:`iconName`,label:`Icon`,type:W.SELECT,options:[{label:`Folder`,value:`folder-symbolic`},{label:`Mail`,value:`mail-unread-symbolic`},{label:`Search`,value:`system-search-symbolic`},{label:`Star`,value:`starred-symbolic`}],defaultValue:`folder-symbolic`},{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`No Documents`},{name:`description`,label:`Description`,type:W.TEXT,defaultValue:`Documents you create or open will appear here.`}]};var Xr=__exportAll({StatusPageStories:()=>Qr,StatusPageStory:()=>Zr}),Zr=class StatusPageStory extends Z{_statusPage=null;static{X.registerClass({GTypeName:`AdwStorybookStatusPage`},StatusPageStory)}constructor(){super(Z.fromMeta(StatusPageStory.getMetadata(),`Default`))}static getMetadata(){return{...Yr,component:Y.StatusPage.$gtype}}initialize(){let e=new K.Button({label:`New Document`,halign:K.Align.CENTER,cssClasses:[`pill`,`suggested-action`]});this._statusPage=new Y.StatusPage({iconName:this.args.iconName,title:this.args.title,description:this.args.description,child:e,widthRequest:460,heightRequest:320}),this.addContent(this._statusPage)}updateArgs(e){this._statusPage&&(this._statusPage.iconName=this.args.iconName,this._statusPage.title=this.args.title,this._statusPage.description=this.args.description)}};X.type_ensure(Zr.$gtype);const Qr={stories:[Zr]},$r={title:`Presentation/Window Title`,description:`Adw.WindowTitle — a compact title/subtitle widget intended for a window or header bar.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Inbox`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`3 unread messages`}]};var ei=__exportAll({WindowTitleStories:()=>ni,WindowTitleStory:()=>ti}),ti=class WindowTitleStory extends Z{_windowTitle=null;static{X.registerClass({GTypeName:`AdwStorybookWindowTitle`},WindowTitleStory)}constructor(){super(Z.fromMeta(WindowTitleStory.getMetadata(),`Default`))}static getMetadata(){return{...$r,component:Y.WindowTitle.$gtype}}initialize(){this._windowTitle=new Y.WindowTitle({title:this.args.title,subtitle:this.args.subtitle}),this.addContent(this._windowTitle)}updateArgs(e){this._windowTitle&&(this._windowTitle.title=this.args.title,this._windowTitle.subtitle=this.args.subtitle)}};X.type_ensure(ti.$gtype);const ni={stories:[ti]},ri={title:`Boxed Lists/Action Row`,description:`Adw.ActionRow — a preferences row with a title/subtitle, a prefix icon and a suffix button, shown inside a boxed list.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Wi-Fi`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`Connected to Highgarden 5GHz`},{name:`iconName`,label:`Prefix icon`,type:W.SELECT,options:[{label:`Network`,value:`network-wireless-symbolic`},{label:`Folder`,value:`folder-symbolic`},{label:`Starred`,value:`starred-symbolic`}],defaultValue:`network-wireless-symbolic`},{name:`activatable`,label:`Activatable`,type:W.BOOLEAN,defaultValue:!0}]};var ii=__exportAll({ActionRowStories:()=>oi,ActionRowStory:()=>ai}),ai=class ActionRowStory extends Z{_row=null;_icon=null;_button=null;static{X.registerClass({GTypeName:`AdwStorybookActionRow`},ActionRowStory)}constructor(){super(Z.fromMeta(ActionRowStory.getMetadata(),`Default`))}static getMetadata(){return{...ri,component:Y.ActionRow.$gtype}}initialize(){this._row=new Y.ActionRow({title:this.args.title,subtitle:this.args.subtitle}),this._icon=new K.Image({iconName:this.args.iconName}),this._row.add_prefix(this._icon),this._button=new K.Button({iconName:`go-next-symbolic`,valign:K.Align.CENTER}),this._button.add_css_class(`flat`),this._row.add_suffix(this._button),this._row.activatableWidget=this._button,this._row.activatable=this.args.activatable;let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){!this._row||!this._icon||(this._row.title=this.args.title,this._row.subtitle=this.args.subtitle,this._icon.iconName=this.args.iconName,this._row.activatable=this.args.activatable)}};X.type_ensure(ai.$gtype);const oi={stories:[ai]},si={title:`Boxed Lists/Button Row`,description:`Adw.ButtonRow — a full-width row that acts as a button, with an optional icon and style class.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Add account`},{name:`startIconName`,label:`Start icon`,type:W.SELECT,options:[{label:`Add`,value:`list-add-symbolic`},{label:`Trash`,value:`user-trash-symbolic`},{label:`None`,value:``}],defaultValue:`list-add-symbolic`},{name:`style`,label:`Style`,type:W.SELECT,options:[{label:`None`,value:`none`},{label:`Suggested`,value:`suggested-action`},{label:`Destructive`,value:`destructive-action`}],defaultValue:`suggested-action`}]};var ci=__exportAll({ButtonRowStories:()=>di,ButtonRowStory:()=>ui});const li=[`suggested-action`,`destructive-action`];var ui=class ButtonRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookButtonRow`},ButtonRowStory)}constructor(){super(Z.fromMeta(ButtonRowStory.getMetadata(),`Default`))}static getMetadata(){return{...si,component:Y.ButtonRow.$gtype}}initialize(){this._row=new Y.ButtonRow({title:this.args.title,startIconName:this.args.startIconName}),this._applyStyle(this.args.style);let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}_applyStyle(e){if(this._row){for(let e of li)this._row.remove_css_class(e);e!==`none`&&this._row.add_css_class(e)}}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.startIconName=this.args.startIconName,this._applyStyle(this.args.style))}};X.type_ensure(ui.$gtype);const di={stories:[ui]},fi=[`Blue`,`Teal`,`Green`,`Orange`,`Purple`],pi={title:`Boxed Lists/Combo Row`,description:`Adw.ComboRow — a preferences row with an inline drop-down backed by a Gtk.StringList.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Accent colour`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`Used to highlight selected items`},{name:`selected`,label:`Selected`,type:W.NUMBER,min:0,max:4,step:1,defaultValue:1}]};var mi=__exportAll({ComboRowStories:()=>gi,ComboRowStory:()=>hi}),hi=class ComboRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookComboRow`},ComboRowStory)}constructor(){super(Z.fromMeta(ComboRowStory.getMetadata(),`Default`))}static getMetadata(){return{...pi,component:Y.ComboRow.$gtype}}initialize(){this._row=new Y.ComboRow({title:this.args.title,subtitle:this.args.subtitle,model:new K.StringList({strings:[...fi]}),selected:this.args.selected});let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.subtitle=this.args.subtitle,this._row.selected=this.args.selected)}};X.type_ensure(hi.$gtype);const gi={stories:[hi]},_i={title:`Boxed Lists/Entry Row`,description:`Adw.EntryRow — a preferences row whose title doubles as placeholder text for an inline entry.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Display name`},{name:`text`,label:`Text`,type:W.TEXT,defaultValue:`Ada Lovelace`},{name:`showApplyButton`,label:`Show apply button`,type:W.BOOLEAN,defaultValue:!0}]};var vi=__exportAll({EntryRowStories:()=>bi,EntryRowStory:()=>yi}),yi=class EntryRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookEntryRow`},EntryRowStory)}constructor(){super(Z.fromMeta(EntryRowStory.getMetadata(),`Default`))}static getMetadata(){return{..._i,component:Y.EntryRow.$gtype}}initialize(){this._row=new Y.EntryRow({title:this.args.title,text:this.args.text,showApplyButton:this.args.showApplyButton});let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.text=this.args.text,this._row.showApplyButton=this.args.showApplyButton)}};X.type_ensure(yi.$gtype);const bi={stories:[yi]},xi={title:`Boxed Lists/Expander Row`,description:`Adw.ExpanderRow — a preferences row that discloses nested rows and can carry an enable switch.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Proxy settings`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`Route traffic through a custom proxy`},{name:`expanded`,label:`Expanded`,type:W.BOOLEAN,defaultValue:!0},{name:`showEnableSwitch`,label:`Show enable switch`,type:W.BOOLEAN,defaultValue:!1}]};var Si=__exportAll({ExpanderRowStories:()=>wi,ExpanderRowStory:()=>Ci}),Ci=class ExpanderRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookExpanderRow`},ExpanderRowStory)}constructor(){super(Z.fromMeta(ExpanderRowStory.getMetadata(),`Default`))}static getMetadata(){return{...xi,component:Y.ExpanderRow.$gtype}}initialize(){this._row=new Y.ExpanderRow({title:this.args.title,subtitle:this.args.subtitle,expanded:this.args.expanded,showEnableSwitch:this.args.showEnableSwitch}),this._row.add_row(new Y.EntryRow({title:`Host`,text:`proxy.example.com`})),this._row.add_row(new Y.SwitchRow({title:`Use authentication`,active:!1}));let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.subtitle=this.args.subtitle,this._row.expanded=this.args.expanded,this._row.showEnableSwitch=this.args.showEnableSwitch)}};X.type_ensure(Ci.$gtype);const wi={stories:[Ci]},Ti={title:`Boxed Lists/Password Entry Row`,description:`Adw.PasswordEntryRow — an entry row that masks its contents and shows a peek toggle.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Password`},{name:`text`,label:`Text`,type:W.TEXT,defaultValue:`correct-horse-battery`}]};var Ei=__exportAll({PasswordEntryRowStories:()=>Oi,PasswordEntryRowStory:()=>Di}),Di=class PasswordEntryRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookPasswordEntryRow`},PasswordEntryRowStory)}constructor(){super(Z.fromMeta(PasswordEntryRowStory.getMetadata(),`Default`))}static getMetadata(){return{...Ti,component:Y.PasswordEntryRow.$gtype}}initialize(){this._row=new Y.PasswordEntryRow({title:this.args.title,text:this.args.text});let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.text=this.args.text)}};X.type_ensure(Di.$gtype);const Oi={stories:[Di]},ki={title:`Boxed Lists/Preferences Group`,description:`Adw.PreferencesGroup — the boxed-list container that gathers a title, description, header-suffix widget and rows.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Account`},{name:`description`,label:`Description`,type:W.TEXT,defaultValue:`Manage how this device signs in and syncs.`}]};var Ai=__exportAll({PreferencesGroupStories:()=>Mi,PreferencesGroupStory:()=>ji}),ji=class PreferencesGroupStory extends Z{_prefsGroup=null;static{X.registerClass({GTypeName:`AdwStorybookPreferencesGroup`},PreferencesGroupStory)}constructor(){super(Z.fromMeta(PreferencesGroupStory.getMetadata(),`Default`))}static getMetadata(){return{...ki,component:Y.PreferencesGroup.$gtype}}initialize(){let e=new K.Button({label:`Sign out`,valign:K.Align.CENTER});e.add_css_class(`flat`),this._prefsGroup=new Y.PreferencesGroup({title:this.args.title,description:this.args.description,headerSuffix:e});let t=new Y.EntryRow({title:`Display name`,text:`Grace Hopper`});this._prefsGroup.add(t);let n=new Y.SwitchRow({title:`Sync over Wi-Fi only`,subtitle:`Avoid using mobile data for backups`,active:!0});this._prefsGroup.add(n);let r=new Y.ComboRow({title:`Region`,model:new K.StringList({strings:[`Europe`,`Americas`,`Asia`,`Oceania`]}),selected:0});this._prefsGroup.add(r);let i=new Y.Clamp({maximumSize:400,child:this._prefsGroup});this.addContent(i)}updateArgs(e){this._prefsGroup&&(this._prefsGroup.title=this.args.title,this._prefsGroup.description=this.args.description)}};X.type_ensure(ji.$gtype);const Mi={stories:[ji]},Ni={title:`Boxed Lists/Spin Row`,description:`Adw.SpinRow — a preferences row with an inline spin button over a numeric adjustment.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Font size`},{name:`value`,label:`Value`,type:W.NUMBER,min:0,max:100,step:1,defaultValue:16},{name:`digits`,label:`Digits`,type:W.NUMBER,min:0,max:4,step:1,defaultValue:0}]};var Pi=__exportAll({SpinRowStories:()=>Ii,SpinRowStory:()=>Fi}),Fi=class SpinRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookSpinRow`},SpinRowStory)}constructor(){super(Z.fromMeta(SpinRowStory.getMetadata(),`Default`))}static getMetadata(){return{...Ni,component:Y.SpinRow.$gtype}}initialize(){this._row=new Y.SpinRow({title:this.args.title,adjustment:new K.Adjustment({lower:0,upper:100,value:this.args.value,stepIncrement:1,pageIncrement:10}),digits:this.args.digits});let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.value=this.args.value,this._row.digits=this.args.digits)}};X.type_ensure(Fi.$gtype);const Ii={stories:[Fi]},Li={title:`Boxed Lists/Switch Row`,description:`Adw.SwitchRow — a preferences row with a trailing switch, shown inside a boxed list.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Automatic updates`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`Download and install updates without asking`},{name:`active`,label:`Active`,type:W.BOOLEAN,defaultValue:!0}]};var Ri=__exportAll({SwitchRowStories:()=>Bi,SwitchRowStory:()=>zi}),zi=class SwitchRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookSwitchRow`},SwitchRowStory)}constructor(){super(Z.fromMeta(SwitchRowStory.getMetadata(),`Default`))}static getMetadata(){return{...Li,component:Y.SwitchRow.$gtype}}initialize(){this._row=new Y.SwitchRow({title:this.args.title,subtitle:this.args.subtitle,active:this.args.active});let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.subtitle=this.args.subtitle,this._row.active=this.args.active)}};X.type_ensure(zi.$gtype);const Bi={stories:[zi]},Vi=[{name:`allowScrollWheel`,label:`Allow scroll wheel`,type:W.BOOLEAN,defaultValue:!0},{name:`allowLongSwipes`,label:`Allow long swipes`,type:W.BOOLEAN,defaultValue:!1}],Hi={title:`View Switching/Carousel (Dots)`,description:`Adw.Carousel — a horizontally swipeable pager with three pages, paired with Adw.CarouselIndicatorDots.`,controls:Vi},Ui={title:`View Switching/Carousel (Lines)`,description:`Adw.Carousel — the same swipeable pager paired with Adw.CarouselIndicatorLines instead of dots.`,controls:Vi};var Wi=__exportAll({CarouselDotsStory:()=>Ki,CarouselLinesStory:()=>qi,CarouselStories:()=>Ji});const Gi=[{title:`Welcome`,css:`accent`},{title:`Discover`,css:`success`},{title:`Get started`,css:`warning`}];function buildPage(e,t){let n=new K.Box({orientation:K.Orientation.VERTICAL,halign:K.Align.CENTER,valign:K.Align.CENTER,widthRequest:440,heightRequest:260});n.add_css_class(`card`),n.add_css_class(t);let r=new K.Label({label:e,vexpand:!0,valign:K.Align.CENTER});return r.add_css_class(`title-1`),n.append(r),n}var Ki=class CarouselDotsStory extends Z{_carousel=null;static{X.registerClass({GTypeName:`AdwStorybookCarouselDots`},CarouselDotsStory)}constructor(){super(Z.fromMeta(CarouselDotsStory.getMetadata(),`Default`))}static getMetadata(){return{...Hi,component:Y.Carousel.$gtype}}initialize(){this._carousel=new Y.Carousel({allowScrollWheel:this.args.allowScrollWheel,allowLongSwipes:this.args.allowLongSwipes,vexpand:!0});for(let e of Gi)this._carousel.append(buildPage(e.title,e.css));let e=new Y.CarouselIndicatorDots({carousel:this._carousel}),t=new K.Box({orientation:K.Orientation.VERTICAL,spacing:12,widthRequest:480,heightRequest:340});t.append(this._carousel),t.append(e),this.addContent(t)}updateArgs(e){this._carousel&&(this._carousel.allowScrollWheel=this.args.allowScrollWheel,this._carousel.allowLongSwipes=this.args.allowLongSwipes)}};X.type_ensure(Ki.$gtype);var qi=class CarouselLinesStory extends Z{_carousel=null;static{X.registerClass({GTypeName:`AdwStorybookCarouselLines`},CarouselLinesStory)}constructor(){super(Z.fromMeta(CarouselLinesStory.getMetadata(),`Default`))}static getMetadata(){return{...Ui,component:Y.Carousel.$gtype}}initialize(){this._carousel=new Y.Carousel({allowScrollWheel:this.args.allowScrollWheel,allowLongSwipes:this.args.allowLongSwipes,vexpand:!0});for(let e of Gi)this._carousel.append(buildPage(e.title,e.css));let e=new Y.CarouselIndicatorLines({carousel:this._carousel}),t=new K.Box({orientation:K.Orientation.VERTICAL,spacing:12,widthRequest:480,heightRequest:340});t.append(this._carousel),t.append(e),this.addContent(t)}updateArgs(e){this._carousel&&(this._carousel.allowScrollWheel=this.args.allowScrollWheel,this._carousel.allowLongSwipes=this.args.allowLongSwipes)}};X.type_ensure(qi.$gtype);const Ji={stories:[Ki,qi]},Yi={title:`View Switching/Inline View Switcher`,description:`Adw.InlineViewSwitcher — a compact inline switcher that can show labels, icons, or both for an Adw.ViewStack.`,controls:[{name:`displayMode`,label:`Display mode`,type:W.SELECT,options:[{label:`Labels`,value:`labels`},{label:`Icons`,value:`icons`},{label:`Both`,value:`both`}],defaultValue:`both`}]};var Xi=__exportAll({InlineViewSwitcherStories:()=>Qi,InlineViewSwitcherStory:()=>Zi}),Zi=class InlineViewSwitcherStory extends Z{_switcher=null;static{X.registerClass({GTypeName:`AdwStorybookInlineViewSwitcher`},InlineViewSwitcherStory)}constructor(){super(Z.fromMeta(InlineViewSwitcherStory.getMetadata(),`Default`))}static getMetadata(){return{...Yi,component:Y.InlineViewSwitcher.$gtype}}buildPage(e,t,n){return new Y.StatusPage({iconName:t,title:e,description:n,vexpand:!0})}initialize(){let e=new Y.ViewStack({vexpand:!0});e.add_titled_with_icon(this.buildPage(`Overview`,`view-grid-symbolic`,`A quick summary of your project.`),`overview`,`Overview`,`view-grid-symbolic`),e.add_titled_with_icon(this.buildPage(`Activity`,`document-edit-symbolic`,`Recent edits and changes.`),`activity`,`Activity`,`document-edit-symbolic`),e.add_titled_with_icon(this.buildPage(`Settings`,`emblem-system-symbolic`,`Configure how things behave.`),`settings`,`Settings`,`emblem-system-symbolic`),this._switcher=new Y.InlineViewSwitcher({stack:e,displayMode:this.modeFromArg(this.args.displayMode),halign:K.Align.CENTER});let t=new K.Box({orientation:K.Orientation.VERTICAL,spacing:12,widthRequest:480,heightRequest:340});t.append(this._switcher),t.append(e),this.addContent(t)}modeFromArg(e){return e===`labels`?Y.InlineViewSwitcherDisplayMode.LABELS:e===`icons`?Y.InlineViewSwitcherDisplayMode.ICONS:Y.InlineViewSwitcherDisplayMode.BOTH}updateArgs(e){this._switcher&&(this._switcher.displayMode=this.modeFromArg(this.args.displayMode))}};X.type_ensure(Zi.$gtype);const Qi={stories:[Zi]},$i={title:`View Switching/Tab View`,description:`Adw.TabView with an Adw.TabBar header — three tabbed pages; the tab bar can auto-hide when only one tab remains.`,controls:[{name:`autohide`,label:`Autohide tab bar`,type:W.BOOLEAN,defaultValue:!1}]};var ea=__exportAll({TabViewStories:()=>ra,TabViewStory:()=>na});const ta=[{title:`Overview`,body:`A summary of everything at a glance.`},{title:`Details`,body:`The specifics, broken down line by line.`},{title:`History`,body:`A log of every change made so far.`}];var na=class TabViewStory extends Z{_tabBar=null;static{X.registerClass({GTypeName:`AdwStorybookTabView`},TabViewStory)}constructor(){super(Z.fromMeta(TabViewStory.getMetadata(),`Default`))}static getMetadata(){return{...$i,component:Y.TabView.$gtype}}buildPageBody(e,t){return new Y.StatusPage({iconName:`view-paged-symbolic`,title:e,description:t,vexpand:!0})}initialize(){let e=new Y.TabView({vexpand:!0});for(let t of ta){let n=e.append(this.buildPageBody(t.title,t.body));n.title=t.title}this._tabBar=new Y.TabBar({view:e,autohide:this.args.autohide});let t=new K.Box({orientation:K.Orientation.VERTICAL,widthRequest:480,heightRequest:340});t.append(this._tabBar),t.append(e),this.addContent(t)}updateArgs(e){this._tabBar&&(this._tabBar.autohide=this.args.autohide)}};X.type_ensure(na.$gtype);const ra={stories:[na]},ia=[{name:`inbox`,title:`Inbox`,icon:`mail-unread-symbolic`},{name:`starred`,title:`Starred`,icon:`starred-symbolic`},{name:`archive`,title:`Archive`,icon:`folder-symbolic`}],aa={title:`View Switching/View Switcher Bar`,description:"Adw.ViewSwitcherBar — the narrow-window switcher, pinned to the bottom of a toolbar view. `reveal` is a REQUEST, not a state: a stack with fewer than two pages stays collapsed however loudly it is asked.",controls:[{name:`reveal`,label:`Reveal`,type:W.BOOLEAN,defaultValue:!0}]};var oa=__exportAll({ViewSwitcherBarStories:()=>ca,ViewSwitcherBarStory:()=>sa}),sa=class ViewSwitcherBarStory extends Z{_bar=null;static{X.registerClass({GTypeName:`AdwStorybookViewSwitcherBar`},ViewSwitcherBarStory)}constructor(){super(Z.fromMeta(ViewSwitcherBarStory.getMetadata(),`Default`))}static getMetadata(){return{...aa,component:Y.ViewSwitcherBar.$gtype}}initialize(){let e=new Y.ViewStack({vexpand:!0});for(let t of ia){let n=new Y.StatusPage({iconName:t.icon,title:t.title,description:`The ${t.title.toLowerCase()} page.`,vexpand:!0});e.add_titled_with_icon(n,t.name,t.title,t.icon)}this._bar=new Y.ViewSwitcherBar({stack:e}),this._apply();let t=new Y.ToolbarView({content:e,widthRequest:360,heightRequest:360});t.add_bottom_bar(this._bar),this.addContent(t)}updateArgs(e){this._apply()}_apply(){this._bar&&(this._bar.reveal=this.args.reveal)}};X.type_ensure(sa.$gtype);const ca={stories:[sa]},la={title:`View Switching/View Switcher`,description:`Adw.ViewSwitcher — a segmented switcher whose buttons select pages in a paired Adw.ViewStack.`,controls:[{name:`policy`,label:`Policy`,type:W.SELECT,options:[{label:`Wide`,value:`wide`},{label:`Narrow`,value:`narrow`}],defaultValue:`wide`}]};var ua=__exportAll({ViewSwitcherStories:()=>fa,ViewSwitcherStory:()=>da}),da=class ViewSwitcherStory extends Z{_switcher=null;static{X.registerClass({GTypeName:`AdwStorybookViewSwitcher`},ViewSwitcherStory)}constructor(){super(Z.fromMeta(ViewSwitcherStory.getMetadata(),`Default`))}static getMetadata(){return{...la,component:Y.ViewSwitcher.$gtype}}buildPage(e,t,n){return new Y.StatusPage({iconName:t,title:e,description:n,vexpand:!0})}initialize(){let e=new Y.ViewStack({vexpand:!0});e.add_titled_with_icon(this.buildPage(`Inbox`,`mail-unread-symbolic`,`You have three unread conversations.`),`inbox`,`Inbox`,`mail-unread-symbolic`),e.add_titled_with_icon(this.buildPage(`Starred`,`starred-symbolic`,`Messages you have marked as important.`),`starred`,`Starred`,`starred-symbolic`),e.add_titled_with_icon(this.buildPage(`Archive`,`folder-symbolic`,`Older conversations kept for reference.`),`archive`,`Archive`,`folder-symbolic`),this._switcher=new Y.ViewSwitcher({stack:e,policy:this.policyFromArg(this.args.policy),halign:K.Align.CENTER});let t=new K.Box({orientation:K.Orientation.VERTICAL,spacing:12,widthRequest:480,heightRequest:340});t.append(this._switcher),t.append(e),this.addContent(t)}policyFromArg(e){return e===`narrow`?Y.ViewSwitcherPolicy.NARROW:Y.ViewSwitcherPolicy.WIDE}updateArgs(e){this._switcher&&(this._switcher.policy=this.policyFromArg(this.args.policy))}};X.type_ensure(da.$gtype);const fa={stories:[da]};await runStorybook({applicationId:`org.gjsify.AdwaitaStorybook`,title:`Adwaita Storybook`,stories:collectStoryModules([Wt,Jt,en,on,dn,_n,xn,Tn,kn,Nn,Ln,Vn,Gn,Yn,$n,rr,sr,dr,hr,yr,Dr,jr,Fr,Vr,Kr,Xr,ei,ii,ci,mi,vi,Si,Ei,Ai,Pi,Ri,Wi,Xi,ea,oa,ua])});
201
+ \n${this._options.css??``}`);let t=G.Display.get_default();if(!t){_.error(`No display found`);return}K.StyleContext.add_provider_for_display(t,e,K.STYLE_PROVIDER_PRIORITY_APPLICATION)}_onActivate(){if(!this._window){this._window=new Bt({application:this}),this._options.title&&this._window.set_title(this._options.title);try{this._window.populateSidebar(this._options.stories)}catch(e){_.error(`Failed to create story instances:`,e)}installDevtools(this,{enabled:this._options.devtools||void 0,extend:[storybookDevtoolsExtension(this._window)]}),probeEnabled()&&installStorybookProbe(this,this._window,this._options.probe)}this._window.present()}};X.type_ensure(Vt.$gtype);function collectStoryModules(e){return collectStoryModules$1(e)}function buildGtkChrome(e){let t=new Y.PreferencesPage,n=new Y.PreferencesGroup,r=new K.Box({orientation:K.Orientation.VERTICAL,halign:K.Align.CENTER,valign:K.Align.CENTER,margin_top:12,margin_bottom:12,spacing:12,hexpand:!0});return r.add_css_class(`story-stage`),n.add(r),t.add(n),e.set_child(t),{root:e,hasStage:!0,setStageContent(e){let t=r.get_first_child();for(;t;)t.unparent(),t=r.get_first_child();r.append(e)},setChromeText(e,t){n.set_title(S.markup_escape_text(e,-1)),n.set_description(S.markup_escape_text(t,-1))}}}var StoryCore=class extends StoryViewBase{constructor(e,t,n){super(),this._widget=e,this.initBase(t,n)}createChrome(e){return buildGtkChrome(this._widget)}initialize(){this._widget.initialize()}updateArgs(e){this._widget.updateArgs(e)}teardown(){this._widget.teardown()}emitArgs(e){super.emitArgs(e),this._widget.notify(`args`)}},Z=class StoryWidget extends Y.Bin{static{X.registerClass({GTypeName:`StoryWidget`,Properties:{meta:X.ParamSpec.object(`meta`,`Meta`,`Story metadata`,X.ParamFlags.READWRITE,X.Object),story:X.ParamSpec.string(`story`,`Story Name`,`Story name`,X.ParamFlags.READWRITE,``),args:X.ParamSpec.object(`args`,`Args`,`Story arguments`,X.ParamFlags.READWRITE,X.Object)}},StoryWidget)}constructor(e,t={}){super(t),this._core=new StoryCore(this,e.meta,e.story)}static fromMeta(e,t){return{meta:e,story:t,args:argsFromControls(e.controls)}}get meta(){return this._core.meta}get story(){return this._core.story}get args(){return this._core.args}set args(e){this._core.args=e}onArgsChanged(e){return this._core.onArgsChanged(e)}setArg(e,t){this._core.setArg(e,t)}initialize(){}updateArgs(e){}teardown(){}addContent(e){this._core.addContent(e)}};X.type_ensure(Z.$gtype);var Ht=class AdwaitaApp extends Y.Application{static{X.registerClass({GTypeName:`GjsifyAdwaitaApp`},AdwaitaApp)}constructor(e){super({application_id:e.applicationId,flags:e.flags??J.ApplicationFlags.DEFAULT_FLAGS}),this._window=null,this._options=e,this._initActions(),this.connect(`startup`,()=>this._onStartup()),this.connect(`activate`,()=>this._onActivate())}_initActions(){if(this._options.quitAction!==!1){let e=new J.SimpleAction({name:`quit`});e.connect(`activate`,()=>this.quit()),this.add_action(e),this.set_accels_for_action(`app.quit`,[`<primary>q`])}if(this._options.about){let e=new J.SimpleAction({name:`about`});e.connect(`activate`,()=>this._showAbout()),this.add_action(e)}}_onStartup(){this._options.css&&this._loadCss(this._options.css),this._installDevtools(),this._options.onStartup?.(this)}_loadCss(e){let t=G.Display.get_default();if(!t){_.error(`@gjsify/adwaita-app: no default display; CSS not applied`);return}let n=new K.CssProvider;n.load_from_string(e),K.StyleContext.add_provider_for_display(t,n,K.STYLE_PROVIDER_PRIORITY_APPLICATION)}_installDevtools(){let e=this._options.devtools;if(e===!1)return;let t=typeof e==`object`?e:{enabled:e||void 0};installDevtools(this,t)}_onActivate(){this._window||=this._options.createWindow(this),this._window.present()}_showAbout(){let e=this._options.about;if(!e)return;let t=new Y.AboutDialog({application_name:e.applicationName,application_icon:e.applicationIcon??this._options.applicationId});e.version&&(t.version=e.version),e.developerName&&(t.developer_name=e.developerName),e.website&&(t.website=e.website),e.issueUrl&&(t.issue_url=e.issueUrl),e.license&&(t.license=e.license),e.comments&&(t.comments=e.comments),e.copyright&&(t.copyright=e.copyright),e.developers?.length&&t.set_developers(e.developers),t.present(this.get_active_window())}};async function runApplication(e,t){let n=!1;try{e.register(null),n=e.get_is_remote()}catch{n=!1}let r=await e.runAsync(t);return n&&_.error(`${e.applicationId??`This application`} is already running — brought the existing instance to the front instead of opening a second window.`),r}X.type_ensure(Ht.$gtype);var Ut=class LoadingStack extends K.Stack{static{X.registerClass({GTypeName:`GjsifyLoadingStack`},LoadingStack)}constructor(e={}){super(e);let t=new K.Box({orientation:K.Orientation.VERTICAL,halign:K.Align.CENTER,valign:K.Align.CENTER,hexpand:!0,vexpand:!0});t.append(new Y.Spinner),this.add_named(t,`loading`),this._content=new Y.Bin({hexpand:!0,vexpand:!0}),this.add_named(this._content,`content`),this._error=new Y.StatusPage({iconName:`dialog-error-symbolic`,title:`Something went wrong`}),this.add_named(this._error,`error`),this.set_visible_child_name(`loading`)}setContent(e){this._content.set_child(e)}setError(e,t){this._error.set_title(e),this._error.set_description(t??``)}showLoading(){this.set_visible_child_name(`loading`)}showContent(){this.set_visible_child_name(`content`)}showError(){this.set_visible_child_name(`error`)}};X.type_ensure(Ut.$gtype);async function runStorybook(e){return runApplication(new Vt(e),[c.programInvocationName,...c.programArgs])}const Wt={title:`Buttons/Button Content`,description:`Adw.ButtonContent — pairs a symbolic icon with a label inside a Gtk.Button.`,controls:[{name:`label`,label:`Label`,type:W.TEXT,defaultValue:`Download`},{name:`iconName`,label:`Icon`,type:W.SELECT,options:[{label:`Download`,value:`folder-download-symbolic`},{label:`Add`,value:`list-add-symbolic`},{label:`Send`,value:`mail-send-symbolic`},{label:`Star`,value:`starred-symbolic`}],defaultValue:`folder-download-symbolic`},{name:`canShrink`,label:`Can shrink`,type:W.BOOLEAN,defaultValue:!1}]};var Gt=__exportAll({ButtonContentStories:()=>qt,ButtonContentStory:()=>Kt}),Kt=class ButtonContentStory extends Z{_content=null;_button=null;static{X.registerClass({GTypeName:`AdwStorybookButtonContent`},ButtonContentStory)}constructor(){super(Z.fromMeta(ButtonContentStory.getMetadata(),`Default`))}static getMetadata(){return{...Wt,component:Y.ButtonContent.$gtype}}initialize(){this._content=new Y.ButtonContent({label:this.args.label,iconName:this.args.iconName,canShrink:this.args.canShrink}),this._button=new K.Button({child:this._content}),this._button.add_css_class(`suggested-action`),this._button.add_css_class(`pill`),this.addContent(this._button)}updateArgs(e){this._content&&(this._content.label=this.args.label,this._content.iconName=this.args.iconName,this._content.canShrink=this.args.canShrink)}};X.type_ensure(Kt.$gtype);const qt={stories:[Kt]},Jt={title:`Buttons/Button Styles`,description:`Buttons with Adwaita style classes: .pill, .circular, .suggested-action, .destructive-action, .flat.`,controls:[{name:`label`,label:`Demo label`,type:W.TEXT,defaultValue:`Click me`},{name:`style`,label:`Demo style`,type:W.SELECT,options:[{label:`Pill`,value:`pill`},{label:`Circular (icon)`,value:`circular`},{label:`Suggested`,value:`suggested-action`},{label:`Destructive`,value:`destructive-action`},{label:`Flat`,value:`flat`}],defaultValue:`suggested-action`}]};var Yt=__exportAll({ButtonStylesStories:()=>Qt,ButtonStylesStory:()=>Zt});const Xt=[`pill`,`circular`,`suggested-action`,`destructive-action`,`flat`];var Zt=class ButtonStylesStory extends Z{_demo=null;static{X.registerClass({GTypeName:`AdwStorybookButtonStyles`},ButtonStylesStory)}constructor(){super(Z.fromMeta(ButtonStylesStory.getMetadata(),`Default`))}static getMetadata(){return{...Jt,component:K.Button.$gtype}}initialize(){let e=new Y.WrapBox({childSpacing:12,lineSpacing:12,halign:K.Align.CENTER}),t=new K.Button({label:`Pill`});t.add_css_class(`pill`),e.append(t);let n=new K.Button({iconName:`list-add-symbolic`});n.add_css_class(`circular`),e.append(n);let r=new K.Button({label:`Suggested`});r.add_css_class(`suggested-action`),e.append(r);let i=new K.Button({label:`Delete`});i.add_css_class(`destructive-action`),e.append(i);let o=new K.Button({label:`Flat`});o.add_css_class(`flat`),e.append(o),this._demo=new K.Button({label:this.args.label}),this._applyStyle(this.args.style),e.append(this._demo),this.addContent(e)}_applyStyle(e){if(this._demo){for(let e of Xt)this._demo.remove_css_class(e);this._demo.add_css_class(e)}}updateArgs(e){this._demo&&(this._demo.label=this.args.label,this._applyStyle(this.args.style))}};X.type_ensure(Zt.$gtype);const Qt={stories:[Zt]},$t=[`Save as…`,`Export`,`Print`],en={title:`Buttons/Menu Button`,description:`Gtk.MenuButton — a button whose only action is to open a menu. Where a Split Button has a primary action beside its arrow, this one has none: every choice lives in the popover.`,controls:[{name:`iconName`,label:`Icon`,type:W.SELECT,options:[{label:`Hamburger`,value:`open-menu-symbolic`},{label:`More`,value:`view-more-symbolic`},{label:`Open`,value:`document-open-symbolic`}],defaultValue:`open-menu-symbolic`},{name:`menuTitle`,label:`Menu title`,type:W.TEXT,defaultValue:`Document`}]};var tn=__exportAll({MenuButtonStories:()=>rn,MenuButtonStory:()=>nn}),nn=class MenuButtonStory extends Z{_widget=null;static{X.registerClass({GTypeName:`AdwStorybookMenuButton`},MenuButtonStory)}constructor(){super(Z.fromMeta(MenuButtonStory.getMetadata(),`Default`))}static getMetadata(){return{...en,component:K.MenuButton.$gtype}}initialize(){this._widget=new K.MenuButton({halign:K.Align.CENTER}),this._apply(),this.addContent(this._widget)}updateArgs(e){this._apply()}_buildMenu(e){let t=new J.Menu;for(let e of $t)t.append(e,`app.${e.toLowerCase().replace(/[^a-z]+/g,`-`)}`);let n=new J.Menu;return n.append_section(e.length>0?e:null,t),n}_apply(){this._widget&&(this._widget.iconName=this.args.iconName,this._widget.menuModel=this._buildMenu(this.args.menuTitle))}};X.type_ensure(nn.$gtype);const rn={stories:[nn]},an={title:`Buttons/Split Button`,description:`Adw.SplitButton — a primary action button paired with a dropdown menu of related actions.`,controls:[{name:`label`,label:`Label`,type:W.TEXT,defaultValue:`Save`},{name:`iconName`,label:`Icon`,type:W.SELECT,options:[{label:`None`,value:``},{label:`Save`,value:`document-save-symbolic`},{label:`Send`,value:`mail-send-symbolic`},{label:`Add`,value:`list-add-symbolic`}],defaultValue:`document-save-symbolic`}]},on={title:`Buttons/Split Button Flat`,description:`Adw.SplitButton with the .flat style class, as used inside header bars and toolbars.`,controls:[{name:`label`,label:`Label`,type:W.TEXT,defaultValue:`Reply`},{name:`iconName`,label:`Icon`,type:W.SELECT,options:[{label:`None`,value:``},{label:`Reply`,value:`mail-reply-sender-symbolic`},{label:`Edit`,value:`document-edit-symbolic`},{label:`Open`,value:`document-open-symbolic`}],defaultValue:`mail-reply-sender-symbolic`}]};var sn=__exportAll({SplitButtonFlatStory:()=>ln,SplitButtonStories:()=>un,SplitButtonStory:()=>cn});function buildMenu(){let e=new J.Menu;return e.append(`Save as…`,`app.save-as`),e.append(`Export`,`app.export`),e.append(`Print`,`app.print`),e}var cn=class SplitButtonStory extends Z{_widget=null;static{X.registerClass({GTypeName:`AdwStorybookSplitButton`},SplitButtonStory)}constructor(){super(Z.fromMeta(SplitButtonStory.getMetadata(),`Default`))}static getMetadata(){return{...an,component:Y.SplitButton.$gtype}}initialize(){this._widget=new Y.SplitButton({label:this.args.label,menuModel:buildMenu()});let e=this.args.iconName;e&&(this._widget.iconName=e),this.addContent(this._widget)}updateArgs(e){if(!this._widget)return;let t=this.args.iconName;t?this._widget.iconName=t:this._widget.label=this.args.label}};X.type_ensure(cn.$gtype);var ln=class SplitButtonFlatStory extends Z{_widget=null;static{X.registerClass({GTypeName:`AdwStorybookSplitButtonFlat`},SplitButtonFlatStory)}constructor(){super(Z.fromMeta(SplitButtonFlatStory.getMetadata(),`Default`))}static getMetadata(){return{...on,component:Y.SplitButton.$gtype}}initialize(){this._widget=new Y.SplitButton({label:this.args.label,menuModel:buildMenu()}),this._widget.add_css_class(`flat`);let e=this.args.iconName;e&&(this._widget.iconName=e),this.addContent(this._widget)}updateArgs(e){if(!this._widget)return;let t=this.args.iconName;t?this._widget.iconName=t:this._widget.label=this.args.label}};X.type_ensure(ln.$gtype);const un={stories:[cn,ln]},dn={title:`Buttons/Toggle Group`,description:`Adw.ToggleGroup — a linked group of Adw.Toggle buttons where exactly one is active.`,controls:[{name:`active`,label:`Active toggle`,type:W.SELECT,options:[{label:`List`,value:0},{label:`Grid`,value:1},{label:`Columns`,value:2}],defaultValue:0},{name:`style`,label:`Style`,type:W.SELECT,options:[{label:`Default`,value:`default`},{label:`Flat`,value:`flat`},{label:`Round`,value:`round`}],defaultValue:`default`}]};var fn=__exportAll({ToggleGroupStories:()=>hn,ToggleGroupStory:()=>mn});const pn=[`flat`,`round`];var mn=class ToggleGroupStory extends Z{_toggleGroup=null;static{X.registerClass({GTypeName:`AdwStorybookToggleGroup`},ToggleGroupStory)}constructor(){super(Z.fromMeta(ToggleGroupStory.getMetadata(),`Default`))}static getMetadata(){return{...dn,component:Y.ToggleGroup.$gtype}}initialize(){this._toggleGroup=new Y.ToggleGroup,this._toggleGroup.add(new Y.Toggle({label:`List`,iconName:`view-list-symbolic`})),this._toggleGroup.add(new Y.Toggle({label:`Grid`,iconName:`view-grid-symbolic`})),this._toggleGroup.add(new Y.Toggle({label:`Columns`,iconName:`view-columns-symbolic`})),this._toggleGroup.active=this.args.active,this._applyStyle(this.args.style),this.addContent(this._toggleGroup)}_applyStyle(e){if(this._toggleGroup){for(let e of pn)this._toggleGroup.remove_css_class(e);e!=="default"&&this._toggleGroup.add_css_class(e)}}updateArgs(e){this._toggleGroup&&(this._toggleGroup.active=this.args.active,this._applyStyle(this.args.style))}};X.type_ensure(mn.$gtype);const hn={stories:[mn]},gn=[`Automatic`,`Always`,`Never`,`When busy`],_n={title:`Controls/Drop Down`,description:`Gtk.DropDown — pick one value from a list. The button shows the selection; the list opens in a popover. Adw.ComboRow is the same choice presented as a boxed-list row.`,controls:[{name:`selected`,label:`Selected`,type:W.SELECT,options:gn.map((e,t)=>({label:e,value:t})),defaultValue:0},{name:`enableSearch`,label:`Search field`,type:W.BOOLEAN,defaultValue:!1}]};var vn=__exportAll({DropDownStories:()=>bn,DropDownStory:()=>yn}),yn=class DropDownStory extends Z{_dropDown=null;static{X.registerClass({GTypeName:`AdwStorybookDropDown`},DropDownStory)}constructor(){super(Z.fromMeta(DropDownStory.getMetadata(),`Default`))}static getMetadata(){return{..._n,component:K.DropDown.$gtype}}initialize(){this._dropDown=K.DropDown.new_from_strings([...gn]),this._dropDown.expression=K.PropertyExpression.new(K.StringObject.$gtype,null,`string`),this._dropDown.halign=K.Align.CENTER,this._apply(),this.addContent(this._dropDown)}updateArgs(e){this._apply()}_apply(){this._dropDown&&(this._dropDown.selected=this.args.selected,this._dropDown.enableSearch=this.args.enableSearch)}};X.type_ensure(yn.$gtype);const bn={stories:[yn]},xn={title:`Controls/Entry`,description:`Gtk.Entry — a single-line text field. Libadwaita ships no AdwEntry; the Adwaita look is the GTK entry styled by the stylesheet, which is why the row variants (Entry Row, Password Entry Row) are the widgets with an Adw prefix.`,controls:[{name:`text`,label:`Text`,type:W.TEXT,defaultValue:``},{name:`placeholder`,label:`Placeholder`,type:W.TEXT,defaultValue:`Search files…`},{name:`editable`,label:`Editable`,type:W.BOOLEAN,defaultValue:!0}]};var Sn=__exportAll({EntryStories:()=>wn,EntryStory:()=>Cn}),Cn=class EntryStory extends Z{_entry=null;static{X.registerClass({GTypeName:`AdwStorybookEntry`},EntryStory)}constructor(){super(Z.fromMeta(EntryStory.getMetadata(),`Default`))}static getMetadata(){return{...xn,component:K.Entry.$gtype}}initialize(){this._entry=new K.Entry({widthRequest:280,halign:K.Align.CENTER}),this._apply(),this.addContent(this._entry)}updateArgs(e){this._apply()}_apply(){this._entry&&(this._entry.text=this.args.text,this._entry.placeholderText=this.args.placeholder,this._entry.editable=this.args.editable)}};X.type_ensure(Cn.$gtype);const wn={stories:[Cn]},Tn={title:`Feedback/About Dialog`,description:`Adw.AboutDialog — the standard Adwaita about window with application name, version, credits and license.`,controls:[{name:`applicationName`,label:`Application name`,type:W.TEXT,defaultValue:`Adwaita Storybook`},{name:`version`,label:`Version`,type:W.TEXT,defaultValue:`0.11.0`}]};var En=__exportAll({AboutDialogStories:()=>On,AboutDialogStory:()=>Dn}),Dn=class AboutDialogStory extends Z{_button=null;static{X.registerClass({GTypeName:`AdwStorybookAboutDialog`},AboutDialogStory)}constructor(){super(Z.fromMeta(AboutDialogStory.getMetadata(),`Default`))}static getMetadata(){return{...Tn,component:Y.AboutDialog.$gtype}}initialize(){this._button=new K.Button({label:`Show dialog`,halign:K.Align.CENTER,valign:K.Align.CENTER}),this._button.add_css_class(`pill`),this._button.add_css_class(`suggested-action`),this._button.connect(`clicked`,()=>this._present()),this.addContent(this._button)}_present(){new Y.AboutDialog({applicationName:this.args.applicationName,applicationIcon:`application-x-executable-symbolic`,developerName:`A GJSify Project`,version:this.args.version,comments:`A live catalogue of native GTK and Adwaita widgets, rendered under GJS.`,website:`https://github.com/gjsify/gjsify`,issueUrl:`https://github.com/gjsify/gjsify/issues`,licenseType:K.License.MIT_X11,developers:[`Ada Lovelace`,`Grace Hopper`],designers:[`Margaret Hamilton`],copyright:`© 2026 The GJSify Project`}).present(this)}updateArgs(e){}};X.type_ensure(Dn.$gtype);const On={stories:[Dn]},kn={title:`Feedback/Alert Dialog`,description:`Adw.AlertDialog — a modal dialog with a heading, body text and responses, including a destructive action.`,controls:[{name:`heading`,label:`Heading`,type:W.TEXT,defaultValue:`Delete Project?`},{name:`body`,label:`Body`,type:W.TEXT,defaultValue:`This will permanently remove the project and all of its files. This action cannot be undone.`}]};var An=__exportAll({AlertDialogStories:()=>Mn,AlertDialogStory:()=>jn}),jn=class AlertDialogStory extends Z{_button=null;static{X.registerClass({GTypeName:`AdwStorybookAlertDialog`},AlertDialogStory)}constructor(){super(Z.fromMeta(AlertDialogStory.getMetadata(),`Default`))}static getMetadata(){return{...kn,component:Y.AlertDialog.$gtype}}initialize(){this._button=new K.Button({label:`Show dialog`,halign:K.Align.CENTER,valign:K.Align.CENTER}),this._button.add_css_class(`pill`),this._button.add_css_class(`suggested-action`),this._button.connect(`clicked`,()=>this._present()),this.addContent(this._button)}_present(){let e=new Y.AlertDialog({heading:this.args.heading,body:this.args.body});e.add_response(`cancel`,`Cancel`),e.add_response(`delete`,`Delete`),e.set_response_appearance(`delete`,Y.ResponseAppearance.DESTRUCTIVE),e.set_default_response(`cancel`),e.set_close_response(`cancel`),e.present(this)}updateArgs(e){}};X.type_ensure(jn.$gtype);const Mn={stories:[jn]},Nn={title:`Feedback/Preferences Dialog`,description:`Adw.PreferencesDialog — a preferences window with a page, a group and a handful of boxed-list rows.`,controls:[{name:`pageTitle`,label:`Page title`,type:W.TEXT,defaultValue:`General`},{name:`groupTitle`,label:`Group title`,type:W.TEXT,defaultValue:`Appearance`}]};var Pn=__exportAll({PreferencesDialogStories:()=>In,PreferencesDialogStory:()=>Fn}),Fn=class PreferencesDialogStory extends Z{_button=null;static{X.registerClass({GTypeName:`AdwStorybookPreferencesDialog`},PreferencesDialogStory)}constructor(){super(Z.fromMeta(PreferencesDialogStory.getMetadata(),`Default`))}static getMetadata(){return{...Nn,component:Y.PreferencesDialog.$gtype}}initialize(){this._button=new K.Button({label:`Show dialog`,halign:K.Align.CENTER,valign:K.Align.CENTER}),this._button.add_css_class(`pill`),this._button.add_css_class(`suggested-action`),this._button.connect(`clicked`,()=>this._present()),this.addContent(this._button)}_present(){let e=new Y.PreferencesDialog,t=new Y.PreferencesPage({title:this.args.pageTitle,iconName:`preferences-system-symbolic`}),n=new Y.PreferencesGroup({title:this.args.groupTitle,description:`Control how the application looks and behaves.`});n.add(new Y.SwitchRow({title:`Dark style`,subtitle:`Use a dark colour scheme`,active:!0})),n.add(new Y.ComboRow({title:`Accent colour`,model:new K.StringList({strings:[`Blue`,`Teal`,`Green`,`Orange`,`Purple`]}),selected:0})),n.add(new Y.SpinRow({title:`Font size`,adjustment:new K.Adjustment({lower:8,upper:24,value:12,stepIncrement:1,pageIncrement:4})})),t.add(n),e.add(t),e.present(this)}updateArgs(e){}};X.type_ensure(Fn.$gtype);const In={stories:[Fn]},Ln={title:`Feedback/Toast`,description:`Adw.Toast — a transient notification, with an optional action button, shown over an Adw.ToastOverlay.`,controls:[{name:`title`,label:`Toast text`,type:W.TEXT,defaultValue:`File moved to Trash`},{name:`timeout`,label:`Timeout (s)`,type:W.NUMBER,min:0,max:10,step:1,defaultValue:3},{name:`hasButton`,label:`Action button`,type:W.BOOLEAN,defaultValue:!0},{name:`buttonLabel`,label:`Button label`,type:W.TEXT,defaultValue:`Undo`}]};var Rn=__exportAll({ToastStories:()=>Bn,ToastStory:()=>zn}),zn=class ToastStory extends Z{_overlay=null;static{X.registerClass({GTypeName:`AdwStorybookToast`},ToastStory)}constructor(){super(Z.fromMeta(ToastStory.getMetadata(),`Default`))}static getMetadata(){return{...Ln,component:Y.Toast.$gtype}}initialize(){let e=new K.Button({label:`Show toast`,halign:K.Align.CENTER,valign:K.Align.CENTER});e.add_css_class(`pill`),e.add_css_class(`suggested-action`),e.connect(`clicked`,()=>this._showToast()),this._overlay=new Y.ToastOverlay({child:e,widthRequest:360,heightRequest:220}),this.addContent(this._overlay)}_showToast(){if(!this._overlay)return;let e=new Y.Toast({title:this.args.title,timeout:this.args.timeout});this.args.hasButton&&(e.buttonLabel=this.args.buttonLabel),this._overlay.add_toast(e)}updateArgs(e){}};X.type_ensure(zn.$gtype);const Bn={stories:[zn]},Vn={title:`Layout/Clamp`,description:`Adw.Clamp limits its child to a maximum width and centres it, tightening the layout as space shrinks.`,controls:[{name:`maximumSize`,label:`Maximum size`,type:W.RANGE,min:200,max:600,step:10,defaultValue:400},{name:`tighteningThreshold`,label:`Tightening threshold`,type:W.RANGE,min:100,max:600,step:10,defaultValue:300}]};var Hn=__exportAll({ClampStories:()=>Wn,ClampStory:()=>Un}),Un=class ClampStory extends Z{_clamp=null;static{X.registerClass({GTypeName:`AdwStorybookClamp`},ClampStory)}constructor(){super(Z.fromMeta(ClampStory.getMetadata(),`Default`))}static getMetadata(){return{...Vn,component:Y.Clamp.$gtype}}initialize(){let e=new K.Box({orientation:K.Orientation.HORIZONTAL,widthRequest:520});e.add_css_class(`card`);let t=new K.Label({label:`This content is clamped — it stops growing past the maximum size and stays centred.`,wrap:!0,xalign:0,hexpand:!0,marginTop:18,marginBottom:18,marginStart:18,marginEnd:18});e.append(t),this._clamp=new Y.Clamp({maximumSize:this.args.maximumSize,tighteningThreshold:this.args.tighteningThreshold,child:e}),this.addContent(this._clamp)}updateArgs(e){this._clamp&&(this._clamp.maximumSize=this.args.maximumSize,this._clamp.tighteningThreshold=this.args.tighteningThreshold)}};X.type_ensure(Un.$gtype);const Wn={stories:[Un]},Gn={title:`Layout/Header Bar`,description:`Adw.HeaderBar hosts a custom title widget with start and end controls — the standard top chrome of an Adwaita window.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Text Editor`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`notes.md`},{name:`showTitle`,label:`Show title`,type:W.BOOLEAN,defaultValue:!0}]};var Kn=__exportAll({HeaderBarStories:()=>Jn,HeaderBarStory:()=>qn}),qn=class HeaderBarStory extends Z{_headerBar=null;_title=null;static{X.registerClass({GTypeName:`AdwStorybookHeaderBar`},HeaderBarStory)}constructor(){super(Z.fromMeta(HeaderBarStory.getMetadata(),`Default`))}static getMetadata(){return{...Gn,component:Y.HeaderBar.$gtype}}initialize(){this._title=new Y.WindowTitle({title:this.args.title,subtitle:this.args.subtitle}),this._headerBar=new Y.HeaderBar({titleWidget:this._title,showTitle:this.args.showTitle,widthRequest:460});let e=new K.Button({iconName:`go-previous-symbolic`});e.add_css_class(`flat`),this._headerBar.pack_start(e);let t=new J.Menu;t.append(`New Window`,`app.new-window`),t.append(`Preferences`,`app.preferences`),t.append(`About`,`app.about`);let n=new K.MenuButton({iconName:`open-menu-symbolic`,menuModel:t});n.add_css_class(`flat`),this._headerBar.pack_end(n),this.addContent(this._headerBar)}updateArgs(e){!this._headerBar||!this._title||(this._title.title=this.args.title,this._title.subtitle=this.args.subtitle,this._headerBar.showTitle=this.args.showTitle)}};X.type_ensure(qn.$gtype);const Jn={stories:[qn]},Yn={title:`Layout/Toolbar View`,description:`Adw.ToolbarView pins a top header bar and a bottom toolbar around its content, each independently revealable.`,controls:[{name:`revealTopBars`,label:`Reveal top bars`,type:W.BOOLEAN,defaultValue:!0},{name:`revealBottomBars`,label:`Reveal bottom bars`,type:W.BOOLEAN,defaultValue:!0}]};var Xn=__exportAll({ToolbarViewStories:()=>Qn,ToolbarViewStory:()=>Zn}),Zn=class ToolbarViewStory extends Z{_view=null;static{X.registerClass({GTypeName:`AdwStorybookToolbarView`},ToolbarViewStory)}constructor(){super(Z.fromMeta(ToolbarViewStory.getMetadata(),`Default`))}static getMetadata(){return{...Yn,component:Y.ToolbarView.$gtype}}initialize(){this._view=new Y.ToolbarView({widthRequest:460,heightRequest:320,revealTopBars:this.args.revealTopBars,revealBottomBars:this.args.revealBottomBars});let e=new Y.HeaderBar({titleWidget:new Y.WindowTitle({title:`Documents`,subtitle:`12 items`})});this._view.add_top_bar(e);let t=new Y.StatusPage({iconName:`folder-documents-symbolic`,title:`Your library`,description:`Content sits between the toolbars and scrolls independently of them.`});this._view.content=t;let n=new K.ActionBar,r=new K.Button({iconName:`list-add-symbolic`});r.add_css_class(`flat`);let i=new K.Button({iconName:`list-remove-symbolic`});i.add_css_class(`flat`),n.pack_start(r),n.pack_start(i),n.set_center_widget(new K.Label({label:`Selection: none`}));let o=new K.Button({iconName:`send-to-symbolic`});o.add_css_class(`flat`),n.pack_end(o),this._view.add_bottom_bar(n),this.addContent(this._view)}updateArgs(e){this._view&&(this._view.revealTopBars=this.args.revealTopBars,this._view.revealBottomBars=this.args.revealBottomBars)}};X.type_ensure(Zn.$gtype);const Qn={stories:[Zn]},$n={title:`Layout/Wrap Box`,description:`Adw.WrapBox flows its children horizontally and wraps them onto new lines when they run out of room.`,controls:[{name:`childSpacing`,label:`Child spacing`,type:W.RANGE,min:0,max:36,step:1,defaultValue:8},{name:`lineSpacing`,label:`Line spacing`,type:W.RANGE,min:0,max:36,step:1,defaultValue:8}]};var er=__exportAll({WrapBoxStories:()=>nr,WrapBoxStory:()=>tr}),tr=class WrapBoxStory extends Z{_wrap=null;static{X.registerClass({GTypeName:`AdwStorybookWrapBox`},WrapBoxStory)}constructor(){super(Z.fromMeta(WrapBoxStory.getMetadata(),`Default`))}static getMetadata(){return{...$n,component:Y.WrapBox.$gtype}}initialize(){this._wrap=new Y.WrapBox({childSpacing:this.args.childSpacing,lineSpacing:this.args.lineSpacing,widthRequest:460});for(let e of[`Design`,`Adwaita`,`GNOME`,`GTK`,`Typescript`,`Storybook`,`Wrapping`,`Layout`]){let t=new K.Button({label:e});t.add_css_class(`pill`),this._wrap.append(t)}this.addContent(this._wrap)}updateArgs(e){this._wrap&&(this._wrap.childSpacing=this.args.childSpacing,this._wrap.lineSpacing=this.args.lineSpacing)}};X.type_ensure(tr.$gtype);const nr={stories:[tr]},rr={title:`Navigation/Bottom Sheet`,description:`Adw.BottomSheet — a sheet that slides up over the content. Toggle "Open" to reveal it.`,controls:[{name:`open`,label:`Open`,type:W.BOOLEAN,defaultValue:!0},{name:`modal`,label:`Modal`,type:W.BOOLEAN,defaultValue:!0},{name:`canClose`,label:`Can close`,type:W.BOOLEAN,defaultValue:!0}]};var ir=__exportAll({BottomSheetStories:()=>or,BottomSheetStory:()=>ar}),ar=class BottomSheetStory extends Z{_sheet=null;static{X.registerClass({GTypeName:`AdwStorybookBottomSheet`},BottomSheetStory)}constructor(){super(Z.fromMeta(BottomSheetStory.getMetadata(),`Default`))}static getMetadata(){return{...rr,component:Y.BottomSheet.$gtype}}buildContent(){let e=new K.Button({label:`Toggle sheet`,halign:K.Align.CENTER,valign:K.Align.CENTER,vexpand:!0});return e.add_css_class(`pill`),e.add_css_class(`suggested-action`),e.connect(`clicked`,()=>{this._sheet&&(this._sheet.open=!this._sheet.open)}),e}buildSheet(){let e=new K.Box({orientation:K.Orientation.VERTICAL,spacing:12,marginTop:18,marginBottom:24,marginStart:18,marginEnd:18});e.append(new K.Label({label:`Share track`,halign:K.Align.START,cssClasses:[`title-2`]}));let t=new Y.PreferencesGroup;for(let[e,n]of[[`Copy link`,`edit-copy-symbolic`],[`Send to a friend`,`mail-send-symbolic`],[`Add to playlist`,`list-add-symbolic`]]){let r=new Y.ActionRow({title:e});r.add_prefix(new K.Image({iconName:n})),r.activatable=!0,t.add(r)}return e.append(t),e}initialize(){this._sheet=new Y.BottomSheet({content:this.buildContent(),sheet:this.buildSheet(),open:this.args.open,modal:this.args.modal,canClose:this.args.canClose,widthRequest:480,heightRequest:340}),this.addContent(this._sheet)}updateArgs(e){this._sheet&&(this._sheet.open=this.args.open,this._sheet.modal=this.args.modal,this._sheet.canClose=this.args.canClose)}};X.type_ensure(ar.$gtype);const or={stories:[ar]},sr={title:`Navigation/Navigation Split View`,description:`Adw.NavigationSplitView — a resizable sidebar beside a content pane. When collapsed it folds into a navigation stack.`,controls:[{name:`showContent`,label:`Show content`,type:W.BOOLEAN,defaultValue:!0},{name:`collapsed`,label:`Collapsed`,type:W.BOOLEAN,defaultValue:!1}]};var cr=__exportAll({NavigationSplitViewStories:()=>ur,NavigationSplitViewStory:()=>lr}),lr=class NavigationSplitViewStory extends Z{_view=null;static{X.registerClass({GTypeName:`AdwStorybookNavigationSplitView`},NavigationSplitViewStory)}constructor(){super(Z.fromMeta(NavigationSplitViewStory.getMetadata(),`Default`))}static getMetadata(){return{...sr,component:Y.NavigationSplitView.$gtype}}buildSidebar(){let e=new Y.PreferencesGroup;for(let[t,n,r]of[[`All Mail`,`128 messages`,`mail-unread-symbolic`],[`Starred`,`6 messages`,`starred-symbolic`],[`Drafts`,`2 messages`,`document-edit-symbolic`],[`Archive`,`512 messages`,`folder-symbolic`]]){let i=new Y.ActionRow({title:t,subtitle:n});i.add_prefix(new K.Image({iconName:r})),i.activatable=!0,e.add(i)}let t=new Y.ToolbarView;return t.add_top_bar(new Y.HeaderBar),t.content=e,new Y.NavigationPage({title:`Mailboxes`,child:t})}buildContent(){let e=new Y.StatusPage({iconName:`mail-unread-symbolic`,title:`All Mail`,description:`Select a conversation from the list to read it here.`,vexpand:!0}),t=new Y.ToolbarView;return t.add_top_bar(new Y.HeaderBar),t.content=e,new Y.NavigationPage({title:`All Mail`,child:t})}initialize(){this._view=new Y.NavigationSplitView({sidebar:this.buildSidebar(),content:this.buildContent(),showContent:this.args.showContent,collapsed:this.args.collapsed,widthRequest:480,heightRequest:340}),this.addContent(this._view)}updateArgs(e){this._view&&(this._view.showContent=this.args.showContent,this._view.collapsed=this.args.collapsed)}};X.type_ensure(lr.$gtype);const ur={stories:[lr]},dr={title:`Navigation/Navigation View`,description:`Adw.NavigationView — a navigation stack. The root page pushes a detail page, which gets an automatic back button.`,controls:[{name:`rootTitle`,label:`Root title`,type:W.TEXT,defaultValue:`Contacts`},{name:`detailTitle`,label:`Detail title`,type:W.TEXT,defaultValue:`Ada Lovelace`},{name:`animateTransitions`,label:`Animate transitions`,type:W.BOOLEAN,defaultValue:!0}]};var fr=__exportAll({NavigationViewStories:()=>mr,NavigationViewStory:()=>pr}),pr=class NavigationViewStory extends Z{_view=null;static{X.registerClass({GTypeName:`AdwStorybookNavigationView`},NavigationViewStory)}constructor(){super(Z.fromMeta(NavigationViewStory.getMetadata(),`Default`))}static getMetadata(){return{...dr,component:Y.NavigationView.$gtype}}buildPage(e,t){let n=new Y.ToolbarView;return n.add_top_bar(new Y.HeaderBar),n.content=t,new Y.NavigationPage({title:e,child:n})}initialize(){this._view=new Y.NavigationView({animateTransitions:this.args.animateTransitions,widthRequest:480,heightRequest:340});let e=this.buildPage(this.args.detailTitle,new Y.StatusPage({iconName:`avatar-default-symbolic`,title:this.args.detailTitle,description:`Mathematician and writer, the first computer programmer.`,vexpand:!0})),t=new K.Button({label:`Open contact`,halign:K.Align.CENTER,valign:K.Align.CENTER,vexpand:!0});t.add_css_class(`pill`),t.add_css_class(`suggested-action`),t.connect(`clicked`,()=>{this._view?.push(e)});let n=this.buildPage(this.args.rootTitle,t);this._view.add(n),this._view.add(e),this.addContent(this._view)}updateArgs(e){this._view&&(this._view.animateTransitions=this.args.animateTransitions)}};X.type_ensure(pr.$gtype);const mr={stories:[pr]},hr={title:`Navigation/Overlay Split View`,description:`Adw.OverlaySplitView — a sidebar shown beside the content, or overlaid on top of it when collapsed.`,controls:[{name:`showSidebar`,label:`Show sidebar`,type:W.BOOLEAN,defaultValue:!0},{name:`collapsed`,label:`Collapsed`,type:W.BOOLEAN,defaultValue:!1}]};var gr=__exportAll({OverlaySplitViewStories:()=>vr,OverlaySplitViewStory:()=>_r}),_r=class OverlaySplitViewStory extends Z{_view=null;static{X.registerClass({GTypeName:`AdwStorybookOverlaySplitView`},OverlaySplitViewStory)}constructor(){super(Z.fromMeta(OverlaySplitViewStory.getMetadata(),`Default`))}static getMetadata(){return{...hr,component:Y.OverlaySplitView.$gtype}}buildSidebar(){let e=new Y.PreferencesGroup;for(let[t,n]of[[`Home`,`go-home-symbolic`],[`Discover`,`system-search-symbolic`],[`Library`,`folder-music-symbolic`],[`Settings`,`emblem-system-symbolic`]]){let r=new Y.ActionRow({title:t});r.add_prefix(new K.Image({iconName:n})),r.activatable=!0,e.add(r)}let t=new Y.ToolbarView;return t.add_top_bar(new Y.HeaderBar({showTitle:!1})),t.content=e,t.add_css_class(`sidebar`),t}buildContent(){let e=new Y.StatusPage({iconName:`folder-music-symbolic`,title:`Your Library`,description:`Toggle the sidebar to browse sections. Collapse it to overlay the content.`,vexpand:!0}),t=new Y.ToolbarView;return t.add_top_bar(new Y.HeaderBar),t.content=e,t}initialize(){this._view=new Y.OverlaySplitView({sidebar:this.buildSidebar(),content:this.buildContent(),showSidebar:this.args.showSidebar,collapsed:this.args.collapsed,widthRequest:480,heightRequest:340}),this.addContent(this._view)}updateArgs(e){this._view&&(this._view.showSidebar=this.args.showSidebar,this._view.collapsed=this.args.collapsed)}};X.type_ensure(_r.$gtype);const vr={stories:[_r]},yr={title:`Navigation/Sidebar`,description:`Adw.Sidebar — a selectable list of Adw.SidebarItem grouped into sections. Selecting an item updates the content.`,controls:[{name:`mode`,label:`Mode`,type:W.SELECT,options:[{label:`Sidebar`,value:`sidebar`},{label:`Page`,value:`page`}],defaultValue:`sidebar`},{name:`selected`,label:`Selected index`,type:W.NUMBER,min:0,max:3,step:1,defaultValue:0}]};var br=__exportAll({SidebarStories:()=>Sr,SidebarStory:()=>xr}),xr=class SidebarStory extends Z{_sidebar=null;_status=null;static{X.registerClass({GTypeName:`AdwStorybookSidebar`},SidebarStory)}constructor(){super(Z.fromMeta(SidebarStory.getMetadata(),`Default`))}static getMetadata(){return{...yr,component:Y.Sidebar.$gtype}}items=[{title:`Inbox`,subtitle:`3 unread`,icon:`mail-unread-symbolic`},{title:`Starred`,subtitle:`Favourites`,icon:`starred-symbolic`},{title:`Sent`,subtitle:`Outgoing mail`,icon:`mail-send-symbolic`},{title:`Archive`,subtitle:`Older mail`,icon:`folder-symbolic`}];modeFromArg(e){return e===`page`?Y.SidebarMode.PAGE:Y.SidebarMode.SIDEBAR}syncContent(){if(!this._sidebar||!this._status)return;let e=this.items[this._sidebar.selected]??this.items[0];this._status.title=e.title,this._status.iconName=e.icon,this._status.description=e.subtitle}initialize(){let e=new Y.SidebarSection({title:`Mailboxes`});for(let t of this.items)e.append(new Y.SidebarItem({title:t.title,subtitle:t.subtitle,iconName:t.icon}));this._sidebar=new Y.Sidebar({mode:this.modeFromArg(this.args.mode),selected:this.args.selected,widthRequest:220}),this._sidebar.append(e),this._sidebar.connect(`notify::selected`,()=>this.syncContent()),this._status=new Y.StatusPage({hexpand:!0,vexpand:!0});let t=new K.Box({orientation:K.Orientation.HORIZONTAL,widthRequest:480,heightRequest:340});t.append(this._sidebar),t.append(new K.Separator({orientation:K.Orientation.VERTICAL})),t.append(this._status),this.syncContent(),this.addContent(t)}updateArgs(e){this._sidebar&&(this._sidebar.mode=this.modeFromArg(this.args.mode),this._sidebar.selected=this.args.selected,this.syncContent())}};X.type_ensure(xr.$gtype);const Sr={stories:[xr]},Cr=[{title:`Sync`,kind:`switch`,active:!0},{title:`Export`,kind:`action`}],wr=[`Blue`,`Teal`,`Green`,`Orange`],Tr={appearance:`Appearance`,account:`Account`,shortcuts:`Shortcuts`,actions:`Actions`},Q={bannerTitle:`You have unsaved changes`,bannerButton:`Save`,darkMode:`Dark mode`,darkModeSubtitle:`Use the dark Adwaita palette`,notifications:`Notifications`,notificationsSubtitle:`Show toasts for events`,accentColor:`Accent color`,name:`Name`,nameValue:`Ada Lovelace`,email:`Email`,emailValue:`ada@example.com`,devices:`Devices`,advanced:`Advanced`,advancedSubtitle:`More options`,save:`Save changes`,delete:`Delete account`},$={value:3,lower:1,upper:10,step:1},Er=[{title:`Copy`,accelerator:`<Control>C`},{title:`Select all`,accelerator:`<Shift><Control>a`},{title:`Switch tab`,accelerator:`<Alt>1...9`}],Dr={title:`Overview/Widgets`,description:`Many widgets at once, the way an app composes them: a banner, preference groups of rows, an expander, buttons and shortcut labels. Use it to judge spacing, alignment and the theme as a whole rather than one widget in isolation.`,controls:[{name:`revealed`,label:`Show banner`,type:W.BOOLEAN,description:`Adw.Banner:revealed — animates in and out`,defaultValue:!0}]};var Or=__exportAll({OverviewWidgetsStories:()=>Ar,OverviewWidgetsStory:()=>kr}),kr=class OverviewWidgetsStory extends Z{_banner=null;static{X.registerClass({GTypeName:`AdwStorybookOverviewWidgets`},OverviewWidgetsStory)}constructor(){super(Z.fromMeta(OverviewWidgetsStory.getMetadata(),`Default`))}static getMetadata(){return Dr}initialize(){let e=new K.Box({orientation:K.Orientation.VERTICAL,hexpand:!0});this._banner=new Y.Banner({title:Q.bannerTitle,button_label:Q.bannerButton,revealed:this.args.revealed}),e.append(this._banner);let t=new Y.PreferencesPage({hexpand:!0}),n=new Y.PreferencesGroup({title:Tr.appearance});n.add(new Y.SwitchRow({title:Q.darkMode,subtitle:Q.darkModeSubtitle,active:!1})),n.add(new Y.SwitchRow({title:Q.notifications,subtitle:Q.notificationsSubtitle,active:!0})),n.add(new Y.ComboRow({title:Q.accentColor,model:K.StringList.new([...wr]),selected:0})),t.add(n);let r=new Y.PreferencesGroup({title:Tr.account}),i=new Y.EntryRow({title:Q.name});i.set_text(Q.nameValue),r.add(i);let o=new Y.EntryRow({title:Q.email});o.set_text(Q.emailValue),r.add(o);let s=new Y.SpinRow({title:Q.devices,adjustment:new K.Adjustment({value:$.value,lower:$.lower,upper:$.upper,step_increment:$.step,page_increment:$.step})});s.set_value($.value),r.add(s);let c=new Y.ExpanderRow({title:Q.advanced,subtitle:Q.advancedSubtitle,expanded:!0});for(let e of Cr)c.add_row(e.kind===`switch`?new Y.SwitchRow({title:e.title,active:e.active??!1}):new Y.ActionRow({title:e.title}));r.add(c),t.add(r);let l=new Y.PreferencesGroup({title:Tr.shortcuts});for(let e of Er){let t=new Y.ActionRow({title:e.title});t.add_suffix(new Y.ShortcutLabel({accelerator:e.accelerator,valign:K.Align.CENTER})),l.add(t)}t.add(l);let u=new Y.PreferencesGroup({title:Tr.actions}),d=new K.Box({orientation:K.Orientation.HORIZONTAL,spacing:12,homogeneous:!0,margin_top:6,margin_bottom:6}),f=new K.Button({label:Q.save});f.add_css_class(`suggested-action`),d.append(f);let p=new K.Button({label:Q.delete});p.add_css_class(`destructive-action`),d.append(p),u.add(d),t.add(u),e.append(t),this.addContent(e)}updateArgs(e){this._banner?.set_revealed(this.args.revealed)}};X.type_ensure(kr.$gtype);const Ar={stories:[kr]},jr={title:`Presentation/Avatar`,description:`A circular avatar that derives initials (and a colour) from a name, or shows a symbolic icon.`,controls:[{name:`text`,label:`Name`,type:W.TEXT,defaultValue:`Ada Lovelace`},{name:`size`,label:`Size`,type:W.RANGE,min:24,max:160,step:8,defaultValue:96},{name:`showInitials`,label:`Show initials`,type:W.BOOLEAN,defaultValue:!0},{name:`iconName`,label:`Fallback icon`,type:W.SELECT,options:[{label:`Person`,value:`avatar-default-symbolic`},{label:`Contact`,value:`contact-new-symbolic`},{label:`Camera`,value:`camera-photo-symbolic`}],defaultValue:`avatar-default-symbolic`}]};var Mr=__exportAll({AvatarStories:()=>Pr,AvatarStory:()=>Nr}),Nr=class AvatarStory extends Z{_avatar=null;static{X.registerClass({GTypeName:`AdwStorybookAvatar`},AvatarStory)}constructor(){super(Z.fromMeta(AvatarStory.getMetadata(),`Default`))}static getMetadata(){return{...jr,component:Y.Avatar.$gtype}}initialize(){this._avatar=new Y.Avatar({size:this.args.size,text:this.args.text,showInitials:this.args.showInitials,iconName:this.args.iconName}),this.addContent(this._avatar)}updateArgs(e){this._avatar&&(this._avatar.size=this.args.size,this._avatar.text=this.args.text,this._avatar.showInitials=this.args.showInitials,this._avatar.iconName=this.args.iconName)}};X.type_ensure(Nr.$gtype);const Pr={stories:[Nr]},Fr={title:`Presentation/Banner`,description:`Adw.Banner — a full-width strip carrying a status message and an optional action button.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Metered connection — updates paused`},{name:`buttonLabel`,label:`Button label`,type:W.TEXT,defaultValue:`Resume`},{name:`revealed`,label:`Revealed`,type:W.BOOLEAN,defaultValue:!0},{name:`useMarkup`,label:`Use markup`,type:W.BOOLEAN,defaultValue:!1}]};var Ir=__exportAll({BannerStories:()=>Rr,BannerStory:()=>Lr}),Lr=class BannerStory extends Z{_banner=null;static{X.registerClass({GTypeName:`AdwStorybookBanner`},BannerStory)}constructor(){super(Z.fromMeta(BannerStory.getMetadata(),`Default`))}static getMetadata(){return{...Fr,component:Y.Banner.$gtype}}initialize(){this._banner=new Y.Banner({title:this.args.title,buttonLabel:this.args.buttonLabel,revealed:this.args.revealed,useMarkup:this.args.useMarkup});let e=new K.Box({orientation:K.Orientation.VERTICAL,widthRequest:460});e.append(this._banner),this.addContent(e)}updateArgs(e){this._banner&&(this._banner.title=this.args.title,this._banner.buttonLabel=this.args.buttonLabel,this._banner.revealed=this.args.revealed,this._banner.useMarkup=this.args.useMarkup)}};X.type_ensure(Lr.$gtype);const Rr={stories:[Lr]},zr=[{label:`Single`,accelerator:`<Control>C`},{label:`Modifier order`,accelerator:`<Shift><Control>a`},{label:`Alternatives`,accelerator:`<Shift>A Home`},{label:`Range`,accelerator:`<Alt>1...9`},{label:`In sequence`,accelerator:`<Control>C+<Control>X`},{label:`Together`,accelerator:`Control_L&Control_R`},{label:`Nested`,accelerator:`<Alt>1...9 <Alt>0`},{label:`Unset`,accelerator:``}],Br={title:`Presentation/Shortcut Label`,description:`Adw.ShortcutLabel — an accelerator drawn as keycaps. The four grammar levels: alternatives (space), a range (...), pressed in sequence (+), and pressed together (&).`,controls:[{name:`accelerator`,label:`Accelerator`,type:W.SELECT,options:[{label:`Ctrl+C`,value:`<Control>C`},{label:`Modifier order (Shift+Ctrl+A)`,value:`<Shift><Control>a`},{label:`Alternatives (Shift+A / Home)`,value:`<Shift>A Home`},{label:`Range (Alt+1…9)`,value:`<Alt>1...9`},{label:`In sequence (Ctrl+C → Ctrl+X)`,value:`<Control>C+<Control>X`},{label:`Together (Ctrl L + Ctrl R)`,value:`Control_L&Control_R`},{label:`Nested (Alt+1…9 / Alt+0)`,value:`<Alt>1...9 <Alt>0`},{label:`Glyph key (Ctrl+Space)`,value:`<Control>space`},{label:`Arrow key (Left)`,value:`Left`},{label:`Unset — shows the placeholder`,value:``}],defaultValue:`<Control>C`},{name:`disabledText`,label:`Placeholder`,type:W.TEXT,defaultValue:`Disabled`}]},Vr={title:`Presentation/Shortcut Label (All Levels)`,description:`Every Adw.ShortcutLabel grammar level at once: alternatives (space), a range (...), pressed in sequence (+), pressed together (&) — plus GTK's fixed keycap order and the disabled placeholder.`,controls:[{name:`disabledText`,label:`Placeholder`,type:W.TEXT,defaultValue:`Disabled`}]};var Hr=__exportAll({ShortcutLabelLevelsStory:()=>Wr,ShortcutLabelStories:()=>Gr,ShortcutLabelStory:()=>Ur}),Ur=class ShortcutLabelStory extends Z{_widget=null;static{X.registerClass({GTypeName:`AdwStorybookShortcutLabel`},ShortcutLabelStory)}constructor(){super(Z.fromMeta(ShortcutLabelStory.getMetadata(),`Default`))}static getMetadata(){return{...Br,component:Y.ShortcutLabel.$gtype}}initialize(){this._widget=new Y.ShortcutLabel({accelerator:this.args.accelerator,disabledText:this.args.disabledText,halign:K.Align.CENTER,valign:K.Align.CENTER}),this.addContent(this._widget)}updateArgs(e){this._widget&&(this._widget.disabledText=this.args.disabledText,this._widget.accelerator=this.args.accelerator)}};X.type_ensure(Ur.$gtype);var Wr=class ShortcutLabelLevelsStory extends Z{_widgets=[];static{X.registerClass({GTypeName:`AdwStorybookShortcutLabelLevels`},ShortcutLabelLevelsStory)}constructor(){super(Z.fromMeta(ShortcutLabelLevelsStory.getMetadata(),`Default`))}static getMetadata(){return{...Vr,component:Y.ShortcutLabel.$gtype}}initialize(){let e=new K.Grid({row_spacing:12,column_spacing:24});for(let[t,n]of zr.entries()){let r=new K.Label({label:n.label,halign:K.Align.START});r.add_css_class(`dimmed`),e.attach(r,0,t,1,1);let i=new Y.ShortcutLabel({accelerator:n.accelerator,disabledText:this.args.disabledText,halign:K.Align.END,hexpand:!0});e.attach(i,1,t,1,1),this._widgets.push(i)}this.addContent(e)}updateArgs(e){for(let e of this._widgets)e.disabledText=this.args.disabledText}};X.type_ensure(Wr.$gtype);const Gr={stories:[Ur,Wr]},Kr={title:`Presentation/Spinner`,description:`Adw.Spinner — a lightweight loading indicator that spins continuously while visible.`,controls:[{name:`size`,label:`Size`,type:W.RANGE,min:16,max:64,step:4,defaultValue:48}]};var qr=__exportAll({SpinnerStories:()=>Yr,SpinnerStory:()=>Jr}),Jr=class SpinnerStory extends Z{_spinner=null;static{X.registerClass({GTypeName:`AdwStorybookSpinner`},SpinnerStory)}constructor(){super(Z.fromMeta(SpinnerStory.getMetadata(),`Default`))}static getMetadata(){return{...Kr,component:Y.Spinner.$gtype}}initialize(){let e=this.args.size;this._spinner=new Y.Spinner({widthRequest:e,heightRequest:e,halign:K.Align.CENTER,valign:K.Align.CENTER}),this.addContent(this._spinner)}updateArgs(e){if(!this._spinner)return;let t=this.args.size;this._spinner.widthRequest=t,this._spinner.heightRequest=t}};X.type_ensure(Jr.$gtype);const Yr={stories:[Jr]},Xr={title:`Presentation/Status Page`,description:`Adw.StatusPage — a full-page empty state with an icon, title, description and optional action.`,controls:[{name:`iconName`,label:`Icon`,type:W.SELECT,options:[{label:`Folder`,value:`folder-symbolic`},{label:`Mail`,value:`mail-unread-symbolic`},{label:`Search`,value:`system-search-symbolic`},{label:`Star`,value:`starred-symbolic`}],defaultValue:`folder-symbolic`},{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`No Documents`},{name:`description`,label:`Description`,type:W.TEXT,defaultValue:`Documents you create or open will appear here.`}]};var Zr=__exportAll({StatusPageStories:()=>$r,StatusPageStory:()=>Qr}),Qr=class StatusPageStory extends Z{_statusPage=null;static{X.registerClass({GTypeName:`AdwStorybookStatusPage`},StatusPageStory)}constructor(){super(Z.fromMeta(StatusPageStory.getMetadata(),`Default`))}static getMetadata(){return{...Xr,component:Y.StatusPage.$gtype}}initialize(){let e=new K.Button({label:`New Document`,halign:K.Align.CENTER,cssClasses:[`pill`,`suggested-action`]});this._statusPage=new Y.StatusPage({iconName:this.args.iconName,title:this.args.title,description:this.args.description,child:e,widthRequest:460,heightRequest:320}),this.addContent(this._statusPage)}updateArgs(e){this._statusPage&&(this._statusPage.iconName=this.args.iconName,this._statusPage.title=this.args.title,this._statusPage.description=this.args.description)}};X.type_ensure(Qr.$gtype);const $r={stories:[Qr]},ei={title:`Presentation/Window Title`,description:`Adw.WindowTitle — a compact title/subtitle widget intended for a window or header bar.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Inbox`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`3 unread messages`}]};var ti=__exportAll({WindowTitleStories:()=>ri,WindowTitleStory:()=>ni}),ni=class WindowTitleStory extends Z{_windowTitle=null;static{X.registerClass({GTypeName:`AdwStorybookWindowTitle`},WindowTitleStory)}constructor(){super(Z.fromMeta(WindowTitleStory.getMetadata(),`Default`))}static getMetadata(){return{...ei,component:Y.WindowTitle.$gtype}}initialize(){this._windowTitle=new Y.WindowTitle({title:this.args.title,subtitle:this.args.subtitle}),this.addContent(this._windowTitle)}updateArgs(e){this._windowTitle&&(this._windowTitle.title=this.args.title,this._windowTitle.subtitle=this.args.subtitle)}};X.type_ensure(ni.$gtype);const ri={stories:[ni]},ii={title:`Boxed Lists/Action Row`,description:`Adw.ActionRow — a preferences row with a title/subtitle, a prefix icon and a suffix button, shown inside a boxed list.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Wi-Fi`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`Connected to Highgarden 5GHz`},{name:`iconName`,label:`Prefix icon`,type:W.SELECT,options:[{label:`Network`,value:`network-wireless-symbolic`},{label:`Folder`,value:`folder-symbolic`},{label:`Starred`,value:`starred-symbolic`}],defaultValue:`network-wireless-symbolic`},{name:`activatable`,label:`Activatable`,type:W.BOOLEAN,defaultValue:!0}]};var ai=__exportAll({ActionRowStories:()=>si,ActionRowStory:()=>oi}),oi=class ActionRowStory extends Z{_row=null;_icon=null;_button=null;static{X.registerClass({GTypeName:`AdwStorybookActionRow`},ActionRowStory)}constructor(){super(Z.fromMeta(ActionRowStory.getMetadata(),`Default`))}static getMetadata(){return{...ii,component:Y.ActionRow.$gtype}}initialize(){this._row=new Y.ActionRow({title:this.args.title,subtitle:this.args.subtitle}),this._icon=new K.Image({iconName:this.args.iconName}),this._row.add_prefix(this._icon),this._button=new K.Button({iconName:`go-next-symbolic`,valign:K.Align.CENTER}),this._button.add_css_class(`flat`),this._row.add_suffix(this._button),this._row.activatableWidget=this._button,this._row.activatable=this.args.activatable;let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){!this._row||!this._icon||(this._row.title=this.args.title,this._row.subtitle=this.args.subtitle,this._icon.iconName=this.args.iconName,this._row.activatable=this.args.activatable)}};X.type_ensure(oi.$gtype);const si={stories:[oi]},ci={title:`Boxed Lists/Button Row`,description:`Adw.ButtonRow — a full-width row that acts as a button, with an optional icon and style class.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Add account`},{name:`startIconName`,label:`Start icon`,type:W.SELECT,options:[{label:`Add`,value:`list-add-symbolic`},{label:`Trash`,value:`user-trash-symbolic`},{label:`None`,value:``}],defaultValue:`list-add-symbolic`},{name:`style`,label:`Style`,type:W.SELECT,options:[{label:`None`,value:`none`},{label:`Suggested`,value:`suggested-action`},{label:`Destructive`,value:`destructive-action`}],defaultValue:`suggested-action`}]};var li=__exportAll({ButtonRowStories:()=>fi,ButtonRowStory:()=>di});const ui=[`suggested-action`,`destructive-action`];var di=class ButtonRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookButtonRow`},ButtonRowStory)}constructor(){super(Z.fromMeta(ButtonRowStory.getMetadata(),`Default`))}static getMetadata(){return{...ci,component:Y.ButtonRow.$gtype}}initialize(){this._row=new Y.ButtonRow({title:this.args.title,startIconName:this.args.startIconName}),this._applyStyle(this.args.style);let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}_applyStyle(e){if(this._row){for(let e of ui)this._row.remove_css_class(e);e!==`none`&&this._row.add_css_class(e)}}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.startIconName=this.args.startIconName,this._applyStyle(this.args.style))}};X.type_ensure(di.$gtype);const fi={stories:[di]},pi=[`Blue`,`Teal`,`Green`,`Orange`,`Purple`],mi={title:`Boxed Lists/Combo Row`,description:`Adw.ComboRow — a preferences row with an inline drop-down backed by a Gtk.StringList.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Accent colour`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`Used to highlight selected items`},{name:`selected`,label:`Selected`,type:W.NUMBER,min:0,max:4,step:1,defaultValue:1}]};var hi=__exportAll({ComboRowStories:()=>_i,ComboRowStory:()=>gi}),gi=class ComboRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookComboRow`},ComboRowStory)}constructor(){super(Z.fromMeta(ComboRowStory.getMetadata(),`Default`))}static getMetadata(){return{...mi,component:Y.ComboRow.$gtype}}initialize(){this._row=new Y.ComboRow({title:this.args.title,subtitle:this.args.subtitle,model:new K.StringList({strings:[...pi]}),selected:this.args.selected});let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.subtitle=this.args.subtitle,this._row.selected=this.args.selected)}};X.type_ensure(gi.$gtype);const _i={stories:[gi]},vi={title:`Boxed Lists/Entry Row`,description:`Adw.EntryRow — a preferences row whose title doubles as placeholder text for an inline entry.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Display name`},{name:`text`,label:`Text`,type:W.TEXT,defaultValue:`Ada Lovelace`},{name:`showApplyButton`,label:`Show apply button`,type:W.BOOLEAN,defaultValue:!0}]};var yi=__exportAll({EntryRowStories:()=>xi,EntryRowStory:()=>bi}),bi=class EntryRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookEntryRow`},EntryRowStory)}constructor(){super(Z.fromMeta(EntryRowStory.getMetadata(),`Default`))}static getMetadata(){return{...vi,component:Y.EntryRow.$gtype}}initialize(){this._row=new Y.EntryRow({title:this.args.title,text:this.args.text,showApplyButton:this.args.showApplyButton});let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.text=this.args.text,this._row.showApplyButton=this.args.showApplyButton)}};X.type_ensure(bi.$gtype);const xi={stories:[bi]},Si={title:`Boxed Lists/Expander Row`,description:`Adw.ExpanderRow — a preferences row that discloses nested rows and can carry an enable switch.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Proxy settings`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`Route traffic through a custom proxy`},{name:`expanded`,label:`Expanded`,type:W.BOOLEAN,defaultValue:!0},{name:`showEnableSwitch`,label:`Show enable switch`,type:W.BOOLEAN,defaultValue:!1}]};var Ci=__exportAll({ExpanderRowStories:()=>Ti,ExpanderRowStory:()=>wi}),wi=class ExpanderRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookExpanderRow`},ExpanderRowStory)}constructor(){super(Z.fromMeta(ExpanderRowStory.getMetadata(),`Default`))}static getMetadata(){return{...Si,component:Y.ExpanderRow.$gtype}}initialize(){this._row=new Y.ExpanderRow({title:this.args.title,subtitle:this.args.subtitle,expanded:this.args.expanded,showEnableSwitch:this.args.showEnableSwitch}),this._row.add_row(new Y.EntryRow({title:`Host`,text:`proxy.example.com`})),this._row.add_row(new Y.SwitchRow({title:`Use authentication`,active:!1}));let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.subtitle=this.args.subtitle,this._row.expanded=this.args.expanded,this._row.showEnableSwitch=this.args.showEnableSwitch)}};X.type_ensure(wi.$gtype);const Ti={stories:[wi]},Ei={title:`Boxed Lists/Password Entry Row`,description:`Adw.PasswordEntryRow — an entry row that masks its contents and shows a peek toggle.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Password`},{name:`text`,label:`Text`,type:W.TEXT,defaultValue:`correct-horse-battery`}]};var Di=__exportAll({PasswordEntryRowStories:()=>ki,PasswordEntryRowStory:()=>Oi}),Oi=class PasswordEntryRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookPasswordEntryRow`},PasswordEntryRowStory)}constructor(){super(Z.fromMeta(PasswordEntryRowStory.getMetadata(),`Default`))}static getMetadata(){return{...Ei,component:Y.PasswordEntryRow.$gtype}}initialize(){this._row=new Y.PasswordEntryRow({title:this.args.title,text:this.args.text});let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.text=this.args.text)}};X.type_ensure(Oi.$gtype);const ki={stories:[Oi]},Ai={title:`Boxed Lists/Preferences Group`,description:`Adw.PreferencesGroup — the boxed-list container that gathers a title, description, header-suffix widget and rows.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Account`},{name:`description`,label:`Description`,type:W.TEXT,defaultValue:`Manage how this device signs in and syncs.`}]};var ji=__exportAll({PreferencesGroupStories:()=>Ni,PreferencesGroupStory:()=>Mi}),Mi=class PreferencesGroupStory extends Z{_prefsGroup=null;static{X.registerClass({GTypeName:`AdwStorybookPreferencesGroup`},PreferencesGroupStory)}constructor(){super(Z.fromMeta(PreferencesGroupStory.getMetadata(),`Default`))}static getMetadata(){return{...Ai,component:Y.PreferencesGroup.$gtype}}initialize(){let e=new K.Button({label:`Sign out`,valign:K.Align.CENTER});e.add_css_class(`flat`),this._prefsGroup=new Y.PreferencesGroup({title:this.args.title,description:this.args.description,headerSuffix:e});let t=new Y.EntryRow({title:`Display name`,text:`Grace Hopper`});this._prefsGroup.add(t);let n=new Y.SwitchRow({title:`Sync over Wi-Fi only`,subtitle:`Avoid using mobile data for backups`,active:!0});this._prefsGroup.add(n);let r=new Y.ComboRow({title:`Region`,model:new K.StringList({strings:[`Europe`,`Americas`,`Asia`,`Oceania`]}),selected:0});this._prefsGroup.add(r);let i=new Y.Clamp({maximumSize:400,child:this._prefsGroup});this.addContent(i)}updateArgs(e){this._prefsGroup&&(this._prefsGroup.title=this.args.title,this._prefsGroup.description=this.args.description)}};X.type_ensure(Mi.$gtype);const Ni={stories:[Mi]},Pi={title:`Boxed Lists/Spin Row`,description:`Adw.SpinRow — a preferences row with an inline spin button over a numeric adjustment.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Font size`},{name:`value`,label:`Value`,type:W.NUMBER,min:0,max:100,step:1,defaultValue:16},{name:`digits`,label:`Digits`,type:W.NUMBER,min:0,max:4,step:1,defaultValue:0}]};var Fi=__exportAll({SpinRowStories:()=>Li,SpinRowStory:()=>Ii}),Ii=class SpinRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookSpinRow`},SpinRowStory)}constructor(){super(Z.fromMeta(SpinRowStory.getMetadata(),`Default`))}static getMetadata(){return{...Pi,component:Y.SpinRow.$gtype}}initialize(){this._row=new Y.SpinRow({title:this.args.title,adjustment:new K.Adjustment({lower:0,upper:100,value:this.args.value,stepIncrement:1,pageIncrement:10}),digits:this.args.digits});let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.value=this.args.value,this._row.digits=this.args.digits)}};X.type_ensure(Ii.$gtype);const Li={stories:[Ii]},Ri={title:`Boxed Lists/Switch Row`,description:`Adw.SwitchRow — a preferences row with a trailing switch, shown inside a boxed list.`,controls:[{name:`title`,label:`Title`,type:W.TEXT,defaultValue:`Automatic updates`},{name:`subtitle`,label:`Subtitle`,type:W.TEXT,defaultValue:`Download and install updates without asking`},{name:`active`,label:`Active`,type:W.BOOLEAN,defaultValue:!0}]};var zi=__exportAll({SwitchRowStories:()=>Vi,SwitchRowStory:()=>Bi}),Bi=class SwitchRowStory extends Z{_row=null;static{X.registerClass({GTypeName:`AdwStorybookSwitchRow`},SwitchRowStory)}constructor(){super(Z.fromMeta(SwitchRowStory.getMetadata(),`Default`))}static getMetadata(){return{...Ri,component:Y.SwitchRow.$gtype}}initialize(){this._row=new Y.SwitchRow({title:this.args.title,subtitle:this.args.subtitle,active:this.args.active});let e=new Y.PreferencesGroup;e.add(this._row);let t=new Y.Clamp({maximumSize:400,child:e});this.addContent(t)}updateArgs(e){this._row&&(this._row.title=this.args.title,this._row.subtitle=this.args.subtitle,this._row.active=this.args.active)}};X.type_ensure(Bi.$gtype);const Vi={stories:[Bi]},Hi=[{name:`allowScrollWheel`,label:`Allow scroll wheel`,type:W.BOOLEAN,defaultValue:!0},{name:`allowLongSwipes`,label:`Allow long swipes`,type:W.BOOLEAN,defaultValue:!1}],Ui={title:`View Switching/Carousel (Dots)`,description:`Adw.Carousel — a horizontally swipeable pager with three pages, paired with Adw.CarouselIndicatorDots.`,controls:Hi},Wi={title:`View Switching/Carousel (Lines)`,description:`Adw.Carousel — the same swipeable pager paired with Adw.CarouselIndicatorLines instead of dots.`,controls:Hi};var Gi=__exportAll({CarouselDotsStory:()=>qi,CarouselLinesStory:()=>Ji,CarouselStories:()=>Yi});const Ki=[{title:`Welcome`,css:`accent`},{title:`Discover`,css:`success`},{title:`Get started`,css:`warning`}];function buildPage(e,t){let n=new K.Box({orientation:K.Orientation.VERTICAL,halign:K.Align.CENTER,valign:K.Align.CENTER,widthRequest:440,heightRequest:260});n.add_css_class(`card`),n.add_css_class(t);let r=new K.Label({label:e,vexpand:!0,valign:K.Align.CENTER});return r.add_css_class(`title-1`),n.append(r),n}var qi=class CarouselDotsStory extends Z{_carousel=null;static{X.registerClass({GTypeName:`AdwStorybookCarouselDots`},CarouselDotsStory)}constructor(){super(Z.fromMeta(CarouselDotsStory.getMetadata(),`Default`))}static getMetadata(){return{...Ui,component:Y.Carousel.$gtype}}initialize(){this._carousel=new Y.Carousel({allowScrollWheel:this.args.allowScrollWheel,allowLongSwipes:this.args.allowLongSwipes,vexpand:!0});for(let e of Ki)this._carousel.append(buildPage(e.title,e.css));let e=new Y.CarouselIndicatorDots({carousel:this._carousel}),t=new K.Box({orientation:K.Orientation.VERTICAL,spacing:12,widthRequest:480,heightRequest:340});t.append(this._carousel),t.append(e),this.addContent(t)}updateArgs(e){this._carousel&&(this._carousel.allowScrollWheel=this.args.allowScrollWheel,this._carousel.allowLongSwipes=this.args.allowLongSwipes)}};X.type_ensure(qi.$gtype);var Ji=class CarouselLinesStory extends Z{_carousel=null;static{X.registerClass({GTypeName:`AdwStorybookCarouselLines`},CarouselLinesStory)}constructor(){super(Z.fromMeta(CarouselLinesStory.getMetadata(),`Default`))}static getMetadata(){return{...Wi,component:Y.Carousel.$gtype}}initialize(){this._carousel=new Y.Carousel({allowScrollWheel:this.args.allowScrollWheel,allowLongSwipes:this.args.allowLongSwipes,vexpand:!0});for(let e of Ki)this._carousel.append(buildPage(e.title,e.css));let e=new Y.CarouselIndicatorLines({carousel:this._carousel}),t=new K.Box({orientation:K.Orientation.VERTICAL,spacing:12,widthRequest:480,heightRequest:340});t.append(this._carousel),t.append(e),this.addContent(t)}updateArgs(e){this._carousel&&(this._carousel.allowScrollWheel=this.args.allowScrollWheel,this._carousel.allowLongSwipes=this.args.allowLongSwipes)}};X.type_ensure(Ji.$gtype);const Yi={stories:[qi,Ji]},Xi={title:`View Switching/Inline View Switcher`,description:`Adw.InlineViewSwitcher — a compact inline switcher that can show labels, icons, or both for an Adw.ViewStack.`,controls:[{name:`displayMode`,label:`Display mode`,type:W.SELECT,options:[{label:`Labels`,value:`labels`},{label:`Icons`,value:`icons`},{label:`Both`,value:`both`}],defaultValue:`both`}]};var Zi=__exportAll({InlineViewSwitcherStories:()=>$i,InlineViewSwitcherStory:()=>Qi}),Qi=class InlineViewSwitcherStory extends Z{_switcher=null;static{X.registerClass({GTypeName:`AdwStorybookInlineViewSwitcher`},InlineViewSwitcherStory)}constructor(){super(Z.fromMeta(InlineViewSwitcherStory.getMetadata(),`Default`))}static getMetadata(){return{...Xi,component:Y.InlineViewSwitcher.$gtype}}buildPage(e,t,n){return new Y.StatusPage({iconName:t,title:e,description:n,vexpand:!0})}initialize(){let e=new Y.ViewStack({vexpand:!0});e.add_titled_with_icon(this.buildPage(`Overview`,`view-grid-symbolic`,`A quick summary of your project.`),`overview`,`Overview`,`view-grid-symbolic`),e.add_titled_with_icon(this.buildPage(`Activity`,`document-edit-symbolic`,`Recent edits and changes.`),`activity`,`Activity`,`document-edit-symbolic`),e.add_titled_with_icon(this.buildPage(`Settings`,`emblem-system-symbolic`,`Configure how things behave.`),`settings`,`Settings`,`emblem-system-symbolic`),this._switcher=new Y.InlineViewSwitcher({stack:e,displayMode:this.modeFromArg(this.args.displayMode),halign:K.Align.CENTER});let t=new K.Box({orientation:K.Orientation.VERTICAL,spacing:12,widthRequest:480,heightRequest:340});t.append(this._switcher),t.append(e),this.addContent(t)}modeFromArg(e){return e===`labels`?Y.InlineViewSwitcherDisplayMode.LABELS:e===`icons`?Y.InlineViewSwitcherDisplayMode.ICONS:Y.InlineViewSwitcherDisplayMode.BOTH}updateArgs(e){this._switcher&&(this._switcher.displayMode=this.modeFromArg(this.args.displayMode))}};X.type_ensure(Qi.$gtype);const $i={stories:[Qi]},ea={title:`View Switching/Tab View`,description:`Adw.TabView with an Adw.TabBar header — three tabbed pages; the tab bar can auto-hide when only one tab remains.`,controls:[{name:`autohide`,label:`Autohide tab bar`,type:W.BOOLEAN,defaultValue:!1}]};var ta=__exportAll({TabViewStories:()=>ia,TabViewStory:()=>ra});const na=[{title:`Overview`,body:`A summary of everything at a glance.`},{title:`Details`,body:`The specifics, broken down line by line.`},{title:`History`,body:`A log of every change made so far.`}];var ra=class TabViewStory extends Z{_tabBar=null;static{X.registerClass({GTypeName:`AdwStorybookTabView`},TabViewStory)}constructor(){super(Z.fromMeta(TabViewStory.getMetadata(),`Default`))}static getMetadata(){return{...ea,component:Y.TabView.$gtype}}buildPageBody(e,t){return new Y.StatusPage({iconName:`view-paged-symbolic`,title:e,description:t,vexpand:!0})}initialize(){let e=new Y.TabView({vexpand:!0});for(let t of na){let n=e.append(this.buildPageBody(t.title,t.body));n.title=t.title}this._tabBar=new Y.TabBar({view:e,autohide:this.args.autohide});let t=new K.Box({orientation:K.Orientation.VERTICAL,widthRequest:480,heightRequest:340});t.append(this._tabBar),t.append(e),this.addContent(t)}updateArgs(e){this._tabBar&&(this._tabBar.autohide=this.args.autohide)}};X.type_ensure(ra.$gtype);const ia={stories:[ra]},aa=[{name:`inbox`,title:`Inbox`,icon:`mail-unread-symbolic`},{name:`starred`,title:`Starred`,icon:`starred-symbolic`},{name:`archive`,title:`Archive`,icon:`folder-symbolic`}],oa={title:`View Switching/View Switcher Bar`,description:"Adw.ViewSwitcherBar — the narrow-window switcher, pinned to the bottom of a toolbar view. `reveal` is a REQUEST, not a state: a stack with fewer than two pages stays collapsed however loudly it is asked.",controls:[{name:`reveal`,label:`Reveal`,type:W.BOOLEAN,defaultValue:!0}]};var sa=__exportAll({ViewSwitcherBarStories:()=>la,ViewSwitcherBarStory:()=>ca}),ca=class ViewSwitcherBarStory extends Z{_bar=null;static{X.registerClass({GTypeName:`AdwStorybookViewSwitcherBar`},ViewSwitcherBarStory)}constructor(){super(Z.fromMeta(ViewSwitcherBarStory.getMetadata(),`Default`))}static getMetadata(){return{...oa,component:Y.ViewSwitcherBar.$gtype}}initialize(){let e=new Y.ViewStack({vexpand:!0});for(let t of aa){let n=new Y.StatusPage({iconName:t.icon,title:t.title,description:`The ${t.title.toLowerCase()} page.`,vexpand:!0});e.add_titled_with_icon(n,t.name,t.title,t.icon)}this._bar=new Y.ViewSwitcherBar({stack:e}),this._apply();let t=new Y.ToolbarView({content:e,widthRequest:360,heightRequest:360});t.add_bottom_bar(this._bar),this.addContent(t)}updateArgs(e){this._apply()}_apply(){this._bar&&(this._bar.reveal=this.args.reveal)}};X.type_ensure(ca.$gtype);const la={stories:[ca]},ua={title:`View Switching/View Switcher`,description:`Adw.ViewSwitcher — a segmented switcher whose buttons select pages in a paired Adw.ViewStack.`,controls:[{name:`policy`,label:`Policy`,type:W.SELECT,options:[{label:`Wide`,value:`wide`},{label:`Narrow`,value:`narrow`}],defaultValue:`wide`}]};var da=__exportAll({ViewSwitcherStories:()=>pa,ViewSwitcherStory:()=>fa}),fa=class ViewSwitcherStory extends Z{_switcher=null;static{X.registerClass({GTypeName:`AdwStorybookViewSwitcher`},ViewSwitcherStory)}constructor(){super(Z.fromMeta(ViewSwitcherStory.getMetadata(),`Default`))}static getMetadata(){return{...ua,component:Y.ViewSwitcher.$gtype}}buildPage(e,t,n){return new Y.StatusPage({iconName:t,title:e,description:n,vexpand:!0})}initialize(){let e=new Y.ViewStack({vexpand:!0});e.add_titled_with_icon(this.buildPage(`Inbox`,`mail-unread-symbolic`,`You have three unread conversations.`),`inbox`,`Inbox`,`mail-unread-symbolic`),e.add_titled_with_icon(this.buildPage(`Starred`,`starred-symbolic`,`Messages you have marked as important.`),`starred`,`Starred`,`starred-symbolic`),e.add_titled_with_icon(this.buildPage(`Archive`,`folder-symbolic`,`Older conversations kept for reference.`),`archive`,`Archive`,`folder-symbolic`),this._switcher=new Y.ViewSwitcher({stack:e,policy:this.policyFromArg(this.args.policy),halign:K.Align.CENTER});let t=new K.Box({orientation:K.Orientation.VERTICAL,spacing:12,widthRequest:480,heightRequest:340});t.append(this._switcher),t.append(e),this.addContent(t)}policyFromArg(e){return e===`narrow`?Y.ViewSwitcherPolicy.NARROW:Y.ViewSwitcherPolicy.WIDE}updateArgs(e){this._switcher&&(this._switcher.policy=this.policyFromArg(this.args.policy))}};X.type_ensure(fa.$gtype);const pa={stories:[fa]};await runStorybook({applicationId:`org.gjsify.AdwaitaStorybook`,title:`Adwaita Storybook`,stories:collectStoryModules([Gt,Yt,tn,sn,fn,vn,Sn,En,An,Pn,Rn,Hn,Kn,Xn,er,ir,cr,fr,gr,br,Or,Mr,Ir,Hr,qr,Zr,ti,ai,li,hi,yi,Ci,Di,ji,Fi,zi,Gi,Zi,ta,sa,da])});