@gopay/minikit-cli 1.2.1
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/README.md +322 -0
- package/dist/js/index.js +470 -0
- package/package.json +64 -0
package/dist/js/index.js
ADDED
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
// @bun
|
|
3
|
+
var WG=Object.create;var{getPrototypeOf:dG,defineProperty:gI,getOwnPropertyNames:wG}=Object;var PG=Object.prototype.hasOwnProperty;function iG(A){return this[A]}var VG,XG,II=(A,g,I)=>{var C=A!=null&&typeof A==="object";if(C){var b=g?VG??=new WeakMap:XG??=new WeakMap,G=b.get(A);if(G)return G}I=A!=null?WG(dG(A)):{};let v=g||!A||!A.__esModule?gI(I,"default",{value:A,enumerable:!0}):I;for(let Z of wG(A))if(!PG.call(v,Z))gI(v,Z,{get:iG.bind(A,Z),enumerable:!0});if(C)b.set(A,v);return v};var VA=(A,g)=>()=>(g||A((g={exports:{}}).exports,g),g.exports);var YG=(A)=>A;function yG(A,g){this[A]=YG.bind(null,g)}var RG=(A,g)=>{for(var I in g)gI(A,I,{get:g[I],enumerable:!0,configurable:!0,set:yG.bind(g,I)})};var UA=(A,g)=>()=>(A&&(g=A(A=0)),g);var eA=import.meta.require;var rA=VA((HG)=>{class CI extends Error{constructor(A,g,I){super(I);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=g,this.exitCode=A,this.nestedError=void 0}}class AC extends CI{constructor(A){super(1,"commander.invalidArgument",A);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}HG.CommanderError=CI;HG.InvalidArgumentError=AC});var Bg=VA((FG)=>{var{InvalidArgumentError:KG}=rA();class gC{constructor(A,g){switch(this.description=g||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,A[0]){case"<":this.required=!0,this._name=A.slice(1,-1);break;case"[":this.required=!1,this._name=A.slice(1,-1);break;default:this.required=!0,this._name=A;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(A,g){if(g===this.defaultValue||!Array.isArray(g))return[A];return g.push(A),g}default(A,g){return this.defaultValue=A,this.defaultValueDescription=g,this}argParser(A){return this.parseArg=A,this}choices(A){return this.argChoices=A.slice(),this.parseArg=(g,I)=>{if(!this.argChoices.includes(g))throw new KG(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(g,I);return g},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function jG(A){let g=A.name()+(A.variadic===!0?"...":"");return A.required?"<"+g+">":"["+g+"]"}FG.Argument=gC;FG.humanReadableArgName=jG});var bI=VA((oG)=>{var{humanReadableArgName:QG}=Bg();class IC{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(A){this.helpWidth=this.helpWidth??A.helpWidth??80}visibleCommands(A){let g=A.commands.filter((C)=>!C._hidden),I=A._getHelpCommand();if(I&&!I._hidden)g.push(I);if(this.sortSubcommands)g.sort((C,b)=>{return C.name().localeCompare(b.name())});return g}compareOptions(A,g){let I=(C)=>{return C.short?C.short.replace(/^-/,""):C.long.replace(/^--/,"")};return I(A).localeCompare(I(g))}visibleOptions(A){let g=A.options.filter((C)=>!C.hidden),I=A._getHelpOption();if(I&&!I.hidden){let C=I.short&&A._findOption(I.short),b=I.long&&A._findOption(I.long);if(!C&&!b)g.push(I);else if(I.long&&!b)g.push(A.createOption(I.long,I.description));else if(I.short&&!C)g.push(A.createOption(I.short,I.description))}if(this.sortOptions)g.sort(this.compareOptions);return g}visibleGlobalOptions(A){if(!this.showGlobalOptions)return[];let g=[];for(let I=A.parent;I;I=I.parent){let C=I.options.filter((b)=>!b.hidden);g.push(...C)}if(this.sortOptions)g.sort(this.compareOptions);return g}visibleArguments(A){if(A._argsDescription)A.registeredArguments.forEach((g)=>{g.description=g.description||A._argsDescription[g.name()]||""});if(A.registeredArguments.find((g)=>g.description))return A.registeredArguments;return[]}subcommandTerm(A){let g=A.registeredArguments.map((I)=>QG(I)).join(" ");return A._name+(A._aliases[0]?"|"+A._aliases[0]:"")+(A.options.length?" [options]":"")+(g?" "+g:"")}optionTerm(A){return A.flags}argumentTerm(A){return A.name()}longestSubcommandTermLength(A,g){return g.visibleCommands(A).reduce((I,C)=>{return Math.max(I,this.displayWidth(g.styleSubcommandTerm(g.subcommandTerm(C))))},0)}longestOptionTermLength(A,g){return g.visibleOptions(A).reduce((I,C)=>{return Math.max(I,this.displayWidth(g.styleOptionTerm(g.optionTerm(C))))},0)}longestGlobalOptionTermLength(A,g){return g.visibleGlobalOptions(A).reduce((I,C)=>{return Math.max(I,this.displayWidth(g.styleOptionTerm(g.optionTerm(C))))},0)}longestArgumentTermLength(A,g){return g.visibleArguments(A).reduce((I,C)=>{return Math.max(I,this.displayWidth(g.styleArgumentTerm(g.argumentTerm(C))))},0)}commandUsage(A){let g=A._name;if(A._aliases[0])g=g+"|"+A._aliases[0];let I="";for(let C=A.parent;C;C=C.parent)I=C.name()+" "+I;return I+g+" "+A.usage()}commandDescription(A){return A.description()}subcommandDescription(A){return A.summary()||A.description()}optionDescription(A){let g=[];if(A.argChoices)g.push(`choices: ${A.argChoices.map((I)=>JSON.stringify(I)).join(", ")}`);if(A.defaultValue!==void 0){if(A.required||A.optional||A.isBoolean()&&typeof A.defaultValue==="boolean")g.push(`default: ${A.defaultValueDescription||JSON.stringify(A.defaultValue)}`)}if(A.presetArg!==void 0&&A.optional)g.push(`preset: ${JSON.stringify(A.presetArg)}`);if(A.envVar!==void 0)g.push(`env: ${A.envVar}`);if(g.length>0){let I=`(${g.join(", ")})`;if(A.description)return`${A.description} ${I}`;return I}return A.description}argumentDescription(A){let g=[];if(A.argChoices)g.push(`choices: ${A.argChoices.map((I)=>JSON.stringify(I)).join(", ")}`);if(A.defaultValue!==void 0)g.push(`default: ${A.defaultValueDescription||JSON.stringify(A.defaultValue)}`);if(g.length>0){let I=`(${g.join(", ")})`;if(A.description)return`${A.description} ${I}`;return I}return A.description}formatItemList(A,g,I){if(g.length===0)return[];return[I.styleTitle(A),...g,""]}groupItems(A,g,I){let C=new Map;return A.forEach((b)=>{let G=I(b);if(!C.has(G))C.set(G,[])}),g.forEach((b)=>{let G=I(b);if(!C.has(G))C.set(G,[]);C.get(G).push(b)}),C}formatHelp(A,g){let I=g.padWidth(A,g),C=g.helpWidth??80;function b(u,B){return g.formatItem(u,I,B,g)}let G=[`${g.styleTitle("Usage:")} ${g.styleUsage(g.commandUsage(A))}`,""],v=g.commandDescription(A);if(v.length>0)G=G.concat([g.boxWrap(g.styleCommandDescription(v),C),""]);let Z=g.visibleArguments(A).map((u)=>{return b(g.styleArgumentTerm(g.argumentTerm(u)),g.styleArgumentDescription(g.argumentDescription(u)))});if(G=G.concat(this.formatItemList("Arguments:",Z,g)),this.groupItems(A.options,g.visibleOptions(A),(u)=>u.helpGroupHeading??"Options:").forEach((u,B)=>{let N=u.map((W)=>{return b(g.styleOptionTerm(g.optionTerm(W)),g.styleOptionDescription(g.optionDescription(W)))});G=G.concat(this.formatItemList(B,N,g))}),g.showGlobalOptions){let u=g.visibleGlobalOptions(A).map((B)=>{return b(g.styleOptionTerm(g.optionTerm(B)),g.styleOptionDescription(g.optionDescription(B)))});G=G.concat(this.formatItemList("Global Options:",u,g))}return this.groupItems(A.commands,g.visibleCommands(A),(u)=>u.helpGroup()||"Commands:").forEach((u,B)=>{let N=u.map((W)=>{return b(g.styleSubcommandTerm(g.subcommandTerm(W)),g.styleSubcommandDescription(g.subcommandDescription(W)))});G=G.concat(this.formatItemList(B,N,g))}),G.join(`
|
|
4
|
+
`)}displayWidth(A){return CC(A).length}styleTitle(A){return A}styleUsage(A){return A.split(" ").map((g)=>{if(g==="[options]")return this.styleOptionText(g);if(g==="[command]")return this.styleSubcommandText(g);if(g[0]==="["||g[0]==="<")return this.styleArgumentText(g);return this.styleCommandText(g)}).join(" ")}styleCommandDescription(A){return this.styleDescriptionText(A)}styleOptionDescription(A){return this.styleDescriptionText(A)}styleSubcommandDescription(A){return this.styleDescriptionText(A)}styleArgumentDescription(A){return this.styleDescriptionText(A)}styleDescriptionText(A){return A}styleOptionTerm(A){return this.styleOptionText(A)}styleSubcommandTerm(A){return A.split(" ").map((g)=>{if(g==="[options]")return this.styleOptionText(g);if(g[0]==="["||g[0]==="<")return this.styleArgumentText(g);return this.styleSubcommandText(g)}).join(" ")}styleArgumentTerm(A){return this.styleArgumentText(A)}styleOptionText(A){return A}styleArgumentText(A){return A}styleSubcommandText(A){return A}styleCommandText(A){return A}padWidth(A,g){return Math.max(g.longestOptionTermLength(A,g),g.longestGlobalOptionTermLength(A,g),g.longestSubcommandTermLength(A,g),g.longestArgumentTermLength(A,g))}preformatted(A){return/\n[^\S\r\n]/.test(A)}formatItem(A,g,I,C){let G=" ".repeat(2);if(!I)return G+A;let v=A.padEnd(g+A.length-C.displayWidth(A)),Z=2,c=(this.helpWidth??80)-g-Z-2,u;if(c<this.minWidthToWrap||C.preformatted(I))u=I;else u=C.boxWrap(I,c).replace(/\n/g,`
|
|
5
|
+
`+" ".repeat(g+Z));return G+v+" ".repeat(Z)+u.replace(/\n/g,`
|
|
6
|
+
${G}`)}boxWrap(A,g){if(g<this.minWidthToWrap)return A;let I=A.split(/\r\n|\n/),C=/[\s]*[^\s]+/g,b=[];return I.forEach((G)=>{let v=G.match(C);if(v===null){b.push("");return}let Z=[v.shift()],D=this.displayWidth(Z[0]);v.forEach((c)=>{let u=this.displayWidth(c);if(D+u<=g){Z.push(c),D+=u;return}b.push(Z.join(""));let B=c.trimStart();Z=[B],D=this.displayWidth(B)}),b.push(Z.join(""))}),b.join(`
|
|
7
|
+
`)}}function CC(A){let g=/\x1b\[\d*(;\d*)*m/g;return A.replace(g,"")}oG.Help=IC;oG.stripColor=CC});var GI=VA((sG)=>{var{InvalidArgumentError:zG}=rA();class GC{constructor(A,g){this.flags=A,this.description=g||"",this.required=A.includes("<"),this.optional=A.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(A),this.mandatory=!1;let I=SG(A);if(this.short=I.shortFlag,this.long=I.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(A,g){return this.defaultValue=A,this.defaultValueDescription=g,this}preset(A){return this.presetArg=A,this}conflicts(A){return this.conflictsWith=this.conflictsWith.concat(A),this}implies(A){let g=A;if(typeof A==="string")g={[A]:!0};return this.implied=Object.assign(this.implied||{},g),this}env(A){return this.envVar=A,this}argParser(A){return this.parseArg=A,this}makeOptionMandatory(A=!0){return this.mandatory=!!A,this}hideHelp(A=!0){return this.hidden=!!A,this}_collectValue(A,g){if(g===this.defaultValue||!Array.isArray(g))return[A];return g.push(A),g}choices(A){return this.argChoices=A.slice(),this.parseArg=(g,I)=>{if(!this.argChoices.includes(g))throw new zG(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(g,I);return g},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return bC(this.name().replace(/^no-/,""));return bC(this.name())}helpGroup(A){return this.helpGroupHeading=A,this}is(A){return this.short===A||this.long===A}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class vC{constructor(A){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,A.forEach((g)=>{if(g.negate)this.negativeOptions.set(g.attributeName(),g);else this.positiveOptions.set(g.attributeName(),g)}),this.negativeOptions.forEach((g,I)=>{if(this.positiveOptions.has(I))this.dualOptions.add(I)})}valueFromOption(A,g){let I=g.attributeName();if(!this.dualOptions.has(I))return!0;let C=this.negativeOptions.get(I).presetArg,b=C!==void 0?C:!1;return g.negate===(b===A)}}function bC(A){return A.split("-").reduce((g,I)=>{return g+I[0].toUpperCase()+I.slice(1)})}function SG(A){let g,I,C=/^-[^-]$/,b=/^--[^-]/,G=A.split(/[ |,]+/).concat("guard");if(C.test(G[0]))g=G.shift();if(b.test(G[0]))I=G.shift();if(!g&&C.test(G[0]))g=G.shift();if(!g&&b.test(G[0]))g=I,I=G.shift();if(G[0].startsWith("-")){let v=G[0],Z=`option creation failed due to '${v}' in option flags '${A}'`;if(/^-[^-][^-]/.test(v))throw Error(`${Z}
|
|
8
|
+
- a short flag is a single dash and a single character
|
|
9
|
+
- either use a single dash and a single character (for a short flag)
|
|
10
|
+
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(C.test(v))throw Error(`${Z}
|
|
11
|
+
- too many short flags`);if(b.test(v))throw Error(`${Z}
|
|
12
|
+
- too many long flags`);throw Error(`${Z}
|
|
13
|
+
- unrecognised flag format`)}if(g===void 0&&I===void 0)throw Error(`option creation failed due to no flags found in '${A}'.`);return{shortFlag:g,longFlag:I}}sG.Option=GC;sG.DualOptions=vC});var ZC=VA((OG)=>{function UG(A,g){if(Math.abs(A.length-g.length)>3)return Math.max(A.length,g.length);let I=[];for(let C=0;C<=A.length;C++)I[C]=[C];for(let C=0;C<=g.length;C++)I[0][C]=C;for(let C=1;C<=g.length;C++)for(let b=1;b<=A.length;b++){let G=1;if(A[b-1]===g[C-1])G=0;else G=1;if(I[b][C]=Math.min(I[b-1][C]+1,I[b][C-1]+1,I[b-1][C-1]+G),b>1&&C>1&&A[b-1]===g[C-2]&&A[b-2]===g[C-1])I[b][C]=Math.min(I[b][C],I[b-2][C-2]+1)}return I[A.length][g.length]}function MG(A,g){if(!g||g.length===0)return"";g=Array.from(new Set(g));let I=A.startsWith("--");if(I)A=A.slice(2),g=g.map((v)=>v.slice(2));let C=[],b=3,G=0.4;if(g.forEach((v)=>{if(v.length<=1)return;let Z=UG(A,v),D=Math.max(A.length,v.length);if((D-Z)/D>G){if(Z<b)b=Z,C=[v];else if(Z===b)C.push(v)}}),C.sort((v,Z)=>v.localeCompare(Z)),I)C=C.map((v)=>`--${v}`);if(C.length>1)return`
|
|
14
|
+
(Did you mean one of ${C.join(", ")}?)`;if(C.length===1)return`
|
|
15
|
+
(Did you mean ${C[0]}?)`;return""}OG.suggestSimilar=MG});var BC=VA((rG)=>{var xG=eA("events").EventEmitter,vI=eA("child_process"),wA=eA("path"),lg=eA("fs"),y=eA("process"),{Argument:EG,humanReadableArgName:pG}=Bg(),{CommanderError:ZI}=rA(),{Help:tG,stripColor:qG}=bI(),{Option:DC,DualOptions:eG}=GI(),{suggestSimilar:cC}=ZC();class cI extends xG{constructor(A){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=A||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(g)=>y.stdout.write(g),writeErr:(g)=>y.stderr.write(g),outputError:(g,I)=>I(g),getOutHelpWidth:()=>y.stdout.isTTY?y.stdout.columns:void 0,getErrHelpWidth:()=>y.stderr.isTTY?y.stderr.columns:void 0,getOutHasColors:()=>DI()??(y.stdout.isTTY&&y.stdout.hasColors?.()),getErrHasColors:()=>DI()??(y.stderr.isTTY&&y.stderr.hasColors?.()),stripColor:(g)=>qG(g)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(A){return this._outputConfiguration=A._outputConfiguration,this._helpOption=A._helpOption,this._helpCommand=A._helpCommand,this._helpConfiguration=A._helpConfiguration,this._exitCallback=A._exitCallback,this._storeOptionsAsProperties=A._storeOptionsAsProperties,this._combineFlagAndOptionalValue=A._combineFlagAndOptionalValue,this._allowExcessArguments=A._allowExcessArguments,this._enablePositionalOptions=A._enablePositionalOptions,this._showHelpAfterError=A._showHelpAfterError,this._showSuggestionAfterError=A._showSuggestionAfterError,this}_getCommandAndAncestors(){let A=[];for(let g=this;g;g=g.parent)A.push(g);return A}command(A,g,I){let C=g,b=I;if(typeof C==="object"&&C!==null)b=C,C=null;b=b||{};let[,G,v]=A.match(/([^ ]+) *(.*)/),Z=this.createCommand(G);if(C)Z.description(C),Z._executableHandler=!0;if(b.isDefault)this._defaultCommandName=Z._name;if(Z._hidden=!!(b.noHelp||b.hidden),Z._executableFile=b.executableFile||null,v)Z.arguments(v);if(this._registerCommand(Z),Z.parent=this,Z.copyInheritedSettings(this),C)return this;return Z}createCommand(A){return new cI(A)}createHelp(){return Object.assign(new tG,this.configureHelp())}configureHelp(A){if(A===void 0)return this._helpConfiguration;return this._helpConfiguration=A,this}configureOutput(A){if(A===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...A},this}showHelpAfterError(A=!0){if(typeof A!=="string")A=!!A;return this._showHelpAfterError=A,this}showSuggestionAfterError(A=!0){return this._showSuggestionAfterError=!!A,this}addCommand(A,g){if(!A._name)throw Error(`Command passed to .addCommand() must have a name
|
|
16
|
+
- specify the name in Command constructor or using .name()`);if(g=g||{},g.isDefault)this._defaultCommandName=A._name;if(g.noHelp||g.hidden)A._hidden=!0;return this._registerCommand(A),A.parent=this,A._checkForBrokenPassThrough(),this}createArgument(A,g){return new EG(A,g)}argument(A,g,I,C){let b=this.createArgument(A,g);if(typeof I==="function")b.default(C).argParser(I);else b.default(I);return this.addArgument(b),this}arguments(A){return A.trim().split(/ +/).forEach((g)=>{this.argument(g)}),this}addArgument(A){let g=this.registeredArguments.slice(-1)[0];if(g?.variadic)throw Error(`only the last argument can be variadic '${g.name()}'`);if(A.required&&A.defaultValue!==void 0&&A.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${A.name()}'`);return this.registeredArguments.push(A),this}helpCommand(A,g){if(typeof A==="boolean"){if(this._addImplicitHelpCommand=A,A&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let I=A??"help [command]",[,C,b]=I.match(/([^ ]+) *(.*)/),G=g??"display help for command",v=this.createCommand(C);if(v.helpOption(!1),b)v.arguments(b);if(G)v.description(G);if(this._addImplicitHelpCommand=!0,this._helpCommand=v,A||g)this._initCommandGroup(v);return this}addHelpCommand(A,g){if(typeof A!=="object")return this.helpCommand(A,g),this;return this._addImplicitHelpCommand=!0,this._helpCommand=A,this._initCommandGroup(A),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(A,g){let I=["preSubcommand","preAction","postAction"];if(!I.includes(A))throw Error(`Unexpected value for event passed to hook : '${A}'.
|
|
17
|
+
Expecting one of '${I.join("', '")}'`);if(this._lifeCycleHooks[A])this._lifeCycleHooks[A].push(g);else this._lifeCycleHooks[A]=[g];return this}exitOverride(A){if(A)this._exitCallback=A;else this._exitCallback=(g)=>{if(g.code!=="commander.executeSubCommandAsync")throw g};return this}_exit(A,g,I){if(this._exitCallback)this._exitCallback(new ZI(A,g,I));y.exit(A)}action(A){let g=(I)=>{let C=this.registeredArguments.length,b=I.slice(0,C);if(this._storeOptionsAsProperties)b[C]=this;else b[C]=this.opts();return b.push(this),A.apply(this,b)};return this._actionHandler=g,this}createOption(A,g){return new DC(A,g)}_callParseArg(A,g,I,C){try{return A.parseArg(g,I)}catch(b){if(b.code==="commander.invalidArgument"){let G=`${C} ${b.message}`;this.error(G,{exitCode:b.exitCode,code:b.code})}throw b}}_registerOption(A){let g=A.short&&this._findOption(A.short)||A.long&&this._findOption(A.long);if(g){let I=A.long&&this._findOption(A.long)?A.long:A.short;throw Error(`Cannot add option '${A.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${I}'
|
|
18
|
+
- already used by option '${g.flags}'`)}this._initOptionGroup(A),this.options.push(A)}_registerCommand(A){let g=(C)=>{return[C.name()].concat(C.aliases())},I=g(A).find((C)=>this._findCommand(C));if(I){let C=g(this._findCommand(I)).join("|"),b=g(A).join("|");throw Error(`cannot add command '${b}' as already have command '${C}'`)}this._initCommandGroup(A),this.commands.push(A)}addOption(A){this._registerOption(A);let g=A.name(),I=A.attributeName();if(A.negate){let b=A.long.replace(/^--no-/,"--");if(!this._findOption(b))this.setOptionValueWithSource(I,A.defaultValue===void 0?!0:A.defaultValue,"default")}else if(A.defaultValue!==void 0)this.setOptionValueWithSource(I,A.defaultValue,"default");let C=(b,G,v)=>{if(b==null&&A.presetArg!==void 0)b=A.presetArg;let Z=this.getOptionValue(I);if(b!==null&&A.parseArg)b=this._callParseArg(A,b,Z,G);else if(b!==null&&A.variadic)b=A._collectValue(b,Z);if(b==null)if(A.negate)b=!1;else if(A.isBoolean()||A.optional)b=!0;else b="";this.setOptionValueWithSource(I,b,v)};if(this.on("option:"+g,(b)=>{let G=`error: option '${A.flags}' argument '${b}' is invalid.`;C(b,G,"cli")}),A.envVar)this.on("optionEnv:"+g,(b)=>{let G=`error: option '${A.flags}' value '${b}' from env '${A.envVar}' is invalid.`;C(b,G,"env")});return this}_optionEx(A,g,I,C,b){if(typeof g==="object"&&g instanceof DC)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let G=this.createOption(g,I);if(G.makeOptionMandatory(!!A.mandatory),typeof C==="function")G.default(b).argParser(C);else if(C instanceof RegExp){let v=C;C=(Z,D)=>{let c=v.exec(Z);return c?c[0]:D},G.default(b).argParser(C)}else G.default(C);return this.addOption(G)}option(A,g,I,C){return this._optionEx({},A,g,I,C)}requiredOption(A,g,I,C){return this._optionEx({mandatory:!0},A,g,I,C)}combineFlagAndOptionalValue(A=!0){return this._combineFlagAndOptionalValue=!!A,this}allowUnknownOption(A=!0){return this._allowUnknownOption=!!A,this}allowExcessArguments(A=!0){return this._allowExcessArguments=!!A,this}enablePositionalOptions(A=!0){return this._enablePositionalOptions=!!A,this}passThroughOptions(A=!0){return this._passThroughOptions=!!A,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(A=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!A,this}getOptionValue(A){if(this._storeOptionsAsProperties)return this[A];return this._optionValues[A]}setOptionValue(A,g){return this.setOptionValueWithSource(A,g,void 0)}setOptionValueWithSource(A,g,I){if(this._storeOptionsAsProperties)this[A]=g;else this._optionValues[A]=g;return this._optionValueSources[A]=I,this}getOptionValueSource(A){return this._optionValueSources[A]}getOptionValueSourceWithGlobals(A){let g;return this._getCommandAndAncestors().forEach((I)=>{if(I.getOptionValueSource(A)!==void 0)g=I.getOptionValueSource(A)}),g}_prepareUserArgs(A,g){if(A!==void 0&&!Array.isArray(A))throw Error("first parameter to parse must be array or undefined");if(g=g||{},A===void 0&&g.from===void 0){if(y.versions?.electron)g.from="electron";let C=y.execArgv??[];if(C.includes("-e")||C.includes("--eval")||C.includes("-p")||C.includes("--print"))g.from="eval"}if(A===void 0)A=y.argv;this.rawArgs=A.slice();let I;switch(g.from){case void 0:case"node":this._scriptPath=A[1],I=A.slice(2);break;case"electron":if(y.defaultApp)this._scriptPath=A[1],I=A.slice(2);else I=A.slice(1);break;case"user":I=A.slice(0);break;case"eval":I=A.slice(1);break;default:throw Error(`unexpected parse option { from: '${g.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",I}parse(A,g){this._prepareForParse();let I=this._prepareUserArgs(A,g);return this._parseCommand([],I),this}async parseAsync(A,g){this._prepareForParse();let I=this._prepareUserArgs(A,g);return await this._parseCommand([],I),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
|
|
19
|
+
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(A,g,I){if(lg.existsSync(A))return;let C=g?`searched for local subcommand relative to directory '${g}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",b=`'${A}' does not exist
|
|
20
|
+
- if '${I}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
21
|
+
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
22
|
+
- ${C}`;throw Error(b)}_executeSubCommand(A,g){g=g.slice();let I=!1,C=[".js",".ts",".tsx",".mjs",".cjs"];function b(c,u){let B=wA.resolve(c,u);if(lg.existsSync(B))return B;if(C.includes(wA.extname(u)))return;let N=C.find((W)=>lg.existsSync(`${B}${W}`));if(N)return`${B}${N}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let G=A._executableFile||`${this._name}-${A._name}`,v=this._executableDir||"";if(this._scriptPath){let c;try{c=lg.realpathSync(this._scriptPath)}catch{c=this._scriptPath}v=wA.resolve(wA.dirname(c),v)}if(v){let c=b(v,G);if(!c&&!A._executableFile&&this._scriptPath){let u=wA.basename(this._scriptPath,wA.extname(this._scriptPath));if(u!==this._name)c=b(v,`${u}-${A._name}`)}G=c||G}I=C.includes(wA.extname(G));let Z;if(y.platform!=="win32")if(I)g.unshift(G),g=uC(y.execArgv).concat(g),Z=vI.spawn(y.argv[0],g,{stdio:"inherit"});else Z=vI.spawn(G,g,{stdio:"inherit"});else this._checkForMissingExecutable(G,v,A._name),g.unshift(G),g=uC(y.execArgv).concat(g),Z=vI.spawn(y.execPath,g,{stdio:"inherit"});if(!Z.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((u)=>{y.on(u,()=>{if(Z.killed===!1&&Z.exitCode===null)Z.kill(u)})});let D=this._exitCallback;Z.on("close",(c)=>{if(c=c??1,!D)y.exit(c);else D(new ZI(c,"commander.executeSubCommandAsync","(close)"))}),Z.on("error",(c)=>{if(c.code==="ENOENT")this._checkForMissingExecutable(G,v,A._name);else if(c.code==="EACCES")throw Error(`'${G}' not executable`);if(!D)y.exit(1);else{let u=new ZI(1,"commander.executeSubCommandAsync","(error)");u.nestedError=c,D(u)}}),this.runningCommand=Z}_dispatchSubcommand(A,g,I){let C=this._findCommand(A);if(!C)this.help({error:!0});C._prepareForParse();let b;return b=this._chainOrCallSubCommandHook(b,C,"preSubcommand"),b=this._chainOrCall(b,()=>{if(C._executableHandler)this._executeSubCommand(C,g.concat(I));else return C._parseCommand(g,I)}),b}_dispatchHelpCommand(A){if(!A)this.help();let g=this._findCommand(A);if(g&&!g._executableHandler)g.help();return this._dispatchSubcommand(A,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((A,g)=>{if(A.required&&this.args[g]==null)this.missingArgument(A.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let A=(I,C,b)=>{let G=C;if(C!==null&&I.parseArg){let v=`error: command-argument value '${C}' is invalid for argument '${I.name()}'.`;G=this._callParseArg(I,C,b,v)}return G};this._checkNumberOfArguments();let g=[];this.registeredArguments.forEach((I,C)=>{let b=I.defaultValue;if(I.variadic){if(C<this.args.length){if(b=this.args.slice(C),I.parseArg)b=b.reduce((G,v)=>{return A(I,v,G)},I.defaultValue)}else if(b===void 0)b=[]}else if(C<this.args.length){if(b=this.args[C],I.parseArg)b=A(I,b,I.defaultValue)}g[C]=b}),this.processedArgs=g}_chainOrCall(A,g){if(A?.then&&typeof A.then==="function")return A.then(()=>g());return g()}_chainOrCallHooks(A,g){let I=A,C=[];if(this._getCommandAndAncestors().reverse().filter((b)=>b._lifeCycleHooks[g]!==void 0).forEach((b)=>{b._lifeCycleHooks[g].forEach((G)=>{C.push({hookedCommand:b,callback:G})})}),g==="postAction")C.reverse();return C.forEach((b)=>{I=this._chainOrCall(I,()=>{return b.callback(b.hookedCommand,this)})}),I}_chainOrCallSubCommandHook(A,g,I){let C=A;if(this._lifeCycleHooks[I]!==void 0)this._lifeCycleHooks[I].forEach((b)=>{C=this._chainOrCall(C,()=>{return b(this,g)})});return C}_parseCommand(A,g){let I=this.parseOptions(g);if(this._parseOptionsEnv(),this._parseOptionsImplied(),A=A.concat(I.operands),g=I.unknown,this.args=A.concat(g),A&&this._findCommand(A[0]))return this._dispatchSubcommand(A[0],A.slice(1),g);if(this._getHelpCommand()&&A[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(A[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(g),this._dispatchSubcommand(this._defaultCommandName,A,g);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(I.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let C=()=>{if(I.unknown.length>0)this.unknownOption(I.unknown[0])},b=`command:${this.name()}`;if(this._actionHandler){C(),this._processArguments();let G;if(G=this._chainOrCallHooks(G,"preAction"),G=this._chainOrCall(G,()=>this._actionHandler(this.processedArgs)),this.parent)G=this._chainOrCall(G,()=>{this.parent.emit(b,A,g)});return G=this._chainOrCallHooks(G,"postAction"),G}if(this.parent?.listenerCount(b))C(),this._processArguments(),this.parent.emit(b,A,g);else if(A.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",A,g);if(this.listenerCount("command:*"))this.emit("command:*",A,g);else if(this.commands.length)this.unknownCommand();else C(),this._processArguments()}else if(this.commands.length)C(),this.help({error:!0});else C(),this._processArguments()}_findCommand(A){if(!A)return;return this.commands.find((g)=>g._name===A||g._aliases.includes(A))}_findOption(A){return this.options.find((g)=>g.is(A))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((A)=>{A.options.forEach((g)=>{if(g.mandatory&&A.getOptionValue(g.attributeName())===void 0)A.missingMandatoryOptionValue(g)})})}_checkForConflictingLocalOptions(){let A=this.options.filter((I)=>{let C=I.attributeName();if(this.getOptionValue(C)===void 0)return!1;return this.getOptionValueSource(C)!=="default"});A.filter((I)=>I.conflictsWith.length>0).forEach((I)=>{let C=A.find((b)=>I.conflictsWith.includes(b.attributeName()));if(C)this._conflictingOption(I,C)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((A)=>{A._checkForConflictingLocalOptions()})}parseOptions(A){let g=[],I=[],C=g;function b(c){return c.length>1&&c[0]==="-"}let G=(c)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(c))return!1;return!this._getCommandAndAncestors().some((u)=>u.options.map((B)=>B.short).some((B)=>/^-\d$/.test(B)))},v=null,Z=null,D=0;while(D<A.length||Z){let c=Z??A[D++];if(Z=null,c==="--"){if(C===I)C.push(c);C.push(...A.slice(D));break}if(v&&(!b(c)||G(c))){this.emit(`option:${v.name()}`,c);continue}if(v=null,b(c)){let u=this._findOption(c);if(u){if(u.required){let B=A[D++];if(B===void 0)this.optionMissingArgument(u);this.emit(`option:${u.name()}`,B)}else if(u.optional){let B=null;if(D<A.length&&(!b(A[D])||G(A[D])))B=A[D++];this.emit(`option:${u.name()}`,B)}else this.emit(`option:${u.name()}`);v=u.variadic?u:null;continue}}if(c.length>2&&c[0]==="-"&&c[1]!=="-"){let u=this._findOption(`-${c[1]}`);if(u){if(u.required||u.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${u.name()}`,c.slice(2));else this.emit(`option:${u.name()}`),Z=`-${c.slice(2)}`;continue}}if(/^--[^=]+=/.test(c)){let u=c.indexOf("="),B=this._findOption(c.slice(0,u));if(B&&(B.required||B.optional)){this.emit(`option:${B.name()}`,c.slice(u+1));continue}}if(C===g&&b(c)&&!(this.commands.length===0&&G(c)))C=I;if((this._enablePositionalOptions||this._passThroughOptions)&&g.length===0&&I.length===0){if(this._findCommand(c)){g.push(c),I.push(...A.slice(D));break}else if(this._getHelpCommand()&&c===this._getHelpCommand().name()){g.push(c,...A.slice(D));break}else if(this._defaultCommandName){I.push(c,...A.slice(D));break}}if(this._passThroughOptions){C.push(c,...A.slice(D));break}C.push(c)}return{operands:g,unknown:I}}opts(){if(this._storeOptionsAsProperties){let A={},g=this.options.length;for(let I=0;I<g;I++){let C=this.options[I].attributeName();A[C]=C===this._versionOptionName?this._version:this[C]}return A}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((A,g)=>Object.assign(A,g.opts()),{})}error(A,g){if(this._outputConfiguration.outputError(`${A}
|
|
23
|
+
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
24
|
+
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
|
|
25
|
+
`),this.outputHelp({error:!0});let I=g||{},C=I.exitCode||1,b=I.code||"commander.error";this._exit(C,b,A)}_parseOptionsEnv(){this.options.forEach((A)=>{if(A.envVar&&A.envVar in y.env){let g=A.attributeName();if(this.getOptionValue(g)===void 0||["default","config","env"].includes(this.getOptionValueSource(g)))if(A.required||A.optional)this.emit(`optionEnv:${A.name()}`,y.env[A.envVar]);else this.emit(`optionEnv:${A.name()}`)}})}_parseOptionsImplied(){let A=new eG(this.options),g=(I)=>{return this.getOptionValue(I)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(I))};this.options.filter((I)=>I.implied!==void 0&&g(I.attributeName())&&A.valueFromOption(this.getOptionValue(I.attributeName()),I)).forEach((I)=>{Object.keys(I.implied).filter((C)=>!g(C)).forEach((C)=>{this.setOptionValueWithSource(C,I.implied[C],"implied")})})}missingArgument(A){let g=`error: missing required argument '${A}'`;this.error(g,{code:"commander.missingArgument"})}optionMissingArgument(A){let g=`error: option '${A.flags}' argument missing`;this.error(g,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(A){let g=`error: required option '${A.flags}' not specified`;this.error(g,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(A,g){let I=(G)=>{let v=G.attributeName(),Z=this.getOptionValue(v),D=this.options.find((u)=>u.negate&&v===u.attributeName()),c=this.options.find((u)=>!u.negate&&v===u.attributeName());if(D&&(D.presetArg===void 0&&Z===!1||D.presetArg!==void 0&&Z===D.presetArg))return D;return c||G},C=(G)=>{let v=I(G),Z=v.attributeName();if(this.getOptionValueSource(Z)==="env")return`environment variable '${v.envVar}'`;return`option '${v.flags}'`},b=`error: ${C(A)} cannot be used with ${C(g)}`;this.error(b,{code:"commander.conflictingOption"})}unknownOption(A){if(this._allowUnknownOption)return;let g="";if(A.startsWith("--")&&this._showSuggestionAfterError){let C=[],b=this;do{let G=b.createHelp().visibleOptions(b).filter((v)=>v.long).map((v)=>v.long);C=C.concat(G),b=b.parent}while(b&&!b._enablePositionalOptions);g=cC(A,C)}let I=`error: unknown option '${A}'${g}`;this.error(I,{code:"commander.unknownOption"})}_excessArguments(A){if(this._allowExcessArguments)return;let g=this.registeredArguments.length,I=g===1?"":"s",b=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${g} argument${I} but got ${A.length}.`;this.error(b,{code:"commander.excessArguments"})}unknownCommand(){let A=this.args[0],g="";if(this._showSuggestionAfterError){let C=[];this.createHelp().visibleCommands(this).forEach((b)=>{if(C.push(b.name()),b.alias())C.push(b.alias())}),g=cC(A,C)}let I=`error: unknown command '${A}'${g}`;this.error(I,{code:"commander.unknownCommand"})}version(A,g,I){if(A===void 0)return this._version;this._version=A,g=g||"-V, --version",I=I||"output the version number";let C=this.createOption(g,I);return this._versionOptionName=C.attributeName(),this._registerOption(C),this.on("option:"+C.name(),()=>{this._outputConfiguration.writeOut(`${A}
|
|
26
|
+
`),this._exit(0,"commander.version",A)}),this}description(A,g){if(A===void 0&&g===void 0)return this._description;if(this._description=A,g)this._argsDescription=g;return this}summary(A){if(A===void 0)return this._summary;return this._summary=A,this}alias(A){if(A===void 0)return this._aliases[0];let g=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)g=this.commands[this.commands.length-1];if(A===g._name)throw Error("Command alias can't be the same as its name");let I=this.parent?._findCommand(A);if(I){let C=[I.name()].concat(I.aliases()).join("|");throw Error(`cannot add alias '${A}' to command '${this.name()}' as already have command '${C}'`)}return g._aliases.push(A),this}aliases(A){if(A===void 0)return this._aliases;return A.forEach((g)=>this.alias(g)),this}usage(A){if(A===void 0){if(this._usage)return this._usage;let g=this.registeredArguments.map((I)=>{return pG(I)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?g:[]).join(" ")}return this._usage=A,this}name(A){if(A===void 0)return this._name;return this._name=A,this}helpGroup(A){if(A===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=A,this}commandsGroup(A){if(A===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=A,this}optionsGroup(A){if(A===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=A,this}_initOptionGroup(A){if(this._defaultOptionGroup&&!A.helpGroupHeading)A.helpGroup(this._defaultOptionGroup)}_initCommandGroup(A){if(this._defaultCommandGroup&&!A.helpGroup())A.helpGroup(this._defaultCommandGroup)}nameFromFilename(A){return this._name=wA.basename(A,wA.extname(A)),this}executableDir(A){if(A===void 0)return this._executableDir;return this._executableDir=A,this}helpInformation(A){let g=this.createHelp(),I=this._getOutputContext(A);g.prepareContext({error:I.error,helpWidth:I.helpWidth,outputHasColors:I.hasColors});let C=g.formatHelp(this,g);if(I.hasColors)return C;return this._outputConfiguration.stripColor(C)}_getOutputContext(A){A=A||{};let g=!!A.error,I,C,b;if(g)I=(v)=>this._outputConfiguration.writeErr(v),C=this._outputConfiguration.getErrHasColors(),b=this._outputConfiguration.getErrHelpWidth();else I=(v)=>this._outputConfiguration.writeOut(v),C=this._outputConfiguration.getOutHasColors(),b=this._outputConfiguration.getOutHelpWidth();return{error:g,write:(v)=>{if(!C)v=this._outputConfiguration.stripColor(v);return I(v)},hasColors:C,helpWidth:b}}outputHelp(A){let g;if(typeof A==="function")g=A,A=void 0;let I=this._getOutputContext(A),C={error:I.error,write:I.write,command:this};this._getCommandAndAncestors().reverse().forEach((G)=>G.emit("beforeAllHelp",C)),this.emit("beforeHelp",C);let b=this.helpInformation({error:I.error});if(g){if(b=g(b),typeof b!=="string"&&!Buffer.isBuffer(b))throw Error("outputHelp callback must return a string or a Buffer")}if(I.write(b),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",C),this._getCommandAndAncestors().forEach((G)=>G.emit("afterAllHelp",C))}helpOption(A,g){if(typeof A==="boolean"){if(A){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(A??"-h, --help",g??"display help for command"),A||g)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(A){return this._helpOption=A,this._initOptionGroup(A),this}help(A){this.outputHelp(A);let g=Number(y.exitCode??0);if(g===0&&A&&typeof A!=="function"&&A.error)g=1;this._exit(g,"commander.help","(outputHelp)")}addHelpText(A,g){let I=["beforeAll","before","after","afterAll"];if(!I.includes(A))throw Error(`Unexpected value for position to addHelpText.
|
|
27
|
+
Expecting one of '${I.join("', '")}'`);let C=`${A}Help`;return this.on(C,(b)=>{let G;if(typeof g==="function")G=g({error:b.error,command:b.command});else G=g;if(G)b.write(`${G}
|
|
28
|
+
`)}),this}_outputHelpIfRequested(A){let g=this._getHelpOption();if(g&&A.find((C)=>g.is(C)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function uC(A){return A.map((g)=>{if(!g.startsWith("--inspect"))return g;let I,C="127.0.0.1",b="9229",G;if((G=g.match(/^(--inspect(-brk)?)$/))!==null)I=G[1];else if((G=g.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(I=G[1],/^\d+$/.test(G[3]))b=G[3];else C=G[3];else if((G=g.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)I=G[1],C=G[3],b=G[4];if(I&&b!=="0")return`${I}=${C}:${parseInt(b)+1}`;return g})}function DI(){if(y.env.NO_COLOR||y.env.FORCE_COLOR==="0"||y.env.FORCE_COLOR==="false")return!1;if(y.env.FORCE_COLOR||y.env.CLICOLOR_FORCE!==void 0)return!0;return}rG.Command=cI;rG.useColor=DI});var dC=VA((I9)=>{var{Argument:lC}=Bg(),{Command:uI}=BC(),{CommanderError:A9,InvalidArgumentError:NC}=rA(),{Help:g9}=bI(),{Option:WC}=GI();I9.program=new uI;I9.createCommand=(A)=>new uI(A);I9.createOption=(A,g)=>new WC(A,g);I9.createArgument=(A,g)=>new lC(A,g);I9.Command=uI;I9.Option=WC;I9.Argument=lC;I9.Help=g9;I9.CommanderError=A9;I9.InvalidArgumentError=NC;I9.InvalidOptionArgumentError=NC});var K,i;var f=UA(()=>{K={MINIKIT_VERSION_MISSING:"MINIKIT_VERSION is not set. Every production build must inject it (see build.ts).",PLUGIN_INVALID:"Invalid plugin: id, name, version are required non-empty strings.",MANIFEST_INVALID_CORRUPTED:"Cannot determine project CLI version from manifest. The .minikit.json file may be corrupted \u2014 restore it from version control.",MANIFEST_INVALID_SCHEMA:(A,g,I)=>`Invalid .minikit.json at "${A}": expected ${g}, got ${I}`,NOT_A_MINIAPP_PROJECT:(A)=>`"${A}" doesn't look like a miniapp project. Run this command from a project root.`,PLUGIN_API_INCOMPATIBLE:(A,g,I)=>`Plugin "${A}" targets apiVersion ${g} but this CLI supports up to ${I}.`,EMBEDDED_FILE_MISSING:(A)=>`Embedded file not found: ${A}`,INVALID_VERSION:(A)=>`Invalid version: "${A}"`,ALREADY_INSTALLED:(A)=>`${A} is already installed in this project (see .minikit.json features). Remove it manually before re-adding.`,CREATE_INVALID_PROJECT_NAME_SEPARATORS:"Project name cannot include path separators.",CREATE_INVALID_PROJECT_NAME_ALPHANUMERIC:"Project name must contain alphanumeric characters.",CREATE_DIR_EXISTS:(A)=>`Directory "${A}" already exists. Choose a different project name or remove that directory first.`,CREATE_PARENT_DIR_INVALID:(A)=>`Parent directory does not exist or is not writable: ${A}`},i={MINIKIT_VERSION_MISSING:"MINIKIT_VERSION_MISSING",NOT_A_MINIAPP_PROJECT:"NOT_A_MINIAPP_PROJECT",PLUGIN_INVALID:"PLUGIN_INVALID",PLUGIN_API_INCOMPATIBLE:"PLUGIN_API_INCOMPATIBLE",MANIFEST_INVALID:"MANIFEST_INVALID",EMBEDDED_FILE_MISSING:"EMBEDDED_FILE_MISSING",INVALID_VERSION:"INVALID_VERSION",CREATE_MISSING_PROJECT_NAME:"CREATE_MISSING_PROJECT_NAME",CREATE_INVALID_PROJECT_NAME:"CREATE_INVALID_PROJECT_NAME",CREATE_DIR_EXISTS:"CREATE_DIR_EXISTS",CREATE_PARENT_DIR_INVALID:"CREATE_PARENT_DIR_INVALID",MIGRATE_INVALID_TARGET:"MIGRATE_INVALID_TARGET",MIGRATE_REVERTED:"MIGRATE_REVERTED",MIGRATE_RESTORE_FAILED:"MIGRATE_RESTORE_FAILED",FEATURE_ALREADY_INSTALLED:"FEATURE_ALREADY_INSTALLED",LITMUS_MISSING_PREFIX:"LITMUS_MISSING_PREFIX"}});function _A(A){return A instanceof P}var F,P;var s=UA(()=>{F={ERROR:1,USAGE:2,CANCELLED:130};P=class P extends Error{code;exitCode;constructor(A){super(A.message,A.cause!==void 0?{cause:A.cause}:void 0);this.name="MinikitError",this.code=A.code,this.exitCode=A.exitCode??F.ERROR}}});import{mkdir as y9}from"fs/promises";import{dirname as R9}from"path";var{file:hC,write:QC}=globalThis.Bun;function t(A){return A!==null&&typeof A==="object"&&"code"in A&&A.code==="ENOENT"}async function ZA(A){return hC(A).json()}async function OA(A,g){await QC(A,`${JSON.stringify(g,null,2)}
|
|
29
|
+
`)}async function YA(A){return hC(A).text()}async function q(A,g){await QC(A,g)}async function oC(A){await y9(R9(A),{recursive:!0})}var CA=()=>{};import{join as k9}from"path";var{write:n9}=globalThis.Bun;async function xA(A,g){await Promise.all(Object.entries(A).map(async([I,C])=>{let b=k9(g,I);await oC(b),await n9(b,Buffer.from(C,"base64"))}))}function e(A,g){let I=A[g];if(I===void 0)throw new P({code:i.EMBEDDED_FILE_MISSING,message:K.EMBEDDED_FILE_MISSING(g)});return Buffer.from(I,"base64").toString("utf8")}var zA=UA(()=>{f();s();CA()});var iI;var pC=UA(()=>{iI={"navbar.tsx":"aW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAiQGFzcGhhbHQtcmVhY3QvYnV0dG9uIjsKaW1wb3J0IHsgQWRkRmlsbCB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L2ljb25wYWNrLWFsb2hhIjsKaW1wb3J0IHsgVGV4dCB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L3R5cG9ncmFwaHkiOwppbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gInJlYWN0IjsKCmltcG9ydCB7IGNsb3NlTWluaWFwcCB9IGZyb20gIkAvYnJpZGdlIjsKCnR5cGUgTmF2QmFyUHJvcHMgPSB7CiAgdGl0bGU6IHN0cmluZzsKfTsKCmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE5hdkJhcih7IHRpdGxlIH06IE5hdkJhclByb3BzKSB7CiAgY29uc3QgaGFuZGxlQ2xvc2VNaW5pYXBwID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4gewogICAgdHJ5IHsKICAgICAgYXdhaXQgY2xvc2VNaW5pYXBwKCk7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY2xvc2UgbWluaWFwcDoiLCBlcnJvcik7CiAgICB9CiAgfSwgW10pOwoKICBjb25zdCBvbkNsb3NlQ2xpY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7CiAgICBoYW5kbGVDbG9zZU1pbmlhcHAoKTsKICB9LCBbaGFuZGxlQ2xvc2VNaW5pYXBwXSk7CgogIHJldHVybiAoCiAgICA8bmF2IGNsYXNzTmFtZT0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0yIj4KICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXgtMSI+CiAgICAgICAgPFRleHQgc2l6ZT0ibSIgYm9sZD4KICAgICAgICAgIHt0aXRsZX0KICAgICAgICA8L1RleHQ+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCI+CiAgICAgICAgPEJ1dHRvbiBjb21wYWN0IHNpemU9InMiIG51ZGUgc3lzdGVtIG9uQ2xpY2s9e29uQ2xvc2VDbGlja30+CiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9InJvdGF0ZS00NSBweC0xLjUiPgogICAgICAgICAgICA8QWRkRmlsbCAvPgogICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvQnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvbmF2PgogICk7Cn0K","main.tsx":"aW1wb3J0IHsgVGhlbWVQcm92aWRlciB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L3RoZW1lLXByb3ZpZGVyIjsKaW1wb3J0IHsgX19BU1BIQUxUX1RIRU1FX18gfSBmcm9tICJAZ29qZWsvdGhlbWUtYXNwaGFsdC13ZWItX19BU1BIQUxUX1RIRU1FX18iOwppbXBvcnQgewogIGNyZWF0ZUhhc2hIaXN0b3J5LAogIGNyZWF0ZVJvdXRlciwKICBSb3V0ZXJQcm92aWRlciwKfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgU3RyaWN0TW9kZSB9IGZyb20gInJlYWN0IjsKaW1wb3J0IFJlYWN0RE9NIGZyb20gInJlYWN0LWRvbS9jbGllbnQiOwoKaW1wb3J0IHsKICBnZXRDb250ZXh0IGFzIGdldFRhblN0YWNrUXVlcnlQcm92aWRlckNvbnRleHQsCiAgUHJvdmlkZXIgYXMgVGFuU3RhY2tRdWVyeVByb3ZpZGVyLAp9IGZyb20gIkAvY29udGV4dC90YW5zdGFjay1xdWVyeSI7CmltcG9ydCB7IGluaXRpYWxpemVPYnNlcnZhYmlsaXR5IH0gZnJvbSAiQC9vYnNlcnZhYmlsaXR5IjsKaW1wb3J0IHsgcm91dGVUcmVlIH0gZnJvbSAiQC9wYWdlcy9yb3V0ZXMiOwppbXBvcnQgIkAvc3R5bGVzLmNzcyI7CgppbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICJAL2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkiOwoKLy8gQHRzLWV4cGVjdC1lcnJvciBuZXh0LWxpbmUgbm8taW1wb3J0LXNpZGUtZWZmZWN0CmltcG9ydCgiQGdvamVrL3R5cGVmYWNlLXJ1cGEiKS5jYXRjaCgoZXJyKSA9PiB7CiAgY29uc29sZS5lcnJvcigiZm9udHMgZmFpbGVkIHRvIGxvYWQiLCBlcnIpOwp9KTsKCmNvbnN0IFRhblN0YWNrUXVlcnlQcm92aWRlckNvbnRleHQgPSBnZXRUYW5TdGFja1F1ZXJ5UHJvdmlkZXJDb250ZXh0KCk7CmNvbnN0IGhhc2hIaXN0b3J5ID0gY3JlYXRlSGFzaEhpc3RvcnkoKTsKY29uc3Qgcm91dGVyID0gY3JlYXRlUm91dGVyKHsKICByb3V0ZVRyZWUsCiAgaGlzdG9yeTogaGFzaEhpc3RvcnksCiAgY29udGV4dDogewogICAgLi4uVGFuU3RhY2tRdWVyeVByb3ZpZGVyQ29udGV4dCwKICB9LAogIGRlZmF1bHRQcmVsb2FkOiAiaW50ZW50IiwKICBzY3JvbGxSZXN0b3JhdGlvbjogdHJ1ZSwKICBkZWZhdWx0U3RydWN0dXJhbFNoYXJpbmc6IHRydWUsCiAgZGVmYXVsdFByZWxvYWRTdGFsZVRpbWU6IDAsCn0pOwpkZWNsYXJlIG1vZHVsZSAiQHRhbnN0YWNrL3JlYWN0LXJvdXRlciIgewogIC8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZUNvbnNpc3RlbnRUeXBlRGVmaW5pdGlvbnM6IFJlZ2lzdGVyIG11c3QgYmUgYW4gaW50ZXJmYWNlIGZvciBkZWNsYXJhdGlvbiBtZXJnaW5nCiAgaW50ZXJmYWNlIFJlZ2lzdGVyIHsKICAgIHJvdXRlcjogdHlwZW9mIHJvdXRlcjsKICB9Cn0KCmNvbnN0IHJvb3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpOwppZiAocm9vdEVsZW1lbnQgJiYgIXJvb3RFbGVtZW50LmlubmVySFRNTCkgewogIGNvbnN0IHJvb3QgPSBSZWFjdERPTS5jcmVhdGVSb290KHJvb3RFbGVtZW50KTsKCiAgcm9vdC5yZW5kZXIoCiAgICA8U3RyaWN0TW9kZT4KICAgICAgPEVycm9yQm91bmRhcnk+CiAgICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e19fQVNQSEFMVF9USEVNRV9ffT4KICAgICAgICAgIDxUYW5TdGFja1F1ZXJ5UHJvdmlkZXIgey4uLlRhblN0YWNrUXVlcnlQcm92aWRlckNvbnRleHR9PgogICAgICAgICAgICA8Um91dGVyUHJvdmlkZXIgcm91dGVyPXtyb3V0ZXJ9IC8+CiAgICAgICAgICA8L1RhblN0YWNrUXVlcnlQcm92aWRlcj4KICAgICAgICA8L1RoZW1lUHJvdmlkZXI+CiAgICAgIDwvRXJyb3JCb3VuZGFyeT4KICAgIDwvU3RyaWN0TW9kZT4sCiAgKTsKfQoKLy8gSW5pdGlhbGl6ZSBvYnNlcnZhYmlsaXR5IChHcmFmYW5hIEZhcm8vU2VudHJ5L2V0Yy4pCmluaXRpYWxpemVPYnNlcnZhYmlsaXR5KCk7Cg==","auth-home.tsx":"aW1wb3J0IHR5cGUgeyBDaGFuZ2VFdmVudCB9IGZyb20gInJlYWN0IjsKCmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L2J1dHRvbiI7CmltcG9ydCB7IENhcmQgfSBmcm9tICJAYXNwaGFsdC1yZWFjdC9jYXJkIjsKaW1wb3J0IHsgUGxheSB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L2ljb25wYWNrLWFsb2hhIjsKaW1wb3J0IHsgRGlzcGxheSwgVGV4dCB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L3R5cG9ncmFwaHkiOwppbXBvcnQgeyBjcmVhdGVMYXp5Um91dGUsIExpbmsgfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gInJlYWN0IjsKCmltcG9ydCB7IGdldFN5c3RlbUluZm8gfSBmcm9tICJAL2JyaWRnZSI7CmltcG9ydCBOYXZCYXIgZnJvbSAiQC9jb21wb25lbnRzL25hdmJhciI7CmltcG9ydCB7IGZldGNoVXNlckRhdGEgfSBmcm9tICJAL2FwaS9mZXRjaC11c2VyLWRhdGEiOwppbXBvcnQgdHlwZSB7IFVzZXJEYXRhIH0gZnJvbSAiQC9hcGkvZmV0Y2gtdXNlci1kYXRhIjsKaW1wb3J0IHsgdXNlQXV0aENvZGUgfSBmcm9tICJAL2hvb2tzL3VzZUF1dGhDb2RlIjsKCmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEhvbWUoKSB7CiAgY29uc3QgeyBhdXRoQ29kZSwgaXNMb2FkaW5nOiBhdXRoTG9hZGluZyB9ID0gdXNlQXV0aENvZGUoKTsKICBjb25zdCBbdXNlckRhdGEsIHNldFVzZXJEYXRhXSA9IHVzZVN0YXRlPFVzZXJEYXRhIHwgbnVsbD4obnVsbCk7CiAgY29uc3QgW2FwaUxvYWRpbmcsIHNldEFwaUxvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpOwoKICB1c2VFZmZlY3QoKCkgPT4gewogICAgaWYgKCFhdXRoQ29kZSkgcmV0dXJuOwogICAgc2V0QXBpTG9hZGluZyh0cnVlKTsKICAgIGZldGNoVXNlckRhdGEoYXV0aENvZGUpCiAgICAgIC50aGVuKHNldFVzZXJEYXRhKQogICAgICAuZmluYWxseSgoKSA9PiBzZXRBcGlMb2FkaW5nKGZhbHNlKSk7CiAgfSwgW2F1dGhDb2RlXSk7CgogIGNvbnN0IGhhbmRsZXJzID0gWwogICAgewogICAgICBrZXk6ICJnZXRTeXN0ZW1JbmZvIiwKICAgICAgdGl0bGU6ICJnZXRTeXN0ZW1JbmZvIiwKICAgICAgZm46IGdldFN5c3RlbUluZm8sCiAgICB9LAogIF0gYXMgY29uc3Q7CgogIGNvbnN0IGRlZmF1bHRIYW5kbGVyID0gaGFuZGxlcnNbMF0hOwogIGNvbnN0IFtzZWxlY3RlZEhhbmRsZXJLZXksIHNldFNlbGVjdGVkSGFuZGxlcktleV0gPSB1c2VTdGF0ZTwKICAgICh0eXBlb2YgaGFuZGxlcnMpW251bWJlcl1bImtleSJdCiAgPihkZWZhdWx0SGFuZGxlci5rZXkpOwoKICBjb25zdCBbcnVuU3RhdGUsIHNldFJ1blN0YXRlXSA9IHVzZVN0YXRlPAogICAgImlkbGUiIHwgImxvYWRpbmciIHwgInN1Y2Nlc3MiIHwgImVycm9yIgogID4oImlkbGUiKTsKCiAgY29uc3QgW3Jlc3BvbnNlVGV4dCwgc2V0UmVzcG9uc2VUZXh0XSA9IHVzZVN0YXRlKAogICAgJ3tcbiAgIm1lc3NhZ2UiOiAiUnVuIGhhbmRsZXIgdG8gc2VlIHJlc3BvbnNlIlxufScsCiAgKTsKCiAgY29uc3Qgc2VsZWN0ZWRIYW5kbGVyID0KICAgIGhhbmRsZXJzLmZpbmQoKGl0ZW0pID0+IGl0ZW0ua2V5ID09PSBzZWxlY3RlZEhhbmRsZXJLZXkpIHx8IGRlZmF1bHRIYW5kbGVyOwoKICBjb25zdCBvblJ1bkhhbmRsZXIgPSBhc3luYyAoKSA9PiB7CiAgICBzZXRSdW5TdGF0ZSgibG9hZGluZyIpOwogICAgdHJ5IHsKICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZWxlY3RlZEhhbmRsZXIuZm4oKTsKICAgICAgY29uc3QgdGV4dCA9IEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLCBudWxsLCAyKTsKICAgICAgc2V0UmVzcG9uc2VUZXh0KHRleHQgPz8gU3RyaW5nKHJlc3BvbnNlKSk7CiAgICAgIHNldFJ1blN0YXRlKCJzdWNjZXNzIik7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBjb25zdCB0ZXh0ID0KICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yCiAgICAgICAgICA/IEpTT04uc3RyaW5naWZ5KAogICAgICAgICAgICAgIHsgbmFtZTogZXJyb3IubmFtZSwgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB9LAogICAgICAgICAgICAgIG51bGwsCiAgICAgICAgICAgICAgMiwKICAgICAgICAgICAgKQogICAgICAgICAgOiBKU09OLnN0cmluZ2lmeShlcnJvciwgbnVsbCwgMik7CiAgICAgIHNldFJlc3BvbnNlVGV4dCh0ZXh0ID8/IFN0cmluZyhlcnJvcikpOwogICAgICBzZXRSdW5TdGF0ZSgiZXJyb3IiKTsKICAgIH0KICB9OwoKICBjb25zdCBhcHBUaXRsZSA9IGltcG9ydC5tZXRhLmVudi5WSVRFX0FQUF9USVRMRSB8fCAiTWluaUFwcCBIb21lIjsKCiAgaWYgKGF1dGhMb2FkaW5nIHx8IGFwaUxvYWRpbmcpIHsKICAgIHJldHVybiAoCiAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IG1pbi1oLXN2aCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTQiPgogICAgICAgIDxkaXYgY2xhc3NOYW1lPSJoLTEwIHctMTAgYW5pbWF0ZS1zcGluIHJvdW5kZWQtZnVsbCBib3JkZXItNCBib3JkZXItc2xhdGUtMjAwIGJvcmRlci10LXNsYXRlLTkwMCIgLz4KICAgICAgICA8cCBjbGFzc05hbWU9InRleHQtc20gdGV4dC1zbGF0ZS01MDAiPgogICAgICAgICAge2F1dGhMb2FkaW5nID8gIkF1dGhlbnRpY2F0aW5n4oCmIiA6ICJMb2FkaW5nIHlvdXIgZGF0YeKApiJ9CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICk7CiAgfQoKICByZXR1cm4gKAogICAgPD4KICAgICAgPGhlYWRlcj4KICAgICAgICA8TmF2QmFyIHRpdGxlPXthcHBUaXRsZX0gLz4KICAgICAgPC9oZWFkZXI+CgogICAgICA8bWFpbiBjbGFzc05hbWU9Im14LWF1dG8gZ3JpZCBtYXgtdy1bOTIwcHhdIGdhcC00IHAtNCI+CiAgICAgICAgPENhcmQgc2l6ZT0icyI+CiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZ3JpZCBnYXAtMyI+CiAgICAgICAgICAgIDxEaXNwbGF5IHNpemU9ImwiPgogICAgICAgICAgICAgIFlvdXIgPHNwYW4gY2xhc3NOYW1lPSJ0ZXh0LXN0YXRpYy1zdXJmYWNlLWJyYW5kIj5NaW5pQXBwPC9zcGFuPiBpcwogICAgICAgICAgICAgIFJlYWR5IPCfmoAKICAgICAgICAgICAgPC9EaXNwbGF5PgogICAgICAgICAgICA8VGV4dCBzaXplPSJzIj4KICAgICAgICAgICAgICBTaGlwIHByb2R1Y3Rpb24gcmVhZHkgTWluaUFwcHMgd2l0aCBldmVyeXRoaW5nIGFscmVhZHkgd2lyZWQgdXAuCiAgICAgICAgICAgICAgSlNBUEkgQnJpZGdlLCBBbmFseXRpY3MsIEZlYXR1cmUgRmxhZ3MsIE9ic2VydmFiaWxpdHksIFBlcmZvcm1hbmNlCiAgICAgICAgICAgICAgTW9uaXRvcmluZyBhbmQgbW9yZSDigJQgcHJlLWNvbmZpZ3VyZWQgc28geW91IGNhbiBmb2N1cyBvbiBidWlsZGluZwogICAgICAgICAgICAgIGV4cGVyaWVuY2VzLCBub3Qgc2V0dXAuCiAgICAgICAgICAgIDwvVGV4dD4KICAgICAgICAgICAgPENhcmQgc2l6ZT0ieHMiIHdhcm5pbmcgb3V0bGluZWQ+CiAgICAgICAgICAgICAgPFRleHQgc2l6ZT0icyI+CiAgICAgICAgICAgICAgICDinI/vuI8gRWRpdHsiICJ9CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9InJvdW5kZWQgYmctZ3JlZW4tNTAgcHgtMSBmb250LWJvbGQgdGV4dC1zdGF0aWMtc3VyZmFjZS1icmFuZCI+CiAgICAgICAgICAgICAgICAgIHNyYy9wYWdlcy9ob21lLnRzeAogICAgICAgICAgICAgICAgPC9zcGFuPnsiICJ9CiAgICAgICAgICAgICAgICB0byBidWlsZCB5b3VyIGZpcnN0IHNjcmVlbi4KICAgICAgICAgICAgICA8L1RleHQ+CiAgICAgICAgICAgIDwvQ2FyZD4KICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZmxleC13cmFwIGdhcC0yLjUiPgogICAgICAgICAgICAgIDxMaW5rIHRvPSIvZXhhbXBsZSI+CiAgICAgICAgICAgICAgICA8QnV0dG9uIHNpemU9InMiPkV4YW1wbGUgcGFnZTwvQnV0dG9uPgogICAgICAgICAgICAgIDwvTGluaz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L0NhcmQ+CgogICAgICAgIDxDYXJkIHNpemU9InMiPgogICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPSJncmlkIGdhcC0zIHAtMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTIiPgogICAgICAgICAgICAgIDxEaXNwbGF5IHNpemU9InMiPlNlc3Npb24gRGF0YTwvRGlzcGxheT4KICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9InJvdW5kZWQtbGcgYmctYW1iZXItMTAwIHB4LTIgcHktMC41IHRleHQteHMgZm9udC1ib2xkIHRleHQtYW1iZXItNzAwIj4KICAgICAgICAgICAgICAgIFBsYWNlaG9sZGVyCiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPFRleHQgc2l6ZT0icyI+CiAgICAgICAgICAgICAgVGhlc2UgYXJlIGR1bW15IHZhbHVlcyDigJQgcmVwbGFjZXsiICJ9CiAgICAgICAgICAgICAgPGNvZGUgY2xhc3NOYW1lPSJyb3VuZGVkIGJnLXNsYXRlLTEwMCBweC0xIHRleHQteHMiPmZldGNoVXNlckRhdGE8L2NvZGU+IHdpdGggeW91ciByZWFsIGJhY2tlbmQgY2FsbCB0byBwb3B1bGF0ZSB0aGlzIHNlY3Rpb24uCiAgICAgICAgICAgIDwvVGV4dD4KICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImdyaWQgZ2FwLTIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0zIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0idy0yOCBzaHJpbmstMCBwdC0xIHRleHQteHMgZm9udC1tZWRpdW0gdGV4dC1zbGF0ZS01MDAiPgogICAgICAgICAgICAgICAgICBBdXRoIENvZGUKICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxjb2RlIGNsYXNzTmFtZT0ibWluLXctMCBmbGV4LTEgYnJlYWstYWxsIHJvdW5kZWQtbGcgYmctc2xhdGUtMTAwIHB4LTIuNSBweS0xLjUgdGV4dC1bMC43OHJlbV0gdGV4dC1zbGF0ZS04MDAiPgogICAgICAgICAgICAgICAgICB7YXV0aENvZGV9CiAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggaXRlbXMtc3RhcnQgZ2FwLTMiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJ3LTI4IHNocmluay0wIHB0LTEgdGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXNsYXRlLTUwMCI+CiAgICAgICAgICAgICAgICAgIFVzZXIgSUQKICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxjb2RlIGNsYXNzTmFtZT0iZmxleC0xIHJvdW5kZWQtbGcgYmctc2xhdGUtMTAwIHB4LTIuNSBweS0xLjUgdGV4dC1bMC43OHJlbV0gdGV4dC1zbGF0ZS04MDAiPgogICAgICAgICAgICAgICAgICB7dXNlckRhdGE/LnVzZXJJZH0KICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBpdGVtcy1zdGFydCBnYXAtMyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9InctMjggc2hyaW5rLTAgcHQtMSB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtc2xhdGUtNTAwIj4KICAgICAgICAgICAgICAgICAgU2Vzc2lvbiBUb2tlbgogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPGNvZGUgY2xhc3NOYW1lPSJtaW4tdy0wIGZsZXgtMSBicmVhay1hbGwgcm91bmRlZC1sZyBiZy1zbGF0ZS0xMDAgcHgtMi41IHB5LTEuNSB0ZXh0LVswLjc4cmVtXSB0ZXh0LXNsYXRlLTgwMCI+CiAgICAgICAgICAgICAgICAgIHt1c2VyRGF0YT8uc2Vzc2lvblRva2VufQogICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L0NhcmQ+CgogICAgICAgIDxDYXJkIHNpemU9InMiPgogICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPSJncmlkIGdhcC0zIHAtMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0yIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0yIj4KICAgICAgICAgICAgICAgIDxEaXNwbGF5IHNpemU9InMiPlRyeSBhIEpTQVBJIEhhbmRsZXI8L0Rpc3BsYXk+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9InJvdW5kZWQtbGcgYmctYmx1ZS0xMDAgcHgtMiBweS0wLjUgdGV4dC14cyBmb250LWJvbGQgdGV4dC1ibHVlLTcwMCI+CiAgICAgICAgICAgICAgICAgIERlbW8KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8VGV4dCBzaXplPSJzIj4KICAgICAgICAgICAgICBTZWFtbGVzc2x5IGV4cGxvcmUgbmF0aXZlIGZlYXR1cmVzIHZpYSBKUyBoYW5kbGVycyBhbmQgZGlzY292ZXIKICAgICAgICAgICAgICBvdGhlciBoYW5kbGVycy4KICAgICAgICAgICAgPC9UZXh0PgoKICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZmxleC13cmFwIGdhcC0xIj4KICAgICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWRIYW5kbGVyS2V5fQogICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhldmVudDogQ2hhbmdlRXZlbnQ8SFRNTFNlbGVjdEVsZW1lbnQ+KSA9PgogICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZEhhbmRsZXJLZXkoCiAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlIGFzICh0eXBlb2YgaGFuZGxlcnMpW251bWJlcl1bImtleSJdLAogICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjbGFzc05hbWU9Im1pbi1oLTEwIGZsZXgtMSByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItc2xhdGUtMzAwIGJnLXdoaXRlIHB4LTIuNSB0ZXh0LXNtIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIHtoYW5kbGVycy5tYXAoKGhhbmRsZXIpID0+ICgKICAgICAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9e2hhbmRsZXIua2V5fSB2YWx1ZT17aGFuZGxlci5rZXl9PgogICAgICAgICAgICAgICAgICAgIHtoYW5kbGVyLnRpdGxlfQogICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICkpfQogICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgIDxCdXR0b24KICAgICAgICAgICAgICAgIHNpemU9InMiCiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblJ1bkhhbmRsZXJ9CiAgICAgICAgICAgICAgICBzeXN0ZW0KICAgICAgICAgICAgICAgIHF1YWxpZmllckVuZAogICAgICAgICAgICAgICAgcXVhbGlmaWVyPXs8UGxheSAvPn0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICBSdW4KICAgICAgICAgICAgICA8L0J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8Q2FyZAogICAgICAgICAgICAgIHNpemU9InhzIgogICAgICAgICAgICAgIG91dGxpbmVkCiAgICAgICAgICAgICAgc3VjY2Vzcz17cnVuU3RhdGUgPT09ICJzdWNjZXNzIn0KICAgICAgICAgICAgICBkYW5nZXI9e3J1blN0YXRlID09PSAiZXJyb3IifQogICAgICAgICAgICAgIGluZm89e3J1blN0YXRlICE9PSAic3VjY2VzcyIgJiYgcnVuU3RhdGUgIT09ICJlcnJvciJ9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8cHJlIGNsYXNzTmFtZT0ibS0wIHdoaXRlc3BhY2UtcHJlLXdyYXAgYnJlYWstYWxsIHRleHQtWzAuNzhyZW1dIGxlYWRpbmctcmVsYXhlZCI+CiAgICAgICAgICAgICAgICB7cmVzcG9uc2VUZXh0fQogICAgICAgICAgICAgIDwvcHJlPgogICAgICAgICAgICA8L0NhcmQ+CgogICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZ3JpZCBnYXAtMiI+PC9kaXY+CiAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPC9DYXJkPgoKICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9ImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTMgcC00Ij4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxEaXNwbGF5IHNpemU9InMiIG11dGVkPgogICAgICAgICAgICAgIPCfm6DvuI8gWW91ciB0dXJuIG5vdy4KICAgICAgICAgICAgPC9EaXNwbGF5PgogICAgICAgICAgICA8VGV4dCBzaXplPSJzIiBtdXRlZD4KICAgICAgICAgICAgICBUaGlzIGlzIGp1c3QgdGhlIHNjYWZmb2xkIOKAlCB0aGUgcmVhbCB3b3JrIHN0YXJ0cyBoZXJlLgogICAgICAgICAgICA8L1RleHQ+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgIDwvbWFpbj4KICAgIDwvPgogICk7Cn0KCmV4cG9ydCBjb25zdCBSb3V0ZSA9IGNyZWF0ZUxhenlSb3V0ZSgiLyIpKHsKICBjb21wb25lbnQ6IEhvbWUsCn0pOwo=","styles.css":"QGltcG9ydCAidGFpbHdpbmRjc3MiOwoKQHRoZW1lIHsKICAtLWNvbG9yLXN0YXRpYy1ib3JkZXItc2Vjb25kYXJ5OiAjZWJlY2VmOwogIC0tY29sb3Itc3RhdGljLXN1cmZhY2UtYnJhbmQ6ICMwMDg4MGQ7CiAgLS1jb2xvci1zdGF0aWMtc3VyZmFjZS1zZWNvbmRhcnk6ICNmNWY2Zjc7Cn0KCkBsYXllciBnb3RvLXRoZW1lIHsKICAjYXBwID4gZGl2IHsKICAgIC0tZ290by1zdGF0aWMtc3VyZmFjZS1wcmltYXJ5OiB2YXIoLS1zdGF0aWMtc3VyZmFjZS1wcmltYXJ5KTsKICAgIC0tZ290by1zdGF0aWMtc3VyZmFjZS10ZXJ0aWFyeTogdmFyKC0tc3RhdGljLXN1cmZhY2UtdGVydGlhcnkpOwogICAgLS1nb3RvLWNvbnRlbnQtcHJpbWFyeTogdmFyKC0tY29udGVudC1wcmltYXJ5KTsKICAgIC0tZ290by1yb3VuZG5lc3MtY29udGFpbmVyLU06IHZhcigtLXJvdW5kbmVzcy1jb250YWluZXItTSk7CiAgICAtLWdvdG8tc3RhdGljLWJvcmRlci1zZWNvbmRhcnk6IHZhcigtLXN0YXRpYy1ib3JkZXItc2Vjb25kYXJ5KTsKICAgIC0tZ290by1zaGFkb3ctbG93OiB2YXIoLS1zaGFkb3ctbG93KTsKICAgIC0tZ290by1wYWRkaW5nLVhTOiAxcmVtOwogIH0KfQoKQGxheWVyIGJhc2UgewogICNhcHAgPiBkaXYgewogICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWQpOwogICAgaGVpZ2h0OiAxMDB2aDsKICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87CiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgICBjb2xvcjogdmFyKC0tZ290by1jb250ZW50LXByaW1hcnkpOwogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ290by1zdGF0aWMtc3VyZmFjZS10ZXJ0aWFyeSk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICB9Cn0KCkBsYXllciBjb21wb25lbnRzIHsKICBoZWFkZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ290by1zdGF0aWMtc3VyZmFjZS1wcmltYXJ5KTsKICAgIHBhZGRpbmc6IHZhcigtLWdvdG8tcGFkZGluZy1YUyk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMXJlbTsKICB9CiAgbWFpbiB7CiAgICBmbGV4OiAxOwogICAgbWluLWhlaWdodDogMDsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgfQogIGZvb3RlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb3RvLXN0YXRpYy1zdXJmYWNlLXByaW1hcnkpOwogICAgYm94LXNoYWRvdzogdmFyKC0tZ290by1zaGFkb3ctbG93KTsKICB9Cn0K","home.tsx":"aW1wb3J0IHR5cGUgeyBDaGFuZ2VFdmVudCB9IGZyb20gInJlYWN0IjsKCmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L2J1dHRvbiI7CmltcG9ydCB7IENhcmQgfSBmcm9tICJAYXNwaGFsdC1yZWFjdC9jYXJkIjsKaW1wb3J0IHsgUGxheSB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L2ljb25wYWNrLWFsb2hhIjsKaW1wb3J0IHsgRGlzcGxheSwgVGV4dCB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L3R5cG9ncmFwaHkiOwppbXBvcnQgeyBjcmVhdGVMYXp5Um91dGUsIExpbmsgfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICJyZWFjdCI7CgppbXBvcnQgeyBjb3B5VG9DbGlwYm9hcmQsIGdldEF1dGhIZWFkZXJzLCBnZXRTeXN0ZW1JbmZvIH0gZnJvbSAiQC9icmlkZ2UiOwppbXBvcnQgTmF2QmFyIGZyb20gIkAvY29tcG9uZW50cy9uYXZiYXIiOwoKZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSG9tZSgpIHsKICBjb25zdCBoYW5kbGVycyA9IFsKICAgIHsKICAgICAga2V5OiAiY29weVRvQ2xpcGJvYXJkIiwKICAgICAgdGl0bGU6ICJjb3B5VG9DbGlwYm9hcmQiLAogICAgICBmbjogYXN5bmMgKCkgPT4gewogICAgICAgIHJldHVybiBhd2FpdCBjb3B5VG9DbGlwYm9hcmQoIkNvcGllZCBmcm9tIE1pbmlBcHAgc3RhcnRlciIpOwogICAgICB9LAogICAgfSwKICAgIHsKICAgICAga2V5OiAiZ2V0U3lzdGVtSW5mbyIsCiAgICAgIHRpdGxlOiAiZ2V0U3lzdGVtSW5mbyIsCiAgICAgIGZuOiBnZXRTeXN0ZW1JbmZvLAogICAgfSwKICAgIHsKICAgICAga2V5OiAiZ2V0QXV0aEhlYWRlcnMiLAogICAgICB0aXRsZTogImdldEF1dGhIZWFkZXJzIiwKICAgICAgZm46IGdldEF1dGhIZWFkZXJzLAogICAgfSwKICBdIGFzIGNvbnN0OwoKICBjb25zdCBkZWZhdWx0SGFuZGxlciA9IGhhbmRsZXJzWzBdITsKICBjb25zdCBbc2VsZWN0ZWRIYW5kbGVyS2V5LCBzZXRTZWxlY3RlZEhhbmRsZXJLZXldID0gdXNlU3RhdGU8CiAgICAodHlwZW9mIGhhbmRsZXJzKVtudW1iZXJdWyJrZXkiXQogID4oZGVmYXVsdEhhbmRsZXIua2V5KTsKCiAgY29uc3QgW3J1blN0YXRlLCBzZXRSdW5TdGF0ZV0gPSB1c2VTdGF0ZTwKICAgICJpZGxlIiB8ICJsb2FkaW5nIiB8ICJzdWNjZXNzIiB8ICJlcnJvciIKICA+KCJpZGxlIik7CgogIGNvbnN0IFtyZXNwb25zZVRleHQsIHNldFJlc3BvbnNlVGV4dF0gPSB1c2VTdGF0ZSgKICAgICd7XG4gICJtZXNzYWdlIjogIlJ1biBoYW5kbGVyIHRvIHNlZSByZXNwb25zZSJcbn0nLAogICk7CgogIGNvbnN0IHNlbGVjdGVkSGFuZGxlciA9CiAgICBoYW5kbGVycy5maW5kKChpdGVtKSA9PiBpdGVtLmtleSA9PT0gc2VsZWN0ZWRIYW5kbGVyS2V5KSB8fCBkZWZhdWx0SGFuZGxlcjsKCiAgY29uc3Qgb25SdW5IYW5kbGVyID0gYXN5bmMgKCkgPT4gewogICAgc2V0UnVuU3RhdGUoImxvYWRpbmciKTsKICAgIHRyeSB7CiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc2VsZWN0ZWRIYW5kbGVyLmZuKCk7CiAgICAgIGNvbnN0IHRleHQgPSBKU09OLnN0cmluZ2lmeShyZXNwb25zZSwgbnVsbCwgMik7CiAgICAgIHNldFJlc3BvbnNlVGV4dCh0ZXh0ID8/IFN0cmluZyhyZXNwb25zZSkpOwogICAgICBzZXRSdW5TdGF0ZSgic3VjY2VzcyIpOwogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgY29uc3QgdGV4dCA9CiAgICAgICAgZXJyb3IgaW5zdGFuY2VvZiBFcnJvcgogICAgICAgICAgPyBKU09OLnN0cmluZ2lmeSgKICAgICAgICAgICAgICB7IG5hbWU6IGVycm9yLm5hbWUsIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfSwKICAgICAgICAgICAgICBudWxsLAogICAgICAgICAgICAgIDIsCiAgICAgICAgICAgICkKICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkoZXJyb3IsIG51bGwsIDIpOwogICAgICBzZXRSZXNwb25zZVRleHQodGV4dCA/PyBTdHJpbmcoZXJyb3IpKTsKICAgICAgc2V0UnVuU3RhdGUoImVycm9yIik7CiAgICB9CiAgfTsKCiAgY29uc3QgYXBwVGl0bGUgPSBpbXBvcnQubWV0YS5lbnYuVklURV9BUFBfVElUTEUgfHwgIk1pbmlBcHAgSG9tZSI7CgogIHJldHVybiAoCiAgICA8PgogICAgICA8aGVhZGVyPgogICAgICAgIDxOYXZCYXIgdGl0bGU9e2FwcFRpdGxlfSAvPgogICAgICA8L2hlYWRlcj4KCiAgICAgIDxtYWluIGNsYXNzTmFtZT0ibXgtYXV0byBncmlkIG1heC13LVs5MjBweF0gZ2FwLTQgcC00Ij4KICAgICAgICA8Q2FyZCBzaXplPSJzIj4KICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJncmlkIGdhcC0zIj4KICAgICAgICAgICAgPERpc3BsYXkgc2l6ZT0ibCI+CiAgICAgICAgICAgICAgWW91ciA8c3BhbiBjbGFzc05hbWU9InRleHQtc3RhdGljLXN1cmZhY2UtYnJhbmQiPk1pbmlBcHA8L3NwYW4+IGlzCiAgICAgICAgICAgICAgUmVhZHkg8J+agAogICAgICAgICAgICA8L0Rpc3BsYXk+CiAgICAgICAgICAgIDxUZXh0IHNpemU9InMiPgogICAgICAgICAgICAgIFNoaXAgcHJvZHVjdGlvbiByZWFkeSBNaW5pQXBwcyB3aXRoIGV2ZXJ5dGhpbmcgYWxyZWFkeSB3aXJlZCB1cC4KICAgICAgICAgICAgICBKU0FQSSBCcmlkZ2UsIEFuYWx5dGljcywgRmVhdHVyZSBGbGFncywgT2JzZXJ2YWJpbGl0eSwgUGVyZm9ybWFuY2UKICAgICAgICAgICAgICBNb25pdG9yaW5nIGFuZCBtb3JlIOKAlCBwcmUtY29uZmlndXJlZCBzbyB5b3UgY2FuIGZvY3VzIG9uIGJ1aWxkaW5nCiAgICAgICAgICAgICAgZXhwZXJpZW5jZXMsIG5vdCBzZXR1cC4KICAgICAgICAgICAgPC9UZXh0PgogICAgICAgICAgICA8Q2FyZCBzaXplPSJ4cyIgd2FybmluZyBvdXRsaW5lZD4KICAgICAgICAgICAgICA8VGV4dCBzaXplPSJzIj4KICAgICAgICAgICAgICAgIOKcj++4jyBFZGl0eyIgIn0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0icm91bmRlZCBiZy1ncmVlbi01MCBweC0xIGZvbnQtYm9sZCB0ZXh0LXN0YXRpYy1zdXJmYWNlLWJyYW5kIj4KICAgICAgICAgICAgICAgICAgc3JjL3BhZ2VzL2hvbWUudHN4CiAgICAgICAgICAgICAgICA8L3NwYW4+eyIgIn0KICAgICAgICAgICAgICAgIHRvIGJ1aWxkIHlvdXIgZmlyc3Qgc2NyZWVuLgogICAgICAgICAgICAgIDwvVGV4dD4KICAgICAgICAgICAgPC9DYXJkPgogICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBmbGV4LXdyYXAgZ2FwLTIuNSI+CiAgICAgICAgICAgICAgPExpbmsgdG89Ii9leGFtcGxlIj4KICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT0icyI+RXhhbXBsZSBwYWdlPC9CdXR0b24+CiAgICAgICAgICAgICAgPC9MaW5rPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvQ2FyZD4KCiAgICAgICAgPENhcmQgc2l6ZT0icyI+CiAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9ImdyaWQgZ2FwLTMgcC0yIj4KICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTIiPgogICAgICAgICAgICAgICAgPERpc3BsYXkgc2l6ZT0icyI+VHJ5IGEgSlNBUEkgSGFuZGxlcjwvRGlzcGxheT4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0icm91bmRlZC1sZyBiZy1ibHVlLTEwMCBweC0yIHB5LTAuNSB0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWJsdWUtNzAwIj4KICAgICAgICAgICAgICAgICAgRGVtbwogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxUZXh0IHNpemU9InMiPgogICAgICAgICAgICAgIFNlYW1sZXNzbHkgZXhwbG9yZSBuYXRpdmUgZmVhdHVyZXMgdmlhIEpTIGhhbmRsZXJzIGFuZCBkaXNjb3ZlcgogICAgICAgICAgICAgIG90aGVyIGhhbmRsZXJzLgogICAgICAgICAgICA8L1RleHQ+CgogICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBmbGV4LXdyYXAgZ2FwLTEiPgogICAgICAgICAgICAgIDxzZWxlY3QKICAgICAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZEhhbmRsZXJLZXl9CiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MU2VsZWN0RWxlbWVudD4pID0+CiAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkSGFuZGxlcktleSgKICAgICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgYXMgKHR5cGVvZiBoYW5kbGVycylbbnVtYmVyXVsia2V5Il0sCiAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0ibWluLWgtMTAgZmxleC0xIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgYmctd2hpdGUgcHgtMi41IgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIHtoYW5kbGVycy5tYXAoKGhhbmRsZXIpID0+ICgKICAgICAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9e2hhbmRsZXIua2V5fSB2YWx1ZT17aGFuZGxlci5rZXl9PgogICAgICAgICAgICAgICAgICAgIHtoYW5kbGVyLnRpdGxlfQogICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICkpfQogICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgIDxCdXR0b24KICAgICAgICAgICAgICAgIHNpemU9InMiCiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblJ1bkhhbmRsZXJ9CiAgICAgICAgICAgICAgICBzeXN0ZW0KICAgICAgICAgICAgICAgIHF1YWxpZmllckVuZAogICAgICAgICAgICAgICAgcXVhbGlmaWVyPXs8UGxheSAvPn0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICBSdW4KICAgICAgICAgICAgICA8L0J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8Q2FyZAogICAgICAgICAgICAgIHNpemU9InhzIgogICAgICAgICAgICAgIG91dGxpbmVkCiAgICAgICAgICAgICAgc3VjY2Vzcz17cnVuU3RhdGUgPT09ICJzdWNjZXNzIn0KICAgICAgICAgICAgICBkYW5nZXI9e3J1blN0YXRlID09PSAiZXJyb3IifQogICAgICAgICAgICAgIGluZm89e3J1blN0YXRlICE9PSAic3VjY2VzcyIgJiYgcnVuU3RhdGUgIT09ICJlcnJvciJ9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8cHJlIGNsYXNzTmFtZT0ibS0wIHdoaXRlc3BhY2UtcHJlLXdyYXAgYnJlYWstYWxsIHRleHQtWzAuNzhyZW1dIGxlYWRpbmctcmVsYXhlZCI+CiAgICAgICAgICAgICAgICB7cmVzcG9uc2VUZXh0fQogICAgICAgICAgICAgIDwvcHJlPgogICAgICAgICAgICA8L0NhcmQ+CgogICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iIGdyaWQgZ2FwLTIiPjwvZGl2PgogICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwvQ2FyZD4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPSJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0zIHAtNCI+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8RGlzcGxheSBzaXplPSJzIiBtdXRlZD4KICAgICAgICAgICAgICDwn5ug77iPIFlvdXIgdHVybiBub3cuCiAgICAgICAgICAgIDwvRGlzcGxheT4KICAgICAgICAgICAgPFRleHQgc2l6ZT0icyIgbXV0ZWQ+CiAgICAgICAgICAgICAgVGhpcyBpcyBqdXN0IHRoZSBzY2FmZm9sZCDigJQgdGhlIHJlYWwgd29yayBzdGFydHMgaGVyZS4KICAgICAgICAgICAgPC9UZXh0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICA8L21haW4+CiAgICA8Lz4KICApOwp9CgpleHBvcnQgY29uc3QgUm91dGUgPSBjcmVhdGVMYXp5Um91dGUoIi8iKSh7CiAgY29tcG9uZW50OiBIb21lLAp9KTsK","snap-checkout-ui.tsx":"aW1wb3J0IHR5cGUgeyBDb21wb25lbnRQcm9wcywgUmVhY3ROb2RlIH0gZnJvbSAicmVhY3QiOwoKaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAiQGFzcGhhbHQtcmVhY3QvYnV0dG9uIjsKaW1wb3J0IHsgQ2FyZCB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L2NhcmQiOwppbXBvcnQgeyBEaXNwbGF5LCBUZXh0IH0gZnJvbSAiQGFzcGhhbHQtcmVhY3QvdHlwb2dyYXBoeSI7CgpleHBvcnQgZnVuY3Rpb24gU25hcENhcmQoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfSkgewogIHJldHVybiA8Q2FyZCBzaXplPSJzIj57Y2hpbGRyZW59PC9DYXJkPjsKfQoKZXhwb3J0IGZ1bmN0aW9uIFNuYXBIZWFkaW5nKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pIHsKICByZXR1cm4gPERpc3BsYXkgc2l6ZT0icyI+e2NoaWxkcmVufTwvRGlzcGxheT47Cn0KCmV4cG9ydCBmdW5jdGlvbiBTbmFwVGV4dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7CiAgcmV0dXJuIDxUZXh0IHNpemU9InMiPntjaGlsZHJlbn08L1RleHQ+Owp9CgpleHBvcnQgZnVuY3Rpb24gU25hcEJ1dHRvbih7CiAgY2hpbGRyZW4sCiAgLi4ucHJvcHMKfTogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJ1dHRvbj4pIHsKICByZXR1cm4gKAogICAgPEJ1dHRvbiBzaXplPSJzIiB7Li4ucHJvcHN9PgogICAgICB7Y2hpbGRyZW59CiAgICA8L0J1dHRvbj4KICApOwp9Cg==","example.tsx":"aW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAiQGFzcGhhbHQtcmVhY3QvYnV0dG9uIjsKaW1wb3J0IHsgQ2FyZCB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L2NhcmQiOwppbXBvcnQgeyBjcmVhdGVMYXp5Um91dGUsIExpbmsgfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgRGlzcGxheSwgVGV4dCB9IGZyb20gIkBhc3BoYWx0LXJlYWN0L3R5cG9ncmFwaHkiOwppbXBvcnQgTmF2QmFyIGZyb20gIkAvY29tcG9uZW50cy9uYXZiYXIiOwppbXBvcnQgeyBjcmVhdGVTYWZlSHRtbCB9IGZyb20gIkAvdXRpbHMvc2FuaXRpc2UtaHRtbCI7CgpleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBFeGFtcGxlKCkgewogIGNvbnN0IHRpdGxlID0gIjxoMz5EdW1teSBIZWFkaW5nIFBsYWNlaG9sZGVyPC9oMz4iOwoKICByZXR1cm4gKAogICAgPD4KICAgICAgPGhlYWRlcj4KICAgICAgICA8TmF2QmFyIHRpdGxlPXtgRXhhbXBsZSBQYWdlYH0gLz4KICAgICAgPC9oZWFkZXI+CgogICAgICA8bWFpbiBjbGFzc05hbWU9Im14LWF1dG8gZ3JpZCBtYXgtdy1bOTIwcHhdIGdhcC00IHAtNCI+CiAgICAgICAgPENhcmQgc2l6ZT0icyI+CiAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9ImdyaWQgZ2FwLTMiPgogICAgICAgICAgICA8RGlzcGxheSBzaXplPSJsIj5FeGFtcGxlIFBhZ2U8L0Rpc3BsYXk+CiAgICAgICAgICAgIHsvKiBiaW9tZS1pZ25vcmUgbGludC9zZWN1cml0eS9ub0Rhbmdlcm91c2x5U2V0SW5uZXJIdG1sOiBDb250ZW50IGlzCiAgICAgIHNhbml0aXplZCB3aXRoIERPTVB1cmlmeSBpbiBjcmVhdGVTYWZlSHRtbCB1dGlsaXR5ICovfQogICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBjcmVhdGVTYWZlSHRtbCh0aXRsZSkgfX0KICAgICAgICAgICAgPjwvZGl2PgoKICAgICAgICAgICAgPFRleHQgc2l6ZT0icyI+CiAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIGRvCiAgICAgICAgICAgICAgZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQKICAgICAgICAgICAgICBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMKICAgICAgICAgICAgICBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuCiAgICAgICAgICAgIDwvVGV4dD4KICAgICAgICAgICAgPFRleHQgc2l6ZT0icyI+CiAgICAgICAgICAgICAgRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UKICAgICAgICAgICAgICBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQKICAgICAgICAgICAgICBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdAogICAgICAgICAgICAgIGFuaW0gaWQgZXN0IGxhYm9ydW0uCiAgICAgICAgICAgIDwvVGV4dD4KICAgICAgICAgICAgPFRleHQgc2l6ZT0icyI+CiAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBRdWlzcXVlCiAgICAgICAgICAgICAgZmF1Y2lidXMgZXggc2FwaWVuIHZpdGFlIHBlbGxlbnRlc3F1ZSBzZW0gcGxhY2VyYXQuIEluIGlkIGN1cnN1cwogICAgICAgICAgICAgIG1pIHByZXRpdW0gdGVsbHVzIGR1aXMgY29udmFsbGlzLiBUZW1wdXMgbGVvIGV1IGFlbmVhbiBzZWQgZGlhbQogICAgICAgICAgICAgIHVybmEgdGVtcG9yLiBQdWx2aW5hciB2aXZhbXVzIGZyaW5naWxsYSBsYWN1cyBuZWMgbWV0dXMgYmliZW5kdW0KICAgICAgICAgICAgICBlZ2VzdGFzLiBJYWN1bGlzIG1hc3NhIG5pc2wgbWFsZXN1YWRhIGxhY2luaWEgaW50ZWdlciBudW5jCiAgICAgICAgICAgICAgcG9zdWVyZS4gVXQgaGVuZHJlcml0IHNlbXBlciB2ZWwgY2xhc3MgYXB0ZW50IHRhY2l0aSBzb2Npb3NxdS4gQWQKICAgICAgICAgICAgICBsaXRvcmEgdG9ycXVlbnQgcGVyIGNvbnViaWEgbm9zdHJhIGluY2VwdG9zIGhpbWVuYWVvcy4KICAgICAgICAgICAgPC9UZXh0PgogICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwvQ2FyZD4KCiAgICAgICAgPENhcmQgc2l6ZT0ieHMiIG91dGxpbmVkPgogICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPSJncmlkIGdhcC0zIHAtMiI+CiAgICAgICAgICAgIDxEaXNwbGF5IHNpemU9InMiPlF1aWNrIEFjdGlvbnM8L0Rpc3BsYXk+CiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtd3JhcCBnYXAtMiI+CiAgICAgICAgICAgICAgPExpbmsgdG89Ii8iPgogICAgICAgICAgICAgICAgPEJ1dHRvbiBzaXplPSJzIj5HbyBIb21lPC9CdXR0b24+CiAgICAgICAgICAgICAgPC9MaW5rPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L0NhcmQ+CiAgICAgIDwvbWFpbj4KICAgIDwvPgogICk7Cn0KCmV4cG9ydCBjb25zdCBSb3V0ZSA9IGNyZWF0ZUxhenlSb3V0ZSgiL2V4YW1wbGUiKSh7CiAgY29tcG9uZW50OiBFeGFtcGxlLAp9KTsK"}});var VI={};RG(VI,{getSnapCheckoutAsphaltUi:()=>O9,getAuthHomeAsphaltUi:()=>a9});function O9(){return e(iI,"snap-checkout-ui.tsx")}function a9(){return e(iI,"auth-home.tsx")}var XI=UA(()=>{zA();pC()});var mI=VA((Ec,Nb)=>{var JI={to(A,g){if(!g)return`\x1B[${A+1}G`;return`\x1B[${g+1};${A+1}H`},move(A,g){let I="";if(A<0)I+=`\x1B[${-A}D`;else if(A>0)I+=`\x1B[${A}C`;if(g<0)I+=`\x1B[${-g}A`;else if(g>0)I+=`\x1B[${g}B`;return I},up:(A=1)=>`\x1B[${A}A`,down:(A=1)=>`\x1B[${A}B`,forward:(A=1)=>`\x1B[${A}C`,backward:(A=1)=>`\x1B[${A}D`,nextLine:(A=1)=>"\x1B[E".repeat(A),prevLine:(A=1)=>"\x1B[F".repeat(A),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},lv={up:(A=1)=>"\x1B[S".repeat(A),down:(A=1)=>"\x1B[T".repeat(A)},Nv={screen:"\x1B[2J",up:(A=1)=>"\x1B[1J".repeat(A),down:(A=1)=>"\x1B[J".repeat(A),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(A){let g="";for(let I=0;I<A;I++)g+=this.line+(I<A-1?JI.up():"");if(A)g+=JI.left;return g}};Nb.exports={cursor:JI,scroll:lv,erase:Nv,beep:"\x07"}});var wC=II(dC(),1),{program:I4,createCommand:C4,createArgument:b4,createOption:G4,CommanderError:v4,InvalidArgumentError:Z4,InvalidOptionArgumentError:D4,Command:Ng,Argument:c4,Option:u4,Help:B4}=wC.default;import{readdir as W9}from"fs/promises";import{join as kA}from"path";var{file:RC}=globalThis.Bun;f();s();var Wg=1,BI="0.40.4",PC="2.18.0",iC="3.15.1",XA=1,VC=1,dg="1.1.0";function U(){return"1.2.1"}function O(A,g){let I={description:A.description,run:(C,b,G)=>A.execute(C,b,G)};if(A.getHelp)I.getHelp=A.getHelp;if(g?.options)I.options=g.options;return I}function XC(A){if(typeof A!=="object"||A===null)return!1;let g=A;return typeof g.id==="string"&&g.id.length>0&&typeof g.name==="string"&&g.name.length>0&&typeof g.version==="string"&&g.version.length>0}function lI(A){return A.apiVersion??1}function YC(A){return lI(A)<=Wg}function M(A){if(!XC(A))throw new P({code:i.PLUGIN_INVALID,message:K.PLUGIN_INVALID});if(!YC(A))throw new P({code:i.PLUGIN_API_INCOMPATIBLE,message:K.PLUGIN_API_INCOMPATIBLE(A.id,lI(A),Wg)});return A}function yC(A){if(!XC(A))return{ok:!1,reason:"invalid",detail:"module default export is not a valid plugin definition"};if(!YC(A))return{ok:!1,reason:"incompatible",detail:`apiVersion ${lI(A)} > CLI ${Wg}`};return{ok:!0,plugin:A}}var d9="minikit-cli-plugin",w9=".gopay-clirc.json",HC=["@gojek","@gopay"],JC="minikit-cli-plugin-";async function mC(A){try{return await RC(A).json()}catch{return null}}function P9(A){if(Array.isArray(A.keywords)&&A.keywords.includes(d9))return!0;return A.minikitPlugin===!0}function i9(A){for(let g of HC)if(A.startsWith(`${g}/${JC}`))return!0;return!1}async function V9(A){let g=[],I=[];for(let C of HC){let b=kA(A,C);I.push(W9(b).then((G)=>{for(let v of G)if(!v.startsWith(".")&&v.startsWith(JC))g.push(kA(b,v))}).catch(()=>{}))}return await Promise.all(I),g}async function KC(A,g){let I=await mC(kA(A,"package.json"));if(!I||!P9(I))return null;if(g&&(!I.name||!i9(I.name)))return null;try{let C=await import(A),b=yC(C.default);if(!b.ok){if(b.reason==="incompatible")console.warn(`[minikit-cli] skipping plugin at ${I.name??A}: ${b.detail}`);else if(process.env.MINIKIT_DEBUG)console.warn(`[minikit-cli] skipping plugin at ${I.name??A}: ${b.detail}`);return null}return b.plugin}catch{return null}}async function X9(A,g){let I=kA(g,"node_modules",A);if(!await RC(kA(I,"package.json")).exists())return null;return KC(I,!1)}async function jC(A=process.cwd()){let g=[],I=new Set,C=await mC(kA(A,w9));for(let Z of C?.plugins??[]){let D=await X9(Z,A);if(D&&!I.has(D.id))I.add(D.id),g.push(D)}if(C?.autoDiscovery!==!0)return g;let b=kA(A,"node_modules"),G=await V9(b),v=await Promise.all(G.map((Z)=>KC(Z,!0)));for(let Z of v){if(!Z||I.has(Z.id))continue;I.add(Z.id),g.push(Z)}return g}function FC(A){let g=`--${A.name}`,I=A.type==="boolean"?g:`${g} <${A.name}>`;return A.alias?`-${A.alias}, ${I}`:I}function MA(A,g){let I=[];for(let C of A){let b=C.contributes?.[g];if(!b)continue;let G=Array.isArray(b)?b:[b];I.push(...G)}return I}async function LC(A,g,I=new Ng){for(let C of A){if(!C.commands)continue;for(let[b,G]of Object.entries(C.commands)){let v=I.command(b).argument("[args...]").description(G.description);if(G.getHelp)v.addHelpText("after",G.getHelp());for(let Z of G.options??[]){let D=Z.default;if(D===void 0)v.option(FC(Z),Z.description);else v.option(FC(Z),Z.description,D)}v.action(async(...Z)=>{let D=Z[Z.length-1],c=Array.isArray(D.args)?[...D.args]:[],u=typeof D.opts==="function"?D.opts():{};await G.run(c,u,{plugins:A})})}}await I.parseAsync(g)}s();import{access as K9}from"fs/promises";import{join as yA}from"path";var $A={version:"1.2.1",name:"@gopay/minikit-cli",description:"A CLI tool to build and manage GOTO MiniApps",module:"./dist/js/index.js",type:"module",private:!1,publishConfig:{access:"public"},bin:"./dist/js/index.js",files:["dist/js"],scripts:{prepare:"husky && bun run ./scripts/generate-plugins.ts",format:"biome format","format:fix":"biome format --write",lint:"biome lint","lint:fix":"biome lint --write",check:"biome check","check:fix":"biome check --write",tsc:"tsc --noEmit","test:coverage":"bun test --concurrent --max-concurrency=20 --pass-with-no-tests",release:"semantic-release",generate:"bun run ./scripts/generate-plugins.ts && bun run ./scripts/generate-template-manifest.ts","generate:internal":"bun run ./scripts/generate-plugins.ts --distribution=internal && bun run ./scripts/generate-template-manifest.ts",build:"bun run --bun ./build.ts","build:core":"bun run --bun build && chmod +x ./dist/js/index.js","build:internal":"bun run --bun build -- --distribution=internal && chmod +x ./dist/js/index.js","build:local":"bun run generate && bun run build:core","build:local:internal":"bun run generate:internal && bun run build:internal","build:linux-x64":"bun run --bun build -- --target-platform=bun-linux-x64","build:linux-arm64":"bun run --bun build -- --target-platform=bun-linux-arm64","build:win-x64":"bun run --bun build -- --target-platform=bun-windows-x64","build:win-arm64":"bun run --bun build -- --target-platform=bun-windows-arm64","build:mac-x64":"bun run --bun build -- --target-platform=bun-darwin-x64","build:mac-arm64":"bun run --bun build -- --target-platform=bun-darwin-arm64","build:linux-x64-musl":"bun run --bun build -- --target-platform=bun-linux-x64-musl","build:linux-arm64-musl":"bun run --bun build -- --target-platform=bun-linux-arm64-musl"},devDependencies:{"@biomejs/biome":"2.4.15","@commitlint/cli":"21.0.1","@commitlint/config-conventional":"21.0.1","@semantic-release/changelog":"6.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.5","@semantic-release/release-notes-generator":"14.1.1","@socketsecurity/bun-security-scanner":"1.1.2","@types/bun":"1.3.14",husky:"9.1.7","semantic-release":"25.0.3"},peerDependencies:{typescript:"6.0.3"},dependencies:{"@clack/prompts":"1.4.0",commander:"14.0.3",vconsole:"3.15.1"}};f();s();CA();f();s();var kC=["react","vue"],nC=["ts","js"];function $(A,g,I){throw new P({code:i.MANIFEST_INVALID,message:K.MANIFEST_INVALID_SCHEMA(A,g,H9(I))})}function H9(A){if(A===null)return"null";if(Array.isArray(A))return"array";return typeof A}function wg(A){return typeof A==="object"&&A!==null&&!Array.isArray(A)}function zC(A,g){if(!wg(A))$(g,"object",A);if(typeof A.id!=="string")$(`${g}.id`,"string",A.id);if(typeof A.schemaVersion!=="number")$(`${g}.schemaVersion`,"number",A.schemaVersion);if(typeof A.installedWith!=="string")$(`${g}.installedWith`,"string",A.installedWith);let I={id:A.id,schemaVersion:A.schemaVersion,installedWith:A.installedWith};if(typeof A.installedAt==="string")I.installedAt=A.installedAt;if(wg(A.options))I.options=A.options;return I}function J9(A,g){if(!wg(A))$(g,"object",A);if(typeof A.fromVersion!=="string")$(`${g}.fromVersion`,"string",A.fromVersion);if(typeof A.toVersion!=="string")$(`${g}.toVersion`,"string",A.toVersion);let I={fromVersion:A.fromVersion,toVersion:A.toVersion};if(Array.isArray(A.migrations))I.migrations=A.migrations.filter((C)=>typeof C==="string");return I}function SC(A){if(!wg(A))$("","object",A);if(A.schemaVersion!==1)$("schemaVersion","1",A.schemaVersion);if(typeof A.scaffoldedBy!=="string")$("scaffoldedBy","string",A.scaffoldedBy);let g=A.framework;if(!kC.includes(g))$("framework",kC.join(" | "),g);let I=A.language;if(!nC.includes(I))$("language",nC.join(" | "),I);if(!Array.isArray(A.features))$("features","array",A.features);if(!Array.isArray(A.jsapi))$("jsapi","array",A.jsapi);let C={schemaVersion:1,scaffoldedBy:A.scaffoldedBy,framework:g,language:I,features:A.features.map((b,G)=>zC(b,`features[${G}]`)),jsapi:A.jsapi.map((b,G)=>zC(b,`jsapi[${G}]`))};if(typeof A.cliVersion==="string")C.cliVersion=A.cliVersion;if(Array.isArray(A.migrateHistory))C.migrateHistory=A.migrateHistory.map((b,G)=>J9(b,`migrateHistory[${G}]`));return C}f();s();function Ag(A){let g=A.trim().replace(/^v/,""),[I,C=""]=NI(g,"-"),b=NI(C,"+")[0],G=NI(I,"+")[0],[v="0",Z="0",D="0"]=G.split("."),c=WI(v),u=WI(Z),B=WI(D);if(Number.isNaN(c)||Number.isNaN(u)||Number.isNaN(B))throw new P({code:i.INVALID_VERSION,message:K.INVALID_VERSION(A)});let N=b.length>0?b.split("."):[];return{major:c,minor:u,patch:B,prerelease:N}}function ig(A){try{return Ag(A),!0}catch{return!1}}function nA(A,g){let I=Ag(A),C=Ag(g),b=Pg(I.major,C.major)||Pg(I.minor,C.minor)||Pg(I.patch,C.patch);if(b!==0)return b;return m9(I.prerelease,C.prerelease)}function m9(A,g){if(A.length===0&&g.length===0)return 0;if(A.length===0)return 1;if(g.length===0)return-1;let I=Math.max(A.length,g.length);for(let C=0;C<I;C++){let b=A[C],G=g[C];if(b===void 0)return-1;if(G===void 0)return 1;if(b===G)continue;let v=/^\d+$/.test(b),Z=/^\d+$/.test(G);if(v&&Z){let D=Pg(Number(b),Number(G));if(D!==0)return D}else if(v)return-1;else if(Z)return 1;else return b<G?-1:1}return 0}var gg=(A,g)=>nA(A,g)>0,sC=(A,g)=>nA(A,g)>=0,Vg=(A,g)=>nA(A,g)<=0;function NI(A,g){let I=A.indexOf(g);if(I===-1)return[A,""];return[A.slice(0,I),A.slice(I+g.length)]}function WI(A){return/^\d+$/.test(A)?Number(A):Number.NaN}function Pg(A,g){if(A<g)return-1;if(A>g)return 1;return 0}var Cg=1,a=$A.version,Xg=$A.name,TC=".minikit.json";async function RA(A){let g=await ZA(yA(A,TC));if(g.schemaVersion===Cg)return j9(SC(g));return o9(g)}function j9(A){return{...A,cliVersion:A.cliVersion??A.scaffoldedBy,migrateHistory:Array.isArray(A.migrateHistory)?A.migrateHistory:[]}}async function z(A){try{return await RA(A)}catch(g){if(t(g))return null;throw g}}async function DA(A,g){await OA(yA(A,TC),g)}var bA=(A,g)=>A.features.some((I)=>I.id===g),aA=(A,g)=>A.jsapi.some((I)=>I.id===g);function dI(A){let g={id:A.id,schemaVersion:A.schemaVersion,installedWith:a,installedAt:new Date().toISOString()};if(A.options)g.options=A.options;return g}async function HA(A,g){let I=await RA(A),C=new Set(I.features.map((v)=>v.id)),b=new Set(I.jsapi.map((v)=>v.id)),G={...I,features:[...I.features,...(g.features??[]).filter((v)=>!C.has(v.id)).map(dI)],jsapi:[...I.jsapi,...(g.jsapi??[]).filter((v)=>!b.has(v.id)).map(dI)]};await DA(A,G)}async function fC(A,g){let I=await RA(A),C={...I,jsapi:[...I.jsapi.filter((b)=>b.id!==g.id),dI(g)]};await DA(A,C)}async function Yg(A,g){let I=await RA(A),C=new Set(g.features??[]),b=new Set(g.jsapi??[]),G={...I,features:I.features.filter((v)=>!C.has(v.id)),jsapi:I.jsapi.filter((v)=>!b.has(v.id))};await DA(A,G)}function yg(A){let g=A.cliVersion??A.scaffoldedBy;if(!g||!ig(g))throw new P({code:i.MANIFEST_INVALID,message:K.MANIFEST_INVALID_CORRUPTED});return g}async function UC(A,g){let I=await RA(A);await DA(A,{...I,migrateHistory:[...I.migrateHistory??[],g]})}async function Rg(A){let g=await z(A);if(g)return{manifest:g,reconstructed:!1};if(!await cA(A))throw new P({code:i.NOT_A_MINIAPP_PROJECT,message:K.NOT_A_MINIAPP_PROJECT(A)});return{manifest:await F9(A),reconstructed:!0}}async function Ig(A){try{return await K9(A),!0}catch{return!1}}async function cA(A){let[g,I]=await Promise.all([Ig(yA(A,"package.json")),Ig(yA(A,"src","bridge","core.ts"))]);return g&&I}async function F9(A){let g=await L9(A);return{schemaVersion:Cg,scaffoldedBy:dg,framework:"react",language:"ts",features:g,jsapi:[],cliVersion:dg,migrateHistory:[]}}async function L9(A){let[g,I,C,b]=await Promise.all([Ig(yA(A,"src","snap-checkout")),Ig(yA(A,"project.inlang")),Ig(yA(A,"src","hooks","useAuthCode.ts")),h9(A,"vconsole")]),G=[];if(g)G.push("snap-checkout");if(I)G.push("i18n");if(C)G.push("auth");if(b)G.push("vconsole");return G.map((v)=>({id:v,schemaVersion:XA,installedWith:dg}))}async function h9(A,g){try{let I=await ZA(yA(A,"package.json"));return Boolean(I.dependencies?.[g]||I.devDependencies?.[g])}catch{return!1}}function Q9(A){if(!Array.isArray(A))return[];return A.filter((g)=>{if(typeof g!=="object"||g===null)return!1;let I=g;return typeof I.fromVersion==="string"&&typeof I.toVersion==="string"})}function o9(A){let g=typeof A.scaffoldedBy==="string"?A.scaffoldedBy:"0.0.0",I=(Z)=>{if(!Array.isArray(Z))return[];return Z.map((D)=>{if(typeof D==="string")return{id:D,schemaVersion:1,installedWith:g};if(typeof D!=="object"||D===null)return{id:String(D),schemaVersion:1,installedWith:g};let c=D,u={id:String(c.id),schemaVersion:typeof c.schemaVersion==="number"?c.schemaVersion:1,installedWith:typeof c.installedWith==="string"?c.installedWith:g};if(typeof c.installedAt==="string")u.installedAt=c.installedAt;if(c.options&&typeof c.options==="object")u.options=c.options;return u})},C=A.framework==="react"||A.framework==="vue"?A.framework:"react",b=A.language==="ts"||A.language==="js"?A.language:"ts",G=typeof A.cliVersion==="string"?A.cliVersion:g,v=Q9(A.migrateHistory);return{schemaVersion:Cg,scaffoldedBy:g,framework:C,language:b,features:I(A.features),jsapi:I(A.jsapi),cliVersion:G,migrateHistory:v}}import{join as JA}from"path";import{mkdir as qC}from"fs/promises";var{write:YI}=globalThis.Bun;function AA(){return"core"}CA();zA();var{write:s9}=globalThis.Bun;import{mkdir as T9,readFile as xC}from"fs/promises";import{join as Kg,resolve as wI}from"path";var{write:MC}=globalThis.Bun;CA();function z9(A,g){if(!g)return"";if(A)return`,
|
|
30
|
+
{
|
|
31
|
+
ttl: 60 * 1000,
|
|
32
|
+
onMetrics: emitBridgeMetrics,
|
|
33
|
+
}`;return`,
|
|
34
|
+
{
|
|
35
|
+
onMetrics: emitBridgeMetrics,
|
|
36
|
+
}`}function OC(A,g,I){let C=I?"cachedBridge":"bridge",b=AA()==="internal",G=b?`import { emitBridgeMetrics } from "@/observability/bridge-metrics";
|
|
37
|
+
|
|
38
|
+
`:"",v=z9(I,b);return`${G}import { ${C} } from "../${I?"cache":"core"}";
|
|
39
|
+
|
|
40
|
+
// NOTE: Params structure must be defined as per API contract
|
|
41
|
+
export async function ${g}(params: Record<string, unknown> = {}): Promise<unknown> {
|
|
42
|
+
try {
|
|
43
|
+
return ${C}(
|
|
44
|
+
{
|
|
45
|
+
module: "${A}",
|
|
46
|
+
method: "${g}",
|
|
47
|
+
params,
|
|
48
|
+
}${v},
|
|
49
|
+
);
|
|
50
|
+
} catch (error) {
|
|
51
|
+
if (import.meta.env.DEV) {
|
|
52
|
+
console.error("Error calling ${A}.${g}:", error);
|
|
53
|
+
}
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
`}async function aC(A,g,I){if(g.includes(I))return!1;return await MC(A,`${g.trimEnd()}
|
|
58
|
+
${I}
|
|
59
|
+
`),!0}function Hg(A){return A.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").toLowerCase()}function bg(A,g){for(let I=0;I<A.length;I++){if(!A[I]?.trim().startsWith("export {"))continue;for(let C=I;C<A.length;C++){let b=A[C]?.trim()??"";if(C!==I&&b.startsWith("export {"))break;if(b.includes("}")&&b.includes(`from "${g}"`))return{startIdx:I,endIdx:C}}}return{startIdx:-1,endIdx:-1}}function Jg(A,g,I){let b=A.slice(g,I+1).join(`
|
|
60
|
+
`).match(/export\s*\{([\s\S]*?)\}\s*from/);if(!b?.[1])return[];return b[1].split(",").map((G)=>G.trim()).filter(Boolean)}function S9(A,g){return["export {",...A.map((I)=>` ${I},`),`} from "${g}";`]}async function mg({filePath:A,handlerNames:g}){let I=(await YA(A)).split(`
|
|
61
|
+
`),{startIdx:C,endIdx:b}=bg(I,"./handlers");if(g.length>0){let G=S9(g,"./handlers");if(C!==-1)I.splice(C,b-C+1,...G);else{let v=I.findLastIndex((Z)=>Z.trimStart().startsWith("export "));I.splice(v===-1?I.length:v+1,0,"",...G)}}else if(C!==-1)I.splice(C,b-C+1);await MC(A,I.join(`
|
|
62
|
+
`))}async function PA(A){let{className:g,methodName:I,useCache:C,forceRewrite:b=!1}=A,G=wI(A.cwd??process.cwd()),v=`${g}.${I}`,Z=await z(G),D=!b&&(Z?aA(Z,v):!1),c=Kg(G,"src","bridge","handlers"),u=Kg(c,"index.ts"),B=Kg(G,"src","bridge","index.ts"),N=await xC(u,"utf8").catch(()=>{throw Error(`Bridge handlers index was not found at ${u}. Run this command inside a generated mini-app project.`)});await T9(c,{recursive:!0});let W=Hg(I),d=Kg(c,`${W}.ts`);if(!wI(d).startsWith(wI(c)+"/"))throw Error(`Unsafe output path "${d}" escapes the handlers directory. Ensure className and methodName contain only valid identifier characters.`);if(!D){let X=OC(g,I,C);await s9(d,X)}let w=await xC(B,"utf-8").then((X)=>X.split(`
|
|
63
|
+
`)).catch(()=>{throw Error(`Bridge index file was not found at ${B}. Run this command inside a generated mini-app project.`)}),{startIdx:Y,endIdx:H}=bg(w,"./handlers"),j=Y!==-1?Jg(w,Y,H):[];if(!j.includes(I))j.push(I);j=Array.from(new Set(j)).sort(),await mg({filePath:B,handlerNames:j});let T=`export { ${I} } from "./${W}";`,Q=await aC(u,N,T);if(Z){let X={id:v,schemaVersion:VC,options:{className:g,methodName:I,useCache:C}};if(b)await fC(G,X);else await HA(G,{jsapi:[X]})}return{handlerFile:d,exportUpdated:Q}}CA();var{write:f9}=globalThis.Bun;import{readFile as EC,unlink as U9}from"fs/promises";import{join as jg,resolve as M9}from"path";async function PI(A){let{className:g,methodName:I}=A,C=M9(A.cwd??process.cwd()),b=`${g}.${I}`,G=await z(C),v=jg(C,"src","bridge","handlers"),Z=jg(v,"index.ts"),D=jg(C,"src","bridge","index.ts"),c=Hg(I),u=jg(v,`${c}.ts`),B=!1;try{await U9(u)}catch(N){if(!t(N))console.warn(`[minikit] Could not remove handler file ${u}:`,N)}try{let N=await EC(Z,"utf8"),W=`export { ${I} } from "./${c}";`;if(N.includes(W))await f9(Z,N.replace(W,"")),B=!0}catch(N){if(!t(N))throw N}try{let N=(await EC(D,"utf-8")).split(`
|
|
64
|
+
`),{startIdx:W,endIdx:d}=bg(N,"./handlers"),w=W!==-1?Jg(N,W,d):[];w=w.filter((Y)=>Y!==I),await mg({filePath:D,handlerNames:w})}catch(N){if(!t(N))throw N}if(G)await Yg(C,{jsapi:[b]});return{handlerFile:u,exportUpdated:B}}var Fg={"hooks/useAuthCode.ts":"aW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gInJlYWN0IjsKCmltcG9ydCB7IGdldEF1dGhDb2RlIH0gZnJvbSAiQC9icmlkZ2UiOwoKZXhwb3J0IGZ1bmN0aW9uIHVzZUF1dGhDb2RlKCkgewogIGNvbnN0IFthdXRoQ29kZSwgc2V0QXV0aENvZGVdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7CiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpOwoKICB1c2VFZmZlY3QoKCkgPT4gewogICAgZ2V0QXV0aENvZGUoKQogICAgICAudGhlbigocmVzOiB7IGF1dGhDb2RlOiBzdHJpbmcgfSB8IHVuZGVmaW5lZCkgPT4gc2V0QXV0aENvZGUocmVzPy5hdXRoQ29kZSA/PyBudWxsKSkKICAgICAgLmZpbmFsbHkoKCkgPT4gc2V0SXNMb2FkaW5nKGZhbHNlKSk7CiAgfSwgW10pOwoKICByZXR1cm4geyBhdXRoQ29kZSwgaXNMb2FkaW5nIH07Cn0K","api/fetch-user-data.ts":"Ly8gUExBQ0VIT0xERVI6IFJlbW92ZSB0aGlzIGNvbnN0YW50IG9uY2UgeW91IHJlcGxhY2UgdGhlIHNpbXVsYXRlZCBmZXRjaCBiZWxvdyB3aXRoIHlvdXIgcmVhbCBBUEkgY2FsbC4KY29uc3QgU0lNVUxBVEVEX0xBVEVOQ1lfTVMgPSAxNTAwOwoKZXhwb3J0IHR5cGUgVXNlckRhdGEgPSB7CiAgdXNlcklkOiBzdHJpbmc7CiAgc2Vzc2lvblRva2VuOiBzdHJpbmc7Cn07CgovKioKICogUExBQ0VIT0xERVIg4oCUIHJlcGxhY2UgdGhlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiB3aXRoIHlvdXIgcmVhbCBiYWNrZW5kIGNhbGwuCiAqCiAqIGBhdXRoQ29kZWAgaXMgdGhlIHNob3J0LWxpdmVkIGF1dGggY29kZSB2ZW5kZWQgYnkgdXNlQXV0aENvZGUoKS4gUGFzcyBpdCB0bwogKiB5b3VyIGJhY2tlbmQgdG8gdmVyaWZ5IHRoZSBtaW5pYXBwIHNlc3Npb24uIERlcGVuZGluZyBvbiB5b3VyIGJhY2tlbmQsIHlvdQogKiBtYXkgbmVlZCB0byBzZW5kIGl0IGFzIGFuIEF1dGhvcml6YXRpb24gaGVhZGVyLCBhIHJlcXVlc3QgYm9keSBmaWVsZCwgb3IgYm90aC4KICoKICogU2VlOiBodHRwczovL2RvY3MubWlkdHJhbnMuY29tL3JlZmVyZW5jZS9zZWFtbGVzcy1sb2dpbi12MgogKi8KZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoVXNlckRhdGEoYXV0aENvZGU6IHN0cmluZyk6IFByb21pc2U8VXNlckRhdGE+IHsKICAvLyBQTEFDRUhPTERFUjogU2ltdWxhdGVzIG5ldHdvcmsgbGF0ZW5jeS4gUmVtb3ZlIG9uY2UgdGhlIHJlYWwgQVBJIGNhbGwgaXMgaW4gcGxhY2UuCiAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgU0lNVUxBVEVEX0xBVEVOQ1lfTVMpKTsKCiAgcmV0dXJuIHsKICAgIHVzZXJJZDogYHVzcl8ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDkpfWAsCiAgICBzZXNzaW9uVG9rZW46IGB0b2tfJHthdXRoQ29kZS5zbGljZSgwLCA2KX1fJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCAxNCl9YCwKICB9Owp9Cg==","pages/home.tsx":"aW1wb3J0IHR5cGUgeyBDaGFuZ2VFdmVudCB9IGZyb20gInJlYWN0IjsKCmltcG9ydCB7IGNyZWF0ZUxhenlSb3V0ZSwgTGluayB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAicmVhY3QiOwoKaW1wb3J0IHsgZ2V0U3lzdGVtSW5mbyB9IGZyb20gIkAvYnJpZGdlIjsKaW1wb3J0IE5hdkJhciBmcm9tICJAL2NvbXBvbmVudHMvbmF2YmFyIjsKaW1wb3J0IHsgZmV0Y2hVc2VyRGF0YSB9IGZyb20gIkAvYXBpL2ZldGNoLXVzZXItZGF0YSI7CmltcG9ydCB0eXBlIHsgVXNlckRhdGEgfSBmcm9tICJAL2FwaS9mZXRjaC11c2VyLWRhdGEiOwppbXBvcnQgeyB1c2VBdXRoQ29kZSB9IGZyb20gIkAvaG9va3MvdXNlQXV0aENvZGUiOwoKZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSG9tZSgpIHsKICBjb25zdCB7IGF1dGhDb2RlLCBpc0xvYWRpbmc6IGF1dGhMb2FkaW5nIH0gPSB1c2VBdXRoQ29kZSgpOwogIGNvbnN0IFt1c2VyRGF0YSwgc2V0VXNlckRhdGFdID0gdXNlU3RhdGU8VXNlckRhdGEgfCBudWxsPihudWxsKTsKICBjb25zdCBbYXBpTG9hZGluZywgc2V0QXBpTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7CgogIHVzZUVmZmVjdCgoKSA9PiB7CiAgICBpZiAoIWF1dGhDb2RlKSByZXR1cm47CiAgICBzZXRBcGlMb2FkaW5nKHRydWUpOwogICAgZmV0Y2hVc2VyRGF0YShhdXRoQ29kZSkKICAgICAgLnRoZW4oc2V0VXNlckRhdGEpCiAgICAgIC5maW5hbGx5KCgpID0+IHNldEFwaUxvYWRpbmcoZmFsc2UpKTsKICB9LCBbYXV0aENvZGVdKTsKCiAgY29uc3QgaGFuZGxlcnMgPSBbCiAgICB7CiAgICAgIGtleTogImdldFN5c3RlbUluZm8iLAogICAgICB0aXRsZTogImdldFN5c3RlbUluZm8iLAogICAgICBmbjogZ2V0U3lzdGVtSW5mbywKICAgIH0sCiAgXSBhcyBjb25zdDsKCiAgY29uc3QgZGVmYXVsdEhhbmRsZXIgPSBoYW5kbGVyc1swXSE7CiAgY29uc3QgW3NlbGVjdGVkSGFuZGxlcktleSwgc2V0U2VsZWN0ZWRIYW5kbGVyS2V5XSA9IHVzZVN0YXRlPAogICAgKHR5cGVvZiBoYW5kbGVycylbbnVtYmVyXVsia2V5Il0KICA+KGRlZmF1bHRIYW5kbGVyLmtleSk7CgogIGNvbnN0IFtydW5TdGF0ZSwgc2V0UnVuU3RhdGVdID0gdXNlU3RhdGU8CiAgICAiaWRsZSIgfCAibG9hZGluZyIgfCAic3VjY2VzcyIgfCAiZXJyb3IiCiAgPigiaWRsZSIpOwoKICBjb25zdCBbcmVzcG9uc2VUZXh0LCBzZXRSZXNwb25zZVRleHRdID0gdXNlU3RhdGUoCiAgICAne1xuICAibWVzc2FnZSI6ICJSdW4gaGFuZGxlciB0byBzZWUgcmVzcG9uc2UiXG59JywKICApOwoKICBjb25zdCBzZWxlY3RlZEhhbmRsZXIgPQogICAgaGFuZGxlcnMuZmluZCgoaXRlbSkgPT4gaXRlbS5rZXkgPT09IHNlbGVjdGVkSGFuZGxlcktleSkgfHwgZGVmYXVsdEhhbmRsZXI7CgogIGNvbnN0IG9uUnVuSGFuZGxlciA9IGFzeW5jICgpID0+IHsKICAgIHNldFJ1blN0YXRlKCJsb2FkaW5nIik7CiAgICB0cnkgewogICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHNlbGVjdGVkSGFuZGxlci5mbigpOwogICAgICBzZXRSZXNwb25zZVRleHQoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UsIG51bGwsIDIpKTsKICAgICAgc2V0UnVuU3RhdGUoInN1Y2Nlc3MiKTsKICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgIHNldFJlc3BvbnNlVGV4dChKU09OLnN0cmluZ2lmeShlcnJvciwgbnVsbCwgMikpOwogICAgICBzZXRSdW5TdGF0ZSgiZXJyb3IiKTsKICAgIH0KICB9OwoKICBjb25zdCBhcHBUaXRsZSA9IGltcG9ydC5tZXRhLmVudi5WSVRFX0FQUF9USVRMRSB8fCAiTWluaUFwcCBIb21lIjsKCiAgaWYgKGF1dGhMb2FkaW5nIHx8IGFwaUxvYWRpbmcpIHsKICAgIHJldHVybiAoCiAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IG1pbi1oLXN2aCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTQiPgogICAgICAgIDxkaXYgY2xhc3NOYW1lPSJoLTEwIHctMTAgYW5pbWF0ZS1zcGluIHJvdW5kZWQtZnVsbCBib3JkZXItNCBib3JkZXItc2xhdGUtMjAwIGJvcmRlci10LXNsYXRlLTkwMCIgLz4KICAgICAgICA8cCBjbGFzc05hbWU9InRleHQtc20gdGV4dC1zbGF0ZS01MDAiPgogICAgICAgICAge2F1dGhMb2FkaW5nID8gIkF1dGhlbnRpY2F0aW5n4oCmIiA6ICJMb2FkaW5nIHlvdXIgZGF0YeKApiJ9CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICk7CiAgfQoKICBjb25zdCByZXNwb25zZUNhcmRDbGFzc2VzID0KICAgIHJ1blN0YXRlID09PSAic3VjY2VzcyIKICAgICAgPyAiYm9yZGVyLWdyZWVuLTMwMCBiZy1ncmVlbi01MCIKICAgICAgOiBydW5TdGF0ZSA9PT0gImVycm9yIgogICAgICAgID8gImJvcmRlci1yZWQtMzAwIGJnLXJlZC01MCIKICAgICAgICA6ICJib3JkZXItYmx1ZS0yMDAgYmctYmx1ZS01MCI7CgogIHJldHVybiAoCiAgICA8PgogICAgICA8aGVhZGVyPgogICAgICAgIDxOYXZCYXIgdGl0bGU9e2FwcFRpdGxlfSAvPgogICAgICA8L2hlYWRlcj4KCiAgICAgIDxtYWluIGNsYXNzTmFtZT0ibXgtYXV0byBncmlkIG1heC13LVs5MjBweF0gZ2FwLTQgcC00Ij4KICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9InJvdW5kZWQtMnhsIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIGJnLXdoaXRlIHAtNCBzaGFkb3ctc20iPgogICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImdyaWQgZ2FwLTMiPgogICAgICAgICAgICA8aDIgY2xhc3NOYW1lPSJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1zbGF0ZS05MDAiPgogICAgICAgICAgICAgIFlvdXIgPHNwYW4gY2xhc3NOYW1lPSJ0ZXh0LXN0YXRpYy1zdXJmYWNlLWJyYW5kIj5NaW5pQXBwPC9zcGFuPiBpcwogICAgICAgICAgICAgIFJlYWR5IPCfmoAKICAgICAgICAgICAgPC9oMj4KICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSJ0ZXh0LXNtIHRleHQtc2xhdGUtNjAwIj4KICAgICAgICAgICAgICBTaGlwIHByb2R1Y3Rpb24gcmVhZHkgTWluaUFwcHMgd2l0aCBldmVyeXRoaW5nIGFscmVhZHkgd2lyZWQgdXAuCiAgICAgICAgICAgICAgSlNBUEkgQnJpZGdlLCBBbmFseXRpY3MsIEZlYXR1cmUgRmxhZ3MsIE9ic2VydmFiaWxpdHksIFBlcmZvcm1hbmNlCiAgICAgICAgICAgICAgTW9uaXRvcmluZyBhbmQgbW9yZSDigJQgcHJlLWNvbmZpZ3VyZWQgc28geW91IGNhbiBmb2N1cyBvbiBidWlsZGluZwogICAgICAgICAgICAgIGV4cGVyaWVuY2VzLCBub3Qgc2V0dXAuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9InJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1hbWJlci0zMDAgYmctYW1iZXItNTAgcC0zIj4KICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9InRleHQtc20gdGV4dC1zbGF0ZS04MDAiPgogICAgICAgICAgICAgICAg4pyP77iPIEVkaXR7IiAifQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJyb3VuZGVkIGJnLWdyZWVuLTUwIHB4LTEgZm9udC1ib2xkIHRleHQtc3RhdGljLXN1cmZhY2UtYnJhbmQiPgogICAgICAgICAgICAgICAgICBzcmMvcGFnZXMvaG9tZS50c3gKICAgICAgICAgICAgICAgIDwvc3Bhbj57IiAifQogICAgICAgICAgICAgICAgdG8gYnVpbGQgeW91ciBmaXJzdCBzY3JlZW4uCiAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZmxleC13cmFwIGdhcC0yLjUiPgogICAgICAgICAgICAgIDxMaW5rCiAgICAgICAgICAgICAgICB0bz0iL2V4YW1wbGUiCiAgICAgICAgICAgICAgICBjbGFzc05hbWU9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJnLXN0YXRpYy1zdXJmYWNlLWJyYW5kIHB4LTMgcHktMS41IHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIHRyYW5zaXRpb24gaG92ZXI6b3BhY2l0eS05MCIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICBFeGFtcGxlIHBhZ2UKICAgICAgICAgICAgICA8L0xpbms+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9InJvdW5kZWQtMnhsIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIGJnLXdoaXRlIHAtNCBzaGFkb3ctc20iPgogICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImdyaWQgZ2FwLTMgcC0yIj4KICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBnYXAtMiI+CiAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT0idGV4dC14bCBmb250LWJvbGQgdGV4dC1zbGF0ZS05MDAiPlNlc3Npb24gRGF0YTwvaDM+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJyb3VuZGVkLWxnIGJnLWFtYmVyLTEwMCBweC0yIHB5LTAuNSB0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTcwMCI+CiAgICAgICAgICAgICAgICBQbGFjZWhvbGRlcgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0idGV4dC1zbSB0ZXh0LXNsYXRlLTYwMCI+CiAgICAgICAgICAgICAgVGhlc2UgYXJlIGR1bW15IHZhbHVlcyDigJQgcmVwbGFjZSA8Y29kZSBjbGFzc05hbWU9InJvdW5kZWQgYmctc2xhdGUtMTAwIHB4LTEgdGV4dC14cyI+ZmV0Y2hVc2VyRGF0YTwvY29kZT4gd2l0aCB5b3VyIHJlYWwgYmFja2VuZCBjYWxsIHRvIHBvcHVsYXRlIHRoaXMgc2VjdGlvbi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZ3JpZCBnYXAtMiI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggaXRlbXMtc3RhcnQgZ2FwLTMiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJ3LTI4IHNocmluay0wIHB0LTEgdGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXNsYXRlLTUwMCI+CiAgICAgICAgICAgICAgICAgIEF1dGggQ29kZQogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPGNvZGUgY2xhc3NOYW1lPSJtaW4tdy0wIGZsZXgtMSBicmVhay1hbGwgcm91bmRlZC1sZyBiZy1zbGF0ZS0xMDAgcHgtMi41IHB5LTEuNSB0ZXh0LVswLjc4cmVtXSB0ZXh0LXNsYXRlLTgwMCI+CiAgICAgICAgICAgICAgICAgIHthdXRoQ29kZX0KICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBpdGVtcy1zdGFydCBnYXAtMyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9InctMjggc2hyaW5rLTAgcHQtMSB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtc2xhdGUtNTAwIj4KICAgICAgICAgICAgICAgICAgVXNlciBJRAogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPGNvZGUgY2xhc3NOYW1lPSJmbGV4LTEgcm91bmRlZC1sZyBiZy1zbGF0ZS0xMDAgcHgtMi41IHB5LTEuNSB0ZXh0LVswLjc4cmVtXSB0ZXh0LXNsYXRlLTgwMCI+CiAgICAgICAgICAgICAgICAgIHt1c2VyRGF0YT8udXNlcklkfQogICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0zIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0idy0yOCBzaHJpbmstMCBwdC0xIHRleHQteHMgZm9udC1tZWRpdW0gdGV4dC1zbGF0ZS01MDAiPgogICAgICAgICAgICAgICAgICBTZXNzaW9uIFRva2VuCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8Y29kZSBjbGFzc05hbWU9Im1pbi13LTAgZmxleC0xIGJyZWFrLWFsbCByb3VuZGVkLWxnIGJnLXNsYXRlLTEwMCBweC0yLjUgcHktMS41IHRleHQtWzAuNzhyZW1dIHRleHQtc2xhdGUtODAwIj4KICAgICAgICAgICAgICAgICAge3VzZXJEYXRhPy5zZXNzaW9uVG9rZW59CiAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9InJvdW5kZWQtMnhsIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIGJnLXdoaXRlIHAtNCBzaGFkb3ctc20iPgogICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImdyaWQgZ2FwLTMgcC0yIj4KICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTIiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT0idGV4dC14bCBmb250LWJvbGQgdGV4dC1zbGF0ZS05MDAiPgogICAgICAgICAgICAgICAgICBUcnkgYSBKU0FQSSBIYW5kbGVyCiAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJyb3VuZGVkLWxnIGJnLWJsdWUtMTAwIHB4LTIgcHktMC41IHRleHQteHMgZm9udC1ib2xkIHRleHQtYmx1ZS03MDAiPgogICAgICAgICAgICAgICAgICBEZW1vCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSJ0ZXh0LXNtIHRleHQtc2xhdGUtNjAwIj4KICAgICAgICAgICAgICBTZWFtbGVzc2x5IGV4cGxvcmUgbmF0aXZlIGZlYXR1cmVzIHZpYSBKUyBoYW5kbGVycyBhbmQgZGlzY292ZXIKICAgICAgICAgICAgICBvdGhlciBoYW5kbGVycy4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZmxleC13cmFwIGdhcC0xIj4KICAgICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWRIYW5kbGVyS2V5fQogICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhldmVudDogQ2hhbmdlRXZlbnQ8SFRNTFNlbGVjdEVsZW1lbnQ+KSA9PgogICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZEhhbmRsZXJLZXkoCiAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlIGFzICh0eXBlb2YgaGFuZGxlcnMpW251bWJlcl1bImtleSJdLAogICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjbGFzc05hbWU9Im1pbi1oLTEwIGZsZXgtMSByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItc2xhdGUtMzAwIGJnLXdoaXRlIHB4LTIuNSB0ZXh0LXNtIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIHtoYW5kbGVycy5tYXAoKGhhbmRsZXIpID0+ICgKICAgICAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9e2hhbmRsZXIua2V5fSB2YWx1ZT17aGFuZGxlci5rZXl9PgogICAgICAgICAgICAgICAgICAgIHtoYW5kbGVyLnRpdGxlfQogICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICkpfQogICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIKICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUnVuSGFuZGxlcn0KICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgcm91bmRlZC1sZyBiZy1zbGF0ZS05MDAgcHgtMyBweS0xLjUgdGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUgdHJhbnNpdGlvbiBob3ZlcjpiZy1zbGF0ZS03MDAiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgUnVuCiAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+4pa2PC9zcGFuPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzc05hbWU9e2BvdmVyZmxvdy14LWF1dG8gcm91bmRlZC14bCBib3JkZXIgcC0zICR7cmVzcG9uc2VDYXJkQ2xhc3Nlc31gfQogICAgICAgICAgICAgIHJvbGU9InN0YXR1cyIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwcmUgY2xhc3NOYW1lPSJtLTAgd2hpdGVzcGFjZS1wcmUtd3JhcCBicmVhay1hbGwgdGV4dC1bMC43OHJlbV0gbGVhZGluZy1yZWxheGVkIj4KICAgICAgICAgICAgICAgIHtyZXNwb25zZVRleHR9CiAgICAgICAgICAgICAgPC9wcmU+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9ImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTMgcC00Ij4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9InRleHQteGwgZm9udC1ib2xkIHRleHQtc2xhdGUtNTAwIj4KICAgICAgICAgICAgICDwn5ug77iPIFlvdXIgdHVybiBub3cuCiAgICAgICAgICAgIDwvaDM+CiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0idGV4dC1zbSB0ZXh0LXNsYXRlLTUwMCI+CiAgICAgICAgICAgICAgVGhpcyBpcyBqdXN0IHRoZSBzY2FmZm9sZCDigJQgdGhlIHJlYWwgd29yayBzdGFydHMgaGVyZS4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICA8L21haW4+CiAgICA8Lz4KICApOwp9CgpleHBvcnQgY29uc3QgUm91dGUgPSBjcmVhdGVMYXp5Um91dGUoIi8iKSh7CiAgY29tcG9uZW50OiBIb21lLAp9KTsK"};var Lg,tC=!1;async function x9(){if(tC)return Lg;tC=!0;try{return Lg=await Promise.resolve().then(() => (XI(),VI)),Lg}catch{return Lg=null,null}}async function E9(A){if(A){let g=await x9();if(g)try{return g.getAuthHomeAsphaltUi()}catch{}}return e(Fg,"pages/home.tsx")}async function eC(A){let{projectDir:g,options:I}=A,C=String(I.renderTiming??"post");if(await PA({className:"GPMiniAppAuth",methodName:"getAuthCode",useCache:!0,cwd:g}),await p9(g),C==="pre"){let b=e(Fg,"hooks/useAuthCode.ts"),G=JA(g,"src","hooks");await qC(G,{recursive:!0}),await YI(JA(G,"useAuthCode.ts"),b),await r9(g),await _9(g);return}await t9(g)}async function p9(A){let g=AA()==="internal",b=`${g?`import { emitBridgeMetrics } from "@/observability/bridge-metrics";
|
|
65
|
+
|
|
66
|
+
`:""}import { cachedBridge, clearByPattern } from "../cache";
|
|
67
|
+
import { BridgeError } from "../core";
|
|
68
|
+
|
|
69
|
+
const DEV_MOCK_AUTH_CODE = "mock_gp_miniapp_auth_dev";
|
|
70
|
+
const MAX_RETRIES = 5;
|
|
71
|
+
const RETRY_DELAY_MS = 500;
|
|
72
|
+
|
|
73
|
+
export async function getAuthCode(params: Record<string, unknown> = {}): Promise<{ authCode: string } | undefined> {
|
|
74
|
+
if (import.meta.env.DEV && !window?.gpContainer) {
|
|
75
|
+
return { authCode: DEV_MOCK_AUTH_CODE };
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
79
|
+
if (attempt > 0) {
|
|
80
|
+
clearByPattern("GPMiniAppAuth:getAuthCode");
|
|
81
|
+
await new Promise<void>((resolve) => setTimeout(resolve, RETRY_DELAY_MS));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
try {
|
|
85
|
+
const result = await cachedBridge<{ authCode: string }>(
|
|
86
|
+
{
|
|
87
|
+
module: "GPMiniAppAuth",
|
|
88
|
+
method: "getAuthCode",
|
|
89
|
+
params,
|
|
90
|
+
}${g?`,
|
|
91
|
+
{
|
|
92
|
+
ttl: 60 * 1000,
|
|
93
|
+
onMetrics: emitBridgeMetrics,
|
|
94
|
+
}`:`,
|
|
95
|
+
{
|
|
96
|
+
ttl: 60 * 1000,
|
|
97
|
+
}`},
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
if (result) return result;
|
|
101
|
+
|
|
102
|
+
if (import.meta.env.DEV) {
|
|
103
|
+
console.warn(\`[Auth] getAuthCode returned undefined, retrying (\${attempt + 1}/\${MAX_RETRIES})\u2026\`);
|
|
104
|
+
}
|
|
105
|
+
} catch (error) {
|
|
106
|
+
if (error instanceof BridgeError && error.code === "UNAVAILABLE") {
|
|
107
|
+
if (import.meta.env.DEV) {
|
|
108
|
+
console.warn(\`[Auth] gpContainer not ready, retrying (\${attempt + 1}/\${MAX_RETRIES})\u2026\`);
|
|
109
|
+
}
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (import.meta.env.DEV) {
|
|
114
|
+
console.error("Error calling GPMiniAppAuth.getAuthCode:", error);
|
|
115
|
+
}
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (import.meta.env.DEV) {
|
|
121
|
+
console.warn("[Auth] getAuthCode exhausted retries, returning undefined");
|
|
122
|
+
}
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
`;await q(JA(A,"src","bridge","handlers","get-auth-code.ts"),b)}async function t9(A){let g=JA(A,"src","pages","home.tsx"),I=await YA(g),C=q9(e9(I));await q(g,C)}function q9(A){return A.replace(/import \{([^}]+)\} from "@\/bridge";/,(g,I)=>{let C=I.split(",").map((G)=>G.trim()).filter(Boolean);if(C.includes("getAuthCode"))return`import { ${C.join(", ")} } from "@/bridge";`;return`import { ${[...C,"getAuthCode"].sort().join(", ")} } from "@/bridge";`})}function e9(A){if(A.includes('"getAuthCode"'))return A;return A.replace(/const handlers = \[(\s*)/,'const handlers = [$1{$1 key: "getAuthCode",$1 title: "getAuthCode",$1 fn: getAuthCode,$1},$1')}async function r9(A){let g=JA(A,"src","pages","layout.tsx"),I=await YA(g);if(I.includes("useAuthCode"))return;I=I.replace('import ErrorBoundary from "@/components/error-boundary";',`import ErrorBoundary from "@/components/error-boundary";
|
|
126
|
+
import { useAuthCode } from "@/hooks/useAuthCode";`),I=I.replace("const childMatches = useChildMatches();",`const childMatches = useChildMatches();
|
|
127
|
+
const { authCode } = useAuthCode();`),I=I.replace("}, [childMatches]);",`}, [childMatches]);
|
|
128
|
+
|
|
129
|
+
useEffect(() => {
|
|
130
|
+
if (authCode && import.meta.env.DEV) {
|
|
131
|
+
console.log("[Auth] authCode:", authCode);
|
|
132
|
+
}
|
|
133
|
+
}, [authCode]);`),await q(g,I)}async function _9(A){let g=AA()==="internal",I=e(Fg,"api/fetch-user-data.ts"),C=await E9(g);await qC(JA(A,"src","api"),{recursive:!0}),await YI(JA(A,"src","api","fetch-user-data.ts"),I),await YI(JA(A,"src","pages","home.tsx"),C)}var rC=M({id:"auth",name:"Auth",version:U(),contributes:{"create:feature":{id:"auth",label:"Auth (https://docs.midtrans.com/reference/seamless-login-v2)",options:[{name:"renderTiming",type:"string",description:"When to fetch auth code?",choices:[{value:"pre",label:"Before app renders (fetch Auth Code first)"},{value:"post",label:"After app renders (fetch Auth Code after UI loads)"}]}],apply:eC}}});f();s();zA();var _C={".releaserc.json":"ewogICJicmFuY2hlcyI6IFsKICAgIHsgIm5hbWUiOiAibWFpbiIgfQogIF0sCiAgInRhZ0Zvcm1hdCI6ICJ2JHt2ZXJzaW9ufSIsCiAgInBsdWdpbnMiOiBbCiAgICBbCiAgICAgICJAc2VtYW50aWMtcmVsZWFzZS9jb21taXQtYW5hbHl6ZXIiLAogICAgICB7CiAgICAgICAgInByZXNldCI6ICJjb252ZW50aW9uYWxjb21taXRzIiwKICAgICAgICAicmVsZWFzZVJ1bGVzIjogWwogICAgICAgICAgeyAiYnJlYWtpbmciOiB0cnVlLCAicmVsZWFzZSI6ICJtYWpvciIgfSwKICAgICAgICAgIHsgInR5cGUiOiAiZmVhdCIsICJyZWxlYXNlIjogIm1pbm9yIiB9LAogICAgICAgICAgeyAidHlwZSI6ICJmaXgiLCAicmVsZWFzZSI6ICJwYXRjaCIgfSwKICAgICAgICAgIHsgInR5cGUiOiAicGVyZiIsICJyZWxlYXNlIjogInBhdGNoIiB9LAogICAgICAgICAgeyAidHlwZSI6ICJyZWZhY3RvciIsICJyZWxlYXNlIjogInBhdGNoIiB9LAogICAgICAgICAgeyAidHlwZSI6ICJyZXZlcnQiLCAicmVsZWFzZSI6ICJwYXRjaCIgfSwKICAgICAgICAgIHsgInR5cGUiOiAiYnVpbGQiLCAicmVsZWFzZSI6ICJwYXRjaCIgfSwKICAgICAgICAgIHsgInR5cGUiOiAiY2kiLCAicmVsZWFzZSI6ICJwYXRjaCIgfSwKICAgICAgICAgIHsgInR5cGUiOiAiZG9jcyIsICJyZWxlYXNlIjogInBhdGNoIiB9LAogICAgICAgICAgeyAidHlwZSI6ICJzdHlsZSIsICJyZWxlYXNlIjogInBhdGNoIiB9LAogICAgICAgICAgeyAidHlwZSI6ICJ0ZXN0IiwgInJlbGVhc2UiOiAicGF0Y2giIH0sCiAgICAgICAgICB7ICJ0eXBlIjogImNob3JlIiwgInJlbGVhc2UiOiAicGF0Y2giIH0KICAgICAgICBdCiAgICAgIH0KICAgIF0sCiAgICBbCiAgICAgICJAc2VtYW50aWMtcmVsZWFzZS9yZWxlYXNlLW5vdGVzLWdlbmVyYXRvciIsCiAgICAgIHsKICAgICAgICAicHJlc2V0IjogImNvbnZlbnRpb25hbGNvbW1pdHMiLAogICAgICAgICJwYXJzZXJPcHRzIjogewogICAgICAgICAgIm5vdGVLZXl3b3JkcyI6IFsiQlJFQUtJTkcgQ0hBTkdFIiwgIkJSRUFLSU5HIENIQU5HRVMiXQogICAgICAgIH0sCiAgICAgICAgInByZXNldENvbmZpZyI6IHsKICAgICAgICAgICJ0eXBlcyI6IFsKICAgICAgICAgICAgeyAidHlwZSI6ICJmZWF0IiwgInNlY3Rpb24iOiAiRmVhdHVyZXMiLCAiaGlkZGVuIjogZmFsc2UgfSwKICAgICAgICAgICAgeyAidHlwZSI6ICJmaXgiLCAic2VjdGlvbiI6ICJCdWcgRml4ZXMiLCAiaGlkZGVuIjogZmFsc2UgfSwKICAgICAgICAgICAgeyAidHlwZSI6ICJwZXJmIiwgInNlY3Rpb24iOiAiUGVyZm9ybWFuY2UiLCAiaGlkZGVuIjogZmFsc2UgfSwKICAgICAgICAgICAgeyAidHlwZSI6ICJyZWZhY3RvciIsICJzZWN0aW9uIjogIlJlZmFjdG9ycyIsICJoaWRkZW4iOiBmYWxzZSB9LAogICAgICAgICAgICB7ICJ0eXBlIjogInJldmVydCIsICJzZWN0aW9uIjogIlJldmVydHMiLCAiaGlkZGVuIjogZmFsc2UgfSwKICAgICAgICAgICAgeyAidHlwZSI6ICJkb2NzIiwgInNlY3Rpb24iOiAiRG9jdW1lbnRhdGlvbiIsICJoaWRkZW4iOiBmYWxzZSB9LAogICAgICAgICAgICB7ICJ0eXBlIjogImNpIiwgInNlY3Rpb24iOiAiQ0kiLCAiaGlkZGVuIjogZmFsc2UgfSwKICAgICAgICAgICAgeyAidHlwZSI6ICJidWlsZCIsICJzZWN0aW9uIjogIkJ1aWxkIiwgImhpZGRlbiI6IGZhbHNlIH0sCiAgICAgICAgICAgIHsgInR5cGUiOiAidGVzdCIsICJzZWN0aW9uIjogIlRlc3RzIiwgImhpZGRlbiI6IGZhbHNlIH0sCiAgICAgICAgICAgIHsgInR5cGUiOiAiY2hvcmUiLCAic2VjdGlvbiI6ICJDaG9yZXMiLCAiaGlkZGVuIjogZmFsc2UgfSwKICAgICAgICAgICAgeyAidHlwZSI6ICJzdHlsZSIsICJzZWN0aW9uIjogIlN0eWxlcyIsICJoaWRkZW4iOiBmYWxzZSB9CiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICBdLAogICAgWwogICAgICAiQHNlbWFudGljLXJlbGVhc2UvY2hhbmdlbG9nIiwKICAgICAgewogICAgICAgICJjaGFuZ2Vsb2dGaWxlIjogIkNIQU5HRUxPRy5tZCIKICAgICAgfQogICAgXSwKICAgIFsKICAgICAgIkBzZW1hbnRpYy1yZWxlYXNlL25wbSIsCiAgICAgIHsKICAgICAgICAibnBtUHVibGlzaCI6IGZhbHNlCiAgICAgIH0KICAgIF0sCiAgICBbCiAgICAgICJAc2VtYW50aWMtcmVsZWFzZS9naXQiLAogICAgICB7CiAgICAgICAgImFzc2V0cyI6IFsicGFja2FnZS5qc29uIiwgInBucG0tbG9jay55YW1sIiwgIkNIQU5HRUxPRy5tZCJdLAogICAgICAgICJtZXNzYWdlIjogImNob3JlKHJlbGVhc2UpOiB2JHtuZXh0UmVsZWFzZS52ZXJzaW9ufSBcblxuJHtuZXh0UmVsZWFzZS5ub3Rlc30iCiAgICAgIH0KICAgIF0KICBdCn0K",".husky/commit-msg":"cG5wbSBleGVjIC0tIGNvbW1pdGxpbnQgLS1lZGl0ICIkMSIK",".husky/pre-commit":"IyEvYmluL3NoCgpicmFuY2g9IiQoZ2l0IHJldi1wYXJzZSAtLWFiYnJldi1yZWYgSEVBRCkiCgppZiBbICIkYnJhbmNoIiA9ICJtYWluIiBdOyB0aGVuCiAgZWNobyAiWW91IGNhbid0IGNvbW1pdCBkaXJlY3RseSB0byBtYWluIGJyYW5jaCIKICBleGl0IDEKZmkKCnBucG0gY2hlY2sgJiYgcG5wbSB0c2MgJiYgcG5wbSB0ZXN0ICYmIHBucG0gb3B0aW1pc2U6c3ZnCg==","index.html":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04IiAvPgogICAgPG1ldGEgbmFtZT0iY29sb3Itc2NoZW1lIiBjb250ZW50PSJsaWdodCBkYXJrIiAvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiIC8+CiAgICA8bGluayByZWw9Imljb24iIGhyZWY9Ii9hc3NldHMvaWNvbnMvZmF2aWNvbi5pY28iIC8+CiAgICA8bGluayBmZXRjaHByaW9yaXR5PSJoaWdoIiByZWw9InByZWxvYWQiIGFzPSJpbWFnZSIgaHJlZj0iL2Fzc2V0cy9pbGx1c3RyYXRpb25zL2xvYWRpbmdfYW5pbWF0aW9uLnN2ZyIgdHlwZT0iaW1hZ2Uvc3ZnK3htbCIgLz4KCiAgICA8c2NyaXB0IGRlZmVyIHNyYz0iJVZJVEVfSlNTREtfVVJMJSI+PC9zY3JpcHQ+CgogICAgPCEtLSBMb2FkZXIgU3R5bGVzIC0tPgogICAgPHN0eWxlPgogICAgICAjZ2xvYmFsLWxvYWRlciB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIGluc2V0OiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB6LWluZGV4OiA5OTk5OwoKICAgICAgICAmIGltZyB7CiAgICAgICAgICB3aWR0aDogMTIwcHg7CiAgICAgICAgICBoZWlnaHQ6IDEyMHB4OwogICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9oZWFkPgoKICA8Ym9keSBzdHlsZT0iY29sb3Itc2NoZW1lOiBsaWdodCBkYXJrOyI+CiAgICA8IS0tIExvYWRlciAodmlzaWJsZSBpbW1lZGlhdGVseSkgLS0+CiAgICA8ZGl2IGlkPSJnbG9iYWwtbG9hZGVyIj4KICAgICAgPGltZyBzcmM9Ii9hc3NldHMvaWxsdXN0cmF0aW9ucy9sb2FkaW5nX2FuaW1hdGlvbi5zdmciIGFsdD0iTG9hZGluZy4uLiIgLz4KICAgIDwvZGl2PgoKICAgIDwhLS0gWW91ciBBcHAgUm9vdCAtLT4KICAgIDxkaXYgaWQ9ImFwcCI+PC9kaXY+CgogICAgPHNjcmlwdCB0eXBlPSJtb2R1bGUiIHNyYz0iL3NyYy9tYWluLnRzeCI+PC9zY3JpcHQ+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==",".npmrc":"bWluaW11bS1yZWxlYXNlLWFnZT00MzIwICMgMyBkYXlzIGluIG1pbnV0ZXMK",".env.test":"VklURV9BUFBfVElUTEU9dGVzdC1hcHAK","README.md":"IyBBcHAgTmFtZQo=","public/assets/illustrations/loading_animation.svg":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJlc3o0NklDZUpnYTEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgcHJvamVjdC1pZD0iYzNlNzRmMGRlMWI0NGExMzlmZDBlNDE3ODY2MjFiNmQiIGV4cG9ydC1pZD0iYmE4MGM2YzhkYWU4NDk0NWE5ODUxYmRmZTM2MmY5ZjAiIGNhY2hlZD0iZmFsc2UiIGJhY2tncm91bmQtY29sb3I9InRyYW5zcGFyZW50IiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjI0MCIgdmlld0JveD0iMCAwIDI0MCAyNDAiIGRhdGEtYXBwPSJYeXJpcyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIyIDEyMCkiPjxwYXRoIGQ9Ik0wLTkzLjYyQTkzLjYyIDkzLjYyIDAgMSAwIDAgOTMuNjIgOTMuNjIgOTMuNjIgMCAwIDAgMC05My42MloiIHBhaW50LW9yZGVyPSJzdHJva2UgZmlsbCBtYXJrZXJzIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzQxMjhmZiIgc3Ryb2tlLXdpZHRoPSIxNCIvPjwvZz48ZyBpZD0iZXN6NDZJQ2VKZ2E0IiB0cmFuc2Zvcm09Im1hdHJpeCgtLjUyOTkxOS0uODQ4MDQ4IDAuODQ4MDQ4LS41Mjk5MTkgMTIyIDEyMCkiPjxwYXRoIGlkPSJlc3o0NklDZUpnYTUiIGQ9Ik0wLTkzLjYyQTkzLjYyIDkzLjYyIDAgMSAwIDAgOTMuNjIgOTMuNjIgOTMuNjIgMCAwIDAgMC05My42MloiIHBhaW50LW9yZGVyPSJzdHJva2UgZmlsbCBtYXJrZXJzIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iI2Y5ZWEzYSIgc3Ryb2tlLXdpZHRoPSIxNCIgc3Ryb2tlLWRhc2hhcnJheT0iMCwwLDE3MC42MSw0MTcuNjkiIHRyYW5zZm9ybS1vcmlnaW49ImNlbnRlciIgc3R5bGU9InRyYW5zZm9ybS1ib3g6ZmlsbC1ib3giPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBiZWdpbj0iLTAuMDAwMDEiIGR1cj0iMS45ODkwMjAwMDAwMDAwMDAyIiBrZXlUaW1lcz0iMDsgMC43NTI1NjczMTU0NTk3NDc2OyAxIiB2YWx1ZXM9IjA7IDM0MDsgMzYwIiBmaWxsPSJmcmVlemUiIGFkZGl0aXZlPSJzdW0iIGNhbGNNb2RlPSJzcGxpbmUiIGtleVNwbGluZXM9IjAuNzg1IDAuMTM1IDAuMTUgMC44NjswIDAgMSAxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIvPjwvcGF0aD48L2c+PGcgaWQ9ImVzejQ2SUNlSmdhNiIgdHJhbnNmb3JtPSJtYXRyaXgoLjgwOTAxNyAwLjU4Nzc4NS0uNTg3Nzg1IDAuODA5MDE3IDEyMiAxMjApIj48cGF0aCBpZD0iZXN6NDZJQ2VKZ2E3IiBkPSJNMC05My42MkE5My42MiA5My42MiAwIDEgMCAwIDkzLjYyIDkzLjYyIDkzLjYyIDAgMCAwIDAtOTMuNjJaIiBwYWludC1vcmRlcj0ic3Ryb2tlIGZpbGwgbWFya2VycyIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiM0NmUwNzkiIHN0cm9rZS13aWR0aD0iMTQiIHN0cm9rZS1kYXNoYXJyYXk9IjAsMCwyODIuMzgsMzA1LjkyIiB0cmFuc2Zvcm0tb3JpZ2luPSJjZW50ZXIiIHN0eWxlPSJ0cmFuc2Zvcm0tYm94OmZpbGwtYm94Ij48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgYmVnaW49Ii0wLjAwMDAxIiBkdXI9IjEuOTg5MDIiIGtleVRpbWVzPSIwOyAwLjE2MDg1Nzk0NTUyNjIzNjk7IDEiIHZhbHVlcz0iMDsxMDszNjAiIGZpbGw9ImZyZWV6ZSIgYWRkaXRpdmU9InN1bSIgY2FsY01vZGU9InNwbGluZSIga2V5U3BsaW5lcz0iMCAwIDEgMTswLjc4NSAwLjEzNSAwLjE1IDAuODYiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+PC9wYXRoPjwvZz48ZyBpZD0iZXN6NDZJQ2VKZ2E4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjIgMTIwKSI+PHBhdGggaWQ9ImVzejQ2SUNlSmdhOSIgZD0iTTAtOTMuNjJBOTMuNjIgOTMuNjIgMCAxIDAgMCA5My42MiA5My42MiA5My42MiAwIDAgMCAwLTkzLjYyWiIgcGFpbnQtb3JkZXI9InN0cm9rZSBmaWxsIG1hcmtlcnMiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjZmZiNmNhIiBzdHJva2Utd2lkdGg9IjE0IiBzdHJva2UtZGFzaGFycmF5PSIwLDAsMTIzLjU0LDQ2NC43NiIgdHJhbnNmb3JtLW9yaWdpbj0iY2VudGVyIiBzdHlsZT0idHJhbnNmb3JtLWJveDpmaWxsLWJveCI+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIGJlZ2luPSItMC4wMDAwMSIgZHVyPSIxLjk4OTAxOTk5OTk5OTk5OTgiIGtleVRpbWVzPSIwOyAwLjc1MjU2NzMxNTQ1OTc0Nzg7IDEiIHZhbHVlcz0iMDsgMzQwOyAzNjAiIGZpbGw9ImZyZWV6ZSIgYWRkaXRpdmU9InN1bSIgY2FsY01vZGU9InNwbGluZSIga2V5U3BsaW5lcz0iMC43ODUgMC4xMzUgMC4xNSAwLjg2OzAgMCAxIDEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+PC9wYXRoPjwvZz48L3N2Zz4=","public/assets/icons/favicon.ico":"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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////APwcHwD8AB8A/AAfAPwADwD4AA8A+AAPAPAADwDAAAcAwAAHAMAABwDAAAMAwAADAOAAAwDwAAMA/gADAP/gAwD/+AMA//8DAP///wD///8A////ACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAMMOAADDDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ooaAOKKGgDjkRAA4Z8KAN2zBwAAAAAAAAAAAAAAAAAAAAAAAAAAANbCAADVwgAA2sEAAN3BAADdwQAAAAAAAAAA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CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////g+D//wAAf/8AAH//AAB//wAAP/4AAD/+AAA//gAAP/wAAD/gAAAf4AAAH+AAAB/gAAAf4AAAD+AAAA/wAAAH/AAAB//AAAf/+AAH//4AB///wAf///wH//////////////////////////8oAAAAMAAAAGAAAAABACAAAAAAAAAkAADDDgAAww4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP/8B/gf/wAA//gB4Af/AAD/+ABAB/8AAP/4AAAH/wAA//gAAAf/AAD/+AAAB/8AAP/4AAAD/wAA//gAAAP/AAD/4AAAA/8AAP/gAAAB/wAA/+AAAAH/AAD/4AAAAf8AAP/AAAAB/wAA/wAAAAH/AAD4AAAAAP8AAPgAAAAA/wAA+AAAAAD/AAD4AAAAAP8AAPgAAAAA/wAA+AAAAAB/AAD4AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD/wAAAAB8AAP/8AAAAHwAA//8AAAAfAAD///AAAB8AAP///gAAHwAA///+AAAfAAD////gAB8AAP////4AHwAA/////4AfAAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAAEAAAACAAAAAAQAgAAAAAAAAQAAAww4AAMMOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiihoA4ooaAOKJGwDiihoA444TAOOUDQDhnQsA4KUKAOCiCgDgogoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWwgAA1sIAANXCAADXwgAA28EAAN3BAADdwQAA3cEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ooaAOKKGgDiiRsA4ooaAOOOEwDjlA0A4Z0LAOClCgDgogoA4KIKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1sIAANbCAADVwgAA18IAANvBAADdwQAA3cEAAN3BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzJkRANyPFwDgjRgA4osZFeKMGEHjjxJO45QMQ+GfCibfqwgN4JkMAOGfCgDOlBIA/+kAAP+qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMAADMzAAA/qEAANjBAADbvwAA/5UAANHIAAPcxAAG38MABdzDAADgwwAA4cMAAOHDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMyZEQDmhxwA44kbAOKJHEHiihrF444T6uOTDc7hnAt+4KMKN+CeCwfctAkAzpQSAP/pAAD/qgAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzAAAzMwAAP6hAADawQAA278AAtfBAA7YwQAd28EAJt3AABzdwQAE3MAAAOHDAADhwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8owoAduUAAP9bPgDhfiVR434k6OOHGP/jkA764pIO0OGXDZzgnQth4aEJGdyYDQDcnAkA36QCAN2fBgDdnwYAAAAAANm8AADZvAAA170AANq8AADfugAA1sUAB9u/ADHbvwBn274Aldu+AKHbvgBv3sAAFcivAADkxQAA5MUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZEWANiVEwPUogkP4ncsZORzLuvkgR7/440P/+KOD//ikg7u4ZgMvuGZDF7imgsd3p8HCsy0AAHgogkA36IJAP8CfQDXuwAA2b0AANa2AAHZvAAJ2b8AGdq/AD3bvwB+274Awtu+APfbvgD/274At9y/ADDhxAAF3cAAAN3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOGNGgDhjhkI4ZEWOeN6Ko7kbzPw438g/+OND//jjQ//444P/eKQDvDilQ3W4ZkLkd6dCDDZpQEJ36EJAN6hBwD/An0A2LsAANm9AADYuwAK2bwALtu+AHbbvgC4274A3du+APTbvgD/274A/9u+AMjavgBU2r4AGNq+AADavgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhihwA4YobDeGMGl3jeymy5G019eN8I//jixH/440P/+OND//jjQ//4pEO/+KUDdzilQyQ4ZoLUd+mCSDlnxIC4LQEANO3AAbZvgAq2r4AWNq+AI7bvgDI274A89u+AP/bvgD/274A/9u+AP/bvgDW274Aetu/ACzbvwAA278AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4YYfAOGHHhDhiB174nsp0ORtNfjkeSb/44gV/+OMEP/jjQ//440P/+OND//jjg7/45EN9OKXDLHgnwth36UIIdi6ABLZvAAw2r4Ad9q+AL3bvgDx274A/tu+AP7bvgD/274A/9u+AP/bvgD/274A5Ny/AKDcvwBA3L8AANy/AADavAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOKCIwDigiMT4oMikeJ5K+bkbTb75Hcp/+SFGf/jixH/440P/+OND//jjQ//440P/+OOD//jjw/s4pMOwt6kB4jbtwGJ274Ar9u+ANPbvgDv274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+APPbvgDI274AVNu+AADbvgAA2rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADificA4n4mFeJ/JqDjdy315Gw2/eR1LP/kgh3/44sS/+OODv/jjQ//440P/+OND//jjw7/4pQN/+CdCvndrgXX27oB3tu+APrbvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD9274A5du+AGrZugAF38cAANq8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4nkqAOJ6Khbieimp43Qu/uRsNv7kci7/434g/+OKE//jjg7/440P/+OND//ikA7/4ZYM/9+lB//dswP+27sB+du+APrbvgD+274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+APbbvgCB2rwAGNm7AATavAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/jhwA/44cAON1LQDidC0X4nUtr+NxMf/kazf/5HAx/+N7JP/jiRT/440O/+OOD//hlgz/4KAJ/96rBf/dtQP/3LwB/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD7274Amtq9ADnavAAM2r0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/48dAP+PHQDgbjIA5XEwGONwMbLjbjP/5Gs3/+RuNP/keCn/44oU/+KTDP/hmAv/36UI/92yBP/cvAD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A+9u+ALXbvQBe2r0AFNu9AAD/qgAA/6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+OHAD/jhwA0VhDAOpzMB3kbTW05Gs2/+RqOP/kajf/43Us/+GQFP/fpAj/3bEE/9y4Av/bvAH/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+APzbvgDP3L4Agdy+AB3cvgAA/6oAAP+qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADijhsA4o4bAOGkCQ3jgSU/5G01wORqOP/kajj/5Gk4/+NxMf/hiB//3qQO/9u8Av/bvwD/278A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD+274A6dy+AKXdvQAl2MAAAE//AABP/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADavAAA4I0bAOCPGgDfkxYm4YUhb+NvNNLkajj/5Go4/+RpOP/kbTb/43ot/9+VG//cswj/27sC/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP7bvgDE3b0AMs3FAADnuAAA57gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2rwAAOGUFwDfow8A44scO+ODI5jkbzPh5Gk5/+RqOP/kajj/5Gs4/+RuNf/iey3/4I8g/92sDP/bvAH/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A1Nu+AE7dvwAO3L8AAdy/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA378AAN+/AADiwAAA3r8AANu+AADnjx8A2MIAC+CgEFjhlBm743wr7uRvNf/kajj/5Gk5/+RqOP/kaTj/5Gw3/+J2MP/gkR7/3akO/9y4BP/bvQD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AN/bvgBv2r8AJdq/AALavwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN+/AADfvwAA4sAAAN6/AAHhxwAB2r4AD9q9ADbbuAOG3K8K2eCVG/fifir/5G41/+RqOP/kajj/5Go4/+RqOP/kbDf/5HIz/+GIJP/eqA7/3LgE/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgDn2r4Ak9q+AEDavgAD2r4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAAA/4AAAM7XAADitAAA3b4AANW8AADiwAAH3L4AMtu+AGnbvgCg270A0Nu6A/Hdrwr83qAU/+CPIP/iey3/5G02/+RpOP/kaTn/5Go4/+RqOP/jczL/4Ycl/96gFP/ctQb/270B/9u/AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A8Nu/ALfbvwBa28AABNu+AADbtgAA27YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzdIAAM3SAADVyAAA+JkAAd29AArcvgAe3L4AP9u+AIHbvgDF274A9Nu+AP/bvgD/278A/9u6Av/drgv/35Ub/+J/Kv/jdDH/5G02/+RqOP/kaTj/5Gk4/+NtNv/hhSb/3qAU/9yzCP/bvAH/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+APjcvwDZ3L8AdNy8AAfcwQAA27QAANu0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAA0dAAAOSxAAfdvQA13L4Ad9u+AL7bvgDh274A89u+AP7bvgD/274A/9u+AP/bvgD/27sC/9y1Bv/dqA//4JEe/+J7Lf/kazf/5Gk4/+RqOP/kajj/4281/+J+K//fmhn/3bAK/9u+AP/bvwD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A9tu+AI3buQAQ3NIAANu1AADbtQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbvAAA27wAANq8AB3bvABR274Ajdu+AMjbvgD3274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u/AP/bwAD/27sC/92rDf/fmRn/4YYl/+N2MP/kbDb/5Gk5/+RnOv/kbTb/4n8q/9+VG//dqwz/27oD/9vAAP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgCj27wAKtu6AAjbuwAA27sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2r0AANq9AADavQBD2r0ApNu+AOPbvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvQH/3LgE/92qDv/hjiD/43ou/+NwNP/kazf/5Go4/+RrOP/ieC//4I8f/92sDP/bvAL/270A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274Attu9AE/bvQAV270AANu9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANu+AADbvgAA274AQdu+AKPbvgDr274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/278A/9u+AP/cuQP/3a8K/9+gFP/gjCH/4ncv/+RpOf/kaDn/5Gw3/+N3MP/giyL/3qQR/9u6Av/bvwD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AMravgB12r4AI9q+AADavgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbvgAA274AANu+ACjbvgBo274AoNu+AMTbvgDU274A5tu+APXbvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/278A/9vAAP/cuAT/3qcP/9+RHv/hfiv/43My/+RrN//kajj/43Qy/+GJI//dpRH/3LYG/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgDf2r4Am9q+ADHbvgAA270AAN27AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA274AANu+AADbvgAF274AENq9ACPavgBF2r8AdNu+AKTbvgDP274A8Nu+APzbvgD8274A/du+AP7bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/270A/9u7Av/ctAf/3qUR/+GIJP/jdTD/5Gw3/+RrN//jcjP/4YIp/96gFf/cuAT/270B/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A8tu+AMDbvgA/274AANq/AADduwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANu+AADbvgAA274AANy+AAC+qwAB2b4AENq/ACnbvgBB274AXdu+AH3bvgCe274Av9u+AOLbvgD6274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvwD/274A/9y3Bf/dqA7/35ca/+GFJv/jcjP/5Go4/+NwNf/igin/35kZ/92yCP/bvQH/278A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgDc274AU+OxAAPeuQAB3boAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANm9AADZvQAA2b0AANq+AADavwAA2r8AANnEAAPawgAY274APdu9AGzbvgCc274AwNu+ANfbvgDl274A79u+APrbvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9y1Bv/eohP/4Ikj/+J3L//jcDT/5G41/+J7Lf/fmxj/3bAJ/9y7Av/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A7Nu+AGzdvAAX3LwABNy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZvQAA2b0AANm9AADavgAA2r8AANu/AADetgAA2cMABNu+AA3bvQAY274AItu+ADbbvgBX3L4AhNy+ALXbvgDi274A+du+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvAH/3LgE/9yvCv/enRb/4YUm/+NzMv/kbTb/4ngv/+CSHf/drgr/3LsC/9u/AP/bvgD/274A/9u+AP/bvgD/274A/9u+APDbvgCL274ANtu+AAjbvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADawQAA2sIAANrBAADbvgAA270AANu+AADBvgAA3L4AFNy+ADXcvgBZ274Aetu+AJjbvgCz274Aztu+AOjbvgD9274A/9u+AP/bvgD/278A/9u/AP/bvgD/3LQG/96iE//gjx//4n4r/+NwNP/jeS7/4JAe/96oDv/cuAT/274A/9u/AP/bvgD/274A/9u+AP/bvgD0274Aqtq9AFXavgAL270AAP+AAAD/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANy+AADcvgAA3L4AANy+AAHbvwAD4LwABOa4AAfcvgAg2r8ASdu+AHzbvgCu274A19u+AOnbvgDx274A9tu+APvbvgD/274A/9u+AP/bvAH/3bEJ/9+dFv/hgij/43My/+N1MP/gjh//3acP/9y4BP/bvQD/274A/9u+AP/bvgD/274A+Nq9AMravQB127wAENq+AAD/YgAA/2IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADcvgAA3L4AANy+AADcvgAA3b4AANq/AADUwgAA3r4ABNq/ABPbvgAl274AOdy/AE7bvgBs274Aktu+ALzbvgDk274A/9u+AP/bvwD/278A/9u8Av/ctAf/3agP/9+UHP/hgSj/4nku/+GEJv/enxX/3LQH/9vAAP/bvwD/274A/9u+APzbvgDq274Ald26ABPXxAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+qAAAA/wAA/6AAANy+AADavwAA278AANi6AAAAAAAA3L0AGdu+AD3bvwBn278Akdu+ALXbvgDI274A2tu+AOzbvwD7278A/9u9AP/csAn/35sX/+GFJv/ifir/4Ikk/96eFf/dsgj/27wB/9u/AP/bvgD+274A/tu+AK7cuwAjsf8AAN63AADetwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/qgAAAP8AAP+gAADcvgAA2r8AANy/AADHqAAA5McAAdy+AATbvgAI278ADt3AABfdwAAr3L4AU9y+AITcvgC2274A4Nu+APnbvgD7270B/Ny4BP7drAz/35ca/+GBKf/hhSb/4JgZ/920B//bvgD/274A/9u+AP/bvgDA270AQdu8AA7bvQAA270AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPGAADjxgAA7dEAAOHEAADcvgAA274AANu/AADWugAA6skAA92/ABjcvgAx3L4ATNu+AGrbvgCJ278AqNu/AMvbvgDs27oC/9ywCf/eoBT/35Md/+CPH//flxr/3aoN/9u8Af/bvwD/274Az9u/AGXbvwAh278AANu/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHDAADhwwAA5MYAAN/BAADcvgAA3L8AANy9AADdwwAJ28AAIdq/AEzbvgB8270Aqtu+AMvbvgDg27sC6t2qDvXfmBr94I0g/9+aGP/dsAn/3LoD/9u9AN3bvgCM278ANdu/AADbvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhwwAA4cMAAOTGAADfwQAA3L4AANy+AADcvgAA4dAAAdvBAAbavwAQ274AGtu9ACrbvwBG2r8Abtq+AJ3bugPN3LMI8N2pDv7enBb/4Jca/92sDP/cugPr3L0Bsty/AEncvgAA3L4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADcwQAA3MEAAN3CAADbwAAA2r8AANq+AADbvAAA2cAACtq/ACTawABH28EAadu+AInbtgWm3aYQwd+cF9zdpxD43LAJ8dy4BL3cuwJP3LoDANy6AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADavwAA2r8AANq/AAHZwAAC274ABOSvAATeuQES270BNNu9AmLctwaV3acPyt2mEM/dsgmd3bYHQd20CADdtAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2r8AANq/AADavwAA2r8AANq/AADXxQAAwtMNANvEAAvaxQAc270BL9ynEELdpBJE3bEKNN21BxXdswkA3bMJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAD/gAAAtP8AAOC3AADbvwAA278AANu4BADdpxAA3aYRAN2yCQDdtgcA3bQIAN20CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAAA/4AAALT/AADgtwAA278AANu/AADbuAQA3acQAN2mEQDdsgkA3bYHAN20CADdtAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////wA/+Af/////AD/4B/////4AB8AB/////gAHwAH////+AAEAAf////4AAAAB/////gAAAAH////+AAAAAf////4AAAAA/////gAAAAD////+AAAAAP////4AAAAA////+AAAAAD////4AAAAAD////gAAAAAP///+AAAAAA////wAAAAAD////AAAAAAP///AAAAAAA///8AAAAAAD//+AAAAAAAD//4AAAAAAAP//gAAAAAAA//+AAAAAAAD//4AAAAAAAP//gAAAAAAA//+AAAAAAAB//4AAAAAAAH//gAAAAAAAf//gAAAAAAB//+AAAAAAAH///wAAAAAAH///8AAAAAAf///wAAAAAB////8AAAAAH////wAAAAAf////8AAAAB//////gAAAH/////+AAAAf//////wAAB///////+AAH///////4AAf///////8AB////////wAH///////////////////////////////////////////////////////////////////////////////////////////////////////////ygAAABIAAAAkAAAAAEAIAAAAAAAAFEAAMMOAADDDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiihoA4ooaAOKJGwDiixgA448RAOOUDADhnAsA4KQKAOCjCgDgogoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANbCAADWwgAA1cIAANbCAADawQAA3cEAAN3BAADdwQAA3cEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiihoA4ooaAeKJGwfiixgN448RDuOUDAzhnAsI4KQKBOCjCgHgogoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANbCAADWwgAA1cIAANbCAAHawQAC3cEAAt3BAAHdwQAA3cEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAD/AAAAkf8AAN+4AAHbvwAD278ABdu8AgjcrQwL3aQSDd2qDgzdtAgI3bYHA920CADdtAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAD/AAAAkf8AAN+4AADbvwAA278AANu8AgDcrQwA3aQSAN2qDgDdtAgA3bYHAN20CADdtAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///gB//AH//8AAAD///gB//AH//8AAAD//+AAH4AB//8AAAD//+AABgAB//8AAAD//+AABgAB//8AAAD//+AAAAAB//8AAAD//+AAAAAB//8AAAD//+AAAAAB//8AAAD//+AAAAAB//8AAAD//+AAAAAAf/8AAAD//+AAAAAAf/8AAAD//+AAAAAAf/8AAAD//4AAAAAAf/8AAAD//4AAAAAAf/8AAAD//4AAAAAAP/8AAAD//4AAAAAAP/8AAAD//4AAAAAAP/8AAAD//4AAAAAAP/8AAAD//gAAAAAAP/8AAAD//gAAAAAAP/8AAAD/8AAAAAAAP/8AAAD/AAAAAAAAD/8AAAD/AAAAAAAAD/8AAAD/AAAAAAAAD/8AAAD/AAAAAAAAD/8AAAD/AAAAAAAAD/8AAAD/AAAAAAAAD/8AAAD/AAAAAAAAD/8AAAD/AAAAAAAAD/8AAAD/AAAAAAAAA/8AAAD/AAAAAAAAA/8AAAD/AAAAAAAAA/8AAAD/wAAAAAAAA/8AAAD/wAAAAAAAA/8AAAD//gAAAAAAAP8AAAD//gAAAAAAAP8AAAD///gAAAAAAP8AAAD///8AAAAAAP8AAAD///8AAAAAAP8AAAD////8AAAAAP8AAAD////8AAAAAP8AAAD/////4AAAAP8AAAD/////4AAAAP8AAAD//////4AAAP8AAAD//////4AAAP8AAAD///////wAAP8AAAD////////AAP8AAAD////////AAP8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAAoAAAAYAAAAMAAAAABACAAAAAAAACQAADDDgAAww4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOKKGgDiihoA4oobAOKKGwDiixkA440UAOORDwDjlQwA4ZsLAOCiCgDfpQkA4KIKAOCiCgDgogoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWwgAA1sIAANbCAADVwgAA1sIAANnCAADcwQAA3cEAAN3BAADdwQAA3cEAAN3BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOKKGgDiihoA4oobAOKKGwDiixkA440UAOORDwDjlQwA4ZsLAOCiCgDfpQkA4KIKAOCiCgDgogoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AADbvgAA274AANu+AAfbvgAa274AMdu+AEnbvgBi274Ae9u+AJLbvgCq274Awtu+ANnbvgDt274A/du+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u/AP/bvwD/270B/9y4BP/csAn/3acP/96cF//gjyD/4oAq/+N0Mf/kbDb/5Gk5/+RqOP/jbzX/4nku/+GHJf/flhv/3acP/9y3Bf/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+APfbvgDj274AvNu+AHbbvgAl270AANu+AADduwAA3bsAAN27AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbvgAA274AANu+AAHcvgAC274ABtq9AA7avQAa2r4AMNq/AE7avwBv274Aj9u+AK3bvgDI274A4Nu+AO/bvgD0274A9du+APjbvgD7274A/du+AP7bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvAH/27kE/9yzCP/epRH/4JEe/+KBKP/jdy//43A0/+RsN//kazf/4281/+N1Mf/igSn/35Yb/92rDf/ctwX/27sC/9u9Af/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+APvbvgDx274A09u+AIjbvgAt2MIAANu/AADduwAA3bsAAN27AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbvgAA274AANu+AADbvgAA274AAODBAADUugAD2b4AENm/ACTavwA5274ATtu+AGPbvgB5274Aj9u+AKTbvgC2274AyNu+ANvbvgDt274A+tu+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u/AP/bvwD/274A/9u7Av/csgj/3qYQ/9+ZGP/gjSD/4YIo/+J3L//jbjX/5Go4/+RsN//jdDL/4YMo/+CUHP/eoxL/3bIJ/9y7Av/bvgD/274A/9u/AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP3bvgD9274A5du+AJnbvQA537gABtTIAADeugAA3roAAN66AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbvgAA274AANu+AADavgAA3L4AANC2AADYvAAC2b4ABdq/AAravwAP274AE9u+ABnbvwAl278AN9u/AE/bvgBt270Ajdu+AK/bvgDP274A5tu+APXbvgD9274A/9u+AP7bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u9Af/buwL/3LgE/9yxCP/dphD/35kZ/+CIJP/idy//4241/+RsN//kbjb/43Mz/+J8LP/hjSH/3qQS/920B//cugP/270B/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A8tu+AKncvQBI3boAEeC2AATduwAB3bsAAN27AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANm9AADZvQAA2b0AANm8AADZvQAA2b4AANq/AADavwAA2r8AANu+AADT1wAB2cMADdrAACDbvgA5270AVtu9AHLbvgCP274Aptu+ALjbvgDH274A1Nu+AN/bvgDr274A9tu+AP3bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvwD/278A/9u8Af/ctQb/3aoO/96bF//giyL/4X8q/+J3L//jcTP/5G42/+RvNf/ifCz/4JAf/96iE//drgr/3LgE/9u8Af/bvgD/278A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A+du+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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAAP+AAAD/bgAAu/YAAPmKAADeugAA274AANu/AADbvwAA27sDANyvCgDdphEA3aURAN2rDQDdswkA3bYHAN21BwDdtAgA3bQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAAP+AAAD/bgAAu/YAAPmKAADeugAA274AANu/AADbvwAA27sDANyvCgDdphEA3aURAN2rDQDdswkA3bYHAN21BwDdtAgA3bQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AA//+AB////////8AA//+AB////////gAAB/AAAf///////gAAB/AAAf///////gAAAcAAAf///////gAAAcAAAf///////gAAAcAAAf///////gAAAAAAAf///////gAAAAAAAf///////gAAAAAAAf///////gAAAAAAAf///////gAAAAAAAf///////gAAAAAAAD///////gAAAAAAAD///////gAAAAAAAD///////gAAAAAAAD//////+AAAAAAAAD//////+AAAAAAAAD//////+AAAAAAAAD//////+AAAAAAAAA//////+AAAAAAAAA//////+AAAAAAAAA//////+AAAAAAAAA//////+AAAAAAAAA//////wAAAAAAAAA//////wAAAAAAAAA/////8AAAAAAAAAA/////8AAAAAAAAAA////+AAAAAAAAAAAP///+AAAAAAAAAAAP///+AAAAAAAAAAAP///+AAAAAAAAAAAP///+AAAAAAAAAAAP///+AAAAAAAAAAAP///+AAAAAAAAAAAP///+AAAAAAAAAAAP///+AAAAAAAAAAAP///+AAAAAAAAAAAP///+AAAAAAAAAAAB///+AAAAAAAAAAAB///+AAAAAAAAAAAB///+AAAAAAAAAAAB///+AAAAAAAAAAAB////gAAAAAAAAAAB////gAAAAAAAAAAB/////wAAAAAAAAAAf////wAAAAAAAAAAf////wAAAAAAAAAAf/////8AAAAAAAAAf/////8AAAAAAAAAf//////wAAAAAAAAf//////wAAAAAAAAf///////8AAAAAAAf///////8AAAAAAAf///////8AAAAAAAf////////+AAAAAAf////////+AAAAAAf//////////AAAAAf//////////AAAAAf//////////AAAAAf///////////gAAAf///////////gAAAf////////////AAAf////////////AAAf/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KAAAAIAAAAAAAQAAAQAgAAAAAAAAAAEAww4AAMMOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiihoA4ooaAOKKGgDiihsA4okbAOKKGgDiixgA4o0VAOOQEQDjkg0A4pUMAOKaCwDgnwoA4KQKAN+lCQDgowoA4KIKAOCiCgDgogoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AMHbvgDV274A5tu+APXbvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvwD/278A/9u9AP/bvAL/3LkD/9y1Bv/csAn/3aoO/96iE//flhv/4Ygk/+J9K//jdDH/5G41/+RrOP/kaTj/5Go4/+RuNv/jczL/4not/+GEJ//gjyD/3p4W/92tDP/cuAT/270B/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/du+APTbvgDl274Ay9u+AJ3bvgBb274AH9y9AADbvgAA274AAN27AADduwAA3bsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA274AANu+AADbvgAA274AAODBAADfwAAA274AAtq9AAfZvQAN2b0AF9q+ACfavwA82r8AVNq/AGzbvgCD274Am9u+ALDbvgDE274A1tu+AOPbvgDr274A7tu+APDbvgDz274A99u+APrbvgD8274A/tu+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/27wB/9u7A//ctwX/3LAK/96kEf/flhv/4Ykj/+J/Kv/jeC//43Iz/+RuNf/kbDf/5Gs3/+RtNv/jcTT/43cw/+KBKf/gkR//3qIT/92vC//ctgb/3LoD/9u8Af/bvQD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD+274A+du+APHbvgDb274ArNu+AGbbvgAl3rkAAtq/AADavwAA3bsAAN27AADduwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbvgAA274AANu+AADbvgAA274AANu+AADbvgAA3cAAAP//AADWuwAG2L4AENm/ACDavwAx2r8AQ9q/AFPbvgBk274Addu+AIfbvgCY274AqNu+ALbbvgDB274Azdu+ANnbvgDm274A8du+APnbvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/278A/9u/AP/bvwD/274A/9u8Af/cuAT/3a8K/96lEf/fmhf/4JEd/+GJI//hgSn/4nku/+NyM//kbTb/5Go4/+RrN//jbzX/43cw/+GDKP/gkR//350W/96oD//dsgn/3LkE/9u9Af/bvgD/274A/9u/AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP7bvgD9274A+tu+AOjbvgC6274Actu9AC3eugAI1sYAANDOAADeugAA3roAAN66AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANu+AADbvgAA274AANu+AADbvgAA274AANu+AADdvwAA8c4AANW7AALYvgAH2b8ADtq/ABbavwAe2r4AJdu+AC3bvgA3278AQ9u/AFLbvwBj274Adtu+AIvbvgCg274Attu+AMzbvgDg274A79u+APnbvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/278A/9u+AP/bvgD/270B/9u7Av/cuAT/3LMH/92tC//epRD/3pwW/9+SHf/hiCT/4nws/+NxM//kbDf/5Go4/+RsN//jcDT/43Yw/+J/Kv/hiSP/35ga/96nEP/dswf/3LoD/9u9Af/bvgD/278A/9u/AP/bvgD/274A/9u+AP/bvgD/274A/9u+AP/bvgD/274A/9u+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CADdtAgA3bQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAD/gAAA/4AAAP8AAAC89QAADv8AAOWtAADduwAA3L4AANu/AADbvwAA278AANu7AgDctAcA3KsNAN2lEQDdpBIA3agPAN2vCwDdtAgA3bYHAN22BwDdtAgA3bQIAN20CADdtAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAA///8AAP///////////gAAP///AAD///////////4AAD///wAA///////////wAAAA/8AAAA//////////8AAAAP/AAAAP//////////AAAAD/wAAAD//////////wAAAADgAAAA//////////8AAAAA4AAAAP//////////AAAAAOAAAAD//////////wAAAAAAAAAA//////////8AAAAAAAAAAP//////////AAAAAAAAAAD//////////wAAAAAAAAAA//////////8AAAAAAAAAAP//////////AAAAAAAAAAD//////////wAAAAAAAAAA//////////8AAAAAAAAAAB//////////AAAAAAAAAAAf/////////wAAAAAAAAAAH/////////8AAAAAAAAAAB//////////AAAAAAAAAAAf/////////wAAAAAAAAAAH/////////AAAAAAAAAAAB/////////wAAAAAAAAAAAf////////8AAAAAAAAAAAH/////////AAAAAAAAAAAAP////////wAAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////wAAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP///////+AAAAAAAAAAAAD////////gAAAAAAAAAAAA////////4AAAAAAAAAAAAP//////+AAAAAAAAAAAAAD///////gAAAAAAAAAAAAA///////4AAAAAAAAAAAAAP/////8AAAAAAAAAAAAAAAf/////AAAAAAAAAAAAAAAH/////wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAf/////AAAAAAAAAAAAAAAH/////wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAf/////AAAAAAAAAAAAAAAH/////wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAf/////AAAAAAAAAAAAAAAH/////wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAf/////AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD/////8AAAAAAAAAAAAAAA//////AAAAAAAAAAAAAAAP/////wAAAAAAAAAAAAAAD/////8AAAAAAAAAAAAAAA///////4AAAAAAAAAAAAAA//////+AAAAAAAAAAAAAAP//////gAAAAAAAAAAAAAD////////gAAAAAAAAAAAA////////4AAAAAAAAAAAAP///////+AAAAAAAAAAAAD/////////gAAAAAAAAAAA/////////4AAAAAAAAAAAP////////+AAAAAAAAAAAD//////////+AAAAAAAAAA///////////gAAAAAAAAAP//////////4AAAAAAAAAD////////////wAAAAAAAA////////////8AAAAAAAAP////////////AAAAAAAAD////////////wAAAAAAAA//////////////wAAAAAAP/////////////8AAAAAAD//////////////AAAAAAA////////////////AAAAAP///////////////wAAAAD///////////////8AAAAA/////////////////AAAAP////////////////wAAAD////////////////8AAAA//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4lQTkcNChoKAAAADUlIRFIAAAEAAAABAAgGAAAAXHKoZgAAAAFvck5UAc+id5oAAE5CSURBVHja7b15sD3bVd/3Wbv7nHOn3+/33tMsnvQkPUtINoMAMRrHzDgSoxNjY8YylGOZuCpQLhIbXFaocsXlmBQV40AlcaUc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ga97B/zmdaGZKE6c77wSG0aNDWgoF1KCJvsGYtelhGBKTNJsFHIHLRuRj/9RizrYvtL9ell64c85gBZZAZwQthw0CRUOtHCRJASfrd4N9fpt9WQdhypsIJR0TL2LkPDbBa635T3DdS0CS69wS0V9eUvlAMeRNFQ6hbSYGAsKxi5CGO0fM2rhEJrZS3pvWQWa2QZ8xz24wV/16eP3/+7vLt/3+C5UU/jvgS8u/Bu9jY+HQMGBSVfzqA1Zy9Dwo4FaXJKzGjBF0GbJEJukfAAxiegzkM1CKQe8pM2im2vIyArgpFATe1PCzyjGThRjrXqrs4dv090MhnBfYUeFmaKFXwbaXqiBqjvErT7D70t7hl2M7mLYV+FIC52/6EfL6sbfsLTrR4G2vHY/VBqnhhFaZBVwhePWyxxPv9Myv2RxhUFNgZpYMTBIGDjQGOO0JcTYDmxBHeoUM1l29++r7/n8ISuAE0KFrqwl0QqLKtIgeiRwO/DoE3rRr6mwiTBF2k1Bvd549aO9aeb/AKP7ajig4EhLFvaKNre+xbus8jCT+Y8cI9NRonD5KnzoC5Sv/EnLhz7fUW86XGnQQkK5w5cOhbBnvS03pIzEDnNL0RcnkUJ8rawAUmQFcGJoN+lGbO8VCA0p6p1cgEW4nXaume5J2v71dmxVaemrfC+/Lw9WGLXukvruuhVv6fzBwfQQrny/8r5fAjdxYBRngtXHBeGXkHdImYW6+Gj/TbD9THjOLPSrkBXAiZE29XeU/Pj5/9hCWCsciLKhwkSg1P4QS2qpGoFK1W8ZUqUSpVaVRlRrdTTSiCuvoVIJbGkvwX7/EzxrCi3g4y+A9/6ScPAY2JADVNPtOY50qN2XEUsRXafT1h/h+4eGWvI8fmn3jqwATggZdrupglgVVQssxC/kWIgvYRX4TcFB+FM3N+HB0+CyKk4Uqw4nglP1Zxq0WAj1KxSzx/J6DXeWXYBh6dDAx14Dr/0D+Iybws2Xp22T2ssbpFLdKYIkQFL1ztdY2dMFRrMMyOrwxHj5P3lm1UMSLkl/dUrIEISzE3BG/Dl0B7YTgkZVC3+mAC1Ug5BrLDmKih5H1HP4na867a/m7vFr7zvmwTGLHTN3/V7q7vHRP1yNv/j0aX8Da4PsAdw/dHDOePDI3+1DQvaFMjIuMLICyMi4wMgKICPjAiMrgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIxziv8f1FQxGjowi0gAAAAASUVORK5CYII=",".gitignore":"bm9kZV9tb2R1bGVzCmNvdmVyYWdlCi5EU19TdG9yZQpkaXN0CmRpc3Qtc3NyCioubG9jYWwKY291bnQudHh0Ci5lbnYKLm5pdHJvCi50YW5zdGFjawouaWRlYQp0c2NvbmZpZy50c2J1aWxkaW5mbwoubGlnaHRob3VzZWNpCioqL2dlbgpiaW4KCiMgUmVsZWFzZSBwcmV2aWV3IGZpbGVzCkNIQU5HRUxPRy5wcmV2aWV3Lm1kCgojIFNjYWZmb2xkIG1ldGFkYXRhIOKAlCBtdXN0IGJlIHRyYWNrZWQKIS5taW5pa2l0Lmpzb24K","package.json":"ewogICJ2ZXJzaW9uIjogIjEuMC4wIiwKICAibmFtZSI6ICJhcHAtbmFtZSIsCiAgInByaXZhdGUiOiB0cnVlLAogICJ0eXBlIjogIm1vZHVsZSIsCiAgInNjcmlwdHMiOiB7CiAgICAicHJlcGFyZSI6ICJodXNreSIsCiAgICAiZm9ybWF0IjogImJpb21lIGZvcm1hdCIsCiAgICAiZm9ybWF0OmZpeCI6ICJiaW9tZSBmb3JtYXQgLS13cml0ZSIsCiAgICAibGludCI6ICJiaW9tZSBsaW50IiwKICAgICJsaW50OmZpeCI6ICJiaW9tZSBsaW50IC0td3JpdGUiLAogICAgImNoZWNrIjogImJpb21lIGNoZWNrIiwKICAgICJjaGVjazpmaXgiOiAiYmlvbWUgY2hlY2sgLS13cml0ZSIsCiAgICAidHNjIjogInRzYyAtLW5vRW1pdCIsCiAgICAib3B0aW1pc2U6c3ZnIjogInN2Z28gLXIgLWYgcHVibGljL2Fzc2V0cyIsCiAgICAidGVzdCI6ICJ2aXRlc3QgcnVuIiwKICAgICJ0ZXN0OmNvdmVyYWdlIjogInZpdGVzdCBydW4gLS1jb3ZlcmFnZSIsCiAgICAiZGV2IjogInZpdGUgLS1wb3J0IDMwMDAiLAogICAgImJ1aWxkIjogInRzYyAtYiAmJiB2aXRlIGJ1aWxkIiwKICAgICJidWlsZDpzdGFnaW5nIjogInRzYyAtYiAmJiB2aXRlIGJ1aWxkIC0tbW9kZSBwcm9kdWN0aW9uIiwKICAgICJidWlsZDpwcm9kdWN0aW9uIjogInRzYyAtYiAmJiB2aXRlIGJ1aWxkIC0tbW9kZSBwcm9kdWN0aW9uIiwKICAgICJwcmV2aWV3IjogInZpdGUgcHJldmlldyIsCiAgICAicmVsZWFzZSI6ICJzZW1hbnRpYy1yZWxlYXNlIgogIH0sCiAgImRlcGVuZGVuY2llcyI6IHsKICAgICJyZWFjdCI6ICIxOS4yLjYiLAogICAgInJlYWN0LWRvbSI6ICIxOS4yLjYiLAogICAgIkB0YW5zdGFjay9yZWFjdC1xdWVyeSI6ICI1LjEwMC4xMCIsCiAgICAiQHRhbnN0YWNrL3JlYWN0LXJvdXRlciI6ICIxLjE2OS4yIgogIH0sCiAgImRldkRlcGVuZGVuY2llcyI6IHsKICAgICJAYmFiZWwvY29yZSI6ICI4LjAuMSIsCiAgICAiQGJpb21lanMvYmlvbWUiOiAiMi40LjE1IiwKICAgICJAY29tbWl0bGludC9jbGkiOiAiMjEuMC4xIiwKICAgICJAY29tbWl0bGludC9jb25maWctY29udmVudGlvbmFsIjogIjIxLjAuMSIsCiAgICAiQHJvbGxkb3duL3BsdWdpbi1iYWJlbCI6ICIwLjIuMyIsCiAgICAiQHNlbWFudGljLXJlbGVhc2UvY2hhbmdlbG9nIjogIjYuMC4zIiwKICAgICJAc2VtYW50aWMtcmVsZWFzZS9jb21taXQtYW5hbHl6ZXIiOiAiMTMuMC4xIiwKICAgICJAc2VtYW50aWMtcmVsZWFzZS9naXQiOiAiMTAuMC4xIiwKICAgICJAc2VtYW50aWMtcmVsZWFzZS9ucG0iOiAiMTMuMS41IiwKICAgICJAc2VtYW50aWMtcmVsZWFzZS9yZWxlYXNlLW5vdGVzLWdlbmVyYXRvciI6ICIxNC4xLjEiLAogICAgIkB0YWlsd2luZGNzcy92aXRlIjogIjQuMy4wIiwKICAgICJAdGFuc3RhY2svcmVhY3QtZGV2dG9vbHMiOiAiMC4xMC41IiwKICAgICJAdGFuc3RhY2svcmVhY3QtcXVlcnktZGV2dG9vbHMiOiAiNS4xMDAuMTAiLAogICAgIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXItZGV2dG9vbHMiOiAiMS4xNjYuMTMiLAogICAgIkB0ZXN0aW5nLWxpYnJhcnkvZG9tIjogIjEwLjQuMSIsCiAgICAiQHRlc3RpbmctbGlicmFyeS9yZWFjdCI6ICIxNi4zLjIiLAogICAgIkB0eXBlcy9iYWJlbF9fY29yZSI6ICI3LjIwLjUiLAogICAgIkB0eXBlcy9ub2RlIjogIjI1LjcuMCIsCiAgICAiQHR5cGVzL3JlYWN0IjogIjE5LjIuMTQiLAogICAgIkB0eXBlcy9yZWFjdC1kb20iOiAiMTkuMi4zIiwKICAgICJAdml0ZWpzL3BsdWdpbi1yZWFjdCI6ICI2LjAuMSIsCiAgICAiQHZpdGVzdC9jb3ZlcmFnZS12OCI6ICI0LjEuNiIsCiAgICAiYmFiZWwtcGx1Z2luLXJlYWN0LWNvbXBpbGVyIjogIjEuMC4wIiwKICAgICJkb21wdXJpZnkiOiAiMy40LjMiLAogICAgImh1c2t5IjogIjkuMS43IiwKICAgICJqc2RvbSI6ICIyOS4xLjEiLAogICAgInNlbWFudGljLXJlbGVhc2UiOiAiMjUuMC4zIiwKICAgICJzdmdvIjogIjQuMC4xIiwKICAgICJ0YWlsd2luZGNzcyI6ICI0LjMuMCIsCiAgICAidHlwZXNjcmlwdCI6ICI2LjAuMyIsCiAgICAidml0ZSI6ICI4LjEuMiIsCiAgICAidml0ZS1idW5kbGUtYW5hbHl6ZXIiOiAiMS4zLjgiLAogICAgInZpdGUtcGx1Z2luLWNvbXByZXNzaW9uMiI6ICIyLjUuMyIsCiAgICAidml0ZXN0IjogIjQuMS42IgogIH0sCiAgInBhY2thZ2VNYW5hZ2VyIjogInBucG1AMTEuMS4xK3NoYTUxMi5kMWZkZjVmNzNjNjE3YjY0ZmExYTU2YTgxYzNjOGRmZTBlOTY2ZTMzYTYwMTBhYTI1NmI1MTdhZTc3YmUyMWQ5M2UwNWFmZmMwZGUxYTgzYjBlNGYyOWQ1NjlmNjhiNDQ2YWU4ZjA2OGNkNzI0N2MwYmIzZGYwZmI0ZDdiZGY5YSIsCiAgImJyb3dzZXJzbGlzdCI6IFsKICAgICI+IDAuNSUiLAogICAgImxhc3QgMiB2ZXJzaW9ucyIsCiAgICAiQW5kcm9pZCA+PSA2LjAiLAogICAgImlPUyA+PSAxNSIsCiAgICAiQ2hyb21lID49IDEwNiIsCiAgICAiU2FmYXJpID49IDE1IgogIF0KfQo=",".nvmrc":"djI0LjE1LjAK","commitlint.config.js":"ZXhwb3J0IGRlZmF1bHQgeyBleHRlbmRzOiBbJ0Bjb21taXRsaW50L2NvbmZpZy1jb252ZW50aW9uYWwnXSB9Owo=","tsconfig.json":"ewogICJpbmNsdWRlIjogWyIqKi8qLnRzIiwgIioqLyoudHN4Il0sCiAgImNvbXBpbGVyT3B0aW9ucyI6IHsKICAgICJub0VtaXQiOiB0cnVlLAogICAgInR5cGVzIjogWyJ2aXRlL2NsaWVudCIsICJub2RlIl0sCiAgICAianN4IjogInJlYWN0LWpzeCIsCiAgICAibGliIjogWyJFUzIwMjIiLCAiRE9NIiwgIkRPTS5JdGVyYWJsZSJdLAogICAgInRhcmdldCI6ICJFUzIwMjIiLAogICAgIm1vZHVsZSI6ICJFU05leHQiLAogICAgIm1vZHVsZVJlc29sdXRpb24iOiAiYnVuZGxlciIsCiAgICAibW9kdWxlRGV0ZWN0aW9uIjogImZvcmNlIiwgICAgICAgICAvLyBFdmVyeSBmaWxlIGlzIGEgbW9kdWxlCiAgICAiaXNvbGF0ZWRNb2R1bGVzIjogdHJ1ZSwgICAgICAgICAgICAvLyBFbnN1cmVzIGZpbGVzIGNhbiBiZSBzYWZlbHkgdHJhbnNwaWxlZCAxLWJ5LTEKICAgICJ2ZXJiYXRpbU1vZHVsZVN5bnRheCI6IHRydWUsICAgICAgIC8vIFN0cmljdCBFU00gaW1wb3J0cyBhbmQgc2VwYXJhdGUgdHlwZS1vbmx5IGltcG9ydHMKICAgICJlcmFzYWJsZVN5bnRheE9ubHkiOiB0cnVlLCAgICAgICAgIC8vIEZvcmJpZHMgRW51bXMvTmFtZXNwYWNlcy9QYXJhbSBQcm9wcwoKICAgIC8qIEJlc3QgcHJhY3RpY2VzICovCiAgICAiYWxsb3dKcyI6IHRydWUsCiAgICAic3RyaWN0IjogdHJ1ZSwKICAgICJza2lwTGliQ2hlY2siOiB0cnVlLAogICAgInJlc29sdmVKc29uTW9kdWxlIjogdHJ1ZSwKICAgICJub1VuY2hlY2tlZEluZGV4ZWRBY2Nlc3MiOiB0cnVlLAogICAgIm5vUHJvcGVydHlBY2Nlc3NGcm9tSW5kZXhTaWduYXR1cmUiOiB0cnVlLAogICAgIm5vSW1wbGljaXRPdmVycmlkZSI6IHRydWUsCiAgICAibm9VbmNoZWNrZWRTaWRlRWZmZWN0SW1wb3J0cyI6IHRydWUsCiAgICAibm9JbXBsaWNpdFJldHVybnMiOiB0cnVlLAogICAgIm5vVW51c2VkTG9jYWxzIjogdHJ1ZSwKICAgICJub1VudXNlZFBhcmFtZXRlcnMiOiB0cnVlLAoKICAgICJwYXRocyI6IHsKICAgICAgIkAvKiI6IFsiLi9zcmMvKiJdLAogICAgfQogIH0KfQo=",".env.example":"IyBkZWZhdWx0OgpWSVRFX0FQUF9USVRMRT0iQXBwIE5hbWUiClZJVEVfSlNTREtfVVJMPSJodHRwczovL2d3ay5nb3BheWFwaS5jb20vc2RrL3N0YWJsZS9ncC1jb250YWluZXIubWluLmpzIgpWSVRFX0JBU0VfQVBQX1BSRUZJWD0iL2FwcC1uYW1lLyIKVklURV9CQVNFX0FQSV9VUkw9IjxzdGFnaW5nIGJhY2tlbmQgdXJsPiIKCiMgZm9yIGxvY2FsaG9zdCBkZXYgc2VydmVyOgpWSVRFX0JBU0VfQVBJX1VSTD0iL2FwaSIKQVBJX0RPTUFJTj0iPHN0YWdpbmcgYmFja2VuZCB1cmw+IgoKQlVORExFX0FOQUxZWkU9dHJ1ZQpWSVRFX0FQUF9FTlZJUk9OTUVOVD0ic3RhZ2luZyIK","vite.config.ts":"aW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gIm5vZGU6cGF0aCI7CmltcG9ydCB6bGliIGZyb20gIm5vZGU6emxpYiI7CgppbXBvcnQgdGFpbHdpbmRjc3MgZnJvbSAiQHRhaWx3aW5kY3NzL3ZpdGUiOwppbXBvcnQgcmVhY3QsIHsgcmVhY3RDb21waWxlclByZXNldCB9IGZyb20gIkB2aXRlanMvcGx1Z2luLXJlYWN0IjsKaW1wb3J0IHsgZGVmaW5lQ29uZmlnLCBsb2FkRW52IH0gZnJvbSAidml0ZSI7CmltcG9ydCB7IGFuYWx5emVyIH0gZnJvbSAidml0ZS1idW5kbGUtYW5hbHl6ZXIiOwppbXBvcnQgeyBjb21wcmVzc2lvbiwgZGVmaW5lQWxnb3JpdGhtIH0gZnJvbSAidml0ZS1wbHVnaW4tY29tcHJlc3Npb24yIjsKaW1wb3J0IGJhYmVsIGZyb20gJ0Byb2xsZG93bi9wbHVnaW4tYmFiZWwnOwoKLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy8KZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKCh7IG1vZGUgfSkgPT4gewogIGNvbnN0IGVudiA9IGxvYWRFbnYobW9kZSwgcHJvY2Vzcy5jd2QoKSwgIiIpIGFzIHVua25vd24gYXMgSW1wb3J0TWV0YUVudjsKICByZXR1cm4gewogICAgYmFzZTogZW52LlZJVEVfQkFTRV9BUFBfUFJFRklYLAogICAgcGx1Z2luczogWwogICAgICByZWFjdCgpLAogICAgICBiYWJlbCh7IHByZXNldHM6IFtyZWFjdENvbXBpbGVyUHJlc2V0KCldIH0pLAogICAgICB0YWlsd2luZGNzcygpLAogICAgICBtb2RlID09PSAicHJvZHVjdGlvbiIKICAgICAgICA/IGNvbXByZXNzaW9uKHsKICAgICAgICAgICAgYWxnb3JpdGhtczogWwogICAgICAgICAgICAgIGRlZmluZUFsZ29yaXRobSgiZ3ppcCIsIHsgbGV2ZWw6IDkgfSksCiAgICAgICAgICAgICAgZGVmaW5lQWxnb3JpdGhtKCJicm90bGlDb21wcmVzcyIsIHsKICAgICAgICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICAgICAgICBbemxpYi5jb25zdGFudHMuQlJPVExJX1BBUkFNX1FVQUxJVFldOiAxMSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgZGVmaW5lQWxnb3JpdGhtKCJkZWZsYXRlIiwgeyBsZXZlbDogOSB9KSwKICAgICAgICAgICAgXSwKICAgICAgICAgIH0pCiAgICAgICAgOiBudWxsLAogICAgICBtb2RlID09PSAicHJvZHVjdGlvbiIgJiYgZW52LkJVTkRMRV9BTkFMWVpFID09PSAidHJ1ZSIKICAgICAgICA/IGFuYWx5emVyKHsKICAgICAgICAgICAgYW5hbHl6ZXJNb2RlOiAic3RhdGljIiwKICAgICAgICAgICAgZmlsZU5hbWU6ICJidW5kbGUtcmVwb3J0IiwKICAgICAgICAgIH0pCiAgICAgICAgOiBudWxsLAogICAgXS5maWx0ZXIoQm9vbGVhbiksCiAgICBidWlsZDogewogICAgICBtb2R1bGVQcmVsb2FkOiBmYWxzZSwKICAgICAgcm9sbHVwT3B0aW9uczogewogICAgICAgIG91dHB1dDogewogICAgICAgICAgY2h1bmtGaWxlTmFtZXM6IChjaHVua0luZm8pID0+IHsKICAgICAgICAgICAgcmV0dXJuIGNodW5rSW5mby5uYW1lPy5zdGFydHNXaXRoKCJ2ZW5kb3IiKQogICAgICAgICAgICAgID8gInZlbmRvcnMvW25hbWVdLVtoYXNoXS5qcyIKICAgICAgICAgICAgICA6ICJjaHVua3MvW25hbWVdLVtoYXNoXS5qcyI7CiAgICAgICAgICB9LAogICAgICAgICAgZW50cnlGaWxlTmFtZXM6ICJjaHVua3MvW25hbWVdLVtoYXNoXS5qcyIsCiAgICAgICAgICBhc3NldEZpbGVOYW1lczogKGFzc2V0SW5mbykgPT4gewogICAgICAgICAgICBpZiAoYXNzZXRJbmZvLm5hbWVzPy5bMF0/LmVuZHNXaXRoKCIuY3NzIikpIHsKICAgICAgICAgICAgICByZXR1cm4gImNodW5rcy9bbmFtZV0tW2hhc2hdW2V4dG5hbWVdIjsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gImFzc2V0cy9bbmFtZV0tW2hhc2hdW2V4dG5hbWVdIjsKICAgICAgICAgIH0sCiAgICAgICAgICBtYW51YWxDaHVua3MoaWQpIHsKICAgICAgICAgICAgaWYgKGlkLmluY2x1ZGVzKCJub2RlX21vZHVsZXMiKSkgewogICAgICAgICAgICAgIGlmIChpZC5pbmNsdWRlcygiYXNwaGFsdCIpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gInZlbmRvci1hc3BoYWx0IjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGlkLmluY2x1ZGVzKCJ0YW5zdGFjayIpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gInZlbmRvci10YW5zdGFjayI7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChpZC5pbmNsdWRlcygicmVhY3QiKSkgewogICAgICAgICAgICAgICAgcmV0dXJuICJ2ZW5kb3ItcmVhY3QiOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXR1cm4gInZlbmRvciI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgIH0sCiAgICB9LAogICAgdGVzdDogewogICAgICBnbG9iYWxzOiB0cnVlLAogICAgICBlbnZpcm9ubWVudDogImpzZG9tIiwKICAgIH0sCiAgICBzZXJ2ZXI6IHsKICAgICAgYWxsb3dlZEhvc3RzOiBbCiAgICAgICAgIi50cnljbG91ZGZsYXJlLmNvbSIsIC8vIPCfkYggeW91ciB0dW5uZWwgaG9zdG5hbWUKICAgICAgXSwKICAgICAgcHJveHk6IHsKICAgICAgICAiL2FwaSI6IHsKICAgICAgICAgIHRhcmdldDogZW52LkFQSV9ET01BSU4sCiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsCiAgICAgICAgICBzZWN1cmU6IHRydWUsCiAgICAgICAgICByZXdyaXRlOiAocGF0aCkgPT4gcGF0aC5yZXBsYWNlKC9eXC9hcGkvLCAiIiksCiAgICAgICAgfSwKICAgICAgfSwKICAgIH0sCiAgICByZXNvbHZlOiB7CiAgICAgIGFsaWFzOiB7CiAgICAgICAgIkAiOiByZXNvbHZlKF9fZGlybmFtZSwgIi4vc3JjIiksCiAgICAgIH0sCiAgICAgIGRlZHVwZTogWyJyZWFjdCIsICJyZWFjdC1kb20iXSwgLy8gRW5zdXJlIG9ubHkgb25lIGNvcHkgb2YgUmVhY3QKICAgIH0sCiAgfTsKfSk7Cg==","biome.json":"ewogICIkc2NoZW1hIjogIi4vbm9kZV9tb2R1bGVzL0BiaW9tZWpzL2Jpb21lL2NvbmZpZ3VyYXRpb25fc2NoZW1hLmpzb24iLAogICJ2Y3MiOiB7CiAgICAiZW5hYmxlZCI6IGZhbHNlLAogICAgImNsaWVudEtpbmQiOiAiZ2l0IiwKICAgICJ1c2VJZ25vcmVGaWxlIjogZmFsc2UKICB9LAogICJmaWxlcyI6IHsKICAgICJpZ25vcmVVbmtub3duIjogZmFsc2UsCiAgICAiaW5jbHVkZXMiOiBbCiAgICAgICJzcmMvKioiLAogICAgICAiLnZzY29kZS8qKiIsCiAgICAgICJpbmRleC5odG1sIiwKICAgICAgInZpdGUuY29uZmlnLnRzIiwKICAgICAgIiFzcmMvcm91dGVUcmVlLmdlbi50cyIsCiAgICAgICIhc3JjL3BhcmFnbGlkZS8qIiwKICAgICAgIiFzcmMvKiovZ2VuIgogICAgXQogIH0sCiAgImZvcm1hdHRlciI6IHsKICAgICJlbmFibGVkIjogdHJ1ZSwKICAgICJpbmRlbnRTdHlsZSI6ICJzcGFjZSIsCiAgICAiaW5kZW50V2lkdGgiOiAyLAogICAgImJyYWNrZXRTcGFjaW5nIjogdHJ1ZQogIH0sCiAgImxpbnRlciI6IHsKICAgICJlbmFibGVkIjogdHJ1ZSwKICAgICJydWxlcyI6IHsKICAgICAgInJlY29tbWVuZGVkIjogdHJ1ZSwKICAgICAgImNvcnJlY3RuZXNzIjogewogICAgICAgICJub1Vua25vd25Qcm9wZXJ0eSI6ICJ3YXJuIgogICAgICB9LAogICAgICAic3VzcGljaW91cyI6IHsKICAgICAgICAibm9WYXIiOiAiZXJyb3IiLAogICAgICAgICJub1Vua25vd25BdFJ1bGVzIjogIndhcm4iCiAgICAgIH0sCiAgICAgICJwZXJmb3JtYW5jZSI6IHsKICAgICAgICAibm9OYW1lc3BhY2VJbXBvcnQiOiAiZXJyb3IiCiAgICAgIH0sCiAgICAgICJzdHlsZSI6IHsKICAgICAgICAidXNlSW1wb3J0VHlwZSI6IHsKICAgICAgICAgICJsZXZlbCI6ICJlcnJvciIsCiAgICAgICAgICAib3B0aW9ucyI6IHsKICAgICAgICAgICAgInN0eWxlIjogInNlcGFyYXRlZFR5cGUiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAidXNlQ29uc2lzdGVudFR5cGVEZWZpbml0aW9ucyI6IHsKICAgICAgICAgICJsZXZlbCI6ICJlcnJvciIsCiAgICAgICAgICAib3B0aW9ucyI6IHsKICAgICAgICAgICAgInN0eWxlIjogInR5cGUiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAibm9OZXN0ZWRUZXJuYXJ5IjogImVycm9yIgogICAgICB9LAogICAgICAibnVyc2VyeSI6IHsKICAgICAgICAidXNlU29ydGVkQ2xhc3NlcyI6ICJlcnJvciIKICAgICAgfSwKICAgICAgImExMXkiOiB7CiAgICAgICAgInVzZUtleVdpdGhDbGlja0V2ZW50cyI6ICJvZmYiCiAgICAgIH0KICAgIH0KICB9LAogICJhc3Npc3QiOiB7CiAgICAiZW5hYmxlZCI6IHRydWUsCiAgICAiYWN0aW9ucyI6IHsKICAgICAgInNvdXJjZSI6IHsKICAgICAgICAib3JnYW5pemVJbXBvcnRzIjogewogICAgICAgICAgImxldmVsIjogIm9uIiwKICAgICAgICAgICJvcHRpb25zIjogewogICAgICAgICAgICAiaWRlbnRpZmllck9yZGVyIjogIm5hdHVyYWwiLAogICAgICAgICAgICAiZ3JvdXBzIjogWwogICAgICAgICAgICAgIHsgInR5cGUiOiB0cnVlIH0sCiAgICAgICAgICAgICAgIjpCTEFOS19MSU5FOiIsCiAgICAgICAgICAgICAgIjpOT0RFOiIsCiAgICAgICAgICAgICAgIjpCTEFOS19MSU5FOiIsCiAgICAgICAgICAgICAgIjpQQUNLQUdFOiIsCiAgICAgICAgICAgICAgIjpCTEFOS19MSU5FOiIsCiAgICAgICAgICAgICAgIjpBTElBUzoiLAogICAgICAgICAgICAgICI6QkxBTktfTElORToiLAogICAgICAgICAgICAgICI6UEFUSDoiLAogICAgICAgICAgICAgICI6QkxBTktfTElORToiLAogICAgICAgICAgICAgICIqKiIKICAgICAgICAgICAgXQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0sCiAgImNzcyI6IHsKICAgICJwYXJzZXIiOiB7CiAgICAgICJ0YWlsd2luZERpcmVjdGl2ZXMiOiB0cnVlCiAgICB9CiAgfSwKICAiamF2YXNjcmlwdCI6IHsKICAgICJmb3JtYXR0ZXIiOiB7CiAgICAgICJxdW90ZVN0eWxlIjogImRvdWJsZSIKICAgIH0KICB9Cn0K","svgo.config.js":"ZXhwb3J0IGRlZmF1bHQgewogIG11bHRpcGFzczogdHJ1ZSwgLy8gb3B0aW1pemUgU1ZHIG11bHRpcGxlIHRpbWVzCiAgcGx1Z2luczogWwogICAgeyBuYW1lOiAncmVtb3ZlRG9jdHlwZScsIGFjdGl2ZTogdHJ1ZSB9LAogICAgeyBuYW1lOiAncmVtb3ZlQ29tbWVudHMnLCBhY3RpdmU6IHRydWUgfSwKICAgIHsgbmFtZTogJ3JlbW92ZU1ldGFkYXRhJywgYWN0aXZlOiB0cnVlIH0sCiAgICB7IG5hbWU6ICdyZW1vdmVUaXRsZScsIGFjdGl2ZTogdHJ1ZSB9LAogICAgeyBuYW1lOiAncmVtb3ZlRGVzYycsIGFjdGl2ZTogdHJ1ZSB9LAogICAgeyBuYW1lOiAncmVtb3ZlVXNlbGVzc0RlZnMnLCBhY3RpdmU6IHRydWUgfSwKICAgIHsgbmFtZTogJ3JlbW92ZUVtcHR5QXR0cnMnLCBhY3RpdmU6IHRydWUgfSwKICAgIHsgbmFtZTogJ3JlbW92ZUVtcHR5Q29udGFpbmVycycsIGFjdGl2ZTogdHJ1ZSB9LAogICAgeyBuYW1lOiAnY2xlYW51cEF0dHJzJywgYWN0aXZlOiB0cnVlIH0sCiAgICB7IG5hbWU6ICdjb252ZXJ0U3R5bGVUb0F0dHJzJywgYWN0aXZlOiB0cnVlIH0sCiAgICB7IG5hbWU6ICdjb252ZXJ0UGF0aERhdGEnLCBwYXJhbXM6IHsgZmxvYXRQcmVjaXNpb246IDIgfSwgYWN0aXZlOiB0cnVlIH0sCiAgXQp9Owo=","pnpm-workspace.yaml":"YWxsb3dCdWlsZHM6CiAgY29yZS1qczogdHJ1ZQo=","src/globals.d.ts":"ZGVjbGFyZSBnbG9iYWwgewogIC8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZUNvbnNpc3RlbnRUeXBlRGVmaW5pdGlvbnM6IFdpbmRvdyBtdXN0IGJlIGFuIGludGVyZmFjZSBmb3IgZGVjbGFyYXRpb24gbWVyZ2luZwogIGludGVyZmFjZSBXaW5kb3cgewogICAgZ3BDb250YWluZXI6IHsKICAgICAgY2FsbDogPFN1Y2Nlc3NSZXNwb25zZURhdGE+KAogICAgICAgIGNsYXNzTmFtZTogc3RyaW5nLAogICAgICAgIG1ldGhvZE5hbWU6IHN0cmluZywKICAgICAgICBwYXJhbXM6IG9iamVjdCwKICAgICAgICBzdWNjZXNzOiAocmVzOiBTdWNjZXNzQ2FsbGJhY2tSZXNwb25zZTxTdWNjZXNzUmVzcG9uc2VEYXRhPikgPT4gdm9pZCwKICAgICAgICBmYWlsdXJlOiAoZXJyOiBGYWlsdXJlQ2FsbGJhY2tSZXNwb25zZSkgPT4gdm9pZCwKICAgICAgKSA9PiB2b2lkOwogICAgfTsKICAgIEdyYWZhbmFGYXJvV2ViU2RrPzogewogICAgICBpbml0aWFsaXplRmFybzogKGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IFByb21pc2U8dm9pZD47CiAgICAgIGFwaT86IHsKICAgICAgICBwdXNoRXZlbnQ6IChldmVudDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHZvaWQ7CiAgICAgICAgcHVzaEVycm9yOiAoZXJyb3I6IEVycm9yLCBjb250ZXh0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHZvaWQ7CiAgICAgICAgcGF1c2VJbnN0cnVtZW50YXRpb25zOiAocGF1c2VkOiBib29sZWFuKSA9PiB2b2lkOwogICAgICB9OwogICAgfTsKICB9CgogIC8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZUNvbnNpc3RlbnRUeXBlRGVmaW5pdGlvbnM6IE5hdmlnYXRvciBtdXN0IGJlIGFuIGludGVyZmFjZSBmb3IgZGVjbGFyYXRpb24gbWVyZ2luZwogIGludGVyZmFjZSBOYXZpZ2F0b3IgewogICAgY29ubmVjdGlvbj86IHsKICAgICAgZWZmZWN0aXZlVHlwZTogIjRnIiB8ICIzZyIgfCAiMmciIHwgInNsb3ctMmciOwogICAgICBkb3dubGluaz86IG51bWJlcjsKICAgICAgcnR0PzogbnVtYmVyOwogICAgICBzYXZlRGF0YT86IGJvb2xlYW47CiAgICB9OwogIH0KfQoKZXhwb3J0IHR5cGUgU3VjY2Vzc0NhbGxiYWNrUmVzcG9uc2U8U3VjY2Vzc1Jlc3BvbnNlRGF0YT4gPSB7CiAgc3VjY2VzczogYm9vbGVhbjsKICByZXQ6IHN0cmluZzsKICBkYXRhOiBTdWNjZXNzUmVzcG9uc2VEYXRhOwogIFtrZXk6IHN0cmluZ106IHVua25vd247Cn07CgpleHBvcnQgdHlwZSBGYWlsdXJlQ2FsbGJhY2tSZXNwb25zZSA9IHsKICBzdWNjZXNzOiBib29sZWFuOwogIHJldDogc3RyaW5nOwogIFtrZXk6IHN0cmluZ106IHVua25vd247Cn07Cg==","src/main.tsx":"aW1wb3J0IHsKICBjcmVhdGVIYXNoSGlzdG9yeSwKICBjcmVhdGVSb3V0ZXIsCiAgUm91dGVyUHJvdmlkZXIsCn0gZnJvbSAiQHRhbnN0YWNrL3JlYWN0LXJvdXRlciI7CmltcG9ydCB7IFN0cmljdE1vZGUgfSBmcm9tICJyZWFjdCI7CmltcG9ydCBSZWFjdERPTSBmcm9tICJyZWFjdC1kb20vY2xpZW50IjsKCmltcG9ydCB7CiAgZ2V0Q29udGV4dCBhcyBnZXRUYW5TdGFja1F1ZXJ5UHJvdmlkZXJDb250ZXh0LAogIFByb3ZpZGVyIGFzIFRhblN0YWNrUXVlcnlQcm92aWRlciwKfSBmcm9tICJAL2NvbnRleHQvdGFuc3RhY2stcXVlcnkiOwppbXBvcnQgeyByb3V0ZVRyZWUgfSBmcm9tICJAL3BhZ2VzL3JvdXRlcyI7CmltcG9ydCAiQC9zdHlsZXMuY3NzIjsKCmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gIkAvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeSI7Cgpjb25zdCBUYW5TdGFja1F1ZXJ5UHJvdmlkZXJDb250ZXh0ID0gZ2V0VGFuU3RhY2tRdWVyeVByb3ZpZGVyQ29udGV4dCgpOwpjb25zdCBoYXNoSGlzdG9yeSA9IGNyZWF0ZUhhc2hIaXN0b3J5KCk7CmNvbnN0IHJvdXRlciA9IGNyZWF0ZVJvdXRlcih7CiAgcm91dGVUcmVlLAogIGhpc3Rvcnk6IGhhc2hIaXN0b3J5LAogIGNvbnRleHQ6IHsKICAgIC4uLlRhblN0YWNrUXVlcnlQcm92aWRlckNvbnRleHQsCiAgfSwKICBkZWZhdWx0UHJlbG9hZDogImludGVudCIsCiAgc2Nyb2xsUmVzdG9yYXRpb246IHRydWUsCiAgZGVmYXVsdFN0cnVjdHVyYWxTaGFyaW5nOiB0cnVlLAogIGRlZmF1bHRQcmVsb2FkU3RhbGVUaW1lOiAwLAp9KTsKZGVjbGFyZSBtb2R1bGUgIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiIHsKICAvLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VDb25zaXN0ZW50VHlwZURlZmluaXRpb25zOiBSZWdpc3RlciBtdXN0IGJlIGFuIGludGVyZmFjZSBmb3IgZGVjbGFyYXRpb24gbWVyZ2luZwogIGludGVyZmFjZSBSZWdpc3RlciB7CiAgICByb3V0ZXI6IHR5cGVvZiByb3V0ZXI7CiAgfQp9Cgpjb25zdCByb290RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKTsKaWYgKHJvb3RFbGVtZW50ICYmICFyb290RWxlbWVudC5pbm5lckhUTUwpIHsKICBjb25zdCByb290ID0gUmVhY3RET00uY3JlYXRlUm9vdChyb290RWxlbWVudCk7CgogIHJvb3QucmVuZGVyKAogICAgPFN0cmljdE1vZGU+CiAgICAgIDxFcnJvckJvdW5kYXJ5PgogICAgICAgIDxUYW5TdGFja1F1ZXJ5UHJvdmlkZXIgey4uLlRhblN0YWNrUXVlcnlQcm92aWRlckNvbnRleHR9PgogICAgICAgICAgPFJvdXRlclByb3ZpZGVyIHJvdXRlcj17cm91dGVyfSAvPgogICAgICAgIDwvVGFuU3RhY2tRdWVyeVByb3ZpZGVyPgogICAgICA8L0Vycm9yQm91bmRhcnk+CiAgICA8L1N0cmljdE1vZGU+LAogICk7Cn0K","src/context/tanstack-query.tsx":"aW1wb3J0IHsgUXVlcnlDbGllbnQsIFF1ZXJ5Q2xpZW50UHJvdmlkZXIgfSBmcm9tICJAdGFuc3RhY2svcmVhY3QtcXVlcnkiOwoKZXhwb3J0IGZ1bmN0aW9uIGdldENvbnRleHQoKSB7CiAgY29uc3QgcXVlcnlDbGllbnQgPSBuZXcgUXVlcnlDbGllbnQoewogICAgZGVmYXVsdE9wdGlvbnM6IHsKICAgICAgcXVlcmllczogewogICAgICAgIHJlZmV0Y2hPbldpbmRvd0ZvY3VzOiBmYWxzZSwgLy8gV2ViVmlldyBkb2Vzbid0IG5lZWQgdGhpcwogICAgICAgIHJlZmV0Y2hPblJlY29ubmVjdDogdHJ1ZSwgLy8gUmVmZXRjaCBvbiBuZXR3b3JrIHJlc3RvcmUKICAgICAgICByZXRyeTogMiwgLy8gUmV0cnkgZmFpbGVkIHJlcXVlc3RzIHR3aWNlCiAgICAgICAgcmV0cnlEZWxheTogKGF0dGVtcHRJbmRleCkgPT4gTWF0aC5taW4oMTAwMCAqIDIgKiogYXR0ZW1wdEluZGV4LCAzMDAwMCksCiAgICAgICAgbmV0d29ya01vZGU6ICJhbHdheXMiLCAvLyBBbHdheXMgcnVuIHF1ZXJpZXMgZXZlbiBvZmZsaW5lLCB0aHJvdyBlcnJvcnMgaW5zdGVhZCBvZiBwYXVzaW5nCiAgICAgIH0sCiAgICAgIG11dGF0aW9uczogewogICAgICAgIHJldHJ5OiAwLCAvLyBEb24ndCByZXRyeSBtdXRhdGlvbnMKICAgICAgICBuZXR3b3JrTW9kZTogImFsd2F5cyIsIC8vIEFsd2F5cyBydW4gbXV0YXRpb25zIGV2ZW4gb2ZmbGluZSwgdGhyb3cgZXJyb3JzIGluc3RlYWQgb2YgcGF1c2luZwogICAgICB9LAogICAgfSwKICB9KTsKICByZXR1cm4gewogICAgcXVlcnlDbGllbnQsCiAgfTsKfQoKZXhwb3J0IGZ1bmN0aW9uIFByb3ZpZGVyKHsKICBjaGlsZHJlbiwKICBxdWVyeUNsaWVudCwKfTogewogIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7CiAgcXVlcnlDbGllbnQ6IFF1ZXJ5Q2xpZW50Owp9KSB7CiAgcmV0dXJuICgKICAgIDxRdWVyeUNsaWVudFByb3ZpZGVyIGNsaWVudD17cXVlcnlDbGllbnR9PntjaGlsZHJlbn08L1F1ZXJ5Q2xpZW50UHJvdmlkZXI+CiAgKTsKfQo=","src/styles.css":"QGltcG9ydCAidGFpbHdpbmRjc3MiOwoKQHRoZW1lIHsKICAtLWNvbG9yLXN0YXRpYy1ib3JkZXItc2Vjb25kYXJ5OiAjZWJlY2VmOwogIC0tY29sb3Itc3RhdGljLXN1cmZhY2UtYnJhbmQ6ICMwMDg4MGQ7CiAgLS1jb2xvci1zdGF0aWMtc3VyZmFjZS1zZWNvbmRhcnk6ICNmNWY2Zjc7CiAgLS1jb2xvci1zdGF0aWMtc3VyZmFjZS10ZXJ0aWFyeTogI2Y1ZjZmNzsKICAtLWNvbG9yLXN0YXRpYy1zdXJmYWNlLXByaW1hcnk6ICNmZmZmZmY7CiAgLS1jb2xvci1jb250ZW50LXByaW1hcnk6ICMwZjE3MmE7Cn0KCkBsYXllciBiYXNlIHsKICBodG1sLAogIGJvZHkgewogICAgY29sb3I6IHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeSk7CiAgICBtaW4taGVpZ2h0OiAxMDBkdmg7CiAgfQoKICBib2R5IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB9CgogICNhcHAgewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXgtd2lkdGg6IDI4cmVtOwogICAgaGVpZ2h0OiAxMDBkdmg7CiAgICBtYXJnaW4taW5saW5lOiBhdXRvOwogICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogICAgY29sb3I6IHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeSk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdGF0aWMtc3VyZmFjZS1wcmltYXJ5KTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIH0KfQoKQGxheWVyIGNvbXBvbmVudHMgewogIGhlYWRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdGF0aWMtc3VyZmFjZS1wcmltYXJ5KTsKICAgIHBhZGRpbmc6IDFyZW07CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMXJlbTsKICB9CiAgbWFpbiB7CiAgICBmbGV4OiAxOwogICAgbWluLWhlaWdodDogMDsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDcsIDI0NywgMjQ3KTsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgfQogIGZvb3RlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdGF0aWMtc3VyZmFjZS1wcmltYXJ5KTsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMDYpOwogIH0KfQo=","src/bridge/types.ts":"ZXhwb3J0IHR5cGUgQnJpZGdlRXJyb3JDb250ZXh0ID0gewogIHJlYXNvbj86IHN0cmluZzsKICBuYXRpdmVFcnJvcj86IE5hdGl2ZUVycm9yUmVzcG9uc2U7CiAgZXJyb3I/OiB1bmtub3duOwogIHRpbWVvdXQ/OiBudW1iZXI7Cn07CgpleHBvcnQgdHlwZSBCcmlkZ2VDYWxsID0gewogIG1vZHVsZTogc3RyaW5nOwogIG1ldGhvZDogc3RyaW5nOwogIHBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmtub3duOwp9OwoKZXhwb3J0IHR5cGUgQnJpZGdlT3B0aW9ucyA9IHsKICAvKiogVGltZW91dCBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IDUwMDAgKi8KICB0aW1lb3V0PzogbnVtYmVyOwoKICAvKiogUGFyc2UgcmVzcG9uc2UuZGF0YSBhcyBKU09OLiBEZWZhdWx0OiB0cnVlICovCiAgcGFyc2VKU09OPzogYm9vbGVhbjsKCiAgLyoqIE9wdGlvbmFsIGNhbGxiYWNrIGZvciBwZXJmb3JtYW5jZSBtb25pdG9yaW5nICovCiAgb25NZXRyaWNzPzogKG1ldHJpY3M6IEJyaWRnZU1ldHJpY3MpID0+IHZvaWQ7CgogIC8qKiBQcmlvcml0eSBsZXZlbC4gSGlnaGVyIHByaW9yaXR5IGNhbGxzIHNraXAgcXVldWUuIERlZmF1bHQ6IDAgKi8KICBwcmlvcml0eT86ICJoaWdoIiB8ICJub3JtYWwiOwoKICAvKiogQWJvcnRTaWduYWwgZm9yIGNhbmNlbGxhdGlvbiBzdXBwb3J0ICovCiAgc2lnbmFsPzogQWJvcnRTaWduYWw7Cn07CgpleHBvcnQgdHlwZSBCcmlkZ2VNZXRyaWNzID0gewogIC8qKiBNb2R1bGUgbmFtZSAoR1BBdXRoLCBHUEJhc2UsIGV0Yy4pICovCiAgbW9kdWxlOiBzdHJpbmc7CgogIC8qKiBNZXRob2QgbmFtZSAoY29tbW9uSGVhZGVycywgY29weVRvQ2xpcGJvYXJkLCBldGMuKSAqLwogIG1ldGhvZDogc3RyaW5nOwoKICAvKiogVG90YWwgZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzICovCiAgZHVyYXRpb246IG51bWJlcjsKCiAgLyoqIFdoZXRoZXIgY2FsbCBzdWNjZWVkZWQgKi8KICBzdWNjZXNzOiBib29sZWFuOwoKICAvKiogRXJyb3IgY29kZSBpZiBmYWlsZWQgKi8KICBlcnJvckNvZGU/OiBzdHJpbmc7CgogIC8qKiBXaGV0aGVyIHJlc3VsdCB3YXMgZnJvbSBjYWNoZSAqLwogIGNhY2hlZD86IGJvb2xlYW47CgogIC8qKiBUaW1lc3RhbXAgd2hlbiBjYWxsIHN0YXJ0ZWQgKi8KICB0aW1lc3RhbXA6IG51bWJlcjsKfTsKZXhwb3J0IHR5cGUgQ2FjaGVFbnRyeSA9IHsKICBwcm9taXNlOiBQcm9taXNlPHVua25vd24+OwogIGV4cGlyeTogbnVtYmVyOwp9OwoKZXhwb3J0IHR5cGUgQXV0aEhlYWRlcnMgPSB7CiAgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjsKfTsKCmV4cG9ydCB0eXBlIE5hdGl2ZUVycm9yUmVzcG9uc2UgPSB7CiAgcmV0PzogbnVtYmVyIHwgc3RyaW5nOwogIG1lc3NhZ2U/OiBzdHJpbmc7CiAgY29kZT86IHN0cmluZzsKICByZWFzb24/OiBzdHJpbmc7CiAgW2tleTogc3RyaW5nXTogdW5rbm93bjsKfTsK","src/bridge/core.ts":"aW1wb3J0IHR5cGUgeyBCcmlkZ2VDYWxsLCBCcmlkZ2VFcnJvckNvbnRleHQsIEJyaWRnZU9wdGlvbnMsIE5hdGl2ZUVycm9yUmVzcG9uc2UgfSBmcm9tICIuL3R5cGVzIjsKCmNvbnN0IE1BWF9DT05DVVJSRU5UX0NBTExTID0gMjsKCmNvbnN0IG5vdyA9ICgpOiBudW1iZXIgPT4gewogIHJldHVybiB0eXBlb2YgcGVyZm9ybWFuY2UgIT09ICJ1bmRlZmluZWQiICYmIHBlcmZvcm1hbmNlLm5vdwogICAgPyBwZXJmb3JtYW5jZS5ub3coKQogICAgOiBEYXRlLm5vdygpOwp9OwoKdHlwZSBRdWV1ZUVudHJ5ID0gewogIGNhbGw6IEJyaWRnZUNhbGw7CiAgcHJpb3JpdHk6ICJoaWdoIiB8ICJub3JtYWwiOwogIHJlc29sdmU6ICgpID0+IHZvaWQ7CiAgcmVqZWN0OiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkOwogIHNpZ25hbD86IEFib3J0U2lnbmFsOwp9OwoKbGV0IGFjdGl2ZUNhbGxzID0gMDsKY29uc3Qgd2FpdFF1ZXVlOiBRdWV1ZUVudHJ5W10gPSBbXTsKCmZ1bmN0aW9uIG5leHRRdWV1ZUVudHJ5KCkgewogIGNvbnN0IGluZGV4ID0gd2FpdFF1ZXVlLmZpbmRJbmRleCgoZW50cnkpID0+IGVudHJ5LnByaW9yaXR5ID09PSAiaGlnaCIpOwogIHJldHVybiBpbmRleCA+PSAwID8gd2FpdFF1ZXVlLnNwbGljZShpbmRleCwgMSlbMF0gOiB3YWl0UXVldWUuc2hpZnQoKTsKfQoKZnVuY3Rpb24gcmVsZWFzZVNsb3QoKSB7CiAgaWYgKGFjdGl2ZUNhbGxzID4gMCkgewogICAgYWN0aXZlQ2FsbHMtLTsKICB9CgogIHdoaWxlICh3YWl0UXVldWUubGVuZ3RoID4gMCkgewogICAgY29uc3QgZW50cnkgPSBuZXh0UXVldWVFbnRyeSgpOwogICAgaWYgKCFlbnRyeSkgewogICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKGVudHJ5LnNpZ25hbD8uYWJvcnRlZCkgewogICAgICBlbnRyeS5yZWplY3QobmV3IEJyaWRnZUVycm9yKCJBQk9SVEVEIiwgZW50cnkuY2FsbCkpOwogICAgICBjb250aW51ZTsKICAgIH0KCiAgICBlbnRyeS5yZXNvbHZlKCk7CiAgICBicmVhazsKICB9Cn0KCmFzeW5jIGZ1bmN0aW9uIGFjcXVpcmVTbG90KAogIGNhbGw6IEJyaWRnZUNhbGwsCiAgcHJpb3JpdHk6ICJoaWdoIiB8ICJub3JtYWwiLAogIHNpZ25hbD86IEFib3J0U2lnbmFsLAopOiBQcm9taXNlPHZvaWQ+IHsKICBpZiAoc2lnbmFsPy5hYm9ydGVkKSB7CiAgICB0aHJvdyBuZXcgQnJpZGdlRXJyb3IoIkFCT1JURUQiLCBjYWxsKTsKICB9CgogIGlmIChhY3RpdmVDYWxscyA8IE1BWF9DT05DVVJSRU5UX0NBTExTKSB7CiAgICBhY3RpdmVDYWxscysrOwogICAgcmV0dXJuOwogIH0KCiAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgY29uc3QgZW50cnk6IFF1ZXVlRW50cnkgPSB7CiAgICAgIGNhbGwsCiAgICAgIHByaW9yaXR5LAogICAgICBzaWduYWwsCiAgICAgIHJlc29sdmU6ICgpID0+IHsKICAgICAgICBzaWduYWw/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0Iiwgb25BYm9ydCk7CiAgICAgICAgcmVzb2x2ZSgpOwogICAgICB9LAogICAgICByZWplY3Q6IChlcnJvcikgPT4gewogICAgICAgIHNpZ25hbD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCBvbkFib3J0KTsKICAgICAgICByZWplY3QoZXJyb3IpOwogICAgICB9LAogICAgfTsKCiAgICBjb25zdCBvbkFib3J0ID0gKCkgPT4gewogICAgICBjb25zdCBpbmRleCA9IHdhaXRRdWV1ZS5pbmRleE9mKGVudHJ5KTsKICAgICAgaWYgKGluZGV4ICE9PSAtMSkgewogICAgICAgIHdhaXRRdWV1ZS5zcGxpY2UoaW5kZXgsIDEpOwogICAgICB9CiAgICAgIGVudHJ5LnJlamVjdChuZXcgQnJpZGdlRXJyb3IoIkFCT1JURUQiLCBjYWxsKSk7CiAgICB9OwoKICAgIGlmIChzaWduYWwpIHsKICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0Iiwgb25BYm9ydCwgeyBvbmNlOiB0cnVlIH0pOwogICAgfQoKICAgIHdhaXRRdWV1ZS5wdXNoKGVudHJ5KTsKICB9KTsKCiAgYWN0aXZlQ2FsbHMrKzsKfQoKZnVuY3Rpb24gcGFyc2VOYXRpdmVFcnJvcihlcnJvcjogdW5rbm93bik6IHsKICBjb2RlOiBzdHJpbmc7CiAgcmVhc29uPzogc3RyaW5nOwogIG5hdGl2ZUVycm9yOiBOYXRpdmVFcnJvclJlc3BvbnNlOwp9IHsKICBpZiAodHlwZW9mIGVycm9yID09PSAib2JqZWN0IiAmJiBlcnJvciAhPT0gbnVsbCkgewogICAgY29uc3QgbmF0aXZlRXJyb3IgPSBlcnJvciBhcyBOYXRpdmVFcnJvclJlc3BvbnNlOwoKICAgIGlmIChuYXRpdmVFcnJvci5yZXQgPT09IC0yKSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgY29kZTogIlVTRVJfQ0FOQ0VMTEVEIiwKICAgICAgICByZWFzb246IG5hdGl2ZUVycm9yLm1lc3NhZ2UgfHwgIlVzZXIgY2FuY2VsbGVkIG9wZXJhdGlvbiIsCiAgICAgICAgbmF0aXZlRXJyb3IsCiAgICAgIH07CiAgICB9CgogICAgaWYgKG5hdGl2ZUVycm9yLmNvZGUpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBTdHJpbmcobmF0aXZlRXJyb3IuY29kZSksCiAgICAgICAgcmVhc29uOiBuYXRpdmVFcnJvci5tZXNzYWdlLAogICAgICAgIG5hdGl2ZUVycm9yLAogICAgICB9OwogICAgfQoKICAgIGlmIChuYXRpdmVFcnJvci5yZXQgIT09IHVuZGVmaW5lZCkgewogICAgICByZXR1cm4gewogICAgICAgIGNvZGU6IGBOQVRJVkVfRVJST1JfJHtuYXRpdmVFcnJvci5yZXR9YCwKICAgICAgICByZWFzb246IG5hdGl2ZUVycm9yLm1lc3NhZ2UsCiAgICAgICAgbmF0aXZlRXJyb3IsCiAgICAgIH07CiAgICB9CiAgfQoKICByZXR1cm4gewogICAgY29kZTogIlVOS05PV05fRVJST1IiLAogICAgcmVhc29uOiB0eXBlb2YgZXJyb3IgPT09ICJzdHJpbmciID8gZXJyb3IgOiBKU09OLnN0cmluZ2lmeShlcnJvciksCiAgICBuYXRpdmVFcnJvcjogeyBlcnJvciB9LAogIH07Cn0KCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBicmlkZ2U8VCA9IHVua25vd24+KAogIGNhbGw6IEJyaWRnZUNhbGwsCiAgb3B0aW9uczogQnJpZGdlT3B0aW9ucyA9IHt9LAopOiBQcm9taXNlPFQ+IHsKICBjb25zdCB7CiAgICB0aW1lb3V0ID0gNTAwMCwKICAgIHBhcnNlSlNPTiA9IHRydWUsCiAgICBvbk1ldHJpY3MsCiAgICBwcmlvcml0eSA9ICJub3JtYWwiLAogICAgc2lnbmFsLAogIH0gPSBvcHRpb25zOwoKICBsZXQgYWNxdWlyZWQgPSBmYWxzZTsKICBsZXQgc3RhcnRUaW1lID0gMDsKICBsZXQgdGltZXN0YW1wID0gMDsKCiAgdHJ5IHsKICAgIGF3YWl0IGFjcXVpcmVTbG90KGNhbGwsIHByaW9yaXR5LCBzaWduYWwpOwogICAgYWNxdWlyZWQgPSB0cnVlOwoKICAgIGlmIChzaWduYWw/LmFib3J0ZWQpIHsKICAgICAgdGhyb3cgbmV3IEJyaWRnZUVycm9yKCJBQk9SVEVEIiwgY2FsbCk7CiAgICB9CgogICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICJ1bmRlZmluZWQiIHx8ICF3aW5kb3cuZ3BDb250YWluZXIpIHsKICAgICAgdGhyb3cgbmV3IEJyaWRnZUVycm9yKCJVTkFWQUlMQUJMRSIsIGNhbGwpOwogICAgfQoKICAgIHN0YXJ0VGltZSA9IG5vdygpOwogICAgdGltZXN0YW1wID0gRGF0ZS5ub3coKTsKCiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBuZXcgUHJvbWlzZTxUPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgIGxldCBzZXR0bGVkID0gZmFsc2U7CgogICAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgIGlmICghc2V0dGxlZCkgewogICAgICAgICAgc2V0dGxlZCA9IHRydWU7CiAgICAgICAgICByZWplY3QobmV3IEJyaWRnZUVycm9yKCJUSU1FT1VUIiwgY2FsbCwgeyB0aW1lb3V0IH0pKTsKICAgICAgICB9CiAgICAgIH0sIHRpbWVvdXQpOwoKICAgICAgY29uc3QgY2xlYW51cCA9ICgpID0+IGNsZWFyVGltZW91dCh0aW1lcik7CgogICAgICBjb25zdCBvblN1Y2Nlc3MgPSAocmVzcG9uc2U6IHsgZGF0YTogc3RyaW5nIH0pID0+IHsKICAgICAgICBpZiAoc2V0dGxlZCkgcmV0dXJuOwogICAgICAgIHNldHRsZWQgPSB0cnVlOwogICAgICAgIGNsZWFudXAoKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGNvbnN0IHBhcnNlZCA9CiAgICAgICAgICAgIHBhcnNlSlNPTiAmJiB0eXBlb2YgcmVzcG9uc2U/LmRhdGEgPT09ICJzdHJpbmciCiAgICAgICAgICAgICAgPyBKU09OLnBhcnNlKHJlc3BvbnNlLmRhdGEpCiAgICAgICAgICAgICAgOiByZXNwb25zZS5kYXRhOwogICAgICAgICAgcmVzb2x2ZShwYXJzZWQgYXMgVCk7CiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgICAgIHJlamVjdChuZXcgQnJpZGdlRXJyb3IoIlBBUlNFX0ZBSUxFRCIsIGNhbGwsIHsgZXJyb3IgfSkpOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIGNvbnN0IG9uRmFpbHVyZSA9IChlcnJvcjogdW5rbm93bikgPT4gewogICAgICAgIGlmIChzZXR0bGVkKSByZXR1cm47CiAgICAgICAgc2V0dGxlZCA9IHRydWU7CiAgICAgICAgY2xlYW51cCgpOwoKICAgICAgICBjb25zdCB7IGNvZGUsIHJlYXNvbiwgbmF0aXZlRXJyb3IgfSA9IHBhcnNlTmF0aXZlRXJyb3IoZXJyb3IpOwogICAgICAgIHJlamVjdChuZXcgQnJpZGdlRXJyb3IoY29kZSwgY2FsbCwgeyByZWFzb24sIG5hdGl2ZUVycm9yIH0pKTsKICAgICAgfTsKCiAgICAgIHdpbmRvdy5ncENvbnRhaW5lci5jYWxsKAogICAgICAgIGNhbGwubW9kdWxlLAogICAgICAgIGNhbGwubWV0aG9kLAogICAgICAgIGNhbGwucGFyYW1zIGFzIG9iamVjdCwKICAgICAgICBvblN1Y2Nlc3MsCiAgICAgICAgb25GYWlsdXJlLAogICAgICApOwogICAgfSk7CgogICAgY29uc3QgZHVyYXRpb24gPSBub3coKSAtIHN0YXJ0VGltZTsKICAgIGNvbnN0IG1ldHJpY3MgPSB7CiAgICAgIG1vZHVsZTogY2FsbC5tb2R1bGUsCiAgICAgIG1ldGhvZDogY2FsbC5tZXRob2QsCiAgICAgIGR1cmF0aW9uLAogICAgICBzdWNjZXNzOiB0cnVlLAogICAgICB0aW1lc3RhbXAsCiAgICB9OwogICAgb25NZXRyaWNzPy4obWV0cmljcyk7CgogICAgcmV0dXJuIHJlc3VsdDsKICB9IGNhdGNoIChlcnJvcikgewogICAgaWYgKHN0YXJ0VGltZSkgewogICAgICBjb25zdCBkdXJhdGlvbiA9IG5vdygpIC0gc3RhcnRUaW1lOwogICAgICBjb25zdCBjb2RlID0gZXJyb3IgaW5zdGFuY2VvZiBCcmlkZ2VFcnJvciA/IGVycm9yLmNvZGUgOiAiVU5LTk9XTl9FUlJPUiI7CgogICAgICBjb25zdCBtZXRyaWNzID0gewogICAgICAgIG1vZHVsZTogY2FsbC5tb2R1bGUsCiAgICAgICAgbWV0aG9kOiBjYWxsLm1ldGhvZCwKICAgICAgICBkdXJhdGlvbiwKICAgICAgICBzdWNjZXNzOiBmYWxzZSwKICAgICAgICBlcnJvckNvZGU6IGNvZGUsCiAgICAgICAgdGltZXN0YW1wOiB0aW1lc3RhbXAgfHwgRGF0ZS5ub3coKSwKICAgICAgfTsKICAgICAgb25NZXRyaWNzPy4obWV0cmljcyk7CiAgICB9CgogICAgdGhyb3cgZXJyb3I7CiAgfSBmaW5hbGx5IHsKICAgIGlmIChhY3F1aXJlZCkgewogICAgICByZWxlYXNlU2xvdCgpOwogICAgfQogIH0KfQoKZXhwb3J0IGNsYXNzIEJyaWRnZUVycm9yIGV4dGVuZHMgRXJyb3IgewogIHJlYWRvbmx5IGNvZGU6IHN0cmluZzsKICByZWFkb25seSBjYWxsOiBCcmlkZ2VDYWxsOwogIHJlYWRvbmx5IGNvbnRleHQ/OiBCcmlkZ2VFcnJvckNvbnRleHQ7CgogIGNvbnN0cnVjdG9yKAogICAgY29kZTogc3RyaW5nLAogICAgY2FsbDogQnJpZGdlQ2FsbCwKICAgIGNvbnRleHQ/OiBCcmlkZ2VFcnJvckNvbnRleHQsCiAgKSB7CiAgICBzdXBlcigKICAgICAgY29udGV4dD8uWydyZWFzb24nXSA/IGBCcmlkZ2UgJHtjb2RlfTogJHtjb250ZXh0WydyZWFzb24nXX1gIDogYEJyaWRnZSAke2NvZGV9YCwKICAgICk7CiAgICB0aGlzLm5hbWUgPSAiQnJpZGdlRXJyb3IiOwogICAgdGhpcy5jb2RlID0gY29kZTsKICAgIHRoaXMuY2FsbCA9IGNhbGw7CiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0OwogIH0KCiAgaXNVc2VyQ2FuY2VsbGVkKCk6IGJvb2xlYW4gewogICAgcmV0dXJuIHRoaXMuY29kZSA9PT0gIlVTRVJfQ0FOQ0VMTEVEIjsKICB9CgogIGlzVGltZW91dCgpOiBib29sZWFuIHsKICAgIHJldHVybiB0aGlzLmNvZGUgPT09ICJUSU1FT1VUIjsKICB9Cn0K","src/bridge/__tests__/cache.test.ts":"aW1wb3J0IHsgYmVmb3JlRWFjaCwgZGVzY3JpYmUsIGV4cGVjdCwgaXQsIHZpIH0gZnJvbSAidml0ZXN0IjsKCmltcG9ydCB7CiAgY2FjaGVkQnJpZGdlLAogIGNsZWFyQnlQYXR0ZXJuLAogIGNsZWFyQ2FjaGUsCiAgZ2V0Q2FjaGVTdGF0cywKfSBmcm9tICIuLi9jYWNoZSI7CgpkZXNjcmliZSgiYnJpZGdlIGNhY2hlIiwgKCkgPT4gewogIGxldCBtb2NrR3BDb250YWluZXI6IHsKICAgIGNhbGw6IFJldHVyblR5cGU8dHlwZW9mIHZpLmZuPjsKICB9OwoKICBiZWZvcmVFYWNoKCgpID0+IHsKICAgIHZpLmNsZWFyQWxsTW9ja3MoKTsKICAgIGNsZWFyQ2FjaGUoKTsKCiAgICBtb2NrR3BDb250YWluZXIgPSB7CiAgICAgIGNhbGw6IHZpLmZuKCksCiAgICB9OwoKICAgIGdsb2JhbC53aW5kb3cgPSB7CiAgICAgIGdwQ29udGFpbmVyOiBtb2NrR3BDb250YWluZXIsCiAgICB9IGFzIHVua25vd24gYXMgdHlwZW9mIGdsb2JhbC53aW5kb3c7CiAgfSk7CgogIGRlc2NyaWJlKCJjYWNoaW5nIGJlaGF2aW9yIiwgKCkgPT4gewogICAgaXQoInNob3VsZCBjYWNoZSBzdWNjZXNzZnVsIHJlc3BvbnNlcyIsIGFzeW5jICgpID0+IHsKICAgICAgbW9ja0dwQ29udGFpbmVyLmNhbGwubW9ja0ltcGxlbWVudGF0aW9uKAogICAgICAgIChfbW9kdWxlLCBfbWV0aG9kLCBfcGFyYW1zLCBvblN1Y2Nlc3MpID0+IHsKICAgICAgICAgIG9uU3VjY2Vzcyh7IGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgY2FjaGVkOiB0cnVlIH0pIH0pOwogICAgICAgIH0sCiAgICAgICk7CgogICAgICBjb25zdCBjYWxsID0geyBtb2R1bGU6ICJHUEJhc2UiIGFzIGNvbnN0LCBtZXRob2Q6ICJ0ZXN0IiwgcGFyYW1zOiB7fSB9OwoKICAgICAgY29uc3QgcmVzdWx0MSA9IGF3YWl0IGNhY2hlZEJyaWRnZShjYWxsLCB7IHR0bDogNTAwMCB9KTsKICAgICAgY29uc3QgcmVzdWx0MiA9IGF3YWl0IGNhY2hlZEJyaWRnZShjYWxsLCB7IHR0bDogNTAwMCB9KTsKCiAgICAgIGV4cGVjdChyZXN1bHQxKS50b0VxdWFsKHJlc3VsdDIpOwogICAgICBleHBlY3QobW9ja0dwQ29udGFpbmVyLmNhbGwpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTsKCiAgICAgIGNvbnN0IHN0YXRzID0gZ2V0Q2FjaGVTdGF0cygpOwogICAgICBleHBlY3Qoc3RhdHMuc2l6ZSkudG9CZSgxKTsKICAgICAgZXhwZWN0KHN0YXRzLmFjdGl2ZSkudG9CZSgxKTsKICAgIH0pOwoKICAgIGl0KCJzaG91bGQgbm90IGNhY2hlIHdoZW4gdHRsIGlzIDAiLCBhc3luYyAoKSA9PiB7CiAgICAgIG1vY2tHcENvbnRhaW5lci5jYWxsLm1vY2tJbXBsZW1lbnRhdGlvbigKICAgICAgICAoX21vZHVsZSwgX21ldGhvZCwgX3BhcmFtcywgb25TdWNjZXNzKSA9PiB7CiAgICAgICAgICBvblN1Y2Nlc3MoeyBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IGNhY2hlZDogZmFsc2UgfSkgfSk7CiAgICAgICAgfSwKICAgICAgKTsKCiAgICAgIGNvbnN0IGNhbGwgPSB7IG1vZHVsZTogIkdQQmFzZSIgYXMgY29uc3QsIG1ldGhvZDogInRlc3QiLCBwYXJhbXM6IHt9IH07CgogICAgICBhd2FpdCBjYWNoZWRCcmlkZ2UoY2FsbCwgeyB0dGw6IDAgfSk7CiAgICAgIGF3YWl0IGNhY2hlZEJyaWRnZShjYWxsLCB7IHR0bDogMCB9KTsKCiAgICAgIGV4cGVjdChtb2NrR3BDb250YWluZXIuY2FsbCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDIpOwoKICAgICAgY29uc3Qgc3RhdHMgPSBnZXRDYWNoZVN0YXRzKCk7CiAgICAgIGV4cGVjdChzdGF0cy5zaXplKS50b0JlKDApOwogICAgfSk7CgogICAgaXQoInNob3VsZCByZW1vdmUgZmFpbGVkIGNhbGxzIGZyb20gY2FjaGUiLCBhc3luYyAoKSA9PiB7CiAgICAgIGxldCBjYWxsQ291bnQgPSAwOwoKICAgICAgbW9ja0dwQ29udGFpbmVyLmNhbGwubW9ja0ltcGxlbWVudGF0aW9uKAogICAgICAgIChfbW9kdWxlLCBfbWV0aG9kLCBfcGFyYW1zLCBfb25TdWNjZXNzLCBvbkZhaWx1cmUpID0+IHsKICAgICAgICAgIGNhbGxDb3VudCsrOwogICAgICAgICAgaWYgKGNhbGxDb3VudCA9PT0gMSkgewogICAgICAgICAgICBvbkZhaWx1cmUoeyBjb2RlOiAiRVJST1IiIH0pOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICk7CgogICAgICBjb25zdCBjYWxsID0geyBtb2R1bGU6ICJHUEJhc2UiIGFzIGNvbnN0LCBtZXRob2Q6ICJ0ZXN0IiwgcGFyYW1zOiB7fSB9OwoKICAgICAgYXdhaXQgZXhwZWN0KGNhY2hlZEJyaWRnZShjYWxsLCB7IHR0bDogNTAwMCB9KSkucmVqZWN0cy50b1Rocm93KCk7CgogICAgICBjb25zdCBzdGF0cyA9IGdldENhY2hlU3RhdHMoKTsKICAgICAgZXhwZWN0KHN0YXRzLnNpemUpLnRvQmUoMCk7CiAgICB9KTsKICB9KTsKCiAgZGVzY3JpYmUoImNhY2hlIGtleSBzdGFiaWxpdHkiLCAoKSA9PiB7CiAgICBpdCgic2hvdWxkIHRyZWF0IGRpZmZlcmVudCBwYXJhbSBvcmRlciBhcyBzYW1lIGNhY2hlIGtleSIsIGFzeW5jICgpID0+IHsKICAgICAgbW9ja0dwQ29udGFpbmVyLmNhbGwubW9ja0ltcGxlbWVudGF0aW9uKAogICAgICAgIChfbW9kdWxlLCBfbWV0aG9kLCBfcGFyYW1zLCBvblN1Y2Nlc3MpID0+IHsKICAgICAgICAgIG9uU3VjY2Vzcyh7IGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgb2s6IHRydWUgfSkgfSk7CiAgICAgICAgfSwKICAgICAgKTsKCiAgICAgIGNvbnN0IGNhbGwxID0gewogICAgICAgIG1vZHVsZTogIkdQQmFzZSIgYXMgY29uc3QsCiAgICAgICAgbWV0aG9kOiAidGVzdCIsCiAgICAgICAgcGFyYW1zOiB7IGE6IDEsIGI6IDIgfSwKICAgICAgfTsKICAgICAgY29uc3QgY2FsbDIgPSB7CiAgICAgICAgbW9kdWxlOiAiR1BCYXNlIiBhcyBjb25zdCwKICAgICAgICBtZXRob2Q6ICJ0ZXN0IiwKICAgICAgICBwYXJhbXM6IHsgYjogMiwgYTogMSB9LAogICAgICB9OwoKICAgICAgYXdhaXQgY2FjaGVkQnJpZGdlKGNhbGwxLCB7IHR0bDogNTAwMCB9KTsKICAgICAgYXdhaXQgY2FjaGVkQnJpZGdlKGNhbGwyLCB7IHR0bDogNTAwMCB9KTsKCiAgICAgIGV4cGVjdChtb2NrR3BDb250YWluZXIuY2FsbCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpOwogICAgfSk7CgogICAgaXQoInNob3VsZCBoYW5kbGUgbmVzdGVkIG9iamVjdCBwYXJhbXMgd2l0aCBkaWZmZXJlbnQgb3JkZXIiLCBhc3luYyAoKSA9PiB7CiAgICAgIG1vY2tHcENvbnRhaW5lci5jYWxsLm1vY2tJbXBsZW1lbnRhdGlvbigKICAgICAgICAoX21vZHVsZSwgX21ldGhvZCwgX3BhcmFtcywgb25TdWNjZXNzKSA9PiB7CiAgICAgICAgICBvblN1Y2Nlc3MoeyBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IG9rOiB0cnVlIH0pIH0pOwogICAgICAgIH0sCiAgICAgICk7CgogICAgICBjb25zdCBjYWxsMSA9IHsKICAgICAgICBtb2R1bGU6ICJHUEJhc2UiIGFzIGNvbnN0LAogICAgICAgIG1ldGhvZDogInRlc3QiLAogICAgICAgIHBhcmFtczogeyB1c2VyOiB7IG5hbWU6ICJBIiwgaWQ6IDEgfSwgbWV0YTogeyB0czogMTIzIH0gfSwKICAgICAgfTsKICAgICAgY29uc3QgY2FsbDIgPSB7CiAgICAgICAgbW9kdWxlOiAiR1BCYXNlIiBhcyBjb25zdCwKICAgICAgICBtZXRob2Q6ICJ0ZXN0IiwKICAgICAgICBwYXJhbXM6IHsgbWV0YTogeyB0czogMTIzIH0sIHVzZXI6IHsgaWQ6IDEsIG5hbWU6ICJBIiB9IH0sCiAgICAgIH07CgogICAgICBhd2FpdCBjYWNoZWRCcmlkZ2UoY2FsbDEsIHsgdHRsOiA1MDAwIH0pOwogICAgICBhd2FpdCBjYWNoZWRCcmlkZ2UoY2FsbDIsIHsgdHRsOiA1MDAwIH0pOwoKICAgICAgZXhwZWN0KG1vY2tHcENvbnRhaW5lci5jYWxsKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7CiAgICB9KTsKICB9KTsKCiAgZGVzY3JpYmUoImNhY2hlIGludmFsaWRhdGlvbiIsICgpID0+IHsKICAgIGl0KCJzaG91bGQgY2xlYXIgZW50aXJlIGNhY2hlIiwgYXN5bmMgKCkgPT4gewogICAgICBtb2NrR3BDb250YWluZXIuY2FsbC5tb2NrSW1wbGVtZW50YXRpb24oCiAgICAgICAgKF9tb2R1bGUsIF9tZXRob2QsIF9wYXJhbXMsIG9uU3VjY2VzcykgPT4gewogICAgICAgICAgb25TdWNjZXNzKHsgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyBvazogdHJ1ZSB9KSB9KTsKICAgICAgICB9LAogICAgICApOwoKICAgICAgYXdhaXQgY2FjaGVkQnJpZGdlKAogICAgICAgIHsgbW9kdWxlOiAiR1BCYXNlIiBhcyBjb25zdCwgbWV0aG9kOiAidGVzdDEiLCBwYXJhbXM6IHt9IH0sCiAgICAgICAgeyB0dGw6IDUwMDAgfSwKICAgICAgKTsKICAgICAgYXdhaXQgY2FjaGVkQnJpZGdlKAogICAgICAgIHsgbW9kdWxlOiAiR1BCYXNlIiBhcyBjb25zdCwgbWV0aG9kOiAidGVzdDIiLCBwYXJhbXM6IHt9IH0sCiAgICAgICAgeyB0dGw6IDUwMDAgfSwKICAgICAgKTsKCiAgICAgIGV4cGVjdChnZXRDYWNoZVN0YXRzKCkuc2l6ZSkudG9CZSgyKTsKCiAgICAgIGNsZWFyQ2FjaGUoKTsKCiAgICAgIGV4cGVjdChnZXRDYWNoZVN0YXRzKCkuc2l6ZSkudG9CZSgwKTsKICAgIH0pOwoKICAgIGl0KCJzaG91bGQgY2xlYXIgYnkgcGF0dGVybiIsIGFzeW5jICgpID0+IHsKICAgICAgbW9ja0dwQ29udGFpbmVyLmNhbGwubW9ja0ltcGxlbWVudGF0aW9uKAogICAgICAgIChfbW9kdWxlLCBfbWV0aG9kLCBfcGFyYW1zLCBvblN1Y2Nlc3MpID0+IHsKICAgICAgICAgIG9uU3VjY2Vzcyh7IGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgb2s6IHRydWUgfSkgfSk7CiAgICAgICAgfSwKICAgICAgKTsKCiAgICAgIGF3YWl0IGNhY2hlZEJyaWRnZSgKICAgICAgICB7IG1vZHVsZTogIkdQQXV0aCIsIG1ldGhvZDogImNvbW1vbkhlYWRlcnMiLCBwYXJhbXM6IHt9IH0sCiAgICAgICAgeyB0dGw6IDUwMDAgfSwKICAgICAgKTsKICAgICAgYXdhaXQgY2FjaGVkQnJpZGdlKAogICAgICAgIHsgbW9kdWxlOiAiR1BCYXNlIiwgbWV0aG9kOiAidGVzdCIsIHBhcmFtczoge30gfSwKICAgICAgICB7IHR0bDogNTAwMCB9LAogICAgICApOwoKICAgICAgZXhwZWN0KGdldENhY2hlU3RhdHMoKS5zaXplKS50b0JlKDIpOwoKICAgICAgY2xlYXJCeVBhdHRlcm4oIkdQQXV0aCIpOwoKICAgICAgY29uc3Qgc3RhdHMgPSBnZXRDYWNoZVN0YXRzKCk7CiAgICAgIGV4cGVjdChzdGF0cy5zaXplKS50b0JlKDEpOwogICAgICBleHBlY3Qoc3RhdHMua2V5c1swXSkudG9Db250YWluKCJHUEJhc2UiKTsKICAgIH0pOwogIH0pOwoKICBkZXNjcmliZSgiVFRMIGV4cGlyYXRpb24iLCAoKSA9PiB7CiAgICBpdCgic2hvdWxkIGV2aWN0IGV4cGlyZWQgZW50cmllcyBvbiBuZXh0IGFjY2VzcyIsIGFzeW5jICgpID0+IHsKICAgICAgdmkudXNlRmFrZVRpbWVycygpOwoKICAgICAgbW9ja0dwQ29udGFpbmVyLmNhbGwubW9ja0ltcGxlbWVudGF0aW9uKAogICAgICAgIChfbW9kdWxlLCBfbWV0aG9kLCBfcGFyYW1zLCBvblN1Y2Nlc3MpID0+IHsKICAgICAgICAgIG9uU3VjY2Vzcyh7IGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgb2s6IHRydWUgfSkgfSk7CiAgICAgICAgfSwKICAgICAgKTsKCiAgICAgIGNvbnN0IGNhbGwgPSB7IG1vZHVsZTogIkdQQmFzZSIgYXMgY29uc3QsIG1ldGhvZDogInRlc3QiLCBwYXJhbXM6IHt9IH07CgogICAgICBhd2FpdCBjYWNoZWRCcmlkZ2UoY2FsbCwgeyB0dGw6IDEwMCB9KTsKCiAgICAgIGV4cGVjdChnZXRDYWNoZVN0YXRzKCkuYWN0aXZlKS50b0JlKDEpOwoKICAgICAgdmkuYWR2YW5jZVRpbWVyc0J5VGltZSgxNTApOwoKICAgICAgYXdhaXQgY2FjaGVkQnJpZGdlKGNhbGwsIHsgdHRsOiAxMDAgfSk7CgogICAgICBleHBlY3QobW9ja0dwQ29udGFpbmVyLmNhbGwpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygyKTsKCiAgICAgIHZpLnVzZVJlYWxUaW1lcnMoKTsKICAgIH0pOwogIH0pOwoKICBkZXNjcmliZSgibWV0cmljcyIsICgpID0+IHsKICAgIGl0KCJzaG91bGQgcmVwb3J0IGNhY2hlIGhpdCBtZXRyaWNzIiwgYXN5bmMgKCkgPT4gewogICAgICBjb25zdCBvbk1ldHJpY3MgPSB2aS5mbigpOwoKICAgICAgbW9ja0dwQ29udGFpbmVyLmNhbGwubW9ja0ltcGxlbWVudGF0aW9uKAogICAgICAgIChfbW9kdWxlLCBfbWV0aG9kLCBfcGFyYW1zLCBvblN1Y2Nlc3MpID0+IHsKICAgICAgICAgIG9uU3VjY2Vzcyh7IGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgb2s6IHRydWUgfSkgfSk7CiAgICAgICAgfSwKICAgICAgKTsKCiAgICAgIGNvbnN0IGNhbGwgPSB7IG1vZHVsZTogIkdQQmFzZSIgYXMgY29uc3QsIG1ldGhvZDogInRlc3QiLCBwYXJhbXM6IHt9IH07CgogICAgICBhd2FpdCBjYWNoZWRCcmlkZ2UoY2FsbCwgeyB0dGw6IDUwMDAsIG9uTWV0cmljcyB9KTsKICAgICAgYXdhaXQgY2FjaGVkQnJpZGdlKGNhbGwsIHsgdHRsOiA1MDAwLCBvbk1ldHJpY3MgfSk7CgogICAgICBleHBlY3Qob25NZXRyaWNzKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMik7CiAgICAgIGV4cGVjdChvbk1ldHJpY3MpLnRvSGF2ZUJlZW5MYXN0Q2FsbGVkV2l0aCgKICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7CiAgICAgICAgICBjYWNoZWQ6IHRydWUsCiAgICAgICAgICBkdXJhdGlvbjogMCwKICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsCiAgICAgICAgfSksCiAgICAgICk7CiAgICB9KTsKICB9KTsKCiAgZGVzY3JpYmUoInNpZ25hbCBzdXBwb3J0IiwgKCkgPT4gewogICAgaXQoInNob3VsZCBwYXNzIHNpZ25hbCB0byBicmlkZ2UgY2FsbCIsIGFzeW5jICgpID0+IHsKICAgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKCiAgICAgIG1vY2tHcENvbnRhaW5lci5jYWxsLm1vY2tJbXBsZW1lbnRhdGlvbigKICAgICAgICAoX21vZHVsZSwgX21ldGhvZCwgX3BhcmFtcywgX29uU3VjY2VzcykgPT4gewogICAgICAgICAgLy8gTmV2ZXIgcmVzb2x2ZQogICAgICAgIH0sCiAgICAgICk7CgogICAgICBjb25zdCBwcm9taXNlID0gY2FjaGVkQnJpZGdlKAogICAgICAgIHsgbW9kdWxlOiAiR1BCYXNlIiBhcyBjb25zdCwgbWV0aG9kOiAidGVzdCIsIHBhcmFtczoge30gfSwKICAgICAgICB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgfSwKICAgICAgKTsKCiAgICAgIGNvbnRyb2xsZXIuYWJvcnQoKTsKCiAgICAgIGF3YWl0IGV4cGVjdChwcm9taXNlKS5yZWplY3RzLnRvVGhyb3coIkFCT1JURUQiKTsKICAgIH0pOwogIH0pOwp9KTsK","src/bridge/__tests__/core.test.ts":"aW1wb3J0IHsgYmVmb3JlRWFjaCwgZGVzY3JpYmUsIGV4cGVjdCwgaXQsIHZpIH0gZnJvbSAidml0ZXN0IjsKCmltcG9ydCB7IEJyaWRnZUVycm9yLCBicmlkZ2UgfSBmcm9tICIuLi9jb3JlIjsKCmRlc2NyaWJlKCJicmlkZ2UgY29yZSIsICgpID0+IHsKICBsZXQgbW9ja0dwQ29udGFpbmVyOiB7CiAgICBjYWxsOiBSZXR1cm5UeXBlPHR5cGVvZiB2aS5mbj47CiAgfTsKCiAgYmVmb3JlRWFjaCgoKSA9PiB7CiAgICB2aS5jbGVhckFsbE1vY2tzKCk7CgogICAgbW9ja0dwQ29udGFpbmVyID0gewogICAgICBjYWxsOiB2aS5mbigpLAogICAgfTsKCiAgICBnbG9iYWwud2luZG93ID0gewogICAgICBncENvbnRhaW5lcjogbW9ja0dwQ29udGFpbmVyLAogICAgfSBhcyB1bmtub3duIGFzIHR5cGVvZiBnbG9iYWwud2luZG93OwogIH0pOwoKICBkZXNjcmliZSgiYmFzaWMgZnVuY3Rpb25hbGl0eSIsICgpID0+IHsKICAgIGl0KCJzaG91bGQgc3VjY2Vzc2Z1bGx5IGNhbGwgbmF0aXZlIGJyaWRnZSBhbmQgcGFyc2UgSlNPTiByZXNwb25zZSIsIGFzeW5jICgpID0+IHsKICAgICAgY29uc3QgbW9ja1Jlc3BvbnNlID0geyBBdXRob3JpemF0aW9uOiAiQmVhcmVyIHRva2VuMTIzIiB9OwoKICAgICAgbW9ja0dwQ29udGFpbmVyLmNhbGwubW9ja0ltcGxlbWVudGF0aW9uKAogICAgICAgIChfbW9kdWxlLCBfbWV0aG9kLCBfcGFyYW1zLCBvblN1Y2Nlc3MpID0+IHsKICAgICAgICAgIG9uU3VjY2Vzcyh7IGRhdGE6IEpTT04uc3RyaW5naWZ5KG1vY2tSZXNwb25zZSkgfSk7CiAgICAgICAgfSwKICAgICAgKTsKCiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJyaWRnZSh7CiAgICAgICAgbW9kdWxlOiAiR1BBdXRoIiwKICAgICAgICBtZXRob2Q6ICJjb21tb25IZWFkZXJzIiwKICAgICAgICBwYXJhbXM6IHt9LAogICAgICB9KTsKCiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwobW9ja1Jlc3BvbnNlKTsKICAgICAgZXhwZWN0KG1vY2tHcENvbnRhaW5lci5jYWxsKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgKICAgICAgICAiR1BBdXRoIiwKICAgICAgICAiY29tbW9uSGVhZGVycyIsCiAgICAgICAge30sCiAgICAgICAgZXhwZWN0LmFueShGdW5jdGlvbiksCiAgICAgICAgZXhwZWN0LmFueShGdW5jdGlvbiksCiAgICAgICk7CiAgICB9KTsKCiAgICBpdCgic2hvdWxkIGhhbmRsZSBuYXRpdmUgZXJyb3JzIiwgYXN5bmMgKCkgPT4gewogICAgICBtb2NrR3BDb250YWluZXIuY2FsbC5tb2NrSW1wbGVtZW50YXRpb24oCiAgICAgICAgKF9tb2R1bGUsIF9tZXRob2QsIF9wYXJhbXMsIF9vblN1Y2Nlc3MsIG9uRmFpbHVyZSkgPT4gewogICAgICAgICAgb25GYWlsdXJlKHsKICAgICAgICAgICAgY29kZTogIk5FVFdPUktfRVJST1IiLAogICAgICAgICAgICBtZXNzYWdlOiAiQ29ubmVjdGlvbiBmYWlsZWQiLAogICAgICAgICAgfSk7CiAgICAgICAgfSwKICAgICAgKTsKCiAgICAgIGF3YWl0IGV4cGVjdCgKICAgICAgICBicmlkZ2UoewogICAgICAgICAgbW9kdWxlOiAiR1BBdXRoIiwKICAgICAgICAgIG1ldGhvZDogImNvbW1vbkhlYWRlcnMiLAogICAgICAgICAgcGFyYW1zOiB7fSwKICAgICAgICB9KSwKICAgICAgKS5yZWplY3RzLnRvVGhyb3coQnJpZGdlRXJyb3IpOwogICAgfSk7CiAgfSk7CgogIGRlc2NyaWJlKCJ0aW1lb3V0IGhhbmRsaW5nIiwgKCkgPT4gewogICAgaXQoInNob3VsZCB0aW1lb3V0IGlmIG5hdGl2ZSBkb2Vzbid0IHJlc3BvbmQiLCBhc3luYyAoKSA9PiB7CiAgICAgIG1vY2tHcENvbnRhaW5lci5jYWxsLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7CiAgICAgICAgLy8gTmV2ZXIgY2FsbCBvblN1Y2Nlc3Mgb3Igb25GYWlsdXJlCiAgICAgIH0pOwoKICAgICAgYXdhaXQgZXhwZWN0KAogICAgICAgIGJyaWRnZSgKICAgICAgICAgIHsKICAgICAgICAgICAgbW9kdWxlOiAiR1BBdXRoIiwKICAgICAgICAgICAgbWV0aG9kOiAiY29tbW9uSGVhZGVycyIsCiAgICAgICAgICAgIHBhcmFtczoge30sCiAgICAgICAgICB9LAogICAgICAgICAgeyB0aW1lb3V0OiAxMDAgfSwKICAgICAgICApLAogICAgICApLnJlamVjdHMudG9UaHJvdygiVElNRU9VVCIpOwogICAgfSk7CgogICAgaXQoInNob3VsZCBub3QgdGltZW91dCBpZiByZXNwb25zZSBjb21lcyBpbiB0aW1lIiwgYXN5bmMgKCkgPT4gewogICAgICBtb2NrR3BDb250YWluZXIuY2FsbC5tb2NrSW1wbGVtZW50YXRpb24oCiAgICAgICAgKF9tb2R1bGUsIF9tZXRob2QsIF9wYXJhbXMsIG9uU3VjY2VzcykgPT4gewogICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgIG9uU3VjY2Vzcyh7IGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgc3VjY2VzczogdHJ1ZSB9KSB9KTsKICAgICAgICAgIH0sIDUwKTsKICAgICAgICB9LAogICAgICApOwoKICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnJpZGdlKAogICAgICAgIHsKICAgICAgICAgIG1vZHVsZTogIkdQQXV0aCIsCiAgICAgICAgICBtZXRob2Q6ICJjb21tb25IZWFkZXJzIiwKICAgICAgICAgIHBhcmFtczoge30sCiAgICAgICAgfSwKICAgICAgICB7IHRpbWVvdXQ6IDIwMCB9LAogICAgICApOwoKICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7IHN1Y2Nlc3M6IHRydWUgfSk7CiAgICB9KTsKICB9KTsKCiAgZGVzY3JpYmUoImNvbmN1cnJlbmN5IGNvbnRyb2wiLCAoKSA9PiB7CiAgICBpdCgic2hvdWxkIGxpbWl0IGNvbmN1cnJlbnQgY2FsbHMgdG8gMiIsIGFzeW5jICgpID0+IHsKICAgICAgbGV0IGFjdGl2ZUNhbGxzID0gMDsKICAgICAgbGV0IG1heENvbmN1cnJlbnQgPSAwOwoKICAgICAgbW9ja0dwQ29udGFpbmVyLmNhbGwubW9ja0ltcGxlbWVudGF0aW9uKAogICAgICAgIChfbW9kdWxlLCBfbWV0aG9kLCBfcGFyYW1zLCBvblN1Y2Nlc3MpID0+IHsKICAgICAgICAgIGFjdGl2ZUNhbGxzKys7CiAgICAgICAgICBtYXhDb25jdXJyZW50ID0gTWF0aC5tYXgobWF4Q29uY3VycmVudCwgYWN0aXZlQ2FsbHMpOwoKICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICBhY3RpdmVDYWxscy0tOwogICAgICAgICAgICBvblN1Y2Nlc3MoeyBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IG9rOiB0cnVlIH0pIH0pOwogICAgICAgICAgfSwgNTApOwogICAgICAgIH0sCiAgICAgICk7CgogICAgICBhd2FpdCBQcm9taXNlLmFsbChbCiAgICAgICAgYnJpZGdlKHsgbW9kdWxlOiAiR1BBdXRoIiwgbWV0aG9kOiAiY2FsbDEiLCBwYXJhbXM6IHt9IH0pLAogICAgICAgIGJyaWRnZSh7IG1vZHVsZTogIkdQQXV0aCIsIG1ldGhvZDogImNhbGwyIiwgcGFyYW1zOiB7fSB9KSwKICAgICAgICBicmlkZ2UoeyBtb2R1bGU6ICJHUEF1dGgiLCBtZXRob2Q6ICJjYWxsMyIsIHBhcmFtczoge30gfSksCiAgICAgICAgYnJpZGdlKHsgbW9kdWxlOiAiR1BBdXRoIiwgbWV0aG9kOiAiY2FsbDQiLCBwYXJhbXM6IHt9IH0pLAogICAgICBdKTsKCiAgICAgIGV4cGVjdChtYXhDb25jdXJyZW50KS50b0JlTGVzc1RoYW5PckVxdWFsKDIpOwogICAgfSk7CgogICAgaXQoInNob3VsZCBwcmlvcml0aXplIGhpZ2ggcHJpb3JpdHkgY2FsbHMiLCBhc3luYyAoKSA9PiB7CiAgICAgIGNvbnN0IGNhbGxPcmRlcjogc3RyaW5nW10gPSBbXTsKCiAgICAgIG1vY2tHcENvbnRhaW5lci5jYWxsLm1vY2tJbXBsZW1lbnRhdGlvbigKICAgICAgICAoX21vZHVsZSwgbWV0aG9kLCBfcGFyYW1zLCBvblN1Y2Nlc3MpID0+IHsKICAgICAgICAgIGNhbGxPcmRlci5wdXNoKG1ldGhvZCk7CiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgb25TdWNjZXNzKHsgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyBvazogdHJ1ZSB9KSB9KTsKICAgICAgICAgIH0sIDEwKTsKICAgICAgICB9LAogICAgICApOwoKICAgICAgLy8gU3RhcnQgMiBub3JtYWwgY2FsbHMgdGhhdCB3aWxsIGJsb2NrIHRoZSBxdWV1ZQogICAgICBjb25zdCBub3JtYWwxID0gYnJpZGdlKAogICAgICAgIHsgbW9kdWxlOiAiR1BBdXRoIiwgbWV0aG9kOiAibm9ybWFsMSIsIHBhcmFtczoge30gfSwKICAgICAgICB7IHByaW9yaXR5OiAibm9ybWFsIiB9LAogICAgICApOwogICAgICBjb25zdCBub3JtYWwyID0gYnJpZGdlKAogICAgICAgIHsgbW9kdWxlOiAiR1BBdXRoIiwgbWV0aG9kOiAibm9ybWFsMiIsIHBhcmFtczoge30gfSwKICAgICAgICB7IHByaW9yaXR5OiAibm9ybWFsIiB9LAogICAgICApOwoKICAgICAgLy8gUXVldWUgbW9yZSBjYWxscyBhZnRlciBhIHRpbnkgZGVsYXkKICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNSkpOwoKICAgICAgY29uc3QgaGlnaCA9IGJyaWRnZSgKICAgICAgICB7IG1vZHVsZTogIkdQQXV0aCIsIG1ldGhvZDogImhpZ2giLCBwYXJhbXM6IHt9IH0sCiAgICAgICAgeyBwcmlvcml0eTogImhpZ2giIH0sCiAgICAgICk7CiAgICAgIGNvbnN0IG5vcm1hbDMgPSBicmlkZ2UoCiAgICAgICAgeyBtb2R1bGU6ICJHUEF1dGgiLCBtZXRob2Q6ICJub3JtYWwzIiwgcGFyYW1zOiB7fSB9LAogICAgICAgIHsgcHJpb3JpdHk6ICJub3JtYWwiIH0sCiAgICAgICk7CgogICAgICBhd2FpdCBQcm9taXNlLmFsbChbbm9ybWFsMSwgbm9ybWFsMiwgaGlnaCwgbm9ybWFsM10pOwoKICAgICAgLy8gSGlnaCBwcmlvcml0eSBzaG91bGQgZXhlY3V0ZSBiZWZvcmUgbm9ybWFsMyBldmVuIHRob3VnaCBxdWV1ZWQgbGF0ZXIKICAgICAgY29uc3QgaGlnaEluZGV4ID0gY2FsbE9yZGVyLmluZGV4T2YoImhpZ2giKTsKICAgICAgY29uc3Qgbm9ybWFsM0luZGV4ID0gY2FsbE9yZGVyLmluZGV4T2YoIm5vcm1hbDMiKTsKICAgICAgZXhwZWN0KGhpZ2hJbmRleCkudG9CZUxlc3NUaGFuKG5vcm1hbDNJbmRleCk7CiAgICB9KTsKICB9KTsKCiAgZGVzY3JpYmUoImNhbmNlbGxhdGlvbiIsICgpID0+IHsKICAgIGl0KCJzaG91bGQgY2FuY2VsIHF1ZXVlZCBjYWxsIHdpdGggQWJvcnRTaWduYWwiLCBhc3luYyAoKSA9PiB7CiAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CgogICAgICBtb2NrR3BDb250YWluZXIuY2FsbC5tb2NrSW1wbGVtZW50YXRpb24oCiAgICAgICAgKF9tb2R1bGUsIF9tZXRob2QsIF9wYXJhbXMsIG9uU3VjY2VzcykgPT4gewogICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgIG9uU3VjY2Vzcyh7IGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgb2s6IHRydWUgfSkgfSk7CiAgICAgICAgICB9LCAxMDApOwogICAgICAgIH0sCiAgICAgICk7CgogICAgICAvLyBGaWxsIHF1ZXVlIHdpdGggMiBsb25nLXJ1bm5pbmcgY2FsbHMKICAgICAgY29uc3QgY2FsbDEgPSBicmlkZ2UoeyBtb2R1bGU6ICJHUEF1dGgiLCBtZXRob2Q6ICJjYWxsMSIsIHBhcmFtczoge30gfSk7CiAgICAgIGNvbnN0IGNhbGwyID0gYnJpZGdlKHsgbW9kdWxlOiAiR1BBdXRoIiwgbWV0aG9kOiAiY2FsbDIiLCBwYXJhbXM6IHt9IH0pOwoKICAgICAgLy8gUXVldWUgYSB0aGlyZCBjYWxsIHdpdGggQWJvcnRTaWduYWwKICAgICAgY29uc3QgY2FsbDMgPSBicmlkZ2UoCiAgICAgICAgeyBtb2R1bGU6ICJHUEF1dGgiLCBtZXRob2Q6ICJjYWxsMyIsIHBhcmFtczoge30gfSwKICAgICAgICB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgfSwKICAgICAgKTsKCiAgICAgIC8vIEFib3J0IGJlZm9yZSBpdCBnZXRzIHRvIGV4ZWN1dGUKICAgICAgY29udHJvbGxlci5hYm9ydCgpOwoKICAgICAgYXdhaXQgZXhwZWN0KGNhbGwzKS5yZWplY3RzLnRvVGhyb3coIkFCT1JURUQiKTsKICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW2NhbGwxLCBjYWxsMl0pOwogICAgfSk7CgogICAgaXQoInNob3VsZCBoYW5kbGUgYWxyZWFkeSBhYm9ydGVkIHNpZ25hbCIsIGFzeW5jICgpID0+IHsKICAgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKICAgICAgY29udHJvbGxlci5hYm9ydCgpOwoKICAgICAgYXdhaXQgZXhwZWN0KAogICAgICAgIGJyaWRnZSgKICAgICAgICAgIHsgbW9kdWxlOiAiR1BBdXRoIiwgbWV0aG9kOiAidGVzdCIsIHBhcmFtczoge30gfSwKICAgICAgICAgIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9LAogICAgICAgICksCiAgICAgICkucmVqZWN0cy50b1Rocm93KCJBQk9SVEVEIik7CiAgICB9KTsKICB9KTsKCiAgZGVzY3JpYmUoImVycm9yIGhhbmRsaW5nIiwgKCkgPT4gewogICAgaXQoInNob3VsZCB0aHJvdyBVTkFWQUlMQUJMRSB3aGVuIGdwQ29udGFpbmVyIGlzIG1pc3NpbmciLCBhc3luYyAoKSA9PiB7CiAgICAgIGdsb2JhbC53aW5kb3cgPSB7fSBhcyB1bmtub3duIGFzIHR5cGVvZiBnbG9iYWwud2luZG93OwoKICAgICAgYXdhaXQgZXhwZWN0KAogICAgICAgIGJyaWRnZSh7IG1vZHVsZTogIkdQQXV0aCIsIG1ldGhvZDogInRlc3QiLCBwYXJhbXM6IHt9IH0pLAogICAgICApLnJlamVjdHMudG9UaHJvdygiVU5BVkFJTEFCTEUiKTsKICAgIH0pOwoKICAgIGl0KCJzaG91bGQgdGhyb3cgUEFSU0VfRkFJTEVEIG9uIGludmFsaWQgSlNPTiIsIGFzeW5jICgpID0+IHsKICAgICAgbW9ja0dwQ29udGFpbmVyLmNhbGwubW9ja0ltcGxlbWVudGF0aW9uKAogICAgICAgIChfbW9kdWxlLCBfbWV0aG9kLCBfcGFyYW1zLCBvblN1Y2Nlc3MpID0+IHsKICAgICAgICAgIG9uU3VjY2Vzcyh7IGRhdGE6ICJpbnZhbGlkIGpzb257IiB9KTsKICAgICAgICB9LAogICAgICApOwoKICAgICAgYXdhaXQgZXhwZWN0KAogICAgICAgIGJyaWRnZSh7IG1vZHVsZTogIkdQQXV0aCIsIG1ldGhvZDogInRlc3QiLCBwYXJhbXM6IHt9IH0pLAogICAgICApLnJlamVjdHMudG9UaHJvdygiUEFSU0VfRkFJTEVEIik7CiAgICB9KTsKICB9KTsKCiAgZGVzY3JpYmUoIm1ldHJpY3MiLCAoKSA9PiB7CiAgICBpdCgic2hvdWxkIGVtaXQgbWV0cmljcyBvbiBzdWNjZXNzIiwgYXN5bmMgKCkgPT4gewogICAgICBjb25zdCBvbk1ldHJpY3MgPSB2aS5mbigpOwoKICAgICAgbW9ja0dwQ29udGFpbmVyLmNhbGwubW9ja0ltcGxlbWVudGF0aW9uKAogICAgICAgIChfbW9kdWxlLCBfbWV0aG9kLCBfcGFyYW1zLCBvblN1Y2Nlc3MpID0+IHsKICAgICAgICAgIG9uU3VjY2Vzcyh7IGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgb2s6IHRydWUgfSkgfSk7CiAgICAgICAgfSwKICAgICAgKTsKCiAgICAgIGF3YWl0IGJyaWRnZSgKICAgICAgICB7IG1vZHVsZTogIkdQQXV0aCIsIG1ldGhvZDogImNvbW1vbkhlYWRlcnMiLCBwYXJhbXM6IHt9IH0sCiAgICAgICAgeyBvbk1ldHJpY3MgfSwKICAgICAgKTsKCiAgICAgIGV4cGVjdChvbk1ldHJpY3MpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKAogICAgICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHsKICAgICAgICAgIG1vZHVsZTogIkdQQXV0aCIsCiAgICAgICAgICBtZXRob2Q6ICJjb21tb25IZWFkZXJzIiwKICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsCiAgICAgICAgICBkdXJhdGlvbjogZXhwZWN0LmFueShOdW1iZXIpLAogICAgICAgIH0pLAogICAgICApOwogICAgfSk7CgogICAgaXQoInNob3VsZCBlbWl0IG1ldHJpY3Mgb24gZmFpbHVyZSIsIGFzeW5jICgpID0+IHsKICAgICAgY29uc3Qgb25NZXRyaWNzID0gdmkuZm4oKTsKCiAgICAgIG1vY2tHcENvbnRhaW5lci5jYWxsLm1vY2tJbXBsZW1lbnRhdGlvbigKICAgICAgICAoX21vZHVsZSwgX21ldGhvZCwgX3BhcmFtcywgX29uU3VjY2Vzcywgb25GYWlsdXJlKSA9PiB7CiAgICAgICAgICBvbkZhaWx1cmUoeyBjb2RlOiAiRVJST1IiIH0pOwogICAgICAgIH0sCiAgICAgICk7CgogICAgICBhd2FpdCBleHBlY3QoCiAgICAgICAgYnJpZGdlKAogICAgICAgICAgeyBtb2R1bGU6ICJHUEF1dGgiLCBtZXRob2Q6ICJjb21tb25IZWFkZXJzIiwgcGFyYW1zOiB7fSB9LAogICAgICAgICAgeyBvbk1ldHJpY3MgfSwKICAgICAgICApLAogICAgICApLnJlamVjdHMudG9UaHJvdygpOwoKICAgICAgZXhwZWN0KG9uTWV0cmljcykudG9IYXZlQmVlbkNhbGxlZFdpdGgoCiAgICAgICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoewogICAgICAgICAgbW9kdWxlOiAiR1BBdXRoIiwKICAgICAgICAgIG1ldGhvZDogImNvbW1vbkhlYWRlcnMiLAogICAgICAgICAgc3VjY2VzczogZmFsc2UsCiAgICAgICAgICBlcnJvckNvZGU6IGV4cGVjdC5hbnkoU3RyaW5nKSwKICAgICAgICB9KSwKICAgICAgKTsKICAgIH0pOwogIH0pOwp9KTsK","src/bridge/cache.ts":"aW1wb3J0IHR5cGUgeyBCcmlkZ2VDYWxsLCBCcmlkZ2VPcHRpb25zLCBDYWNoZUVudHJ5IH0gZnJvbSAiLi90eXBlcyI7CgppbXBvcnQgeyBicmlkZ2UgfSBmcm9tICIuL2NvcmUiOwoKY29uc3QgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgQ2FjaGVFbnRyeT4oKTsKCmZ1bmN0aW9uIGdldENhY2hlS2V5KGNhbGw6IEJyaWRnZUNhbGwpOiBzdHJpbmcgewogIGNvbnN0IHsgbW9kdWxlLCBtZXRob2QsIHBhcmFtcyB9ID0gY2FsbDsKICByZXR1cm4gYCR7bW9kdWxlfToke21ldGhvZH06JHtzdGFibGVTdHJpbmdpZnkocGFyYW1zKX1gOwp9CgpmdW5jdGlvbiBzdGFibGVTdHJpbmdpZnkodmFsdWU6IHVua25vd24pOiBzdHJpbmcgewogIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpOwogIH0KCiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gIm9iamVjdCIpIHsKICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7CiAgfQoKICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHsKICAgIHJldHVybiBgWyR7dmFsdWUubWFwKHN0YWJsZVN0cmluZ2lmeSkuam9pbigiLCIpfV1gOwogIH0KCiAgY29uc3Qgc29ydGVkS2V5cyA9IE9iamVjdC5rZXlzKHZhbHVlKS5zb3J0KCk7CiAgY29uc3QgcGFpcnMgPSBzb3J0ZWRLZXlzLm1hcCgoa2V5KSA9PiB7CiAgICBjb25zdCB2YWwgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2tleV07CiAgICByZXR1cm4gYCR7SlNPTi5zdHJpbmdpZnkoa2V5KX06JHtzdGFibGVTdHJpbmdpZnkodmFsKX1gOwogIH0pOwoKICByZXR1cm4gYHske3BhaXJzLmpvaW4oIiwiKX19YDsKfQoKZnVuY3Rpb24gZXZpY3RFeHBpcmVkKCk6IHZvaWQgewogIGNvbnN0IG5vdyA9IERhdGUubm93KCk7CiAgZm9yIChjb25zdCBba2V5LCBlbnRyeV0gb2YgY2FjaGUuZW50cmllcygpKSB7CiAgICBpZiAoZW50cnkuZXhwaXJ5IDwgbm93KSB7CiAgICAgIGNhY2hlLmRlbGV0ZShrZXkpOwogICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFVikgewogICAgICAgIGNvbnNvbGUubG9nKGBbQnJpZGdlXSBFdmljdGVkOiAke2tleX1gKTsKICAgICAgfQogICAgfQogIH0KfQoKZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNhY2hlZEJyaWRnZTxUPigKICBjYWxsOiBCcmlkZ2VDYWxsLAogIG9wdGlvbnM6IHsKICAgIHR0bD86IG51bWJlcjsKICAgIG9uTWV0cmljcz86IEJyaWRnZU9wdGlvbnNbIm9uTWV0cmljcyJdOwogICAgcHJpb3JpdHk/OiBCcmlkZ2VPcHRpb25zWyJwcmlvcml0eSJdOwogICAgc2lnbmFsPzogQWJvcnRTaWduYWw7CiAgfSA9IHt9LAopOiBQcm9taXNlPFQ+IHsKICBjb25zdCB7IHR0bCA9IDAsIG9uTWV0cmljcywgcHJpb3JpdHksIHNpZ25hbCB9ID0gb3B0aW9uczsKCiAgaWYgKHR0bCA9PT0gMCkgewogICAgcmV0dXJuIGJyaWRnZTxUPihjYWxsLCB7IG9uTWV0cmljcywgcHJpb3JpdHksIHNpZ25hbCB9KTsKICB9CgogIGV2aWN0RXhwaXJlZCgpOwoKICBjb25zdCBrZXkgPSBnZXRDYWNoZUtleShjYWxsKTsKICBjb25zdCBub3cgPSBEYXRlLm5vdygpOwoKICBjb25zdCBlbnRyeSA9IGNhY2hlLmdldChrZXkpOwogIGlmIChlbnRyeSAmJiBlbnRyeS5leHBpcnkgPiBub3cpIHsKICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7CiAgICAgIGNvbnNvbGUubG9nKGBbQnJpZGdlXSBDYWNoZSBISVQ6ICR7a2V5fWApOwogICAgfQoKICAgIG9uTWV0cmljcz8uKHsKICAgICAgbW9kdWxlOiBjYWxsLm1vZHVsZSwKICAgICAgbWV0aG9kOiBjYWxsLm1ldGhvZCwKICAgICAgZHVyYXRpb246IDAsCiAgICAgIHN1Y2Nlc3M6IHRydWUsCiAgICAgIGNhY2hlZDogdHJ1ZSwKICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLAogICAgfSk7CgogICAgcmV0dXJuIGVudHJ5LnByb21pc2UgYXMgUHJvbWlzZTxUPjsKICB9CgogIGNvbnN0IHByb21pc2UgPSBicmlkZ2U8VD4oY2FsbCwgeyBvbk1ldHJpY3MsIHByaW9yaXR5LCBzaWduYWwgfSk7CgogIGNhY2hlLnNldChrZXksIHsKICAgIHByb21pc2UsCiAgICBleHBpcnk6IG5vdyArIHR0bCwKICB9KTsKCiAgcHJvbWlzZS5jYXRjaCgoKSA9PiB7CiAgICBjb25zdCBjdXJyZW50RW50cnkgPSBjYWNoZS5nZXQoa2V5KTsKICAgIGlmIChjdXJyZW50RW50cnk/LnByb21pc2UgPT09IHByb21pc2UpIHsKICAgICAgY2FjaGUuZGVsZXRlKGtleSk7CiAgICB9CiAgfSk7CgogIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7CiAgICBjb25zb2xlLmxvZyhgW0JyaWRnZV0gQ2FjaGVkOiAke2tleX0gKFRUTDogJHt0dGx9bXMpYCk7CiAgfQoKICByZXR1cm4gcHJvbWlzZTsKfQoKZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQ2FjaGUoKTogdm9pZCB7CiAgY2FjaGUuY2xlYXIoKTsKICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFVikgewogICAgY29uc29sZS5sb2coIltCcmlkZ2VdIENhY2hlIGNsZWFyZWQiKTsKICB9Cn0KCmV4cG9ydCBmdW5jdGlvbiBjbGVhckJ5UGF0dGVybihwYXR0ZXJuOiBzdHJpbmcpOiB2b2lkIHsKICBmb3IgKGNvbnN0IGtleSBvZiBjYWNoZS5rZXlzKCkpIHsKICAgIGlmIChrZXkuaW5jbHVkZXMocGF0dGVybikpIHsKICAgICAgY2FjaGUuZGVsZXRlKGtleSk7CiAgICB9CiAgfQp9CgpleHBvcnQgZnVuY3Rpb24gZ2V0Q2FjaGVTdGF0cygpIHsKICBjb25zdCBub3cgPSBEYXRlLm5vdygpOwogIGNvbnN0IGVudHJpZXMgPSBBcnJheS5mcm9tKGNhY2hlLmVudHJpZXMoKSk7CgogIHJldHVybiB7CiAgICBzaXplOiBlbnRyaWVzLmxlbmd0aCwKICAgIGFjdGl2ZTogZW50cmllcy5maWx0ZXIoKFtfLCBlbnRyeV0pID0+IGVudHJ5LmV4cGlyeSA+IG5vdykubGVuZ3RoLAogICAgZXhwaXJlZDogZW50cmllcy5maWx0ZXIoKFtfLCBlbnRyeV0pID0+IGVudHJ5LmV4cGlyeSA8PSBub3cpLmxlbmd0aCwKICAgIGtleXM6IGVudHJpZXMubWFwKChba2V5XSkgPT4ga2V5KSwKICB9Owp9Cg==","src/bridge/index.ts":"aW1wb3J0IHsgY2xlYXJDYWNoZSwgZ2V0Q2FjaGVTdGF0cyB9IGZyb20gIi4vY2FjaGUiOwoKZGVjbGFyZSBnbG9iYWwgewogIC8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZUNvbnNpc3RlbnRUeXBlRGVmaW5pdGlvbnM6IFdpbmRvdyBtdXN0IGJlIGFuIGludGVyZmFjZSBmb3IgZGVjbGFyYXRpb24gbWVyZ2luZwogIGludGVyZmFjZSBXaW5kb3cgewogICAgX19icmlkZ2U/OiB7CiAgICAgIHN0YXRzOiB0eXBlb2YgZ2V0Q2FjaGVTdGF0czsKICAgICAgY2xlYXI6IHR5cGVvZiBjbGVhckNhY2hlOwogICAgfTsKICB9Cn0KCmV4cG9ydCB0eXBlIHsKICBCcmlkZ2VDYWxsLAogIEJyaWRnZU9wdGlvbnMsCiAgQ2FjaGVFbnRyeSwKfSBmcm9tICIuL3R5cGVzIjsKCmV4cG9ydCB7CiAgY2FjaGVkQnJpZGdlLAogIGNsZWFyQnlQYXR0ZXJuLAogIGNsZWFyQ2FjaGUsCiAgZ2V0Q2FjaGVTdGF0cywKfSBmcm9tICIuL2NhY2hlIjsKZXhwb3J0IHsgQnJpZGdlRXJyb3IsIGJyaWRnZSB9IGZyb20gIi4vY29yZSI7CmV4cG9ydCB7IGdldFN5c3RlbUluZm8gfSBmcm9tICIuL2hhbmRsZXJzIjsKCmlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmIHR5cGVvZiB3aW5kb3cgIT09ICJ1bmRlZmluZWQiKSB7CiAgd2luZG93Ll9fYnJpZGdlID0gewogICAgc3RhdHM6IGdldENhY2hlU3RhdHMsCiAgICBjbGVhcjogY2xlYXJDYWNoZSwKICB9Owp9Cg==","src/bridge/handlers/device.ts":"aW1wb3J0IHsgY2FjaGVkQnJpZGdlIH0gZnJvbSAiLi4vY2FjaGUiOwoKZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFN5c3RlbUluZm8oKSB7CiAgdHJ5IHsKICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2FjaGVkQnJpZGdlKAogICAgICB7CiAgICAgICAgbW9kdWxlOiAiR1BTeXN0ZW0iLAogICAgICAgIG1ldGhvZDogImdldFN5c3RlbUluZm8iLAogICAgICAgIHBhcmFtczoge30sCiAgICAgIH0sCiAgICAgIHsKICAgICAgICB0dGw6IDM2MDAwMDAsIC8vIENhY2hlIGZvciAxIGhvdXIKICAgICAgICBwcmlvcml0eTogIm5vcm1hbCIsCiAgICAgIH0sCiAgICApOwoKICAgIHJldHVybiByZXNwb25zZSBhcyB7CiAgICAgIG1vZGVsOiBzdHJpbmc7CiAgICAgIGJyYW5kOiBzdHJpbmc7CiAgICAgIHBsYXRmb3JtOiBzdHJpbmc7CiAgICAgIHN5c3RlbTogbnVtYmVyOwogICAgICBzY3JlZW5XaWR0aDogbnVtYmVyOwogICAgICBzY3JlZW5IZWlnaHQ6IG51bWJlcjsKICAgICAgZGVuc2l0eTogbnVtYmVyOwogICAgICBkcGk6IG51bWJlcjsKICAgICAgbGFuZ3VhZ2U6IHN0cmluZzsKICAgICAgY3VycmVudEJhdHRlcnk6IG51bWJlcjsKICAgICAgc3RvcmFnZTogc3RyaW5nOwogICAgICB1dWlkOiBzdHJpbmc7CiAgICAgIGlkZmE6IHN0cmluZzsKICAgICAgaWRmdjogc3RyaW5nOwogICAgICBpc0VtdWxhdG9yOiBib29sZWFuOwogICAgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgY29uc29sZS5lcnJvcigiRXJyb3IgZ2V0dGluZyBzeXN0ZW0gaW5mbyBmcm9tIGhvc3QgYXBwOiAiLCBlcnJvcik7CgogICAgdGhyb3cgZXJyb3I7CiAgfQp9Cg==","src/bridge/handlers/index.ts":"ZXhwb3J0IHsgZ2V0U3lzdGVtSW5mbyB9IGZyb20gIi4vZGV2aWNlIjsK","src/utils/app-name.ts":"aW1wb3J0IHBhY2thZ2VKc29uIGZyb20gIi4uLy4uL3BhY2thZ2UuanNvbiIgd2l0aCB7IHR5cGU6ICJqc29uIiB9OwoKZXhwb3J0IGNvbnN0IEFQUF9OQU1FID0gKHBhY2thZ2VKc29uIHNhdGlzZmllcyB7IG5hbWU/OiBzdHJpbmcgfSkubmFtZQogID8udHJpbSgpCiAgLnJlcGxhY2UoL15ALywgIiIpCiAgLnJlcGxhY2UoL1wvL2csICItIik7CgpleHBvcnQgY29uc3QgQVBQX1ZFUlNJT04gPSAocGFja2FnZUpzb24gc2F0aXNmaWVzIHsgdmVyc2lvbj86IHN0cmluZyB9KS52ZXJzaW9uCiAgPy50cmltKCkgfHwgIjEuMC4wIjsK","src/utils/sanitise-html.ts":"aW1wb3J0IERPTVB1cmlmeSBmcm9tICJkb21wdXJpZnkiOwoKZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNhZmVIdG1sKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7CiAgcmV0dXJuIERPTVB1cmlmeS5zYW5pdGl6ZShodG1sLCB7CiAgICBBTExPV0VEX1RBR1M6IFsKICAgICAgImIiLAogICAgICAiaSIsCiAgICAgICJlbSIsCiAgICAgICJzdHJvbmciLAogICAgICAiYSIsCiAgICAgICJwIiwKICAgICAgImJyIiwKICAgICAgInNwYW4iLAogICAgICAiZGl2IiwKICAgICAgInVsIiwKICAgICAgIm9sIiwKICAgICAgImxpIiwKICAgICAgImgxIiwKICAgIF0sCiAgICBBTExPV0VEX0FUVFI6IFsiaHJlZiIsICJ0YXJnZXQiLCAicmVsIiwgImNsYXNzIl0sCiAgICBBTExPV19EQVRBX0FUVFI6IGZhbHNlLAogIH0pOwp9Cg==","src/utils/test-utils.tsx":"aW1wb3J0IHR5cGUgeyBSZWFjdEVsZW1lbnQgfSBmcm9tICJyZWFjdCI7CgppbXBvcnQgewogIGNyZWF0ZUxhenlSb3V0ZSwKICBjcmVhdGVNZW1vcnlIaXN0b3J5LAogIGNyZWF0ZVJvb3RSb3V0ZSwKICBjcmVhdGVSb3V0ZSwKICBjcmVhdGVSb3V0ZXIsCiAgT3V0bGV0LAogIFJvdXRlclByb3ZpZGVyLAp9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyByZW5kZXIsIHNjcmVlbiwgd2FpdEZvciB9IGZyb20gIkB0ZXN0aW5nLWxpYnJhcnkvcmVhY3QiOwoKY29uc3QgdGVzdFJvb3RSb3V0ZSA9IGNyZWF0ZVJvb3RSb3V0ZSh7CiAgY29tcG9uZW50OiAoKSA9PiAoCiAgICA8PgogICAgICA8ZGl2IGRhdGEtdGVzdGlkPSJ0ZXN0LXJvb3QtbGF5b3V0IiAvPgogICAgICA8T3V0bGV0IC8+CiAgICA8Lz4KICApLAp9KTsKCmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW5kZXJXaXRoUm91dGVyPExvYWRlckRhdGEgZXh0ZW5kcyB7fT4oCiAgQ29tcG9uZW50OiAoKSA9PiBSZWFjdEVsZW1lbnQsCiAgeyBwYXRoLCBtb2NrTG9hZGVyRGF0YSB9OiB7IHBhdGg6IHN0cmluZzsgbW9ja0xvYWRlckRhdGE6IExvYWRlckRhdGEgfSwKKSB7CiAgY29uc3QgdGVzdFJvdXRlID0gY3JlYXRlUm91dGUoewogICAgZ2V0UGFyZW50Um91dGU6ICgpID0+IHRlc3RSb290Um91dGUsCiAgICBwYXRoOiBwYXRoIGFzIGFueSwKICAgIGxvYWRlcjogYXN5bmMgKCkgPT4gbW9ja0xvYWRlckRhdGEsCiAgfSkubGF6eSgoKSA9PgogICAgUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUxhenlSb3V0ZShwYXRoIGFzIGFueSkoeyBjb21wb25lbnQ6IENvbXBvbmVudCB9KSksCiAgKTsKCiAgY29uc3Qgcm91dGVyID0gY3JlYXRlUm91dGVyKHsKICAgIHJvdXRlVHJlZTogdGVzdFJvb3RSb3V0ZS5hZGRDaGlsZHJlbihbdGVzdFJvdXRlXSksCiAgICBoaXN0b3J5OiBjcmVhdGVNZW1vcnlIaXN0b3J5KHsKICAgICAgaW5pdGlhbEVudHJpZXM6IFtwYXRoXSwKICAgIH0pLAogICAgZGVmYXVsdFBlbmRpbmdNaW5NczogMCwKICB9KTsKCiAgY29uc3QgcmVuZGVyUmVzdWx0ID0gcmVuZGVyKDxSb3V0ZXJQcm92aWRlciByb3V0ZXI9e3JvdXRlcn0gLz4pOwoKICBhd2FpdCB3YWl0Rm9yKCgpID0+IHNjcmVlbi5nZXRCeVRlc3RJZCgidGVzdC1yb290LWxheW91dCIpKTsKCiAgcmV0dXJuIHsgcm91dGVyLCByZW5kZXJSZXN1bHQgfTsKfQo=","src/components/navbar.tsx":"dHlwZSBOYXZCYXJQcm9wcyA9IHsKICB0aXRsZTogc3RyaW5nOwogIG9uQ2xvc2U/OiAoKSA9PiB2b2lkOwp9OwoKZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTmF2QmFyKHsgdGl0bGUsIG9uQ2xvc2UgfTogTmF2QmFyUHJvcHMpIHsKICByZXR1cm4gKAogICAgPG5hdiBjbGFzc05hbWU9ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiI+CiAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4LTEiPgogICAgICAgIDxoMSBjbGFzc05hbWU9InRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1zbGF0ZS05MDAiPnt0aXRsZX08L2gxPgogICAgICA8L2Rpdj4KICAgICAge29uQ2xvc2UgJiYgKAogICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4Ij4KICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgdHlwZT0iYnV0dG9uIgogICAgICAgICAgICBvbkNsaWNrPXtvbkNsb3NlfQogICAgICAgICAgICBhcmlhLWxhYmVsPSJDbG9zZSBtaW5pYXBwIgogICAgICAgICAgICBjbGFzc05hbWU9ImlubGluZS1mbGV4IGgtOSB3LTkgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCB0ZXh0LXNsYXRlLTcwMCB0cmFuc2l0aW9uIGhvdmVyOmJnLXNsYXRlLTEwMCBmb2N1cy12aXNpYmxlOm91dGxpbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1zbGF0ZS01MDAiCiAgICAgICAgICA+CiAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgY2xhc3NOYW1lPSJ0ZXh0LWxnIGxlYWRpbmctbm9uZSIKICAgICAgICAgICAgICBhcmlhLWhpZGRlbj0idHJ1ZSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgICZ0aW1lczsKICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICl9CiAgICA8L25hdj4KICApOwp9Cg==","src/components/error-boundary.tsx":"aW1wb3J0IHR5cGUgeyBFcnJvckluZm8sIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSAicmVhY3QiOwoKaW1wb3J0IHsgbWVtbywgUHVyZUNvbXBvbmVudCB9IGZyb20gInJlYWN0IjsKCnR5cGUgRXJyb3JCb3VuZGFyeVN0YXRlID0gewogIGhhc0Vycm9yOiBib29sZWFuOwogIGVycm9yPzogRXJyb3IgfCBudWxsOwogIGVycm9ySW5mbz86IFJlYWN0LkVycm9ySW5mbyB8IG51bGw7Cn07CgpjbGFzcyBFcnJvckJvdW5kYXJ5IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxQcm9wc1dpdGhDaGlsZHJlbj4gewogIHN0YXRlOiBFcnJvckJvdW5kYXJ5U3RhdGUgPSB7CiAgICBoYXNFcnJvcjogZmFsc2UsCiAgICBlcnJvcjogbnVsbCwKICAgIGVycm9ySW5mbzogbnVsbCwKICB9OwoKICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCk6IEVycm9yQm91bmRhcnlTdGF0ZSB7CiAgICByZXR1cm4geyBoYXNFcnJvcjogdHJ1ZSB9OwogIH0KCiAgY29tcG9uZW50RGlkQ2F0Y2goZXJyb3I6IEVycm9yLCBlcnJvckluZm86IEVycm9ySW5mbykgewogICAgdGhpcy5zZXRTdGF0ZSh7CiAgICAgIGVycm9yLAogICAgICBlcnJvckluZm8sCiAgICB9KTsKICB9CgogIHJlbmRlcigpIHsKICAgIGlmICh0aGlzLnN0YXRlLmhhc0Vycm9yKSB7CiAgICAgIHJldHVybiA8aDE+U29tZXRoaW5nIHdlbnQgd3JvbmcuIEVycm9yIGluIHJlbmRlcmluZyB0aGlzIGNvbXBvbmVudC48L2gxPjsKICAgIH0KCiAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjsKICB9Cn0KCmV4cG9ydCBkZWZhdWx0IG1lbW8oRXJyb3JCb3VuZGFyeSk7Cg==","src/vite-env.d.ts":"Ly8vIDxyZWZlcmVuY2UgdHlwZXM9InZpdGUvY2xpZW50IiAvPgoKLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlQ29uc2lzdGVudFR5cGVEZWZpbml0aW9uczogVml0ZVR5cGVPcHRpb25zIG11c3QgYmUgYW4gaW50ZXJmYWNlIGZvciBkZWNsYXJhdGlvbiBtZXJnaW5nCmludGVyZmFjZSBWaXRlVHlwZU9wdGlvbnMgewogIC8vIEJ5IGFkZGluZyB0aGlzIGxpbmUsIHlvdSBjYW4gbWFrZSB0aGUgdHlwZSBvZiBJbXBvcnRNZXRhRW52IHN0cmljdAogIC8vIHRvIGRpc2FsbG93IHVua25vd24ga2V5cy4KICBzdHJpY3RJbXBvcnRNZXRhRW52OiB1bmtub3duOwp9CgovLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VDb25zaXN0ZW50VHlwZURlZmluaXRpb25zOiBJbXBvcnRNZXRhRW52IG11c3QgYmUgYW4gaW50ZXJmYWNlIGZvciBkZWNsYXJhdGlvbiBtZXJnaW5nCmludGVyZmFjZSBJbXBvcnRNZXRhRW52IHsKICAvLyBidWlsZCB2YXJzOgogIHJlYWRvbmx5IEJVTkRMRV9BTkFMWVpFPzogInRydWUiOwogIHJlYWRvbmx5IEFQSV9ET01BSU46IHN0cmluZzsKICByZWFkb25seSBWSVRFX0JBU0VfQVBQX1BSRUZJWDogc3RyaW5nOwoKICAvLyBhcHAgdmFycwogIHJlYWRvbmx5IFZJVEVfQVBQX1RJVExFOiBzdHJpbmc7CiAgcmVhZG9ubHkgVklURV9CQVNFX0FQSV9VUkw6IHN0cmluZzsKICByZWFkb25seSBWSVRFX0FQUF9FTlZJUk9OTUVOVD86IHN0cmluZzsKICByZWFkb25seSBWSVRFX0ZBUk9fQVBJX0tFWT86IHN0cmluZzsKICByZWFkb25seSBWSVRFX0ZBUk9fQ09MTEVDVE9SX1VSTD86IHN0cmluZzsKICByZWFkb25seSBWSVRFX0ZBUk9fU0RLX1VSTD86IHN0cmluZzsKfQoKLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlQ29uc2lzdGVudFR5cGVEZWZpbml0aW9uczogSW1wb3J0TWV0YSBtdXN0IGJlIGFuIGludGVyZmFjZSBmb3IgZGVjbGFyYXRpb24gbWVyZ2luZwppbnRlcmZhY2UgSW1wb3J0TWV0YSB7CiAgcmVhZG9ubHkgZW52OiBJbXBvcnRNZXRhRW52Owp9Cg==","src/pages/routes.ts":"aW1wb3J0IHsgY3JlYXRlUm9vdFJvdXRlLCBjcmVhdGVSb3V0ZSB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwoKaW1wb3J0IExheW91dCBmcm9tICJAL3BhZ2VzL2xheW91dCI7Cgpjb25zdCByb290Um91dGUgPSBjcmVhdGVSb290Um91dGUoewogIGNvbXBvbmVudDogTGF5b3V0LAp9KTsKCmNvbnN0IGhvbWVSb3V0ZSA9IGNyZWF0ZVJvdXRlKHsKICBnZXRQYXJlbnRSb3V0ZTogKCkgPT4gcm9vdFJvdXRlLAogIHBhdGg6ICIvIiwKfSkubGF6eSgoKSA9PiBpbXBvcnQoIkAvcGFnZXMvaG9tZSIpLnRoZW4oKGQpID0+IGQuUm91dGUpKTsKCmNvbnN0IGV4YW1wbGVSb3V0ZSA9IGNyZWF0ZVJvdXRlKHsKICBnZXRQYXJlbnRSb3V0ZTogKCkgPT4gcm9vdFJvdXRlLAogIHBhdGg6ICIvZXhhbXBsZSIsCn0pLmxhenkoKCkgPT4gaW1wb3J0KCJAL3BhZ2VzL2V4YW1wbGUiKS50aGVuKChkKSA9PiBkLlJvdXRlKSk7CgpleHBvcnQgY29uc3Qgcm91dGVUcmVlID0gcm9vdFJvdXRlLmFkZENoaWxkcmVuKFtob21lUm91dGUsIGV4YW1wbGVSb3V0ZV0pOwo=","src/pages/home.tsx":"aW1wb3J0IHR5cGUgeyBDaGFuZ2VFdmVudCB9IGZyb20gInJlYWN0IjsKCmltcG9ydCB7IGNyZWF0ZUxhenlSb3V0ZSwgTGluayB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gInJlYWN0IjsKCmltcG9ydCB7IGdldFN5c3RlbUluZm8gfSBmcm9tICJAL2JyaWRnZSI7CmltcG9ydCBOYXZCYXIgZnJvbSAiQC9jb21wb25lbnRzL25hdmJhciI7CgpleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIb21lKCkgewogIGNvbnN0IGhhbmRsZXJzID0gWwogICAgewogICAgICBrZXk6ICJnZXRTeXN0ZW1JbmZvIiwKICAgICAgdGl0bGU6ICJnZXRTeXN0ZW1JbmZvIiwKICAgICAgZm46IGdldFN5c3RlbUluZm8sCiAgICB9LAogIF0gYXMgY29uc3Q7CgogIGNvbnN0IGRlZmF1bHRIYW5kbGVyID0gaGFuZGxlcnNbMF0hOwogIGNvbnN0IFtzZWxlY3RlZEhhbmRsZXJLZXksIHNldFNlbGVjdGVkSGFuZGxlcktleV0gPSB1c2VTdGF0ZTwKICAgICh0eXBlb2YgaGFuZGxlcnMpW251bWJlcl1bImtleSJdCiAgPihkZWZhdWx0SGFuZGxlci5rZXkpOwoKICBjb25zdCBbcnVuU3RhdGUsIHNldFJ1blN0YXRlXSA9IHVzZVN0YXRlPAogICAgImlkbGUiIHwgImxvYWRpbmciIHwgInN1Y2Nlc3MiIHwgImVycm9yIgogID4oImlkbGUiKTsKCiAgY29uc3QgW3Jlc3BvbnNlVGV4dCwgc2V0UmVzcG9uc2VUZXh0XSA9IHVzZVN0YXRlKAogICAgJ3tcbiAgIm1lc3NhZ2UiOiAiUnVuIGhhbmRsZXIgdG8gc2VlIHJlc3BvbnNlIlxufScsCiAgKTsKCiAgY29uc3Qgc2VsZWN0ZWRIYW5kbGVyID0KICAgIGhhbmRsZXJzLmZpbmQoKGl0ZW0pID0+IGl0ZW0ua2V5ID09PSBzZWxlY3RlZEhhbmRsZXJLZXkpIHx8IGRlZmF1bHRIYW5kbGVyOwoKICBjb25zdCBvblJ1bkhhbmRsZXIgPSBhc3luYyAoKSA9PiB7CiAgICBzZXRSdW5TdGF0ZSgibG9hZGluZyIpOwogICAgdHJ5IHsKICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZWxlY3RlZEhhbmRsZXIuZm4oKTsKICAgICAgY29uc3QgdGV4dCA9IEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLCBudWxsLCAyKTsKICAgICAgc2V0UmVzcG9uc2VUZXh0KHRleHQgPz8gU3RyaW5nKHJlc3BvbnNlKSk7CiAgICAgIHNldFJ1blN0YXRlKCJzdWNjZXNzIik7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBjb25zdCB0ZXh0ID0KICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yCiAgICAgICAgICA/IEpTT04uc3RyaW5naWZ5KAogICAgICAgICAgICAgIHsgbmFtZTogZXJyb3IubmFtZSwgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB9LAogICAgICAgICAgICAgIG51bGwsCiAgICAgICAgICAgICAgMiwKICAgICAgICAgICAgKQogICAgICAgICAgOiBKU09OLnN0cmluZ2lmeShlcnJvciwgbnVsbCwgMik7CiAgICAgIHNldFJlc3BvbnNlVGV4dCh0ZXh0ID8/IFN0cmluZyhlcnJvcikpOwogICAgICBzZXRSdW5TdGF0ZSgiZXJyb3IiKTsKICAgIH0KICB9OwoKICBjb25zdCBhcHBUaXRsZSA9IGltcG9ydC5tZXRhLmVudi5WSVRFX0FQUF9USVRMRSB8fCAiTWluaUFwcCBIb21lIjsKCiAgY29uc3QgcmVzcG9uc2VDYXJkQ2xhc3NlcyA9CiAgICBydW5TdGF0ZSA9PT0gInN1Y2Nlc3MiCiAgICAgID8gImJvcmRlci1ncmVlbi0zMDAgYmctZ3JlZW4tNTAiCiAgICAgIDogcnVuU3RhdGUgPT09ICJlcnJvciIKICAgICAgICA/ICJib3JkZXItcmVkLTMwMCBiZy1yZWQtNTAiCiAgICAgICAgOiAiYm9yZGVyLWJsdWUtMjAwIGJnLWJsdWUtNTAiOwoKICByZXR1cm4gKAogICAgPD4KICAgICAgPGhlYWRlcj4KICAgICAgICA8TmF2QmFyIHRpdGxlPXthcHBUaXRsZX0gLz4KICAgICAgPC9oZWFkZXI+CgogICAgICA8bWFpbiBjbGFzc05hbWU9Im14LWF1dG8gZ3JpZCBtYXgtdy1bOTIwcHhdIGdhcC00IHAtNCI+CiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPSJyb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBiZy13aGl0ZSBwLTQgc2hhZG93LXNtIj4KICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJncmlkIGdhcC0zIj4KICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT0idGV4dC0yeGwgZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIj4KICAgICAgICAgICAgICBZb3VyIDxzcGFuIGNsYXNzTmFtZT0idGV4dC1zdGF0aWMtc3VyZmFjZS1icmFuZCI+TWluaUFwcDwvc3Bhbj4gaXMKICAgICAgICAgICAgICBSZWFkeSDwn5qACiAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0idGV4dC1zbSB0ZXh0LXNsYXRlLTYwMCI+CiAgICAgICAgICAgICAgU2hpcCBwcm9kdWN0aW9uIHJlYWR5IE1pbmlBcHBzIHdpdGggZXZlcnl0aGluZyBhbHJlYWR5IHdpcmVkIHVwLgogICAgICAgICAgICAgIEpTQVBJIEJyaWRnZSwgQW5hbHl0aWNzLCBGZWF0dXJlIEZsYWdzLCBPYnNlcnZhYmlsaXR5LCBQZXJmb3JtYW5jZQogICAgICAgICAgICAgIE1vbml0b3JpbmcgYW5kIG1vcmUg4oCUIHByZS1jb25maWd1cmVkIHNvIHlvdSBjYW4gZm9jdXMgb24gYnVpbGRpbmcKICAgICAgICAgICAgICBleHBlcmllbmNlcywgbm90IHNldHVwLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJyb3VuZGVkLXhsIGJvcmRlciBib3JkZXItYW1iZXItMzAwIGJnLWFtYmVyLTUwIHAtMyI+CiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSJ0ZXh0LXNtIHRleHQtc2xhdGUtODAwIj4KICAgICAgICAgICAgICAgIOKcj++4jyBFZGl0eyIgIn0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0icm91bmRlZCBiZy1ncmVlbi01MCBweC0xIGZvbnQtYm9sZCB0ZXh0LXN0YXRpYy1zdXJmYWNlLWJyYW5kIj4KICAgICAgICAgICAgICAgICAgc3JjL3BhZ2VzL2hvbWUudHN4CiAgICAgICAgICAgICAgICA8L3NwYW4+eyIgIn0KICAgICAgICAgICAgICAgIHRvIGJ1aWxkIHlvdXIgZmlyc3Qgc2NyZWVuLgogICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtd3JhcCBnYXAtMi41Ij4KICAgICAgICAgICAgICA8TGluawogICAgICAgICAgICAgICAgdG89Ii9leGFtcGxlIgogICAgICAgICAgICAgICAgY2xhc3NOYW1lPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBiZy1zdGF0aWMtc3VyZmFjZS1icmFuZCBweC0zIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSB0cmFuc2l0aW9uIGhvdmVyOm9wYWNpdHktOTAiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgRXhhbXBsZSBwYWdlCiAgICAgICAgICAgICAgPC9MaW5rPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPSJyb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBiZy13aGl0ZSBwLTQgc2hhZG93LXNtIj4KICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJncmlkIGdhcC0zIHAtMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0yIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0yIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9InRleHQteGwgZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIj4KICAgICAgICAgICAgICAgICAgVHJ5IGEgSlNBUEkgSGFuZGxlcgogICAgICAgICAgICAgICAgPC9oMz4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0icm91bmRlZC1sZyBiZy1ibHVlLTEwMCBweC0yIHB5LTAuNSB0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWJsdWUtNzAwIj4KICAgICAgICAgICAgICAgICAgRGVtbwogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0idGV4dC1zbSB0ZXh0LXNsYXRlLTYwMCI+CiAgICAgICAgICAgICAgU2VhbWxlc3NseSBleHBsb3JlIG5hdGl2ZSBmZWF0dXJlcyB2aWEgSlMgaGFuZGxlcnMgYW5kIGRpc2NvdmVyCiAgICAgICAgICAgICAgb3RoZXIgaGFuZGxlcnMuCiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtd3JhcCBnYXAtMSI+CiAgICAgICAgICAgICAgPHNlbGVjdAogICAgICAgICAgICAgICAgdmFsdWU9e3NlbGVjdGVkSGFuZGxlcktleX0KICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxTZWxlY3RFbGVtZW50PikgPT4KICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRIYW5kbGVyS2V5KAogICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSBhcyAodHlwZW9mIGhhbmRsZXJzKVtudW1iZXJdWyJrZXkiXSwKICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY2xhc3NOYW1lPSJtaW4taC0xMCBmbGV4LTEgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCBiZy13aGl0ZSBweC0yLjUgdGV4dC1zbSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICB7aGFuZGxlcnMubWFwKChoYW5kbGVyKSA9PiAoCiAgICAgICAgICAgICAgICAgIDxvcHRpb24ga2V5PXtoYW5kbGVyLmtleX0gdmFsdWU9e2hhbmRsZXIua2V5fT4KICAgICAgICAgICAgICAgICAgICB7aGFuZGxlci50aXRsZX0KICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICApKX0KICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblJ1bkhhbmRsZXJ9CiAgICAgICAgICAgICAgICBjbGFzc05hbWU9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHJvdW5kZWQtbGcgYmctc2xhdGUtOTAwIHB4LTMgcHktMS41IHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIHRyYW5zaXRpb24gaG92ZXI6Ymctc2xhdGUtNzAwIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIFJ1bgogICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPuKWtjwvc3Bhbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgb3ZlcmZsb3cteC1hdXRvIHJvdW5kZWQteGwgYm9yZGVyIHAtMyAke3Jlc3BvbnNlQ2FyZENsYXNzZXN9YH0KICAgICAgICAgICAgICByb2xlPSJzdGF0dXMiCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8cHJlIGNsYXNzTmFtZT0ibS0wIHdoaXRlc3BhY2UtcHJlLXdyYXAgYnJlYWstd29yZHMgdGV4dC1bMC43OHJlbV0gbGVhZGluZy1yZWxheGVkIj4KICAgICAgICAgICAgICAgIHtyZXNwb25zZVRleHR9CiAgICAgICAgICAgICAgPC9wcmU+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9ImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTMgcC00Ij4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9InRleHQteGwgZm9udC1ib2xkIHRleHQtc2xhdGUtNTAwIj4KICAgICAgICAgICAgICDwn5ug77iPIFlvdXIgdHVybiBub3cuCiAgICAgICAgICAgIDwvaDM+CiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0idGV4dC1zbSB0ZXh0LXNsYXRlLTUwMCI+CiAgICAgICAgICAgICAgVGhpcyBpcyBqdXN0IHRoZSBzY2FmZm9sZCDigJQgdGhlIHJlYWwgd29yayBzdGFydHMgaGVyZS4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICA8L21haW4+CiAgICA8Lz4KICApOwp9CgpleHBvcnQgY29uc3QgUm91dGUgPSBjcmVhdGVMYXp5Um91dGUoIi8iKSh7CiAgY29tcG9uZW50OiBIb21lLAp9KTsK","src/pages/layout.tsx":"aW1wb3J0IHsgUmVhY3RRdWVyeURldnRvb2xzIH0gZnJvbSAiQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5LWRldnRvb2xzIjsKaW1wb3J0IHsgT3V0bGV0LCB1c2VDaGlsZE1hdGNoZXMgfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgVGFuU3RhY2tSb3V0ZXJEZXZ0b29scyB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXItZGV2dG9vbHMiOwppbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICJyZWFjdCI7CgppbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICJAL2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkiOwoKY29uc3QgQVBQX05BTUUgPSBpbXBvcnQubWV0YS5lbnYuVklURV9BUFBfVElUTEU7Cgpjb25zdCByZW1vdmVMb2FkZXIgPSAoKSA9PiB7CiAgY29uc3QgbG9hZGluZ0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ2xvYmFsLWxvYWRlciIpOwogIGlmIChsb2FkaW5nRWxlbWVudCkgewogICAgbG9hZGluZ0VsZW1lbnQuc3R5bGUudHJhbnNpdGlvbiA9ICJvcGFjaXR5IDAuM3MgZWFzZSI7CiAgICBsb2FkaW5nRWxlbWVudC5zdHlsZS5vcGFjaXR5ID0gIjAiOwogICAgbG9hZGluZ0VsZW1lbnQucmVtb3ZlKCk7CiAgfQp9OwoKZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTGF5b3V0KCkgewogIGNvbnN0IGNoaWxkTWF0Y2hlcyA9IHVzZUNoaWxkTWF0Y2hlcygpOwoKICB1c2VFZmZlY3QoKCkgPT4gewogICAgY29uc3QgaGFzTG9hZGVyID0gISFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ2xvYmFsLWxvYWRlciIpOwogICAgaWYgKGNoaWxkTWF0Y2hlcy5sZW5ndGggPiAwICYmIGhhc0xvYWRlcikgewogICAgICByZW1vdmVMb2FkZXIoKTsKICAgIH0KICB9LCBbY2hpbGRNYXRjaGVzXSk7CgogIHJldHVybiAoCiAgICA8RXJyb3JCb3VuZGFyeT4KICAgICAgPHRpdGxlPntBUFBfTkFNRX08L3RpdGxlPgogICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD17QVBQX05BTUV9IC8+CgogICAgICA8T3V0bGV0IC8+CgogICAgICB7aW1wb3J0Lm1ldGEuZW52Lk1PREUgPT09ICJkZXZlbG9wbWVudCIgJiYKICAgICAgICAhIWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJUQU5TVEFDS19ERVZfVE9PTFMiKSAmJiAoCiAgICAgICAgICA8PgogICAgICAgICAgICA8UmVhY3RRdWVyeURldnRvb2xzIC8+CiAgICAgICAgICAgIDxUYW5TdGFja1JvdXRlckRldnRvb2xzIC8+CiAgICAgICAgICA8Lz4KICAgICAgICApfQogICAgPC9FcnJvckJvdW5kYXJ5PgogICk7Cn0K","src/pages/example.tsx":"aW1wb3J0IHsgY3JlYXRlTGF6eVJvdXRlLCBMaW5rIH0gZnJvbSAiQHRhbnN0YWNrL3JlYWN0LXJvdXRlciI7CgppbXBvcnQgTmF2QmFyIGZyb20gIkAvY29tcG9uZW50cy9uYXZiYXIiOwppbXBvcnQgeyBjcmVhdGVTYWZlSHRtbCB9IGZyb20gIkAvdXRpbHMvc2FuaXRpc2UtaHRtbCI7CgpleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBFeGFtcGxlKCkgewogIGNvbnN0IHRpdGxlID0gIjxoMz5EdW1teSBIZWFkaW5nIFBsYWNlaG9sZGVyPC9oMz4iOwoKICByZXR1cm4gKAogICAgPD4KICAgICAgPGhlYWRlcj4KICAgICAgICA8TmF2QmFyIHRpdGxlPSJFeGFtcGxlIFBhZ2UiIC8+CiAgICAgIDwvaGVhZGVyPgoKICAgICAgPG1haW4gY2xhc3NOYW1lPSJteC1hdXRvIGdyaWQgbWF4LXctWzkyMHB4XSBnYXAtNCBwLTQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT0icm91bmRlZC0yeGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgYmctd2hpdGUgcC00IHNoYWRvdy1zbSI+CiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZ3JpZCBnYXAtMyI+CiAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTkwMCI+RXhhbXBsZSBQYWdlPC9oMj4KICAgICAgICAgICAgey8qIGJpb21lLWlnbm9yZSBsaW50L3NlY3VyaXR5L25vRGFuZ2Vyb3VzbHlTZXRJbm5lckh0bWw6IENvbnRlbnQgaXMKICAgICAgc2FuaXRpemVkIHdpdGggRE9NUHVyaWZ5IGluIGNyZWF0ZVNhZmVIdG1sIHV0aWxpdHkgKi99CiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IGNyZWF0ZVNhZmVIdG1sKHRpdGxlKSB9fQogICAgICAgICAgICA+PC9kaXY+CgogICAgICAgICAgICA8cCBjbGFzc05hbWU9InRleHQtc20gdGV4dC1zbGF0ZS02MDAiPgogICAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCBkbwogICAgICAgICAgICAgIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0CiAgICAgICAgICAgICAgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzCiAgICAgICAgICAgICAgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0idGV4dC1zbSB0ZXh0LXNsYXRlLTYwMCI+CiAgICAgICAgICAgICAgRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UKICAgICAgICAgICAgICBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQKICAgICAgICAgICAgICBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdAogICAgICAgICAgICAgIGFuaW0gaWQgZXN0IGxhYm9ydW0uCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSJ0ZXh0LXNtIHRleHQtc2xhdGUtNjAwIj4KICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFF1aXNxdWUKICAgICAgICAgICAgICBmYXVjaWJ1cyBleCBzYXBpZW4gdml0YWUgcGVsbGVudGVzcXVlIHNlbSBwbGFjZXJhdC4gSW4gaWQgY3Vyc3VzCiAgICAgICAgICAgICAgbWkgcHJldGl1bSB0ZWxsdXMgZHVpcyBjb252YWxsaXMuIFRlbXB1cyBsZW8gZXUgYWVuZWFuIHNlZCBkaWFtCiAgICAgICAgICAgICAgdXJuYSB0ZW1wb3IuIFB1bHZpbmFyIHZpdmFtdXMgZnJpbmdpbGxhIGxhY3VzIG5lYyBtZXR1cyBiaWJlbmR1bQogICAgICAgICAgICAgIGVnZXN0YXMuIElhY3VsaXMgbWFzc2EgbmlzbCBtYWxlc3VhZGEgbGFjaW5pYSBpbnRlZ2VyIG51bmMKICAgICAgICAgICAgICBwb3N1ZXJlLiBVdCBoZW5kcmVyaXQgc2VtcGVyIHZlbCBjbGFzcyBhcHRlbnQgdGFjaXRpIHNvY2lvc3F1LiBBZAogICAgICAgICAgICAgIGxpdG9yYSB0b3JxdWVudCBwZXIgY29udWJpYSBub3N0cmEgaW5jZXB0b3MgaGltZW5hZW9zLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT0icm91bmRlZC0yeGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgYmctd2hpdGUgcC0zIHNoYWRvdy1zbSI+CiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZ3JpZCBnYXAtMyBwLTIiPgogICAgICAgICAgICA8aDMgY2xhc3NOYW1lPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTkwMCI+UXVpY2sgQWN0aW9uczwvaDM+CiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtd3JhcCBnYXAtMiI+CiAgICAgICAgICAgICAgPExpbmsKICAgICAgICAgICAgICAgIHRvPSIvIgogICAgICAgICAgICAgICAgY2xhc3NOYW1lPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBiZy1zdGF0aWMtc3VyZmFjZS1icmFuZCBweC0zIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSB0cmFuc2l0aW9uIGhvdmVyOm9wYWNpdHktOTAiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgR28gSG9tZQogICAgICAgICAgICAgIDwvTGluaz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgIDwvbWFpbj4KICAgIDwvPgogICk7Cn0KCmV4cG9ydCBjb25zdCBSb3V0ZSA9IGNyZWF0ZUxhenlSb3V0ZSgiL2V4YW1wbGUiKSh7CiAgY29tcG9uZW50OiBFeGFtcGxlLAp9KTsK","src/pages/example.test.tsx":"aW1wb3J0IHsgc2NyZWVuIH0gZnJvbSAiQHRlc3RpbmctbGlicmFyeS9yZWFjdCI7CmltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIHRlc3QgfSBmcm9tICJ2aXRlc3QiOwoKaW1wb3J0IHsgcmVuZGVyV2l0aFJvdXRlciB9IGZyb20gIkAvdXRpbHMvdGVzdC11dGlscy50c3giOwoKaW1wb3J0IEV4YW1wbGUgZnJvbSAiLi9leGFtcGxlIjsKCi8qIFBsYWNlIHRvIG1vY2sgZGVwZW5kZW5jaWVzLCBBUElzLCBvciBvdGhlciByZXF1aXJlZCB0ZXN0IGRhdGEgKi8KCmRlc2NyaWJlKCJFeGFtcGxlIFBhZ2UiLCAoKSA9PiB7CiAgdGVzdCgicmVuZGVycyB0aGUgZXhhbXBsZSBwYWdlIiwgYXN5bmMgKCkgPT4gewogICAgYXdhaXQgcmVuZGVyV2l0aFJvdXRlcihFeGFtcGxlLCB7CiAgICAgIHBhdGg6ICIvZXhhbXBsZSIsCiAgICAgIG1vY2tMb2FkZXJEYXRhOiB7fSwKICAgIH0pOwoKICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCJFeGFtcGxlIFBhZ2UiKSkudG9CZURlZmluZWQoKTsKICB9KTsKfSk7Cg=="};CA();var{write:fI}=globalThis.Bun;import{join as UI}from"path";import{styleText as ng}from"util";import{stdout as LI,stdin as Pb}from"process";import*as mA from"readline";import Wv from"readline";var $C=(()=>{let A=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return(g)=>{let I=0;A.lastIndex=0;while(A.test(g))I+=1;return g.length-I}})(),Ab=(A)=>{return A===12288||A>=65281&&A<=65376||A>=65504&&A<=65510},gb=(A)=>{return A===8987||A===9001||A>=12272&&A<=12287||A>=12289&&A<=12350||A>=12441&&A<=12543||A>=12549&&A<=12591||A>=12593&&A<=12686||A>=12688&&A<=12771||A>=12783&&A<=12830||A>=12832&&A<=12871||A>=12880&&A<=19903||A>=65040&&A<=65049||A>=65072&&A<=65106||A>=65108&&A<=65126||A>=65128&&A<=65131||A>=127488&&A<=127490||A>=127504&&A<=127547||A>=127552&&A<=127560||A>=131072&&A<=196605||A>=196608&&A<=262141};var $9=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,Av=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,Ib=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,gv=/\t{1,1000}/y,Cb=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,Iv=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Cv=/\p{M}+/gu,bv={limit:1/0,ellipsis:""},bb=(A,g={},I={})=>{let C=g.limit??1/0,b=g.ellipsis??"",G=g?.ellipsisWidth??(b?bb(b,bv,I).width:0),v=0,Z=I.controlWidth??0,D=I.tabWidth??8,c=I.emojiWidth??2,u=2,B=I.regularWidth??1,N=I.wideWidth??2,W=[[Iv,B],[$9,0],[Av,Z],[gv,D],[Cb,c],[Ib,N]],d=0,w=0,Y=A.length,H=0,j=!1,T=Y,Q=Math.max(0,C-G),X=0,k=0,n=0,J=0;A:while(!0){if(k>X||w>=Y&&w>d){let h=A.slice(X,k)||A.slice(d,w);H=0;for(let BA of h.replaceAll(Cv,"")){let p=BA.codePointAt(0)||0;if(Ab(p))J=2;else if(gb(p))J=N;else J=B;if(n+J>Q)T=Math.min(T,Math.max(X,d)+H);if(n+J>C){j=!0;break A}H+=BA.length,n+=J}X=k=0}if(w>=Y)break A;for(let h=0,BA=W.length;h<BA;h++){let[p,cg]=W[h];if(p.lastIndex=w,p.test(A)){if(H=p===Ib?$C(A.slice(w,p.lastIndex)):p===Cb?1:p.lastIndex-w,J=H*cg,n+J>Q)T=Math.min(T,w+Math.floor((Q-n)/cg));if(n+J>C){j=!0;break A}n+=J,X=d,k=w,w=d=p.lastIndex;continue A}}w+=1}return{width:j?Q:n,index:j?T:Y,truncated:j,ellipsed:j&&C>=G}},Gb=bb;var Gv={limit:1/0,ellipsis:"",ellipsisWidth:0},vv=(A,g={})=>{return Gb(A,Gv,g).width},r=vv;var hg="\x1B",ub="\x9B",Zv=39,RI="\x07",Bb="[",Dv="]",lb="m",HI=`${Dv}8;;`,vb=new RegExp(`(?:\\${Bb}(?<code>\\d+)m|\\${HI}(?<uri>.*)${RI})`,"y"),Zb=(A)=>{if(A>=30&&A<=37)return 39;if(A>=90&&A<=97)return 39;if(A>=40&&A<=47)return 49;if(A>=100&&A<=107)return 49;if(A===1||A===2)return 22;if(A===3)return 23;if(A===4)return 24;if(A===7)return 27;if(A===8)return 28;if(A===9)return 29;if(A===0)return 0;return},Db=(A)=>`${hg}${Bb}${A}${lb}`,cb=(A)=>`${hg}${HI}${A}${RI}`,yI=(A,g,I)=>{let C=g[Symbol.iterator](),b=!1,G=!1,v=A.at(-1),Z=v===void 0?0:r(v),D=C.next(),c=C.next(),u=0;while(!D.done){let B=D.value,N=r(B);if(Z+N<=I)A[A.length-1]+=B;else A.push(B),Z=0;if(B===hg||B===ub)b=!0,G=g.startsWith(HI,u+1);if(b){if(G){if(B===RI)b=!1,G=!1}else if(B===lb)b=!1}else if(Z+=N,Z===I&&!c.done)A.push(""),Z=0;D=c,c=C.next(),u+=B.length}if(v=A.at(-1),!Z&&v!==void 0&&v.length&&A.length>1)A[A.length-2]+=A.pop()},cv=(A)=>{let g=A.split(" "),I=g.length;while(I){if(r(g[I-1]))break;I--}if(I===g.length)return A;return g.slice(0,I).join(" ")+g.slice(I).join("")},uv=(A,g,I={})=>{if(I.trim!==!1&&A.trim()==="")return"";let C="",b,G,v=A.split(" "),Z=[""],D=0;for(let B=0;B<v.length;B++){let N=v[B];if(I.trim!==!1){let d=Z.at(-1)??"",w=d.trimStart();if(d.length!==w.length)Z[Z.length-1]=w,D=r(w)}if(B!==0){if(D>=g&&(I.wordWrap===!1||I.trim===!1))Z.push(""),D=0;if(D||I.trim===!1)Z[Z.length-1]+=" ",D++}let W=r(N);if(I.hard&&W>g){let d=g-D,w=1+Math.floor((W-d-1)/g);if(Math.floor((W-1)/g)<w)Z.push("");yI(Z,N,g),D=r(Z.at(-1)??"");continue}if(D+W>g&&D&&W){if(I.wordWrap===!1&&D<g){yI(Z,N,g),D=r(Z.at(-1)??"");continue}Z.push(""),D=0}if(D+W>g&&I.wordWrap===!1){yI(Z,N,g),D=r(Z.at(-1)??"");continue}Z[Z.length-1]+=N,D+=W}if(I.trim!==!1)Z=Z.map((B)=>cv(B));let c=Z.join(`
|
|
134
|
+
`),u=!1;for(let B=0;B<c.length;B++){let N=c[B];if(C+=N,!u){if(u=N>="\uD800"&&N<="\uDBFF",u)continue}else u=!1;if(N===hg||N===ub){vb.lastIndex=B+1;let d=vb.exec(c)?.groups;if(d?.code!==void 0){let w=Number.parseFloat(d.code);b=w===Zv?void 0:w}else if(d?.uri!==void 0)G=d.uri.length===0?void 0:d.uri}if(c[B+1]===`
|
|
135
|
+
`){if(G)C+=cb("");let W=b?Zb(b):void 0;if(b&&W)C+=Db(W)}else if(N===`
|
|
136
|
+
`){if(b&&Zb(b))C+=Db(b);if(G)C+=cb(G)}}return C},Bv=/\r?\n/;function lA(A,g,I){return String(A).normalize().split(Bv).map((C)=>uv(C,g,I)).join(`
|
|
137
|
+
`)}var E=II(mI(),1);import{ReadStream as Wb}from"tty";function iA(A,g,I){if(!I.some((v)=>!v.disabled))return A;let C=A+g,b=Math.max(I.length-1,0),G=C<0?b:C>b?0:C;return I[G].disabled?iA(G,g<0?-1:1,I):G}function Qg(A,g,I,C){let b=C.split(`
|
|
138
|
+
`),G=0,v=A;for(let D of b){if(v<=D.length)break;v-=D.length+1,G++}for(G=Math.max(0,Math.min(b.length-1,G+I)),v=Math.min(v,b[G].length)+g;v<0&&G>0;)G--,v+=b[G].length+1;for(;v>b[G].length&&G<b.length-1;)v-=b[G].length+1,G++;v=Math.max(0,Math.min(b[G].length,v));let Z=0;for(let D=0;D<G;D++)Z+=b[D].length+1;return Z+v}var dv=["up","down","left","right","space","enter","cancel"],wv=["January","February","March","April","May","June","July","August","September","October","November","December"],S={actions:new Set(dv),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0,date:{monthNames:[...wv],messages:{required:"Please enter a valid date",invalidMonth:"There are only 12 months in a year",invalidDay:(A,g)=>`There are only ${A} days in ${g}`,afterMin:(A)=>`Date must be on or after ${A.toISOString().slice(0,10)}`,beforeMax:(A)=>`Date must be on or before ${A.toISOString().slice(0,10)}`}}};function hI(A,g){if(typeof A=="string")return S.aliases.get(A)===g;for(let I of A)if(I!==void 0&&hI(I,g))return!0;return!1}function Pv(A,g){if(A===g)return;let I=A.split(`
|
|
139
|
+
`),C=g.split(`
|
|
140
|
+
`),b=Math.max(I.length,C.length),G=[];for(let v=0;v<b;v++)I[v]!==C[v]&&G.push(v);return{lines:G,numLinesBefore:I.length,numLinesAfter:C.length,numLines:b}}var iv=globalThis.process.platform.startsWith("win"),jI=Symbol("clack:cancel");function x(A){return A===jI}function og(A,g){let I=A;I.isTTY&&I.setRawMode(g)}function ib({input:A=Pb,output:g=LI,overwrite:I=!0,hideCursor:C=!0}={}){let b=mA.createInterface({input:A,output:g,prompt:"",tabSize:1});mA.emitKeypressEvents(A,b),A instanceof Wb&&A.isTTY&&A.setRawMode(!0);let G=(v,{name:Z,sequence:D})=>{let c=String(v);if(hI([c,Z,D],"cancel")){C&&g.write(E.cursor.show),process.exit(0);return}if(!I)return;mA.moveCursor(g,Z==="return"?0:-1,Z==="return"?-1:0,()=>{mA.clearLine(g,1,()=>{A.once("keypress",G)})})};return C&&g.write(E.cursor.hide),A.once("keypress",G),()=>{A.off("keypress",G),C&&g.write(E.cursor.show),A instanceof Wb&&A.isTTY&&!iv&&A.setRawMode(!1),b.terminal=!1,b.close()}}var Gg=(A)=>("columns"in A)&&typeof A.columns=="number"?A.columns:80,QI=(A)=>("rows"in A)&&typeof A.rows=="number"?A.rows:20;function KA(A,g,I,C=I,b=I,G){let v=Gg(A??LI);return lA(g,v-I.length,{hard:!0,trim:!1}).split(`
|
|
141
|
+
`).map((Z,D,c)=>{let u=G?G(Z,D):Z;return D===0?`${C}${u}`:D===c.length-1?`${b}${u}`:`${I}${u}`}).join(`
|
|
142
|
+
`)}var jA=class{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(A,g=!0){let{input:I=Pb,output:C=LI,render:b,signal:G,...v}=A;this.opts=v,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=b.bind(this),this._track=g,this._abortSignal=G,this.input=I,this.output=C}unsubscribe(){this._subscribers.clear()}setSubscriber(A,g){let I=this._subscribers.get(A)??[];I.push(g),this._subscribers.set(A,I)}on(A,g){this.setSubscriber(A,{cb:g})}once(A,g){this.setSubscriber(A,{cb:g,once:!0})}emit(A,...g){let I=this._subscribers.get(A)??[],C=[];for(let b of I)b.cb(...g),b.once&&C.push(()=>I.splice(I.indexOf(b),1));for(let b of C)b()}prompt(){return new Promise((A)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),A(jI);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=Wv.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),og(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(E.cursor.show),this.output.off("resize",this.render),og(this.input,!1),A(this.value)}),this.once("cancel",()=>{this.output.write(E.cursor.show),this.output.off("resize",this.render),og(this.input,!1),A(jI)})})}_isActionKey(A,g){return A==="\t"}_shouldSubmit(A,g){return!0}_setValue(A){this.value=A,this.emit("value",this.value)}_setUserInput(A,g){this.userInput=A??"",this.emit("userInput",this.userInput),g&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(A,g){if(this._track&&g.name!=="return"&&(g.name&&this._isActionKey(A,g)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),g?.name&&(!this._track&&S.aliases.has(g.name)&&this.emit("cursor",S.aliases.get(g.name)),S.actions.has(g.name)&&this.emit("cursor",g.name)),A&&(A.toLowerCase()==="y"||A.toLowerCase()==="n")&&this.emit("confirm",A.toLowerCase()==="y"),this.emit("key",A?.toLowerCase(),g),g?.name==="return"&&this._shouldSubmit(A,g)){if(this.opts.validate){let I=this.opts.validate(this.value);I&&(this.error=I instanceof Error?I.message:I,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}hI([A,g?.name,g?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
143
|
+
`),og(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let A=lA(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
|
|
144
|
+
`).length-1;this.output.write(E.cursor.move(-999,A*-1))}render(){let A=lA(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(A!==this._prevFrame){if(this.state==="initial")this.output.write(E.cursor.hide);else{let g=Pv(this._prevFrame,A),I=QI(this.output);if(this.restoreCursor(),g){let C=Math.max(0,g.numLinesAfter-I),b=Math.max(0,g.numLinesBefore-I),G=g.lines.find((v)=>v>=C);if(G===void 0){this._prevFrame=A;return}if(g.lines.length===1){this.output.write(E.cursor.move(0,G-b)),this.output.write(E.erase.lines(1));let v=A.split(`
|
|
145
|
+
`);this.output.write(v[G]),this._prevFrame=A,this.output.write(E.cursor.move(0,v.length-G-1));return}else if(g.lines.length>1){if(C<b)G=C;else{let Z=G-b;Z>0&&this.output.write(E.cursor.move(0,Z))}this.output.write(E.erase.down());let v=A.split(`
|
|
146
|
+
`).slice(G);this.output.write(v.join(`
|
|
147
|
+
`)),this._prevFrame=A;return}}this.output.write(E.erase.down())}this.output.write(A),this.state==="initial"&&(this.state="active"),this._prevFrame=A}}};function Vv(A,g){if(A===void 0||g.length===0)return 0;let I=g.findIndex((C)=>C.value===A);return I!==-1?I:0}function Xv(A,g){return(g.label??String(g.value)).toLowerCase().includes(A.toLowerCase())}function Yv(A,g){if(g)return A?g:g[0]}var yv=class extends jA{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#g=0;#b="";#A;#G;#Z;get cursor(){return this.#g}get userInputWithCursor(){if(!this.userInput)return ng(["inverse","hidden"],"_");if(this._cursor>=this.userInput.length)return`${this.userInput}\u2588`;let A=this.userInput.slice(0,this._cursor),[g,...I]=this.userInput.slice(this._cursor);return`${A}${ng("inverse",g)}${I.join("")}`}get options(){return typeof this.#G=="function"?this.#G():this.#G}constructor(A){super(A),this.#G=A.options,this.#Z=A.placeholder;let g=this.options;this.filteredOptions=[...g],this.multiple=A.multiple===!0,this.#A=typeof A.options=="function"?A.filter:A.filter??Xv;let I;if(A.initialValue&&Array.isArray(A.initialValue)?this.multiple?I=A.initialValue:I=A.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(I=[this.options[0].value]),I)for(let C of I){let b=g.findIndex((G)=>G.value===C);b!==-1&&(this.toggleSelected(C),this.#g=b)}this.focusedValue=this.options[this.#g]?.value,this.on("key",(C,b)=>this.#I(C,b)),this.on("userInput",(C)=>this.#C(C))}_isActionKey(A,g){return A==="\t"||this.multiple&&this.isNavigating&&g.name==="space"&&A!==void 0&&A!==""}#I(A,g){let I=g.name==="up",C=g.name==="down",b=g.name==="return",G=this.userInput===""||this.userInput==="\t",v=this.#Z,Z=this.options,D=v!==void 0&&v!==""&&Z.some((c)=>!c.disabled&&(this.#A?this.#A(v,c):!0));if(g.name==="tab"&&G&&D){this.userInput==="\t"&&this._clearUserInput(),this._setUserInput(v,!0),this.isNavigating=!1;return}I||C?(this.#g=iA(this.#g,I?-1:1,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#g]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):b?this.value=Yv(this.multiple,this.selectedValues):this.multiple?this.focusedValue!==void 0&&(g.name==="tab"||this.isNavigating&&g.name==="space")?this.toggleSelected(this.focusedValue):this.isNavigating=!1:(this.focusedValue&&(this.selectedValues=[this.focusedValue]),this.isNavigating=!1)}deselectAll(){this.selectedValues=[]}toggleSelected(A){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(A)?this.selectedValues=this.selectedValues.filter((g)=>g!==A):this.selectedValues=[...this.selectedValues,A]:this.selectedValues=[A])}#C(A){if(A!==this.#b){this.#b=A;let g=this.options;A&&this.#A?this.filteredOptions=g.filter((b)=>this.#A?.(A,b)):this.filteredOptions=[...g];let I=Vv(this.focusedValue,this.filteredOptions);this.#g=iA(I,0,this.filteredOptions);let C=this.filteredOptions[this.#g];C&&!C.disabled?this.focusedValue=C.value:this.focusedValue=void 0,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}};class oI extends jA{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(A){super(A,!1),this.value=!!A.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",(g)=>{this.output.write(E.cursor.move(0,-1)),this.value=g,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var Rv={Y:{type:"year",len:4},M:{type:"month",len:2},D:{type:"day",len:2}};function db(A){return[...A].map((g)=>Rv[g])}function Hv(A){let g=new Intl.DateTimeFormat(A,{year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(2000,0,15)),I=[],C="/";for(let b of g)b.type==="literal"?C=b.value.trim()||b.value:(b.type==="year"||b.type==="month"||b.type==="day")&&I.push({type:b.type,len:b.type==="year"?4:2});return{segments:I,separator:C}}function KI(A){return Number.parseInt((A||"0").replace(/_/g,"0"),10)||0}function kg(A){return{year:KI(A.year),month:KI(A.month),day:KI(A.day)}}function FI(A,g){return new Date(A||2001,g||1,0).getDate()}function Vb(A){let{year:g,month:I,day:C}=kg(A);if(!g||g<0||g>9999||!I||I<1||I>12||!C||C<1)return;let b=new Date(Date.UTC(g,I-1,C));if(!(b.getUTCFullYear()!==g||b.getUTCMonth()!==I-1||b.getUTCDate()!==C))return{year:g,month:I,day:C}}function wb(A){let g=Vb(A);return g?new Date(Date.UTC(g.year,g.month-1,g.day)):void 0}function Jv(A,g,I,C){let b=I?{year:I.getUTCFullYear(),month:I.getUTCMonth()+1,day:I.getUTCDate()}:null,G=C?{year:C.getUTCFullYear(),month:C.getUTCMonth()+1,day:C.getUTCDate()}:null;return A==="year"?{min:b?.year??1,max:G?.year??9999}:A==="month"?{min:b&&g.year===b.year?b.month:1,max:G&&g.year===G.year?G.month:12}:{min:b&&g.year===b.year&&g.month===b.month?b.day:1,max:G&&g.year===G.year&&g.month===G.month?G.day:FI(g.year,g.month)}}class Xb extends jA{#g;#b;#A;#G;#Z;#I={segmentIndex:0,positionInSegment:0};#C=!0;#v=null;inlineError="";get segmentCursor(){return{...this.#I}}get segmentValues(){return{...this.#A}}get segments(){return this.#g}get separator(){return this.#b}get formattedValue(){return this.#B(this.#A)}#B(A){return this.#g.map((g)=>A[g.type]).join(this.#b)}#D(){this._setUserInput(this.#B(this.#A)),this._setValue(wb(this.#A)??void 0)}constructor(A){let g=A.format?{segments:db(A.format),separator:A.separator??"/"}:Hv(A.locale),I=A.separator??g.separator,C=A.format?db(A.format):g.segments,b=A.initialValue??A.defaultValue,G=b?{year:String(b.getUTCFullYear()).padStart(4,"0"),month:String(b.getUTCMonth()+1).padStart(2,"0"),day:String(b.getUTCDate()).padStart(2,"0")}:{year:"____",month:"__",day:"__"},v=C.map((Z)=>G[Z.type]).join(I);super({...A,initialUserInput:v},!1),this.#g=C,this.#b=I,this.#A=G,this.#G=A.minDate,this.#Z=A.maxDate,this.#D(),this.on("cursor",(Z)=>this.#W(Z)),this.on("key",(Z,D)=>this.#d(Z,D)),this.on("finalize",()=>this.#w(A))}#c(){let A=Math.max(0,Math.min(this.#I.segmentIndex,this.#g.length-1)),g=this.#g[A];if(g)return this.#I.positionInSegment=Math.max(0,Math.min(this.#I.positionInSegment,g.len-1)),{segment:g,index:A}}#u(A){this.inlineError="",this.#v=null;let g=this.#c();g&&(this.#I.segmentIndex=Math.max(0,Math.min(this.#g.length-1,g.index+A)),this.#I.positionInSegment=0,this.#C=!0)}#l(A){let g=this.#c();if(!g)return;let{segment:I}=g,C=this.#A[I.type],b=!C||C.replace(/_/g,"")==="",G=Number.parseInt((C||"0").replace(/_/g,"0"),10)||0,v=Jv(I.type,kg(this.#A),this.#G,this.#Z),Z;b?Z=A===1?v.min:v.max:Z=Math.max(Math.min(v.max,G+A),v.min),this.#A={...this.#A,[I.type]:Z.toString().padStart(I.len,"0")},this.#C=!0,this.#v=null,this.#D()}#W(A){if(A)switch(A){case"right":return this.#u(1);case"left":return this.#u(-1);case"up":return this.#l(1);case"down":return this.#l(-1)}}#d(A,g){if(g?.name==="backspace"||g?.sequence==="\x7F"||g?.sequence==="\b"||A==="\x7F"||A==="\b"){this.inlineError="";let I=this.#c();if(!I)return;if(!this.#A[I.segment.type].replace(/_/g,"")){this.#u(-1);return}this.#A[I.segment.type]="_".repeat(I.segment.len),this.#C=!0,this.#I.positionInSegment=0,this.#D();return}if(g?.name==="tab"){this.inlineError="";let I=this.#c();if(!I)return;let C=g.shift?-1:1,b=I.index+C;b>=0&&b<this.#g.length&&(this.#I.segmentIndex=b,this.#I.positionInSegment=0,this.#C=!0);return}if(A&&/^[0-9]$/.test(A)){let I=this.#c();if(!I)return;let{segment:C}=I,b=!this.#A[C.type].replace(/_/g,"");if(this.#C&&this.#v!==null&&!b){let N=this.#v+A,W={...this.#A,[C.type]:N},d=this.#N(W,C);if(d){this.inlineError=d,this.#v=null,this.#C=!1;return}this.inlineError="",this.#A[C.type]=N,this.#v=null,this.#C=!1,this.#D(),I.index<this.#g.length-1&&(this.#I.segmentIndex=I.index+1,this.#I.positionInSegment=0,this.#C=!0);return}this.#C&&!b&&(this.#A[C.type]="_".repeat(C.len),this.#I.positionInSegment=0),this.#C=!1,this.#v=null;let G=this.#A[C.type],v=G.indexOf("_"),Z=v>=0?v:Math.min(this.#I.positionInSegment,C.len-1);if(Z<0||Z>=C.len)return;let D=G.slice(0,Z)+A+G.slice(Z+1),c=!1;if(Z===0&&G==="__"&&(C.type==="month"||C.type==="day")){let N=Number.parseInt(A,10);D=`0${A}`,c=N<=(C.type==="month"?1:2)}if(C.type==="year"&&(D=(G.replace(/_/g,"")+A).padStart(C.len,"_")),!D.includes("_")){let N={...this.#A,[C.type]:D},W=this.#N(N,C);if(W){this.inlineError=W;return}}this.inlineError="",this.#A[C.type]=D;let u=D.includes("_")?void 0:Vb(this.#A);if(u){let{year:N,month:W}=u,d=FI(N,W);this.#A={year:String(Math.max(0,Math.min(9999,N))).padStart(4,"0"),month:String(Math.max(1,Math.min(12,W))).padStart(2,"0"),day:String(Math.max(1,Math.min(d,u.day))).padStart(2,"0")}}this.#D();let B=D.indexOf("_");c?(this.#C=!0,this.#v=A):B>=0?this.#I.positionInSegment=B:v>=0&&I.index<this.#g.length-1?(this.#I.segmentIndex=I.index+1,this.#I.positionInSegment=0,this.#C=!0):this.#I.positionInSegment=Math.min(Z+1,C.len-1)}}#N(A,g){let{month:I,day:C}=kg(A);if(g.type==="month"&&(I<0||I>12))return S.date.messages.invalidMonth;if(g.type==="day"&&(C<0||C>31))return S.date.messages.invalidDay(31,"any month")}#w(A){let{year:g,month:I,day:C}=kg(this.#A);if(g&&I&&C){let b=FI(g,I);this.#A={...this.#A,day:String(Math.min(C,b)).padStart(2,"0")}}this.value=wb(this.#A)??A.defaultValue??void 0}}class Yb extends jA{options;cursor=0;#g;getGroupItems(A){return this.options.filter((g)=>g.group===A)}isGroupSelected(A){let g=this.getGroupItems(A),I=this.value;return I===void 0?!1:g.every((C)=>I.includes(C.value))}toggleValue(){let A=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),A.group===!0){let g=A.value,I=this.getGroupItems(g);this.isGroupSelected(g)?this.value=this.value.filter((C)=>I.findIndex((b)=>b.value===C)===-1):this.value=[...this.value,...I.map((C)=>C.value)],this.value=Array.from(new Set(this.value))}else{let g=this.value.includes(A.value);this.value=g?this.value.filter((I)=>I!==A.value):[...this.value,A.value]}}constructor(A){super(A,!1);let{options:g}=A;this.#g=A.selectableGroups!==!1,this.options=Object.entries(g).flatMap(([I,C])=>[{value:I,group:!0,label:I},...C.map((b)=>({...b,group:I}))]),this.value=[...A.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:I})=>I===A.cursorAt),this.#g?0:1),this.on("cursor",(I)=>{switch(I){case"left":case"up":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;let C=this.options[this.cursor]?.group===!0;!this.#g&&C&&(this.cursor=this.cursor===0?this.options.length-1:this.cursor-1);break}case"down":case"right":{this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;let C=this.options[this.cursor]?.group===!0;!this.#g&&C&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case"space":this.toggleValue();break}})}}class yb extends jA{#g=!1;#b;focused="editor";get userInputWithCursor(){if(this.state==="submit")return this.userInput;let A=this.userInput;if(this.cursor>=A.length)return`${A}\u2588`;let g=A.slice(0,this.cursor),I=A[this.cursor],C=A.slice(this.cursor+1);return I===`
|
|
148
|
+
`?`${g}\u2588
|
|
149
|
+
${C}`:`${g}${ng("inverse",I)}${C}`}get cursor(){return this._cursor}#A(A){if(this.userInput.length===0){this._setUserInput(A);return}this._setUserInput(this.userInput.slice(0,this.cursor)+A+this.userInput.slice(this.cursor))}#G(A){let g=this.value??"";switch(A){case"up":this._cursor=Qg(this._cursor,0,-1,g);return;case"down":this._cursor=Qg(this._cursor,0,1,g);return;case"left":this._cursor=Qg(this._cursor,-1,0,g);return;case"right":this._cursor=Qg(this._cursor,1,0,g);return}}_shouldSubmit(A,g){if(this.#b)return this.focused==="submit"?!0:(this.#A(`
|
|
150
|
+
`),this._cursor++,!1);let I=this.#g;return this.#g=!0,I?(this.userInput[this.cursor-1]===`
|
|
151
|
+
`&&(this._setUserInput(this.userInput.slice(0,this.cursor-1)+this.userInput.slice(this.cursor)),this._cursor--),!0):(this.#A(`
|
|
152
|
+
`),this._cursor++,!1)}constructor(A){super(A,!1),this.#b=A.showSubmit??!1,this.on("key",(g,I)=>{if(I?.name&&S.actions.has(I.name)){this.#G(I.name);return}if(g==="\t"&&this.#b){this.focused=this.focused==="editor"?"submit":"editor";return}if(I?.name!=="return"){if(this.#g=!1,I?.name==="backspace"&&this.cursor>0){this._setUserInput(this.userInput.slice(0,this.cursor-1)+this.userInput.slice(this.cursor)),this._cursor--;return}if(I?.name==="delete"&&this.cursor<this.userInput.length){this._setUserInput(this.userInput.slice(0,this.cursor)+this.userInput.slice(this.cursor+1));return}g&&(this.#b&&this.focused==="submit"&&(this.focused="editor"),this.#A(g??""),this._cursor++)}}),this.on("userInput",(g)=>{this._setValue(g)}),this.on("finalize",()=>{this.value||(this.value=A.defaultValue),this.value===void 0&&(this.value="")})}}var Rb=class extends jA{options;cursor=0;get _value(){return this.options[this.cursor].value}get _enabledOptions(){return this.options.filter((A)=>A.disabled!==!0)}toggleAll(){let A=this._enabledOptions,g=this.value!==void 0&&this.value.length===A.length;this.value=g?[]:A.map((I)=>I.value)}toggleInvert(){let A=this.value;if(!A)return;let g=this._enabledOptions.filter((I)=>!A.includes(I.value));this.value=g.map((I)=>I.value)}toggleValue(){this.value===void 0&&(this.value=[]);let A=this.value.includes(this._value);this.value=A?this.value.filter((g)=>g!==this._value):[...this.value,this._value]}constructor(A){super(A,!1),this.options=A.options,this.value=[...A.initialValues??[]];let g=Math.max(this.options.findIndex(({value:I})=>I===A.cursorAt),0);this.cursor=this.options[g].disabled?iA(g,1,this.options):g,this.on("key",(I)=>{I==="a"&&this.toggleAll(),I==="i"&&this.toggleInvert()}),this.on("cursor",(I)=>{switch(I){case"left":case"up":this.cursor=iA(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=iA(this.cursor,1,this.options);break;case"space":this.toggleValue();break}})}};class kI extends jA{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(A){super(A,!1),this.options=A.options;let g=this.options.findIndex(({value:C})=>C===A.initialValue),I=g===-1?0:g;this.cursor=this.options[I].disabled?iA(I,1,this.options):I,this.changeValue(),this.on("cursor",(C)=>{switch(C){case"left":case"up":this.cursor=iA(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=iA(this.cursor,1,this.options);break}this.changeValue()})}}class nI extends jA{get userInputWithCursor(){if(this.state==="submit")return this.userInput;let A=this.userInput;if(this.cursor>=A.length)return`${this.userInput}\u2588`;let g=A.slice(0,this.cursor),[I,...C]=A.slice(this.cursor);return`${g}${ng("inverse",I)}${C.join("")}`}get cursor(){return this._cursor}constructor(A){super({...A,initialUserInput:A.initialUserInput??A.initialValue}),this.on("userInput",(g)=>{this._setValue(g)}),this.on("finalize",()=>{this.value||(this.value=A.defaultValue),this.value===void 0&&(this.value="")})}}import{styleText as l,stripVTControlCharacters as Zu}from"util";import GA from"process";var Zg=II(mI(),1);function mv(){return GA.platform!=="win32"?GA.env.TERM!=="linux":!!GA.env.CI||!!GA.env.WT_SESSION||!!GA.env.TERMINUS_SUBLIME||GA.env.ConEmuTask==="{cmd::Cmder}"||GA.env.TERM_PROGRAM==="Terminus-Sublime"||GA.env.TERM_PROGRAM==="vscode"||GA.env.TERM==="xterm-256color"||GA.env.TERM==="alacritty"||GA.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var zI=mv(),Kv=()=>process.env.CI==="true";var m=(A,g)=>zI?A:g,jv=m("\u25C6","*"),jb=m("\u25A0","x"),Fb=m("\u25B2","x"),sg=m("\u25C7","o"),Fv=m("\u250C","T"),V=m("\u2502","|"),FA=m("\u2514","\u2014"),Bu=m("\u2510","T"),lu=m("\u2518","\u2014"),SI=m("\u25CF",">"),Sg=m("\u25CB"," "),Lv=m("\u25FB","[\u2022]"),Hb=m("\u25FC","[+]"),Jb=m("\u25FB","[ ]"),Nu=m("\u25AA","\u2022"),mb=m("\u2500","-"),hv=m("\u256E","+"),Qv=m("\u251C","+"),ov=m("\u256F","+"),kv=m("\u2570","+"),Wu=m("\u256D","+"),nv=m("\u25CF","\u2022"),zv=m("\u25C6","*"),Sv=m("\u25B2","!"),sv=m("\u25A0","x"),Tg=(A)=>{switch(A){case"initial":case"active":return l("cyan",jv);case"cancel":return l("red",jb);case"error":return l("yellow",Fb);case"submit":return l("green",sg)}},Lb=(A)=>{switch(A){case"initial":case"active":return l("cyan",V);case"cancel":return l("red",V);case"error":return l("yellow",V);case"submit":return l("green",V)}},Kb=(A,g,I,C,b,G=!1)=>{let v=g,Z=0;if(G)for(let D=C-1;D>=I&&(v-=A[D].length,Z++,!(v<=b));D--);else for(let D=I;D<C&&(v-=A[D].length,Z++,!(v<=b));D++);return{lineCount:v,removals:Z}},sI=({cursor:A,options:g,style:I,output:C=process.stdout,maxItems:b=Number.POSITIVE_INFINITY,columnPadding:G=0,rowPadding:v=4})=>{let Z=Gg(C)-G,D=QI(C),c=l("dim","..."),u=Math.max(D-v,0),B=Math.max(Math.min(b,u),5),N=0;A>=B-3&&(N=Math.max(Math.min(A-B+3,g.length-B),0));let W=B<g.length&&N>0,d=B<g.length&&N+B<g.length,w=Math.min(N+B,g.length),Y=[],H=0;W&&H++,d&&H++;let j=N+(W?1:0),T=w-(d?1:0);for(let X=j;X<T;X++){let k=lA(I(g[X],X===A),Z,{hard:!0,trim:!1}).split(`
|
|
153
|
+
`);Y.push(k),H+=k.length}if(H>u){let X=0,k=0,n=H,J=A-j,h=u,BA=()=>Kb(Y,n,0,J,h),p=()=>Kb(Y,n,J+1,Y.length,h,!0);W?({lineCount:n,removals:X}=BA(),n>h&&(d||(h-=1),{lineCount:n,removals:k}=p())):(d||(h-=1),{lineCount:n,removals:k}=p(),n>h&&(h-=1,{lineCount:n,removals:X}=BA())),X>0&&(W=!0,Y.splice(0,X)),k>0&&(d=!0,Y.splice(Y.length-k,k))}let Q=[];W&&Q.push(c);for(let X of Y)for(let k of X)Q.push(k);return d&&Q.push(c),Q};var gA=(A)=>{let g=A.active??"Yes",I=A.inactive??"No";return new oI({active:g,inactive:I,signal:A.signal,input:A.input,output:A.output,initialValue:A.initialValue??!0,render(){let C=A.withGuide??S.withGuide,b=`${Tg(this.state)} `,G=C?`${l("gray",V)} `:"",v=KA(A.output,A.message,G,b),Z=`${C?`${l("gray",V)}
|
|
154
|
+
`:""}${v}
|
|
155
|
+
`,D=this.value?g:I;switch(this.state){case"submit":{let c=C?`${l("gray",V)} `:"";return`${Z}${c}${l("dim",D)}`}case"cancel":{let c=C?`${l("gray",V)} `:"";return`${Z}${c}${l(["strikethrough","dim"],D)}${C?`
|
|
156
|
+
${l("gray",V)}`:""}`}default:{let c=C?`${l("cyan",V)} `:"",u=C?l("cyan",FA):"";return`${Z}${c}${this.value?`${l("green",SI)} ${g}`:`${l("dim",Sg)} ${l("dim",g)}`}${A.vertical?C?`
|
|
157
|
+
${l("cyan",V)} `:`
|
|
158
|
+
`:` ${l("dim","/")} `}${this.value?`${l("dim",Sg)} ${l("dim",I)}`:`${l("green",SI)} ${I}`}
|
|
159
|
+
${u}
|
|
160
|
+
`}}}}).prompt()};var _={message:(A=[],{symbol:g=l("gray",V),secondarySymbol:I=l("gray",V),output:C=process.stdout,spacing:b=1,withGuide:G}={})=>{let v=[],Z=G??S.withGuide,D=Z?I:"",c=Z?`${g} `:"",u=Z?`${I} `:"";for(let N=0;N<b;N++)v.push(D);let B=Array.isArray(A)?A:A.split(`
|
|
161
|
+
`);if(B.length>0){let[N,...W]=B;N.length>0?v.push(`${c}${N}`):v.push(Z?g:"");for(let d of W)d.length>0?v.push(`${u}${d}`):v.push(Z?I:"")}C.write(`${v.join(`
|
|
162
|
+
`)}
|
|
163
|
+
`)},info:(A,g)=>{_.message(A,{...g,symbol:l("blue",nv)})},success:(A,g)=>{_.message(A,{...g,symbol:l("green",zv)})},step:(A,g)=>{_.message(A,{...g,symbol:l("green",sg)})},warn:(A,g)=>{_.message(A,{...g,symbol:l("yellow",Sv)})},warning:(A,g)=>{_.warn(A,g)},error:(A,g)=>{_.message(A,{...g,symbol:l("red",sv)})}},uA=(A="",g)=>{let I=g?.output??process.stdout,C=g?.withGuide??S.withGuide?`${l("gray",FA)} `:"";I.write(`${C}${l("red",A)}
|
|
164
|
+
|
|
165
|
+
`)},NA=(A="",g)=>{let I=g?.output??process.stdout,C=g?.withGuide??S.withGuide?`${l("gray",Fv)} `:"";I.write(`${C}${A}
|
|
166
|
+
`)},R=(A="",g)=>{let I=g?.output??process.stdout,C=g?.withGuide??S.withGuide?`${l("gray",V)}
|
|
167
|
+
${l("gray",FA)} `:"";I.write(`${C}${A}
|
|
168
|
+
|
|
169
|
+
`)};var vg=(A,g)=>A.split(`
|
|
170
|
+
`).map((I)=>g(I)).join(`
|
|
171
|
+
`),TI=(A)=>{let g=(C,b)=>{let G=C.label??String(C.value);return b==="disabled"?`${l("gray",Jb)} ${vg(G,(v)=>l(["strikethrough","gray"],v))}${C.hint?` ${l("dim",`(${C.hint??"disabled"})`)}`:""}`:b==="active"?`${l("cyan",Lv)} ${G}${C.hint?` ${l("dim",`(${C.hint})`)}`:""}`:b==="selected"?`${l("green",Hb)} ${vg(G,(v)=>l("dim",v))}${C.hint?` ${l("dim",`(${C.hint})`)}`:""}`:b==="cancelled"?`${vg(G,(v)=>l(["strikethrough","dim"],v))}`:b==="active-selected"?`${l("green",Hb)} ${G}${C.hint?` ${l("dim",`(${C.hint})`)}`:""}`:b==="submitted"?`${vg(G,(v)=>l("dim",v))}`:`${l("dim",Jb)} ${vg(G,(v)=>l("dim",v))}`},I=A.required??!0;return new Rb({options:A.options,signal:A.signal,input:A.input,output:A.output,initialValues:A.initialValues,required:I,cursorAt:A.cursorAt,validate(C){if(I&&(C===void 0||C.length===0))return`Please select at least one option.
|
|
172
|
+
${l("reset",l("dim",`Press ${l(["gray","bgWhite","inverse"]," space ")} to select, ${l("gray",l("bgWhite",l("inverse"," enter ")))} to submit`))}`},render(){let C=A.withGuide??S.withGuide,b=KA(A.output,A.message,C?`${Lb(this.state)} `:"",`${Tg(this.state)} `),G=`${C?`${l("gray",V)}
|
|
173
|
+
`:""}${b}
|
|
174
|
+
`,v=this.value??[],Z=(D,c)=>{if(D.disabled)return g(D,"disabled");let u=v.includes(D.value);return c&&u?g(D,"active-selected"):u?g(D,"selected"):g(D,c?"active":"inactive")};switch(this.state){case"submit":{let D=this.options.filter(({value:u})=>v.includes(u)).map((u)=>g(u,"submitted")).join(l("dim",", "))||l("dim","none"),c=KA(A.output,D,C?`${l("gray",V)} `:"");return`${G}${c}`}case"cancel":{let D=this.options.filter(({value:u})=>v.includes(u)).map((u)=>g(u,"cancelled")).join(l("dim",", "));if(D.trim()==="")return`${G}${l("gray",V)}`;let c=KA(A.output,D,C?`${l("gray",V)} `:"");return`${G}${c}${C?`
|
|
175
|
+
${l("gray",V)}`:""}`}case"error":{let D=C?`${l("yellow",V)} `:"",c=this.error.split(`
|
|
176
|
+
`).map((N,W)=>W===0?`${C?`${l("yellow",FA)} `:""}${l("yellow",N)}`:` ${N}`).join(`
|
|
177
|
+
`),u=G.split(`
|
|
178
|
+
`).length,B=c.split(`
|
|
179
|
+
`).length+1;return`${G}${D}${sI({output:A.output,options:this.options,cursor:this.cursor,maxItems:A.maxItems,columnPadding:D.length,rowPadding:u+B,style:Z}).join(`
|
|
180
|
+
${D}`)}
|
|
181
|
+
${c}
|
|
182
|
+
`}default:{let D=C?`${l("cyan",V)} `:"",c=G.split(`
|
|
183
|
+
`).length,u=C?2:1;return`${G}${D}${sI({output:A.output,options:this.options,cursor:this.cursor,maxItems:A.maxItems,columnPadding:D.length,rowPadding:c+u,style:Z}).join(`
|
|
184
|
+
${D}`)}
|
|
185
|
+
${C?l("cyan",FA):""}
|
|
186
|
+
`}}}}).prompt()},Tv=(A)=>l("dim",A),fv=(A,g,I)=>{let C={hard:!0,trim:!1},b=lA(A,g,C).split(`
|
|
187
|
+
`),G=b.reduce((D,c)=>Math.max(r(c),D),0),v=b.map(I).reduce((D,c)=>Math.max(r(c),D),0),Z=g-(v-G);return lA(A,Z,C)},L=(A="",g="",I)=>{let C=I?.output??GA.stdout,b=I?.withGuide??S.withGuide,G=I?.format??Tv,v=["",...fv(A,Gg(C)-6,G).split(`
|
|
188
|
+
`).map(G),""],Z=r(g),D=Math.max(v.reduce((N,W)=>{let d=r(W);return d>N?d:N},0),Z)+2,c=v.map((N)=>`${l("gray",V)} ${N}${" ".repeat(D-r(N))}${l("gray",V)}`).join(`
|
|
189
|
+
`),u=b?`${l("gray",V)}
|
|
190
|
+
`:"",B=b?Qv:kv;C.write(`${u}${l("green",sg)} ${l("reset",g)} ${l("gray",mb.repeat(Math.max(D-Z-1,1))+hv)}
|
|
191
|
+
${c}
|
|
192
|
+
${l("gray",B+mb.repeat(D+2)+ov)}
|
|
193
|
+
`)};var Uv=(A)=>l("magenta",A),LA=({indicator:A="dots",onCancel:g,output:I=process.stdout,cancelMessage:C,errorMessage:b,frames:G=zI?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:v=zI?80:120,signal:Z,...D}={})=>{let c=Kv(),u,B,N=!1,W=!1,d="",w,Y=performance.now(),H=Gg(I),j=D?.styleFrame??Uv,T=(o)=>{let IA=o>1?b??S.messages.error:C??S.messages.cancel;W=o===1,N&&(qA(IA,o),W&&typeof g=="function"&&g())},Q=()=>T(2),X=()=>T(1),k=()=>{process.on("uncaughtExceptionMonitor",Q),process.on("unhandledRejection",Q),process.on("SIGINT",X),process.on("SIGTERM",X),process.on("exit",T),Z&&Z.addEventListener("abort",X)},n=()=>{process.removeListener("uncaughtExceptionMonitor",Q),process.removeListener("unhandledRejection",Q),process.removeListener("SIGINT",X),process.removeListener("SIGTERM",X),process.removeListener("exit",T),Z&&Z.removeEventListener("abort",X)},J=()=>{if(w===void 0)return;c&&I.write(`
|
|
194
|
+
`);let o=lA(w,H,{hard:!0,trim:!1}).split(`
|
|
195
|
+
`);o.length>1&&I.write(Zg.cursor.up(o.length-1)),I.write(Zg.cursor.to(0)),I.write(Zg.erase.down())},h=(o)=>o.replace(/\.+$/,""),BA=(o)=>{let IA=(performance.now()-o)/1000,WA=Math.floor(IA/60),dA=Math.floor(IA%60);return WA>0?`[${WA}m ${dA}s]`:`[${dA}s]`},p=D.withGuide??S.withGuide,cg=(o="")=>{N=!0,u=ib({output:I}),d=h(o),Y=performance.now(),p&&I.write(`${l("gray",V)}
|
|
196
|
+
`);let IA=0,WA=0;k(),B=setInterval(()=>{if(c&&d===w)return;J(),w=d;let dA=j(G[IA]),ug;if(c)ug=`${dA} ${d}...`;else if(A==="timer")ug=`${dA} ${d} ${BA(Y)}`;else{let NG=".".repeat(Math.floor(WA)).slice(0,3);ug=`${dA} ${d}${NG}`}let lG=lA(ug,H,{hard:!0,trim:!1});I.write(lG),IA=IA+1<G.length?IA+1:0,WA=WA<4?WA+0.125:0},v)},qA=(o="",IA=0,WA=!1)=>{if(!N)return;N=!1,clearInterval(B),J();let dA=IA===0?l("green",sg):IA===1?l("red",jb):l("red",Fb);d=o??d,WA||(A==="timer"?I.write(`${dA} ${d} ${BA(Y)}
|
|
197
|
+
`):I.write(`${dA} ${d}
|
|
198
|
+
`)),n(),u()};return{start:cg,stop:(o="")=>qA(o,0),message:(o="")=>{d=h(o??d)},cancel:(o="")=>qA(o,1),error:(o="")=>qA(o,2),clear:()=>qA("",0,!0),get isCancelled(){return W}}},du={light:m("\u2500","-"),heavy:m("\u2501","="),block:m("\u2588","#")};var zg=(A,g)=>A.includes(`
|
|
199
|
+
`)?A.split(`
|
|
200
|
+
`).map((I)=>g(I)).join(`
|
|
201
|
+
`):g(A),fg=(A)=>{let g=(I,C)=>{let b=I.label??String(I.value);switch(C){case"disabled":return`${l("gray",Sg)} ${zg(b,(G)=>l("gray",G))}${I.hint?` ${l("dim",`(${I.hint??"disabled"})`)}`:""}`;case"selected":return`${zg(b,(G)=>l("dim",G))}`;case"active":return`${l("green",SI)} ${b}${I.hint?` ${l("dim",`(${I.hint})`)}`:""}`;case"cancelled":return`${zg(b,(G)=>l(["strikethrough","dim"],G))}`;default:return`${l("dim",Sg)} ${zg(b,(G)=>l("dim",G))}`}};return new kI({options:A.options,signal:A.signal,input:A.input,output:A.output,initialValue:A.initialValue,render(){let I=A.withGuide??S.withGuide,C=`${Tg(this.state)} `,b=`${Lb(this.state)} `,G=KA(A.output,A.message,b,C),v=`${I?`${l("gray",V)}
|
|
202
|
+
`:""}${G}
|
|
203
|
+
`;switch(this.state){case"submit":{let Z=I?`${l("gray",V)} `:"",D=KA(A.output,g(this.options[this.cursor],"selected"),Z);return`${v}${D}`}case"cancel":{let Z=I?`${l("gray",V)} `:"",D=KA(A.output,g(this.options[this.cursor],"cancelled"),Z);return`${v}${D}${I?`
|
|
204
|
+
${l("gray",V)}`:""}`}default:{let Z=I?`${l("cyan",V)} `:"",D=I?l("cyan",FA):"",c=v.split(`
|
|
205
|
+
`).length,u=I?2:1;return`${v}${Z}${sI({output:A.output,cursor:this.cursor,options:this.options,maxItems:A.maxItems,columnPadding:Z.length,rowPadding:c+u,style:(B,N)=>g(B,B.disabled?"disabled":N?"active":"inactive")}).join(`
|
|
206
|
+
${Z}`)}
|
|
207
|
+
${D}
|
|
208
|
+
`}}}}).prompt()};var wu=`${l("gray",V)} `;var SA=(A)=>new nI({validate:A.validate,placeholder:A.placeholder,defaultValue:A.defaultValue,initialValue:A.initialValue,output:A.output,signal:A.signal,input:A.input,render(){let g=A?.withGuide??S.withGuide,I=`${`${g?`${l("gray",V)}
|
|
209
|
+
`:""}${Tg(this.state)} `}${A.message}
|
|
210
|
+
`,C=A.placeholder?l("inverse",A.placeholder[0])+l("dim",A.placeholder.slice(1)):l(["inverse","hidden"],"_"),b=this.userInput?this.userInputWithCursor:C,G=this.value??"";switch(this.state){case"error":{let v=this.error?` ${l("yellow",this.error)}`:"",Z=g?`${l("yellow",V)} `:"",D=g?l("yellow",FA):"";return`${I.trim()}
|
|
211
|
+
${Z}${b}
|
|
212
|
+
${D}${v}
|
|
213
|
+
`}case"submit":{let v=G?` ${l("dim",G)}`:"",Z=g?l("gray",V):"";return`${I}${Z}${v}`}case"cancel":{let v=G?` ${l(["strikethrough","dim"],G)}`:"",Z=g?l("gray",V):"";return`${I}${Z}${v}${G.trim()?`
|
|
214
|
+
${Z}`:""}`}default:{let v=g?`${l("cyan",V)} `:"",Z=g?l("cyan",FA):"";return`${I}${v}${b}
|
|
215
|
+
${Z}
|
|
216
|
+
`}}}}).prompt();var hb=LA();function hA(A){hb.start(A)}function vA(A){hb.stop(A)}async function MI(A,g,I){hA("Applying project name settings..."),await Mv(A,g),await av(A,I,g),await xv(A,I),vA("Project files updated.")}async function Mv(A,g){let I=UI(A,"package.json"),C=await ZA(I);C.name=g,await fI(I,`${JSON.stringify(C,null,2)}
|
|
217
|
+
`)}function Ov(A,g,I){return A.replace(/^VITE_APP_TITLE=.*$/gm,`VITE_APP_TITLE="${g}"`).replace(/^VITE_BASE_APP_PREFIX=.*$/gm,`VITE_BASE_APP_PREFIX="/${I}/"`)}async function av(A,g,I){for(let C of[".env.example",".env.test"]){let b=UI(A,C);try{let G=await YA(b);await fI(b,Ov(G,g,I))}catch(G){if(!t(G))console.warn(`[minikit] Could not update ${C}:`,G)}}}async function xv(A,g){let I=UI(A,"README.md");try{let C=await YA(I);await fI(I,C.replace(/^#\s+.*$/m,`# ${g}`))}catch(C){if(!t(C))console.warn("[minikit] Could not update README.md:",C)}}CA();var{file:OI}=globalThis.Bun;import{appendFile as pv}from"fs/promises";import{join as tv}from"path";var{$:Ev}=globalThis.Bun;async function sA(A,g){let[I,...C]=A;if(!I)return!1;try{return await Ev`${I} ${C}`.cwd(g??process.cwd()).quiet(),!0}catch{return!1}}function Qb(A){let g=process.env.SHELL??"";if(g.includes("zsh"))return`${A}/.zshrc`;if(g.includes("bash"))return`${A}/.bashrc`;return`${A}/.zshrc`}async function qv(A){let g=Qb(A),I=['export NVM_DIR="$HOME/.nvm"','[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"','[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"'].join(`
|
|
218
|
+
`),C="";try{C=await OI(g).text()}catch(b){if(!t(b))throw b}if(!C.includes('export NVM_DIR="$HOME/.nvm"')){let b=C.endsWith(`
|
|
219
|
+
`)||C.length===0?"":`
|
|
220
|
+
`;await pv(g,`${b}${I}
|
|
221
|
+
`,"utf8")}}async function ob(){let{HOME:A}=process.env;if(!A)throw Error("HOME is not set; cannot install nvm.");let g=`${A}/.nvm/nvm.sh`;if(!await OI(g).exists()){let I=Qb(A);if(hA("Installing nvm..."),!await sA(["sh","-c",`export PROFILE="$1" && curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v${BI}/install.sh | bash`,"sh",I]))throw vA("Failed to install nvm."),Error(`nvm installation failed (v${BI}). Check your internet connection and try again.`);if(!await OI(g).exists())throw vA("nvm installer completed but nvm.sh was not found."),Error("nvm installation incomplete: nvm.sh missing after install.");vA("nvm installed and activated.")}await qv(A)}async function kb(A){if(hA("Installing Node.js from project's .nvmrc via nvm..."),!await sA(["bash","-lc",'export NVM_DIR="$HOME/.nvm"; [ -s "$NVM_DIR/nvm.sh" ] || { echo "nvm.sh not found at $NVM_DIR/nvm.sh" >&2; exit 1; }; . "$NVM_DIR/nvm.sh"; [ -f ".nvmrc" ] || { echo ".nvmrc not found in project root" >&2; exit 1; }; nvm install; nvm use'],A))throw vA("Failed to install Node.js from .nvmrc."),Error("Node.js installation via nvm failed. Check that .nvmrc exists and specifies a valid version.");vA("Node.js installed from .nvmrc.")}var ev=/^[0-9][0-9A-Za-z.\-]*$/;async function rv(A){try{let I=(await ZA(tv(A,"package.json"))).packageManager?.trim();if(!I)return null;let C=I.match(/^pnpm@([^+\s]+)(?:\+.*)?$/)?.[1]??null;if(!C||!ev.test(C))return null;return C}catch{return null}}async function nb(A){let g=await rv(A);if(!g)return;if(hA(`Installing pnpm@${g}...`),!await sA(["bash","-lc",'export NVM_DIR="$HOME/.nvm"; [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"; if command -v nvm >/dev/null 2>&1; then nvm use >/dev/null 2>&1 || true; fi; npm install --global corepack@latest && corepack enable && corepack prepare "$1" --activate',"bash",`pnpm@${g}`],A))throw vA("Failed to install pnpm."),Error(`pnpm installation failed for version ${g}.`);vA("pnpm installed")}async function zb(A){let g=!1;return hA("Installing dependencies..."),await sA(["git","init"],A),g=await sA(["bash","-lc",'export NVM_DIR="$HOME/.nvm"; if [ -s "$NVM_DIR/nvm.sh" ]; then . "$NVM_DIR/nvm.sh"; fi; if command -v nvm >/dev/null 2>&1; then nvm use >/dev/null 2>&1 || true; fi; if command -v corepack >/dev/null 2>&1; then corepack pnpm install; elif command -v pnpm >/dev/null 2>&1; then pnpm install; else echo "Neither corepack nor pnpm is available in PATH." >&2; exit 1; fi'],A),vA(g?"Dependencies installed.":"Dependency installation failed."),g}async function _v(A,g,I,C){if(!g||g.length===0)return;let b=MA(g,"create:auto-apply");await Promise.all(b.map((G)=>G.apply({projectDir:A,distribution:I,options:C?.get(G.id)})))}async function Sb(A){let{targetDir:g,packageName:I,dirName:C,shouldInstall:b,framework:G,language:v,plugins:Z,distribution:D=AA(),autoApplyAnswers:c}=A;await xA(_C,g),await MI(g,I,C),await DA(g,{schemaVersion:Cg,scaffoldedBy:a,framework:G,language:v,features:[],jsapi:[],cliVersion:a,migrateHistory:[]}),await _v(g,Z,D,c);let u=!1;if(b)await ob(),await kb(g),await nb(g),u=await zb(g);return u}function Tb(){NA("Let's create your mini-app web application \uD83D\uDEE0\uFE0F")}function fb(){return SA({message:"Project name?",placeholder:"eg: your-project-name",validate:(A)=>(A??"").trim().length===0?"Name required":void 0})}function Ub(){return gA({message:"Install dependencies with pnpm?",initialValue:!0})}var sb=[{value:"react-ts",label:"React + TypeScript"}];function Mb(){return fg({message:"Choose framework:",initialValue:"react-ts",maxItems:sb.length,options:sb})}function Ob(A){let g=A.startsWith("vue")?"vue":"react",I=A.endsWith("-js")?"js":"ts";return{framework:g,language:I}}function ab(A){if(A.length===0)return Promise.resolve([]);return TI({message:"Select features to include (space to toggle, enter to confirm):",required:!1,options:A.map((g)=>({value:g.id,label:g.label}))})}function xb(A){if(A.length===0)return Promise.resolve([]);return TI({message:"Select debug tools (space to toggle, enter to confirm):",required:!1,options:A.map((g)=>({value:g.id,label:g.label}))})}function Eb(A,g){_.success(`Project ${A} is ready! \uD83C\uDF89`);let I=[],C=A.includes(" ");if(I.push(`cd ${C?`"${A}"`:A}`),I.push('source "$HOME/.nvm/nvm.sh" && nvm use'),I.push("cp .env.example .env (update .env values based on your project)"),!g)I.push("pnpm install");I.push("pnpm dev"),L(I.map((b,G)=>`${G+1}. ${b}`).join(`
|
|
222
|
+
`),"Next steps"),R("Happy building!")}s();function pb(A){uA(A),process.exit(F.CANCELLED)}function tb(A){return typeof A==="string"?A:A.value}function $v(A){return typeof A==="string"?{value:A,label:A}:A}function TA(A){if(x(A))pb("Cancelled.")}async function AZ(A){if(A.type==="boolean")return gA({message:A.description,initialValue:A.default??!1});if(A.choices&&A.choices.length>0){let g=tb(A.choices[0]);return fg({message:A.description,initialValue:A.default??g,options:A.choices.map($v)})}return SA({message:A.description,placeholder:A.default??"",validate:A.validate?(g)=>A.validate?.((g??"").trim()):void 0})}async function Ug(A){let g={};for(let I of A??[]){if(I.when&&!I.when(g))continue;let C=await AZ(I);TA(C),g[I.name]=C}return g}function qb(A){let g={};for(let I of A??[]){if(I.when&&!I.when(g))continue;if(I.default!==void 0)g[I.name]=I.default;else if(I.choices&&I.choices.length>0)g[I.name]=tb(I.choices[0])}return g}function gZ(A){return{id:A.id,label:A.label}}async function eb(A,g,I,C){if(g.length===0)return[];let G=await(A==="feature"?ab:xb)(g.map(gZ));TA(G);let v=G;for(let Z of v){let D=I.get(Z);if(!D)continue;C.set(Z,await Ug(D.options))}return v}async function rb(A){let g=new Map;for(let G of A.availableFeatures)g.set(G.id,G);for(let G of A.availableDebugTools)g.set(G.id,G);let I=new Map;if(A.nonInteractive)return{selectedFeatureIds:[],selectedDebugToolIds:[],featureAnswers:I,featureById:g};let C=await eb("feature",A.availableFeatures,g,I),b=await eb("debug-tool",A.availableDebugTools,g,I);return{selectedFeatureIds:C,selectedDebugToolIds:b,featureAnswers:I,featureById:g}}f();s();import{access as IZ,constants as $b,stat as CZ}from"fs/promises";import{resolve as A2}from"path";function _b(A){return A.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function bZ(A){return A.includes("/")||A.includes("\\")}async function GZ(A){return await CZ(A).then(()=>!0).catch(()=>!1)}async function vZ(A){try{return await IZ(A,$b.F_OK|$b.W_OK),!0}catch{return!1}}async function g2(A,g){let I=A.trim();if(bZ(I))throw new P({message:K.CREATE_INVALID_PROJECT_NAME_SEPARATORS,code:i.CREATE_INVALID_PROJECT_NAME,exitCode:F.USAGE});let C=_b(I);if(!C)throw new P({message:K.CREATE_INVALID_PROJECT_NAME_ALPHANUMERIC,code:i.CREATE_INVALID_PROJECT_NAME,exitCode:F.USAGE});let b=g?A2(g):process.cwd();if(g){if(!await vZ(b))throw new P({message:K.CREATE_PARENT_DIR_INVALID(b),code:i.CREATE_PARENT_DIR_INVALID,exitCode:F.USAGE})}let G=A2(b,I);if(await GZ(G))throw new P({message:K.CREATE_DIR_EXISTS(G),code:i.CREATE_DIR_EXISTS,exitCode:F.USAGE});return{dirName:I,packageName:C,targetDir:G}}var ZZ="Create a new mini-app project",C2="react-ts",I2=["auth","i18n","litmus","snap-checkout"];function DZ(A){return[...A].sort((g,I)=>{let C=I2.indexOf(g.id),b=I2.indexOf(I.id);if(C===-1&&b===-1)return 0;if(C===-1)return 1;if(b===-1)return-1;return C-b})}function cZ(){return`
|
|
223
|
+
Examples:
|
|
224
|
+
$ minikit-cli create
|
|
225
|
+
$ minikit-cli create my-app --no-install
|
|
226
|
+
$ minikit-cli create my-app --project-dir /tmp/scaffolds --no-install
|
|
227
|
+
|
|
228
|
+
What this command does:
|
|
229
|
+
- Prompts for project name (or takes it as the first argument)
|
|
230
|
+
- Prompts for framework + features (from installed plugins)
|
|
231
|
+
- Sets up project structure
|
|
232
|
+
- Applies selected features
|
|
233
|
+
- Installs dependencies (skip with --no-install)
|
|
234
|
+
|
|
235
|
+
Non-interactive mode:
|
|
236
|
+
When stdin is not a TTY (CI, piped input), the wizard skips all
|
|
237
|
+
prompts. In that mode a project name argument is required, deps
|
|
238
|
+
are not installed, no features are applied, and the default
|
|
239
|
+
framework (${C2}) is used.
|
|
240
|
+
`}async function uZ(A,g){if(A)return A;if(g)throw new P({code:i.CREATE_MISSING_PROJECT_NAME,message:"project name is required in non-interactive mode. Usage: minikit-cli create <name> [--no-install] [--project-dir <dir>]",exitCode:F.USAGE});let I=await fb();return TA(I),I}async function BZ(A){if(A)return C2;let g=await Mb();return TA(g),g}async function lZ(A){if(A.noInstallFlag||A.nonInteractive)return!1;let g=await Ub();return TA(g),g}async function NZ(A,g,I){let C=!process.stdin.isTTY,b="install"in g&&g.install===!1,G=g.projectDir,v=I?DZ(MA(I.plugins,"create:feature")):[],Z=I?MA(I.plugins,"create:debug-tool"):[],D=I?MA(I.plugins,"create:auto-apply"):[];Tb();let c=await uZ(A[0],C),{dirName:u,packageName:B,targetDir:N}=await g2(c,G),W=await BZ(C),{framework:d,language:w}=Ob(W),Y=new Map;for(let J of D){if(!J.options||J.options.length===0)continue;let h=C?qb(J.options):await Ug(J.options);Y.set(J.id,h)}let H=await lZ({nonInteractive:C,noInstallFlag:b}),{selectedFeatureIds:j,selectedDebugToolIds:T,featureAnswers:Q,featureById:X}=await rb({nonInteractive:C,availableFeatures:v,availableDebugTools:Z}),k=[...j,...T],n=await Sb({targetDir:N,packageName:B,dirName:u,shouldInstall:H,framework:d,language:w,features:k,plugins:I?.plugins,autoApplyAnswers:Y});for(let J of k){let h=X.get(J);if(!h)continue;await h.apply({projectDir:N,framework:d,language:w,options:Q.get(J)??{}})}for(let J of k){let h=X.get(J);if(!h?.postApply)continue;await h.postApply({projectDir:N,framework:d,language:w,options:Q.get(J)??{}})}Eb(u,n)}var WZ={description:ZZ,getHelp:cZ,execute:NZ},b2=WZ;var G2=M({id:"create",name:"Create",version:U(),commands:{create:O(b2,{options:[{name:"no-install",type:"boolean",description:"Skip installing project dependencies"},{name:"project-dir",type:"string",description:"Parent directory for the scaffolded project"}]})}});var v2=[{name:"miniapp",title:"Mini App Documentation",description:"Complete reference for building and integrating mini-apps",link:"https://docs.midtrans.com/reference/miniapp-v2"},...AA()==="internal"?[{name:"all about minikit cli",title:"All about minikit cli",description:"Step-by-step guide to install the CLI tool and explore all available commands for mini-app development",link:"https://gotocompany.sg.larksuite.com/wiki/HOHSw6dQxi2qFfkmoo1lCiEng3g"},{name:"jssdk handler",title:"JSSDK Handler",description:"Complete reference of JS Bridge APIs available for communication between the mini-app and the native container",link:"https://gotocompany.sg.larksuite.com/wiki/IB8OwA0Y6iRSUjkazoGlUn3bgYc"},{name:"ui/ux design system",title:"UI/UX Design System",description:"Design guidelines and component library for building consistent and user-friendly mini-app interfaces",link:"https://gotocompany.sg.larksuite.com/wiki/JwOCw9I2wicwvokZeaAlKyekgpg"}]:[]],dZ="Display documentation links";function wZ(){return`
|
|
241
|
+
Examples:
|
|
242
|
+
$ minikit-cli docs
|
|
243
|
+
$ minikit-cli docs jsbridge
|
|
244
|
+
$ minikit-cli docs cli
|
|
245
|
+
|
|
246
|
+
What this command does:
|
|
247
|
+
\u2022 Lists all available documentation
|
|
248
|
+
\u2022 Supports partial search using document name
|
|
249
|
+
\u2022 Returns matching document links
|
|
250
|
+
|
|
251
|
+
Notes:
|
|
252
|
+
\u2022 Search is case-insensitive
|
|
253
|
+
`}async function PZ(A,g){let I=A[0],C=I?.trim().toLowerCase();if(!C){aI();return}let b=v2.filter((G)=>G.name.toLowerCase().includes(C)||G.title.toLowerCase().includes(C));if(b.length===0){_.warn(`No document found for "${I}". Showing all available documents:`),aI();return}aI(b)}function aI(A=v2){console.log(`
|
|
254
|
+
Documentation List
|
|
255
|
+
`),A.forEach((g,I)=>{console.log(`${I+1}. ${g.title}`),console.log(` ${g.description}`),console.log(` ${g.link}
|
|
256
|
+
`)})}var iZ={description:dZ,getHelp:wZ,execute:PZ},Z2=iZ;var D2=M({id:"docs",name:"Docs",version:U(),commands:{docs:O(Z2)}});f();var{$:VZ}=globalThis.Bun;var XZ='{ source "$HOME/.nvm/nvm.sh" && nvm use; } >/dev/null 2>&1 || true',YZ=300000,yZ=`
|
|
257
|
+
set -m
|
|
258
|
+
pnpm "$@" &
|
|
259
|
+
pid=$!
|
|
260
|
+
elapsed=0
|
|
261
|
+
while kill -0 "$pid" 2>/dev/null; do
|
|
262
|
+
if [ "$elapsed" -ge "$PNPM_TIMEOUT_SECS" ]; then
|
|
263
|
+
kill -TERM -"$pid" 2>/dev/null
|
|
264
|
+
sleep 1
|
|
265
|
+
kill -KILL -"$pid" 2>/dev/null
|
|
266
|
+
wait "$pid" 2>/dev/null
|
|
267
|
+
exit 124
|
|
268
|
+
fi
|
|
269
|
+
sleep 1
|
|
270
|
+
elapsed=$((elapsed + 1))
|
|
271
|
+
done
|
|
272
|
+
wait "$pid"
|
|
273
|
+
`,RZ=`${XZ}; ${yZ}`;async function c2(A,g,I=YZ){try{return await VZ`bash -lc ${RZ} pnpm ${g}`.cwd(A).env({...process.env,PNPM_TIMEOUT_SECS:String(Math.ceil(I/1000))}).quiet(),!0}catch{return!1}}function EA(A){return c2(A,["install"])}function u2(A){return c2(A,["run","compile:messages"])}s();f();s();import{resolve as FZ}from"path";zA();import{mkdtempSync as HZ}from"fs";import{cp as xI,mkdir as JZ,rm as mZ}from"fs/promises";import{tmpdir as KZ}from"os";import{join as QA}from"path";var B2={"messages/en.json":"ewogICJoZWxsb193b3JsZCI6ICJIZWxsbywgV29ybGQhIgp9Cg==","messages/id.json":"ewogICJoZWxsb193b3JsZCI6ICJIYWxvLCBEdW5pYSEiCn0K","project.inlang/settings.json":"ewogICIkc2NoZW1hIjogImh0dHBzOi8vaW5sYW5nLmNvbS9zY2hlbWEvcHJvamVjdC1zZXR0aW5ncyIsCiAgImJhc2VMb2NhbGUiOiAiaWQiLAogICJsb2NhbGVzIjogWwogICAgImVuIiwKICAgICJpZCIKICBdLAogICJtb2R1bGVzIjogWwogICAgImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGlubGFuZy9wbHVnaW4tbWVzc2FnZS1mb3JtYXRANC9kaXN0L2luZGV4LmpzIiwKICAgICJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL0BpbmxhbmcvcGx1Z2luLW0tZnVuY3Rpb24tbWF0Y2hlckAyL2Rpc3QvaW5kZXguanMiCiAgXSwKICAicGx1Z2luLmlubGFuZy5tZXNzYWdlRm9ybWF0IjogewogICAgInBhdGhQYXR0ZXJuIjogIi4vbWVzc2FnZXMve2xvY2FsZX0uanNvbiIKICB9Cn0K","src/constants/locale.ts":"ZXhwb3J0IGNvbnN0IFNVUFBPUlRFRF9MT0NBTEVTID0gWyJlbiIsICJpZCJdIGFzIGNvbnN0Owo="};async function l2(){let A=HZ(QA(KZ(),"gma-i18n-template-"));return await xA(B2,A),A}async function N2(A){await mZ(A,{recursive:!0,force:!0})}async function W2(A,g){let I=QA(g,"messages"),C=QA(g,"project.inlang"),b=QA(g,"src","constants","locale.ts"),G=QA(A,"messages"),v=QA(A,"project.inlang"),Z=QA(A,"src","constants"),D=QA(Z,"locale.ts"),c=!1;try{await xI(I,G,{recursive:!0,force:!0}),c=!0}catch{}return await xI(C,v,{recursive:!0,force:!0}),await JZ(Z,{recursive:!0}),await xI(b,D,{force:!0}),{messagesAdded:c,projectInlangAdded:!0}}async function d2(A){return await PA({className:"GPBase",methodName:"getLocale",useCache:!1,cwd:A}),!0}CA();import{readFile as Mg}from"fs/promises";import{join as Og}from"path";async function w2(A){let g=Og(A,"src","globals.d.ts"),I=await Mg(g,"utf8");if(I.includes("export type Locale = (typeof SUPPORTED_LOCALES)[number];"))return!1;let C=I;if(C.includes('export type Locale = "en" | "id";'))C=C.replace(`export type Locale = "en" | "id";
|
|
274
|
+
`,`import type { SUPPORTED_LOCALES } from "@/constants/locale";
|
|
275
|
+
|
|
276
|
+
export type Locale = (typeof SUPPORTED_LOCALES)[number];
|
|
277
|
+
`);else C=`${C.trimEnd()}
|
|
278
|
+
|
|
279
|
+
import type { SUPPORTED_LOCALES } from "@/constants/locale";
|
|
280
|
+
|
|
281
|
+
export type Locale = (typeof SUPPORTED_LOCALES)[number];
|
|
282
|
+
`;return await q(g,C),!0}async function P2(A){let g=Og(A,"src","bridge","types.ts"),I=await Mg(g,"utf8"),C=I;if(!C.includes('import type { Locale } from "@/globals";'))C=`import type { Locale } from "@/globals";
|
|
283
|
+
|
|
284
|
+
${C}`;if(!C.includes("export type LocaleResponse = {"))C=`${C.trimEnd()}
|
|
285
|
+
|
|
286
|
+
export type LocaleResponse = {
|
|
287
|
+
appLocale: Locale;
|
|
288
|
+
success: boolean;
|
|
289
|
+
};
|
|
290
|
+
`;if(C===I)return!1;return await q(g,C),!0}async function i2(A){let g=Og(A,"src","bridge","handlers","index.ts"),I=await Mg(g,"utf8");if(I.includes("LocaleResponse"))return!1;let C=I.replace(`export type {
|
|
291
|
+
AuthHeaders,
|
|
292
|
+
} from "../types";
|
|
293
|
+
`,`export type {
|
|
294
|
+
AuthHeaders,
|
|
295
|
+
LocaleResponse,
|
|
296
|
+
} from "../types";
|
|
297
|
+
`);if(C===I)return!1;return await q(g,C),!0}async function V2(A){let g=Og(A,"src","bridge","index.ts"),I=await Mg(g,"utf8");if(I.includes("LocaleResponse"))return!1;let C=I.replace(`export type {
|
|
298
|
+
AuthHeaders,
|
|
299
|
+
} from "./handlers";
|
|
300
|
+
`,`export type {
|
|
301
|
+
AuthHeaders,
|
|
302
|
+
LocaleResponse,
|
|
303
|
+
} from "./handlers";
|
|
304
|
+
`);if(C===I)return!1;return await q(g,C),!0}CA();import{readFile as X2}from"fs/promises";import{join as EI}from"path";async function Y2(A){let g=EI(A,"package.json"),I=await ZA(g),C=!1;if(I.scripts??={},I.devDependencies??={},!I.scripts["compile:messages"])I.scripts["compile:messages"]="paraglide-js compile --outdir ./src/paraglide",C=!0;let b=I.scripts.build;if(typeof b==="string"&&!b.includes("compile:messages"))I.scripts.build=`pnpm run compile:messages && ${b}`,C=!0;if(!I.devDependencies["@inlang/paraglide-js"])I.devDependencies["@inlang/paraglide-js"]=PC,C=!0;if(C)await OA(g,I);return C}async function y2(A){let g=EI(A,"vite.config.ts"),I=await X2(g,"utf8"),C=I;if(!C.includes('import { paraglideVitePlugin } from "@inlang/paraglide-js";'))C=C.replace('import tailwindcss from "@tailwindcss/vite";',`import { paraglideVitePlugin } from "@inlang/paraglide-js";
|
|
305
|
+
import tailwindcss from "@tailwindcss/vite";`);if(!C.includes("paraglideVitePlugin({"))C=C.replace(" plugins: [",[" plugins: ["," paraglideVitePlugin({",' project: "./project.inlang",',' outdir: "./src/paraglide",'," }),"].join(`
|
|
306
|
+
`));if(C===I)return!1;return await q(g,C),!0}async function R2(A){let g=EI(A,"src","pages","layout.tsx"),I=await X2(g,"utf8"),C=I;if(!C.includes('import { getLocale as getAppLocale } from "@/bridge";'))C=C.replace(`import { useEffect } from "react";
|
|
307
|
+
|
|
308
|
+
`,`import { useEffect } from "react";
|
|
309
|
+
|
|
310
|
+
import { getLocale as getAppLocale } from "@/bridge";
|
|
311
|
+
`);if(!C.includes('import { SUPPORTED_LOCALES } from "@/constants/locale";'))C=C.replace(`import ErrorBoundary from "@/components/error-boundary";
|
|
312
|
+
`,`import ErrorBoundary from "@/components/error-boundary";
|
|
313
|
+
import { SUPPORTED_LOCALES } from "@/constants/locale";
|
|
314
|
+
`);if(!C.includes('from "@/paraglide/runtime";'))C=C.replace(`import { SUPPORTED_LOCALES } from "@/constants/locale";
|
|
315
|
+
`,`${['import { SUPPORTED_LOCALES } from "@/constants/locale";',"import {"," getLocale,"," setLocale,",'} from "@/paraglide/runtime";'].join(`
|
|
316
|
+
`)}
|
|
317
|
+
`);if(!C.includes("getAppLocale()")){let b=[" useEffect(() => {"," const currentLocale = getLocale();",""," getAppLocale()"," .then((response) => {",' const appLocale = response?.appLocale?.split("_")[0];'," if (appLocale && SUPPORTED_LOCALES.includes(appLocale)) {"," setLocale(appLocale);"," } else {"," setLocale(currentLocale);"," }"," })"," .catch((error) => {"," setLocale(currentLocale);"," if (import.meta.env.DEV) {",' console.error("Failed to get locale from native app", error);'," }"," });"," }, []);",""].join(`
|
|
318
|
+
`);C=C.replace(" return (",`${b} return (`)}if(C===I)return!1;return await q(g,C),!0}CA();import{readFile as jZ}from"fs/promises";import{join as H2}from"path";async function J2(A){try{return await jZ(A,"utf8")}catch(g){if(t(g))return null;throw g}}async function m2(A){let g=H2(A,"pipelines","setup.yml"),I=await J2(g);if(I===null)return!1;if(I.includes("generate_locales:"))return!1;let C=["generate_locales:"," stage: setup"," extends:"," - .core_setup"," - .rules:base"," script:"," - pnpm compile:messages"," artifacts:"," paths:",' - "**/messages"',' - "**/project.inlang"',' - "**/src/paraglide"'," expire_in: 1 hour"," when: always"," needs:"," - install_dependencies",""].join(`
|
|
319
|
+
`),b=I.replace(`optimise_svg:
|
|
320
|
+
`,`${C}optimise_svg:
|
|
321
|
+
`);if(b===I)return!1;return await q(g,b),!0}async function K2(A){let g=H2(A,"pipelines","build-apps.yml"),I=await J2(g);if(I===null)return!1;let C=I,b=` needs:
|
|
322
|
+
- install_dependencies
|
|
323
|
+
parallel:
|
|
324
|
+
`,G=` needs:
|
|
325
|
+
- install_dependencies
|
|
326
|
+
- generate_locales
|
|
327
|
+
parallel:
|
|
328
|
+
`;if(C=C.replace(b,G).replace(b,G),C===I)return!1;return await q(g,C),!0}var j2="i18n";async function ag(A){let g=FZ(A.cwd),I=await z(g);if(I&&bA(I,j2))throw new P({code:i.FEATURE_ALREADY_INSTALLED,message:K.ALREADY_INSTALLED("i18n")});let C=await l2();try{let{messagesAdded:b,projectInlangAdded:G}=await W2(g,C),v=await d2(g),[Z,D,c,u]=await Promise.all([w2(g),P2(g),i2(g),V2(g)]),[B,N,W,d,w]=await Promise.all([Y2(g),y2(g),R2(g),m2(g),K2(g)]);if(!A.skipManifestUpdate&&I)await HA(g,{features:[{id:j2,schemaVersion:XA,options:A.manifestOptions??{source:"json"}}]});return{messagesAdded:b,projectInlangAdded:G,localeBridgeAdded:v,localeTypeUpdated:Z,localeResponseTypeUpdated:D,bridgeHandlersUpdated:c,bridgeIndexUpdated:u,packageUpdated:B,viteUpdated:N,layoutUpdated:W,setupPipelineUpdated:d,buildPipelineUpdated:w}}finally{await N2(C)}}var LZ="Injects Paraglide i18n setup into an existing project";function hZ(){return`
|
|
329
|
+
Examples:
|
|
330
|
+
$ minikit-cli i18n:add
|
|
331
|
+
|
|
332
|
+
What this command does:
|
|
333
|
+
- Adds Paraglide i18n files (messages/ and project.inlang/)
|
|
334
|
+
- Updates package scripts/devDependencies for message compilation
|
|
335
|
+
- Injects Vite Paraglide plugin configuration
|
|
336
|
+
- Re-enables locale sync in layout.tsx
|
|
337
|
+
- Re-enables locale generation job in CI pipelines
|
|
338
|
+
`}async function QZ(A,g){let I=await z(process.cwd());if(!I&&!await cA(process.cwd()))throw new P({code:i.NOT_A_MINIAPP_PROJECT,message:`"${process.cwd()}" doesn't look like a miniapp project. Run this command from a project root.`});if(I&&bA(I,"i18n")){R("i18n is already set up in this project (see .minikit.json features). Nothing to do!");return}let C=await ag({cwd:process.cwd()}),b=[],G=[];if(C.messagesAdded)b.push("messages/");if(C.projectInlangAdded)b.push("project.inlang/");if(C.messagesAdded||C.projectInlangAdded)b.push("src/constants/locale.ts");if(C.localeBridgeAdded)b.push("src/bridge/handlers/get-locale.ts");if(C.bridgeHandlersUpdated||C.localeBridgeAdded)G.push("src/bridge/handlers/index.ts");if(C.bridgeIndexUpdated||C.localeBridgeAdded)G.push("src/bridge/index.ts");if(C.localeTypeUpdated)G.push("src/globals.d.ts");if(C.localeResponseTypeUpdated)G.push("src/bridge/types.ts");if(C.packageUpdated)G.push("package.json");if(C.viteUpdated)G.push("vite.config.ts");if(C.layoutUpdated)G.push("src/pages/layout.tsx");if(C.setupPipelineUpdated)G.push("pipelines/setup.yml");if(C.buildPipelineUpdated)G.push("pipelines/build-apps.yml");let v=LA();v.start("Installing dependencies...");let Z=await EA(process.cwd());v.stop(Z?"Dependencies installed.":"Dependency installation failed.");let D=!1;if(Z)v.start("Compiling messages..."),D=await u2(process.cwd()),v.stop(D?"Messages compiled.":"Message compilation failed.");if(L([...b.map((c)=>`created ${c}`),...G.map((c)=>`updated ${c}`)].join(`
|
|
339
|
+
`),"Files changed"),!Z||!D)L("1. pnpm compile:messages","Next steps");R("i18n ready.")}var oZ={description:LZ,getHelp:hZ,execute:QZ},F2=oZ;var L2=M({id:"i18n",name:"i18n",version:U(),commands:{"i18n:add":O(F2)},contributes:{"create:feature":{id:"i18n",label:"i18n (https://paraglidejs.com/)",options:[],async apply(A){await ag({cwd:A.projectDir})}}}});f();s();var xg=/^[A-Z][a-zA-Z0-9]+$/,Eg=/^[a-z][a-zA-Z0-9]*$/;function pg(){return SA({message:"Class name ?",placeholder:"GPAuth",validate:(A)=>{let g=(A??"").trim();if(!g)return"Class name is required";if(g.includes(" "))return"Class name should not contain spaces";if(!xg.test(g))return"Use PascalCase without spaces (e.g. GPAuth)";return}})}function tg(){return SA({message:"Method name ?",placeholder:"commonHeaders",validate:(A)=>{let g=(A??"").trim();if(!g)return"Method name is required";if(g.includes(" "))return"Method name should not contain spaces";if(!Eg.test(g))return"Use camelCase (e.g. commonHeaders)";return}})}async function h2(){return gA({message:"Enable caching for this JS bridge method?"})}async function Q2(A){if("cache"in A)return A.cache??!1;let g=await h2();if(x(g))return uA("Operation cancelled."),null;return g}async function kZ({className:A,methodName:g,storedCache:I,newCache:C}){let b=I?"with cache":"without cache",G=C?"with cache":"without cache",v=await gA({message:`${A}.${g} is currently registered ${b}. Regenerate it ${G}? (this overwrites your handler file)`});if(x(v)||!v){uA("Operation cancelled.");return}let Z=await PA({className:A,methodName:g,useCache:C,cwd:process.cwd(),forceRewrite:!0}),D=[`${A}.${g} (${G})`];if(Z.handlerFile)D.push(`Handler file: ${Z.handlerFile}`);L(D.join(`
|
|
340
|
+
`),"Regenerated JS bridge"),R("Done.")}var nZ="Creates a new JavaScript bridge";function zZ(){return`
|
|
341
|
+
Arguments:
|
|
342
|
+
className Name of the bridge class (e.g. GPAuth)
|
|
343
|
+
methodName Name of the method (e.g. commonHeaders)
|
|
344
|
+
|
|
345
|
+
Examples:
|
|
346
|
+
$ minikit-cli jsbridge:add
|
|
347
|
+
$ minikit-cli jsbridge:add GPAuth
|
|
348
|
+
$ minikit-cli jsbridge:add GPAuth commonHeaders
|
|
349
|
+
$ minikit-cli jsbridge:add GPAuth commonHeaders --cache
|
|
350
|
+
|
|
351
|
+
What this command does:
|
|
352
|
+
\u2022 Creates a new JavaScript bridge
|
|
353
|
+
\u2022 Accepts class name and method name as inputs
|
|
354
|
+
\u2022 Supports optional caching for the bridge method via --cache
|
|
355
|
+
\u2022 Falls back to interactive prompts if arguments are not provided
|
|
356
|
+
\u2022 Generates the required bridge structure
|
|
357
|
+
|
|
358
|
+
Notes:
|
|
359
|
+
\u2022 className should be in PascalCase (e.g. GPAuth)
|
|
360
|
+
\u2022 methodName should be in camelCase (e.g. commonHeaders)
|
|
361
|
+
`}async function SZ(A,g){let I=A[0],C=A[1];NA("minikit-cli jsbridge add");let b=await z(process.cwd());if(!b&&!await cA(process.cwd()))throw new P({message:K.NOT_A_MINIAPP_PROJECT(process.cwd()),code:i.NOT_A_MINIAPP_PROJECT,exitCode:F.USAGE});if(!I){let c=await pg();if(x(c))uA("Operation cancelled."),process.exit(F.CANCELLED);I=c}else if(!xg.test(I))_.error(`className "${I}" must be PascalCase (e.g. GPAuth).`),process.exit(F.USAGE);if(!C){let c=await tg();if(x(c))uA("Operation cancelled."),process.exit(F.CANCELLED);C=c}else if(!Eg.test(C))_.error(`methodName "${C}" must be camelCase (e.g. commonHeaders).`),process.exit(F.USAGE);let G=b?.jsapi.find((c)=>c.options?.methodName===C&&c.options?.className!==I);if(G){let c=G.options?.className,u=await gA({message:`"${C}" is already registered under "${c}". Replace with ${I}.${C}? (overwrites handler file)`});if(x(u)||!u){uA("Operation cancelled.");return}let B=await Q2(g);if(B===null)return;await Yg(process.cwd(),{jsapi:[G.id]});let N=await PA({className:I,methodName:C,useCache:B,cwd:process.cwd()}),W=[`${c}.${C} \u2192 ${I}.${C}`,`Cache enabled: ${B}`];if(N.handlerFile)W.push(`Handler file: ${N.handlerFile}`);L(W.join(`
|
|
362
|
+
`),"Replaced JS bridge"),R("Done.");return}if(b&&aA(b,`${I}.${C}`)){let u=b.jsapi.find((N)=>N.id===`${I}.${C}`)?.options?.useCache??!1,B=g.cache;if(B!==void 0&&B!==u){await kZ({className:I,methodName:C,storedCache:u,newCache:B});return}R(`JS bridge ${I}.${C} is already set up (cache: ${u}). Nothing to do!`);return}let v=await Q2(g);if(v===null)return;let Z=await PA({className:I,methodName:C,useCache:v,cwd:process.cwd()}),D=[`${I}.${C}`,`Cache enabled: ${v}`];if(Z.handlerFile)D.push(`Handler file: ${Z.handlerFile}`);L(D.join(`
|
|
363
|
+
`),"Created JS bridge"),R("JS bridge ready. Import the handler file and implement the bridge logic.")}var sZ={description:nZ,getHelp:zZ,execute:SZ},o2=sZ;f();s();var TZ="Removes an existing JavaScript bridge method";function fZ(){return`
|
|
364
|
+
Arguments:
|
|
365
|
+
className Name of the bridge class (e.g. GPAuth)
|
|
366
|
+
methodName Name of the method (e.g. commonHeaders)
|
|
367
|
+
|
|
368
|
+
Examples:
|
|
369
|
+
$ minikit-cli jsbridge:remove
|
|
370
|
+
$ minikit-cli jsbridge:remove GPAuth
|
|
371
|
+
$ minikit-cli jsbridge:remove GPAuth commonHeaders
|
|
372
|
+
|
|
373
|
+
What this command does:
|
|
374
|
+
\u2022 Removes a JavaScript bridge method
|
|
375
|
+
\u2022 Accepts class name and method name as inputs
|
|
376
|
+
`}async function UZ(A,g){let I=A[0],C=A[1];NA("minikit-cli jsbridge remove");let b=await z(process.cwd());if(!b&&!await cA(process.cwd()))throw new P({message:K.NOT_A_MINIAPP_PROJECT(process.cwd()),code:i.NOT_A_MINIAPP_PROJECT,exitCode:F.USAGE});if(!I){let Z=await pg();if(x(Z))uA("Operation cancelled."),process.exit(F.CANCELLED);I=Z}if(!C){let Z=await tg();if(x(Z))uA("Operation cancelled."),process.exit(F.CANCELLED);C=Z}if(!b||!aA(b,`${I}.${C}`))_.error(`JS bridge ${I}.${C} not found in this project (see .minikit.json features). Nothing to remove!`),process.exit(F.ERROR);let G=await PI({className:I,methodName:C,cwd:process.cwd()}),v=[`${I}.${C}`];if(G.handlerFile)v.push(`Handler file: ${G.handlerFile}`);v.push(`Handlers export updated: ${Boolean(G.exportUpdated)}`),L(v.join(`
|
|
377
|
+
`),"Removed JS bridge"),R("Done.")}var MZ={description:TZ,getHelp:fZ,execute:UZ},k2=MZ;var n2=M({id:"jsbridge",name:"JS Bridge",version:U(),description:"JavaScript bridge management",commands:{"jsbridge:add":O(o2,{options:[{name:"cache",alias:"c",type:"boolean",description:"Support caching for the JS bridge method"}]}),"jsbridge:remove":O(k2)}});f();s();f();s();import{join as U2}from"path";var{file:M2}=globalThis.Bun;var pA=[];import{mkdir as tZ,mkdtemp as S2,readdir as qZ,rm as pI}from"fs/promises";import{tmpdir as s2}from"os";import{join as tI}from"path";import{copyFile as OZ,mkdir as aZ,readdir as xZ}from"fs/promises";import{join as z2,relative as EZ}from"path";function pZ(A,g,I,C){if(C?.has(g))return!0;if(!I&&g.endsWith(".local"))return!0;if(A.split("/").includes("dist"))return!0;return!1}async function Dg(A,g,I,C){await aZ(g,{recursive:!0});let b=await xZ(A,{withFileTypes:!0});for(let G of b){let v=z2(A,G.name),Z=EZ(I,v);if(pZ(Z,G.name,G.isDirectory(),C))continue;let D=z2(g,G.name);if(G.isDirectory()){await Dg(v,D,I,C);continue}await OZ(v,D)}}var qg=new Set([".git","node_modules","dist","dist-ssr","coverage",".DS_Store",".idea",".tanstack",".lighthouseci",".env","pnpm-lock.yaml","yarn.lock","package-lock.json","paraglide"]);function eZ(A){if(qg.has(A.name))return!0;if(!A.isDirectory()&&A.name.endsWith(".local"))return!0;return!1}async function T2(A){let g=await S2(tI(s2(),"minikit-migrate-"));return await tZ(g,{recursive:!0,mode:448}),await Dg(A,g,A,qg),g}async function f2(A,g){let I=await S2(tI(s2(),"minikit-restore-"));await Dg(A,I,A,qg);try{let C=await qZ(g,{withFileTypes:!0});for(let b of C){if(eZ(b))continue;await pI(tI(g,b.name),{recursive:!0,force:!0})}await Dg(I,g,I,qg)}finally{await pI(I,{recursive:!0,force:!0}).catch(()=>{})}}async function qI(A){await pI(A,{recursive:!0,force:!0})}var O2="MIGRATE_INVALID_TARGET";function rZ(A,g,I=pA){return I.filter((C)=>gg(C.version,A)&&Vg(C.version,g)).sort((C,b)=>nA(C.version,b.version))}async function a2(A){let{projectDir:g,dryRun:I=!1,migrations:C=pA,logger:b=console.log}=A,{manifest:G,reconstructed:v}=await Rg(g),Z=yg(G),D=A.target!==void 0,c=A.target??a;if(D)_Z(Z,c);else if(!gg(c,Z)&&!v)return{status:"noop",from:Z,to:Z,reconstructed:v};let u=rZ(Z,c,C);if(I)return{status:"dry-run",from:Z,to:c,steps:u,reconstructed:v};if(u.length===0){if(v)await DA(g,{...G,cliVersion:c,migrateHistory:[...G.migrateHistory??[],eI(Z,c,[])]});return{status:"noop",from:Z,to:c,reconstructed:v}}let B=await T2(g),N=[],W=[],d=Z,w=G;try{if(v)await DA(g,G);for(let H of u){b(`applying ${d} \u2192 ${H.version}: ${H.description}`);let j=await H.up({projectDir:g,manifest:w,from:d,to:H.version});if(j?.notes)W.push(...j.notes);N.push(H.version),d=H.version,w=await RA(g).catch(()=>w)}if(await $Z(g,B))W.unshift("Dependencies changed \u2014 run `pnpm install`.");let Y=await RA(g);return await DA(g,{...Y,cliVersion:c,migrateHistory:[...Y.migrateHistory??[],eI(Z,c,N)]}),await qI(B),{status:"success",from:Z,to:c,applied:N,reconstructed:v,notes:W}}catch(Y){let H=Y instanceof Error?Y:Error(String(Y)),j;try{await f2(B,g)}catch(Q){j=Q instanceof Error?Q:Error(String(Q))}await qI(B).catch(()=>{});let T=eI(Z,c,N);if(v)await DA(g,{...G,migrateHistory:[T]}).catch(()=>{});else await UC(g,T).catch(()=>{});if(j)return{status:"restore-failed",from:Z,to:c,failedAt:d,migrationError:H,restoreError:j,reconstructed:v};return{status:"reverted",from:Z,to:c,failedAt:d,error:H,reconstructed:v}}}function _Z(A,g){if(!ig(g))throw new P({code:i.MIGRATE_INVALID_TARGET,message:`"${g}" is not a valid version.`});if(!gg(g,A))throw new P({code:i.MIGRATE_INVALID_TARGET,message:`migrate only moves to a higher version. Project is on ${A}; requested ${g}.`});if(gg(g,a))throw new P({code:i.MIGRATE_INVALID_TARGET,message:`Requested version ${g} is newer than the installed CLI (${a}). Run "minikit-cli update" first, then migrate.`})}async function $Z(A,g){let I=M2(U2(A,"package.json")),C=M2(U2(g,"package.json"));if(!await I.exists()||!await C.exists())return!1;return await I.text()!==await C.text()}function eI(A,g,I){return{fromVersion:A,toVersion:g,migrations:I}}var AD="Apply changes from newer CLI versions to an existing project";function gD(){return`
|
|
378
|
+
Examples:
|
|
379
|
+
$ minikit-cli migrate # migrate to the installed CLI version
|
|
380
|
+
$ minikit-cli migrate --to 1.2.0 # migrate only up to a specific version
|
|
381
|
+
$ minikit-cli migrate 1.2.0 # same, as a positional argument
|
|
382
|
+
$ minikit-cli migrate --dry-run # show the migration plan, apply nothing
|
|
383
|
+
$ minikit-cli migrate --check # report current vs latest reachable version
|
|
384
|
+
|
|
385
|
+
What this command does:
|
|
386
|
+
- Reads the project version from .minikit.json (reconstructs a baseline
|
|
387
|
+
manifest for legacy projects that predate it)
|
|
388
|
+
- Applies migrations in order (e.g. 1.1.0 \u2192 1.2.0 \u2192 1.3.0)
|
|
389
|
+
- Snapshots the project first; if any step fails, reverts completely and
|
|
390
|
+
prints the error so you can migrate manually
|
|
391
|
+
- Records the result in .minikit.json (cliVersion + history)
|
|
392
|
+
`}function ID(){return pA.map((g)=>g.version).filter((g)=>Vg(g,a)).sort((g,I)=>nA(g,I)).at(-1)??a}async function CD(A,g){let I=process.cwd(),C=g.to??A[0],b=g.dryRun===!0,G=g.check===!0;NA("minikit-cli migrate");try{if(G){let{manifest:Z,reconstructed:D}=await Rg(I),c=yg(Z);L([`current version: ${c}${D?" (legacy project, no .minikit.json)":""}`,`installed CLI: ${a}`,`latest reachable: ${ID()}`].join(`
|
|
393
|
+
`),"Migration status"),R("Run `minikit-cli migrate` to apply, or `--dry-run` to preview.");return}if(!b&&process.stdin.isTTY){let Z=await gA({message:"This will modify your project files. Continue with migration?"});if(x(Z)||!Z){R("Migration cancelled. No changes were made.");return}}let v=await a2({projectDir:I,target:C,dryRun:b});switch(v.status){case"noop":if(v.reconstructed)L("Created .minikit.json (baseline 1.1.0) for this legacy project.","Manifest"),R(`No migrations to apply. Project is now tracked at ${v.to}.`);else R(`Already up to date at ${v.from}. Nothing to apply.`);return;case"dry-run":if(v.steps.length===0){R(`Already up to date at ${v.from}. Nothing to apply.`);return}L(v.steps.map((Z)=>`${Z.version.padEnd(12)} ${Z.description}`).join(`
|
|
394
|
+
`),`Migration plan (${v.from} \u2192 ${v.to})`),R("Dry run \u2014 no changes were made.");return;case"success":{if(L(v.applied.map((D)=>`applied ${D}`).join(`
|
|
395
|
+
`),"Migrations applied"),v.reconstructed)L("Created .minikit.json (baseline 1.1.0) for this legacy project.","Manifest");let Z=[...v.notes,"Review the changes (git diff) and run your tests before committing."];L(Z.map((D,c)=>`${c+1}. ${D}`).join(`
|
|
396
|
+
`),"Next steps"),R(`Migrated ${v.from} \u2192 ${v.to}`);return}case"reverted":throw L([`Failed while applying: ${v.failedAt} \u2192 next step`,"",v.error.stack??v.error.message].join(`
|
|
397
|
+
`),"Migration failed \u2014 project reverted"),console.error("\nThe project was fully reverted to its previous state. Apply the above change manually, then re-run `minikit-cli migrate`."),new P({code:i.MIGRATE_REVERTED,message:"Migration failed and was reverted."});case"restore-failed":throw L([`Migration error: ${v.migrationError.message}`,`Restore error: ${v.restoreError.message}`,"","\u26A0\uFE0F The project snapshot could not be fully restored.","Run `git diff` to inspect the partial state and restore manually."].join(`
|
|
398
|
+
`),"Migration failed \u2014 manual recovery required"),new P({code:i.MIGRATE_RESTORE_FAILED,message:"Migration failed and restore also failed \u2014 project may be in a partial state."})}}catch(v){if(_A(v)&&v.code===O2){console.error(`
|
|
399
|
+
Error: ${v.message}`),process.exit(F.USAGE);return}if(_A(v)&&(v.code==="MIGRATE_REVERTED"||v.code==="MIGRATE_RESTORE_FAILED")){process.exit(F.ERROR);return}throw v}}var bD={description:AD,getHelp:gD,execute:CD},x2=bD;var E2=M({id:"migrate",name:"Migrate",version:U(),commands:{migrate:O(x2,{options:[{name:"to",type:"string",description:"Migrate only up to this version (must be higher than current)"},{name:"dry-run",type:"boolean",description:"Show the migration plan without applying any changes"},{name:"check",type:"boolean",description:"Report the current vs latest reachable version and exit"}]})}});import{mkdir as GD}from"fs/promises";import{join as fA}from"path";var{file:_g,write:tA}=globalThis.Bun;f();zA();s();var oA={"template-index.ts":"ZXhwb3J0IHsgU25hcENoZWNrb3V0LCBkZWZhdWx0IH0gZnJvbSAiLi90ZW1wbGF0ZS1zbmFwLWNoZWNrb3V0IjsKZXhwb3J0IHsgU25hcEJ1dHRvbiB9IGZyb20gIi4vdGVtcGxhdGUtdWkiOwpleHBvcnQgdHlwZSB7CiAgU25hcENoZWNrb3V0VG9rZW5SZXF1ZXN0LAogIFNuYXBDaGVja291dFRva2VuUmVzcG9uc2UsCiAgU25hcFBheU9wdGlvbnMsCn0gZnJvbSAiLi90ZW1wbGF0ZS10eXBlcyI7Cg==","template-page.tsx":"aW1wb3J0IHsgY3JlYXRlTGF6eVJvdXRlLCBMaW5rIH0gZnJvbSAiQHRhbnN0YWNrL3JlYWN0LXJvdXRlciI7CgppbXBvcnQgTmF2QmFyIGZyb20gIkAvY29tcG9uZW50cy9uYXZiYXIiOwppbXBvcnQgeyBTbmFwQnV0dG9uLCBTbmFwQ2hlY2tvdXQgfSBmcm9tICJAL3NuYXAtY2hlY2tvdXQiOwoKZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU25hcENoZWNrb3V0UGFnZSgpIHsKICByZXR1cm4gKAogICAgPD4KICAgICAgPGhlYWRlcj4KICAgICAgICA8TmF2QmFyIHRpdGxlPSJTbmFwIENoZWNrb3V0IiAvPgogICAgICA8L2hlYWRlcj4KCiAgICAgIDxtYWluIGNsYXNzTmFtZT0ibXgtYXV0byBncmlkIG1heC13LVs5MjBweF0gZ2FwLTQgcC00Ij4KICAgICAgICA8U25hcENoZWNrb3V0IC8+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT0iZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMyBwLTQiPgogICAgICAgICAgPExpbmsgdG89Ii8iPgogICAgICAgICAgICA8U25hcEJ1dHRvbj5HbyBIb21lPC9TbmFwQnV0dG9uPgogICAgICAgICAgPC9MaW5rPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgPC9tYWluPgogICAgPC8+CiAgKTsKfQoKZXhwb3J0IGNvbnN0IFJvdXRlID0gY3JlYXRlTGF6eVJvdXRlKCIvc25hcC1jaGVja291dCIpKHsKICBjb21wb25lbnQ6IFNuYXBDaGVja291dFBhZ2UsCn0pOwo=","template-ui.tsx":"aW1wb3J0IHR5cGUgeyBCdXR0b25IVE1MQXR0cmlidXRlcywgUmVhY3ROb2RlIH0gZnJvbSAicmVhY3QiOwoKZXhwb3J0IGZ1bmN0aW9uIFNuYXBDYXJkKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pIHsKICByZXR1cm4gKAogICAgPHNlY3Rpb24gY2xhc3NOYW1lPSJyb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBiZy13aGl0ZSBwLTQgc2hhZG93LXNtIj4KICAgICAge2NoaWxkcmVufQogICAgPC9zZWN0aW9uPgogICk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBTbmFwSGVhZGluZyh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7CiAgcmV0dXJuIDxoMyBjbGFzc05hbWU9InRleHQteGwgZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIj57Y2hpbGRyZW59PC9oMz47Cn0KCmV4cG9ydCBmdW5jdGlvbiBTbmFwVGV4dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7CiAgcmV0dXJuIDxwIGNsYXNzTmFtZT0idGV4dC1zbSB0ZXh0LXNsYXRlLTYwMCI+e2NoaWxkcmVufTwvcD47Cn0KCnR5cGUgU25hcEJ1dHRvblByb3BzID0gQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+ICYgewogIHNlY29uZGFyeT86IGJvb2xlYW47Cn07CgpleHBvcnQgZnVuY3Rpb24gU25hcEJ1dHRvbih7IGNoaWxkcmVuLCBzZWNvbmRhcnksIC4uLnByb3BzIH06IFNuYXBCdXR0b25Qcm9wcykgewogIGNvbnN0IGNsYXNzTmFtZSA9IHNlY29uZGFyeQogICAgPyAiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zdGF0aWMtc3VyZmFjZS1icmFuZCBweC0zIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1zdGF0aWMtc3VyZmFjZS1icmFuZCB0cmFuc2l0aW9uIGhvdmVyOmJnLXNsYXRlLTUwIgogICAgOiAiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xLjUgcm91bmRlZC1sZyBiZy1zdGF0aWMtc3VyZmFjZS1icmFuZCBweC0zIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSB0cmFuc2l0aW9uIGhvdmVyOm9wYWNpdHktOTAgZGlzYWJsZWQ6b3BhY2l0eS01MCI7CiAgcmV0dXJuICgKICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzc05hbWU9e2NsYXNzTmFtZX0gey4uLnByb3BzfT4KICAgICAge2NoaWxkcmVufQogICAgPC9idXR0b24+CiAgKTsKfQo=","template-snap-checkout.tsx":"aW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gInJlYWN0IjsKCmltcG9ydCBmZXRjaFJlcXVlc3QgZnJvbSAiLi90ZW1wbGF0ZS1mZXRjaC1yZXF1ZXN0IjsKaW1wb3J0IHR5cGUgewogIFNuYXBDaGVja291dFRva2VuUmVxdWVzdCwKICBTbmFwQ2hlY2tvdXRUb2tlblJlc3BvbnNlLAp9IGZyb20gIi4vdGVtcGxhdGUtdHlwZXMiOwppbXBvcnQgeyBTbmFwQnV0dG9uLCBTbmFwQ2FyZCwgU25hcEhlYWRpbmcsIFNuYXBUZXh0IH0gZnJvbSAiLi90ZW1wbGF0ZS11aSI7CmltcG9ydCB7IHVzZUZldGNoUmVxdWVzdCB9IGZyb20gIi4vdGVtcGxhdGUtdXNlLWZldGNoLXJlcXVlc3QiOwoKY29uc3QgYmFzZVVSTCA9IGltcG9ydC5tZXRhLmVudi5WSVRFX0JBU0VfQVBJX1VSTDsKCmNvbnN0IGZldGNoU25hcENoZWNrb3V0VG9rZW4gPSBhc3luYyAoCiAgYm9keTogU25hcENoZWNrb3V0VG9rZW5SZXF1ZXN0LAopOiBQcm9taXNlPFNuYXBDaGVja291dFRva2VuUmVzcG9uc2U+ID0+IHsKICByZXR1cm4gYXdhaXQgZmV0Y2hSZXF1ZXN0PFNuYXBDaGVja291dFRva2VuUmVzcG9uc2U+KAogICAgYCR7YmFzZVVSTH0vdjEvc25hcC1jaGVja291dGAsCiAgICB7CiAgICAgIG1ldGhvZDogIlBPU1QiLAogICAgICBib2R5LAogICAgfSwKICApOwp9OwoKLyoqCiAqIFNuYXBDaGVja291dCByZW5kZXJzIGEgTWlkdHJhbnMgU25hcC5qcyBwYXltZW50IGZsb3c6CiAqICAgMS4gTG9hZHMgdGhlIFNuYXAuanMgc2NyaXB0IHVzaW5nIHRoZSBjb25maWd1cmVkIGNsaWVudCBrZXkuCiAqICAgMi4gUmVxdWVzdHMgYSBjaGVja291dCB0b2tlbiBmcm9tIHRoZSBiYWNrZW5kIGZvciB0aGUgZW50ZXJlZCBhbW91bnQuCiAqICAgMy4gT3BlbnMgdGhlIFNuYXAgcG9wdXAgdmlhIGB3aW5kb3cuc25hcC5wYXlgIGFuZCBzdXJmYWNlcyB0aGUgY2FsbGJhY2tzLgogKgogKiBDb25maWd1cmUgdGhlIGZvbGxvd2luZyBlbnYgdmFycyAoc2VlIGAuZW52LmV4YW1wbGVgKToKICogICAtIFZJVEVfTUlEVFJBTlNfU05BUEpTX1VSTAogKiAgIC0gVklURV9NSURUUkFOU19DTElFTlRfS0VZCiAqICAgLSBWSVRFX0JBU0VfQVBJX1VSTAogKi8KZXhwb3J0IGZ1bmN0aW9uIFNuYXBDaGVja291dCgpIHsKICBjb25zdCBbYW1vdW50LCBzZXRBbW91bnRdID0gdXNlU3RhdGU8bnVtYmVyPigxMDAwMCk7CiAgY29uc3QgW2NhbGxiYWNrUmVzcG9uc2UsIHNldENhbGxiYWNrUmVzcG9uc2VdID0gdXNlU3RhdGU8dW5rbm93biB8IG51bGw+KAogICAgbnVsbCwKICApOwoKICBjb25zdCB7CiAgICBkYXRhOiB0b2tlbkRhdGEsCiAgICBlcnJvcjogdG9rZW5FcnJvciwKICAgIGxvYWRpbmc6IHRva2VuTG9hZGluZywKICAgIHJlcXVlc3Q6IHJlcXVlc3RUb2tlbiwKICB9ID0gdXNlRmV0Y2hSZXF1ZXN0PFNuYXBDaGVja291dFRva2VuUmVzcG9uc2U+KCk7CgogIHVzZUVmZmVjdCgoKSA9PiB7CiAgICBjb25zdCBzbmFwSnNVcmwgPSBpbXBvcnQubWV0YS5lbnYuVklURV9NSURUUkFOU19TTkFQSlNfVVJMOwogICAgY29uc3QgY2xpZW50S2V5ID0gaW1wb3J0Lm1ldGEuZW52LlZJVEVfTUlEVFJBTlNfQ0xJRU5UX0tFWTsKICAgIGlmICghc25hcEpzVXJsIHx8ICFjbGllbnRLZXkpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIGNvbnN0IHNjcmlwdFRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogICAgc2NyaXB0VGFnLnNyYyA9IHNuYXBKc1VybDsKICAgIHNjcmlwdFRhZy5zZXRBdHRyaWJ1dGUoImRhdGEtY2xpZW50LWtleSIsIGNsaWVudEtleSk7CiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdFRhZyk7CgogICAgcmV0dXJuICgpID0+IHsKICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JpcHRUYWcpOwogICAgfTsKICB9LCBbXSk7CgogIHVzZUVmZmVjdCgoKSA9PiB7CiAgICBzZXRDYWxsYmFja1Jlc3BvbnNlKG51bGwpOwogIH0sIFthbW91bnRdKTsKCiAgY29uc3QgaW5pdGlhdGVTbmFwQ2hlY2tvdXQgPSBhc3luYyAoKSA9PiB7CiAgICBzZXRDYWxsYmFja1Jlc3BvbnNlKG51bGwpOwogICAgd2luZG93LnNuYXA/LnNob3c/LigpOwogICAgY29uc3QgYm9keTogU25hcENoZWNrb3V0VG9rZW5SZXF1ZXN0ID0gewogICAgICB0cmFuc2FjdGlvbl9kZXRhaWxzOiB7CiAgICAgICAgZ3Jvc3NfYW1vdW50OiBhbW91bnQsCiAgICAgIH0sCiAgICB9OwogICAgYXdhaXQgcmVxdWVzdFRva2VuKCgpID0+IGZldGNoU25hcENoZWNrb3V0VG9rZW4oYm9keSkpOwogIH07CgogIHVzZUVmZmVjdCgoKSA9PiB7CiAgICBpZiAodG9rZW5FcnJvcikgewogICAgICB3aW5kb3cuc25hcD8uaGlkZT8uKCk7CiAgICB9IGVsc2UgaWYgKHRva2VuRGF0YT8udG9rZW4pIHsKICAgICAgd2luZG93LnNuYXA/LnBheT8uKHRva2VuRGF0YS50b2tlbiwgewogICAgICAgIG9uU3VjY2VzczogKHJlc3VsdCkgPT4gc2V0Q2FsbGJhY2tSZXNwb25zZShyZXN1bHQpLAogICAgICAgIG9uUGVuZGluZzogKHJlc3VsdCkgPT4gc2V0Q2FsbGJhY2tSZXNwb25zZShyZXN1bHQpLAogICAgICAgIG9uRXJyb3I6IChyZXN1bHQpID0+IHNldENhbGxiYWNrUmVzcG9uc2UocmVzdWx0KSwKICAgICAgICBvbkNsb3NlOiAoKSA9PgogICAgICAgICAgc2V0Q2FsbGJhY2tSZXNwb25zZSh7CiAgICAgICAgICAgIHN0YXR1czogImNsb3NlZCIsCiAgICAgICAgICAgIG1lc3NhZ2U6ICJQb3B1cCBjbG9zZWQgd2l0aG91dCBmaW5pc2hpbmcgdGhlIHBheW1lbnQiLAogICAgICAgICAgfSksCiAgICAgIH0pOwogICAgfQogIH0sIFt0b2tlbkRhdGEsIHRva2VuRXJyb3JdKTsKCiAgcmV0dXJuICgKICAgIDxTbmFwQ2FyZD4KICAgICAgPGRpdiBjbGFzc05hbWU9ImdyaWQgZ2FwLTMgcC0yIj4KICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0yIj4KICAgICAgICAgIDxTbmFwSGVhZGluZz5TbmFwIENoZWNrb3V0PC9TbmFwSGVhZGluZz4KICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0icm91bmRlZC1sZyBiZy1ibHVlLTEwMCBweC0yIHB5LTAuNSB0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWJsdWUtNzAwIj4KICAgICAgICAgICAgTWlkdHJhbnMKICAgICAgICAgIDwvc3Bhbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPFNuYXBUZXh0PgogICAgICAgICAgUGF5IHdpdGggdGhlIE1pZHRyYW5zIFNuYXAgcG9wdXAuIEVudGVyIGFuIGFtb3VudCBhbmQgc3RhcnQgdGhlCiAgICAgICAgICBjaGVja291dC4KICAgICAgICA8L1NuYXBUZXh0PgoKICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPSJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1zbGF0ZS03MDAiIGh0bWxGb3I9ImFtb3VudCI+CiAgICAgICAgICBBbW91bnQgKElEUikKICAgICAgICA8L2xhYmVsPgogICAgICAgIDxpbnB1dAogICAgICAgICAgaWQ9ImFtb3VudCIKICAgICAgICAgIHR5cGU9Im51bWJlciIKICAgICAgICAgIG1pbj17MH0KICAgICAgICAgIHZhbHVlPXthbW91bnR9CiAgICAgICAgICBvbkNoYW5nZT17KGV2ZW50KSA9PiBzZXRBbW91bnQoTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSkpfQogICAgICAgICAgY2xhc3NOYW1lPSJtaW4taC0xMCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItc2xhdGUtMzAwIGJnLXdoaXRlIHB4LTIuNSB0ZXh0LXNtIgogICAgICAgIC8+CgogICAgICAgIDxTbmFwQnV0dG9uIG9uQ2xpY2s9e2luaXRpYXRlU25hcENoZWNrb3V0fSBkaXNhYmxlZD17dG9rZW5Mb2FkaW5nfT4KICAgICAgICAgIHt0b2tlbkxvYWRpbmcgPyAiUHJvY2Vzc2luZ+KApiIgOiAiUGF5IHdpdGggU25hcCBDaGVja291dCJ9CiAgICAgICAgPC9TbmFwQnV0dG9uPgoKICAgICAgICB7dG9rZW5FcnJvciAmJiAoCiAgICAgICAgICA8cHJlCiAgICAgICAgICAgIGRhdGEtdGVzdGlkPSJzbmFwLWNoZWNrb3V0LWVycm9yIgogICAgICAgICAgICBjbGFzc05hbWU9Im92ZXJmbG93LWF1dG8gcm91bmRlZCBiZy1yZWQtNTAgcC0yIHRleHQtc20gdGV4dC1yZWQtNzAwIgogICAgICAgICAgPgogICAgICAgICAgICB7SlNPTi5zdHJpbmdpZnkodG9rZW5FcnJvciwgbnVsbCwgMil9CiAgICAgICAgICA8L3ByZT4KICAgICAgICApfQoKICAgICAgICB7ISFjYWxsYmFja1Jlc3BvbnNlICYmICgKICAgICAgICAgIDxwcmUKICAgICAgICAgICAgZGF0YS10ZXN0aWQ9InNuYXAtY2hlY2tvdXQtcmVzcG9uc2UiCiAgICAgICAgICAgIGNsYXNzTmFtZT0ib3ZlcmZsb3ctYXV0byByb3VuZGVkIGJnLWdyYXktMTAwIHAtMiB0ZXh0LXNtIgogICAgICAgICAgPgogICAgICAgICAgICB7SlNPTi5zdHJpbmdpZnkoY2FsbGJhY2tSZXNwb25zZSwgbnVsbCwgMil9CiAgICAgICAgICA8L3ByZT4KICAgICAgICApfQogICAgICA8L2Rpdj4KICAgIDwvU25hcENhcmQ+CiAgKTsKfQoKZXhwb3J0IGRlZmF1bHQgU25hcENoZWNrb3V0Owo=","template-fetch-request.ts":"dHlwZSBBUElFcnJvciA9IEVycm9yIHwgQmFja0VuZEVycm9yIHwgdW5rbm93bjsKCnR5cGUgQmFja0VuZEVycm9yID0gewogIHN1Y2Nlc3M6IGJvb2xlYW47CiAgY29kZTogbnVtYmVyIHwgc3RyaW5nOwogIGRlc2NyaXB0aW9uOiBzdHJpbmc7Cn07CgpleHBvcnQgdHlwZSBOb3JtYWxpc2VkRXJyb3IgPSBCYWNrRW5kRXJyb3I7Cgp0eXBlIFF1ZXJ5UGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj47Cgp0eXBlIFJlcXVlc3RQYXJhbXMgPSB7CiAgbWV0aG9kPzogIkdFVCIgfCAiUE9TVCIgfCAiUFVUIiB8ICJQQVRDSCIgfCAiREVMRVRFIjsKICBib2R5PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47CiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47CiAgcXVlcnlQYXJhbXM/OiBRdWVyeVBhcmFtczsKfTsKCmNvbnN0IGJ1aWxkVVJMID0gKHVybDogc3RyaW5nLCB7IHF1ZXJ5UGFyYW1zIH06IFJlcXVlc3RQYXJhbXMpOiBzdHJpbmcgPT4gewogIGNvbnN0IGJhc2UgPSB0eXBlb2Ygd2luZG93ICE9PSAidW5kZWZpbmVkIiA/IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gOiB1bmRlZmluZWQ7CiAgY29uc3QgZmluYWxVUkwgPSBuZXcgVVJMKHVybCwgYmFzZSk7CgogIGlmIChxdWVyeVBhcmFtcyAmJiBPYmplY3Qua2V5cyhxdWVyeVBhcmFtcykubGVuZ3RoICE9PSAwKSB7CiAgICBPYmplY3QuZW50cmllcyhxdWVyeVBhcmFtcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7CiAgICAgIGZpbmFsVVJMLnNlYXJjaFBhcmFtcy5hcHBlbmQoa2V5LCBTdHJpbmcodmFsdWUpKTsKICAgIH0pOwogIH0KCiAgcmV0dXJuIGZpbmFsVVJMLnRvU3RyaW5nKCk7Cn07Cgpjb25zdCBidWlsZEhlYWRlcnMgPSAoewogIGhlYWRlcnM6IGN1c3RvbUhlYWRlcnMsCn06IFJlcXVlc3RQYXJhbXMpOiBIZWFkZXJzSW5pdCA9PiB7CiAgY29uc3QgZGVmYXVsdEhlYWRlcnMgPSB7CiAgICAiQ29udGVudC1UeXBlIjogImFwcGxpY2F0aW9uL2pzb24iLAogIH07CgogIHJldHVybiB7CiAgICAuLi5kZWZhdWx0SGVhZGVycywKICAgIC4uLmN1c3RvbUhlYWRlcnMsCiAgfTsKfTsKCmNvbnN0IGJ1aWxkRmV0Y2hSZXF1ZXN0ID0gKHsKICBtZXRob2QgPSAiR0VUIiwKICBib2R5ID0ge30sCiAgaGVhZGVycyA9IHt9LAp9OiBSZXF1ZXN0UGFyYW1zKTogUmVxdWVzdEluaXQgPT4gewogIGNvbnN0IHJlcXVlc3RIZWFkZXJzOiBIZWFkZXJzSW5pdCA9IGJ1aWxkSGVhZGVycyh7IGhlYWRlcnMgfSk7CiAgY29uc3QgcmVxdWVzdENvbmZpZzogUmVxdWVzdEluaXQgPSB7IG1ldGhvZCwgaGVhZGVyczogcmVxdWVzdEhlYWRlcnMgfTsKCiAgaWYgKG1ldGhvZCAhPT0gIkdFVCIpIHsKICAgIHJlcXVlc3RDb25maWcuYm9keSA9IEpTT04uc3RyaW5naWZ5KGJvZHkpOwogIH0KCiAgcmV0dXJuIHJlcXVlc3RDb25maWc7Cn07Cgpjb25zdCBoYW5kbGVBUElFcnJvciA9IChlcnJvcjogQVBJRXJyb3IpOiBOb3JtYWxpc2VkRXJyb3IgPT4gewogIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7CiAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZGVzY3JpcHRpb246IGVycm9yLm1lc3NhZ2UsIGNvZGU6IDUwMCB9OwogIH0KCiAgaWYgKHR5cGVvZiBlcnJvciA9PT0gIm9iamVjdCIgJiYgZXJyb3IgIT09IG51bGwpIHsKICAgIGNvbnN0IGJhY2tFbmRFcnJvciA9IGVycm9yIGFzIEJhY2tFbmRFcnJvcjsKICAgIC8vIGVycm9yIGZyb20gYmFja2VuZAogICAgcmV0dXJuIHsKICAgICAgc3VjY2VzczogZmFsc2UsCiAgICAgIGRlc2NyaXB0aW9uOiBiYWNrRW5kRXJyb3I/LmRlc2NyaXB0aW9uIHx8ICJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkIiwKICAgICAgY29kZTogYmFja0VuZEVycm9yPy5jb2RlIHx8IDUwMCwKICAgIH07CiAgfQoKICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZGVzY3JpcHRpb246IFN0cmluZyhlcnJvciksIGNvZGU6IDUwMCB9Owp9OwoKZXhwb3J0IGNvbnN0IGZldGNoUmVxdWVzdCA9IGFzeW5jIDxUUmVzcG9uc2U+KAogIGVuZHBvaW50OiBzdHJpbmcsCiAgcmVxdWVzdFBhcmFtczogUmVxdWVzdFBhcmFtcywKKTogUHJvbWlzZTxUUmVzcG9uc2U+ID0+IHsKICB0cnkgewogICAgY29uc3QgZmluYWxVUkwgPSBidWlsZFVSTChlbmRwb2ludCwgcmVxdWVzdFBhcmFtcyk7CiAgICBjb25zdCByZXF1ZXN0Q29uZmlnID0gYnVpbGRGZXRjaFJlcXVlc3QocmVxdWVzdFBhcmFtcyk7CgogICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChmaW5hbFVSTCwgcmVxdWVzdENvbmZpZyk7CgogICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSB7CiAgICAgIC8vIFJldHVybiBudWxsIGZvciAyMDQgTm8gQ29udGVudAogICAgICByZXR1cm4gbnVsbCBhcyBUUmVzcG9uc2U7CiAgICB9CgogICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVzcG9uc2UuanNvbigpOwoKICAgIGlmICghcmVzcG9uc2Uub2spIHsKICAgICAgdGhyb3cgcmVzdWx0OwogICAgfQoKICAgIHJldHVybiByZXN1bHQgYXMgVFJlc3BvbnNlOwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICB0aHJvdyBoYW5kbGVBUElFcnJvcihlcnJvcik7CiAgfQp9OwoKZXhwb3J0IGRlZmF1bHQgZmV0Y2hSZXF1ZXN0Owo=","template-types.ts":"ZXhwb3J0IHR5cGUgU25hcENoZWNrb3V0VG9rZW5SZXNwb25zZSA9IHsKICB0b2tlbjogc3RyaW5nOwp9OwoKZXhwb3J0IHR5cGUgU25hcENoZWNrb3V0VG9rZW5SZXF1ZXN0ID0gewogIHRyYW5zYWN0aW9uX2RldGFpbHM6IHsKICAgIGdyb3NzX2Ftb3VudDogbnVtYmVyOwogIH07Cn07CgpleHBvcnQgdHlwZSBTbmFwUGF5T3B0aW9ucyA9IHsKICBvblN1Y2Nlc3M/OiAocmVzdWx0OiB1bmtub3duKSA9PiB2b2lkOwogIG9uUGVuZGluZz86IChyZXN1bHQ6IHVua25vd24pID0+IHZvaWQ7CiAgb25FcnJvcj86IChyZXN1bHQ6IHVua25vd24pID0+IHZvaWQ7CiAgb25DbG9zZT86ICgpID0+IHZvaWQ7Cn07CgpkZWNsYXJlIGdsb2JhbCB7CiAgLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlQ29uc2lzdGVudFR5cGVEZWZpbml0aW9uczogV2luZG93IG11c3QgYmUgYW4gaW50ZXJmYWNlIGZvciBkZWNsYXJhdGlvbiBtZXJnaW5nCiAgaW50ZXJmYWNlIFdpbmRvdyB7CiAgICBzbmFwPzogewogICAgICBwYXk/OiAodG9rZW46IHN0cmluZywgb3B0aW9ucz86IFNuYXBQYXlPcHRpb25zKSA9PiB2b2lkOwogICAgICBzaG93PzogKCkgPT4gdm9pZDsKICAgICAgaGlkZT86ICgpID0+IHZvaWQ7CiAgICB9OwogIH0KfQoKZXhwb3J0IHt9Owo=","template-use-fetch-request.ts":"aW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlIH0gZnJvbSAicmVhY3QiOwoKaW1wb3J0IHR5cGUgeyBOb3JtYWxpc2VkRXJyb3IgfSBmcm9tICIuL3RlbXBsYXRlLWZldGNoLXJlcXVlc3QiOwoKZXhwb3J0IGZ1bmN0aW9uIHVzZUZldGNoUmVxdWVzdDxUUmVzcG9uc2U+KCkgewogIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPFRSZXNwb25zZSB8IG51bGw+KG51bGwpOwogIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTsKICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPE5vcm1hbGlzZWRFcnJvciB8IG51bGw+KG51bGwpOwoKICBjb25zdCByZXF1ZXN0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKGZldGNoRm46ICgpID0+IFByb21pc2U8VFJlc3BvbnNlPikgPT4gewogICAgc2V0TG9hZGluZyh0cnVlKTsKICAgIHNldEVycm9yKG51bGwpOwogICAgc2V0RGF0YShudWxsKTsKCiAgICB0cnkgewogICAgICBjb25zdCByZXN1bHQ6IFRSZXNwb25zZSA9IGF3YWl0IGZldGNoRm4oKTsKICAgICAgc2V0RGF0YShyZXN1bHQpOwogICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgIHNldEVycm9yKGVyciBhcyBOb3JtYWxpc2VkRXJyb3IpOwogICAgfSBmaW5hbGx5IHsKICAgICAgc2V0TG9hZGluZyhmYWxzZSk7CiAgICB9CiAgfSwgW10pOwoKICByZXR1cm4geyBkYXRhLCBsb2FkaW5nLCBlcnJvciwgcmVxdWVzdCB9Owp9CgpleHBvcnQgZGVmYXVsdCB1c2VGZXRjaFJlcXVlc3Q7Cg=="};var p2="snap-checkout",vD="template-ui.tsx",t2=[{key:"VITE_MIDTRANS_SNAPJS_URL",placeholder:"<midtrans snap.js url>"},{key:"VITE_MIDTRANS_CLIENT_KEY",placeholder:"<midtrans client key>"}];function rg(A){return A.replaceAll("./template-fetch-request","./fetch-request").replaceAll("./template-use-fetch-request","./use-fetch-request").replaceAll("./template-types","./types").replaceAll("./template-ui","./components").replaceAll("./template-snap-checkout","./snap-checkout")}var eg,q2=!1;async function ZD(){if(q2)return eg;q2=!0;try{return eg=await Promise.resolve().then(() => (XI(),VI)),eg}catch{return eg=null,null}}async function DD(A){if(A){let g=await ZD();if(g)try{return g.getSnapCheckoutAsphaltUi()}catch{}}return rg(e(oA,vD))}async function cD(A){return{fetchRequest:e(oA,"template-fetch-request.ts"),useFetchRequest:rg(e(oA,"template-use-fetch-request.ts")),types:e(oA,"template-types.ts"),ui:await DD(A),component:rg(e(oA,"template-snap-checkout.tsx")),index:rg(e(oA,"template-index.ts")),page:e(oA,"template-page.tsx")}}async function uD(A,g){let I=fA(A,"src","snap-checkout");await GD(I,{recursive:!0});let C=[{name:"fetch-request.ts",content:g.fetchRequest},{name:"use-fetch-request.ts",content:g.useFetchRequest},{name:"types.ts",content:g.types},{name:"components.tsx",content:g.ui},{name:"snap-checkout.tsx",content:g.component},{name:"index.ts",content:g.index}];for(let b of C)await tA(fA(I,b.name),b.content);await tA(fA(A,"src","pages","snap-checkout.tsx"),g.page)}async function BD(A){let g=fA(A,"src","pages","routes.ts"),I=_g(g);if(!await I.exists())return!1;let C=await I.text();if(C.includes("snapCheckoutRoute"))return!1;let b=["","const snapCheckoutRoute = createRoute({"," getParentRoute: () => rootRoute,",' path: "/snap-checkout",','}).lazy(() => import("@/pages/snap-checkout").then((d) => d.Route));',""].join(`
|
|
400
|
+
`),G=/(rootRoute\.addChildren\(\[)([\s\S]*?)(\]\))/,v=C.match(G);if(!v)return!1;let Z=v[2]?.trim()??"",D=Z.length>0?", ":"",c=`${v[1]}${Z}${D}snapCheckoutRoute${v[3]}`,u=C.replace(G,c).replace(/(export const routeTree)/,`${b}$1`);return await tA(g,u),!0}async function rI(A){let g=fA(A,"src","pages","home.tsx"),I=_g(g);if(!await I.exists())return!1;let C=await I.text();if(C.includes('to="/snap-checkout"'))return!1;let b=/([ \t]*)(<Link\s+to="\/example"[\s\S]*?<\/Link>)/,G=C.match(b);if(!G)return!1;let v=G[1]??"",Z=["",`${v}<Link to="/snap-checkout">`,`${v} <SnapButton secondary>Snap Checkout</SnapButton>`,`${v}</Link>`].join(`
|
|
401
|
+
`),D=C.replace(b,`${v}${G[2]}${Z}`);if(!C.includes('from "@/snap-checkout"'))D=lD(D);return await tA(g,D),!0}function lD(A){let I=/^import type \{[^}]+\} from "react";\n/m;if(I.test(A))return A.replace(I,(C)=>`${C}import { SnapButton } from "@/snap-checkout";
|
|
402
|
+
`);return`import { SnapButton } from "@/snap-checkout";
|
|
403
|
+
`+A}async function ND(A){let g=!1,I=!1,C=fA(A,".env.example"),b=_g(C);if(await b.exists()){let Z=await b.text(),D=t2.filter(({key:c})=>!Z.includes(c)).map(({key:c,placeholder:u})=>`${c}="${u}"`);if(D.length>0){let u=`${Z.endsWith(`
|
|
404
|
+
`)?"":`
|
|
405
|
+
`}
|
|
406
|
+
# Snap Checkout (Midtrans)
|
|
407
|
+
${D.join(`
|
|
408
|
+
`)}
|
|
409
|
+
`;await tA(C,Z+u),g=!0}}let G=fA(A,"src","vite-env.d.ts"),v=_g(G);if(await v.exists()){let Z=await v.text(),D=t2.filter(({key:c})=>!Z.includes(c)).map(({key:c})=>` readonly ${c}?: string;`);if(D.length>0){let c=Z.replace(/(interface ImportMetaEnv \{)/,`$1
|
|
410
|
+
${D.join(`
|
|
411
|
+
`)}`);if(c!==Z)await tA(G,c),I=!0}}return{envUpdated:g,viteEnvUpdated:I}}async function $g({targetDir:A}){if(!A)throw Error("targetDir is required for Snap Checkout generator");let g=await z(A);if(g&&bA(g,p2))throw new P({code:i.FEATURE_ALREADY_INSTALLED,message:K.ALREADY_INSTALLED("Snap Checkout")});let I=AA()==="internal",C=await cD(I);await uD(A,C);let b=await BD(A),G=await rI(A),{envUpdated:v,viteEnvUpdated:Z}=await ND(A);if(g)await HA(A,{features:[{id:p2,schemaVersion:XA}]});return{snapCheckoutAdded:!0,routeRegistered:b,homeCtaAdded:G,envUpdated:v,viteEnvUpdated:Z}}f();s();var WD="Adds Midtrans Snap Checkout integration to an existing mini-app project";function dD(){return`
|
|
412
|
+
Examples:
|
|
413
|
+
$ minikit-cli snap:add
|
|
414
|
+
|
|
415
|
+
What this command does:
|
|
416
|
+
- Generates a Snap Checkout page + component into the current project
|
|
417
|
+
- Registers a /snap-checkout route (if a TanStack routes file exists)
|
|
418
|
+
- Adds Midtrans env keys to .env.example and vite-env.d.ts
|
|
419
|
+
|
|
420
|
+
Required env (fill locally / in CI \u2014 never commit real secrets):
|
|
421
|
+
- VITE_MIDTRANS_SNAPJS_URL Midtrans Snap.js script URL
|
|
422
|
+
- VITE_MIDTRANS_CLIENT_KEY Midtrans client key
|
|
423
|
+
- VITE_BASE_API_URL Backend base URL that mints checkout tokens
|
|
424
|
+
`}async function wD(A,g){let I=await z(process.cwd());if(!I&&!await cA(process.cwd()))throw new P({code:i.NOT_A_MINIAPP_PROJECT,message:`"${process.cwd()}" doesn't look like a miniapp project. Run this command from a project root.`});if(I&&bA(I,"snap-checkout")){R("Snap Checkout is already set up in this project (see .minikit.json features). Nothing to do!");return}await $g({targetDir:process.cwd()});let C=LA();C.start("Installing dependencies...");let b=await EA(process.cwd());C.stop(b?"Dependencies installed.":"Dependency installation failed."),L(["1. Fill in .env (do not commit these secrets):"," \u2022 VITE_MIDTRANS_SNAPJS_URL: Midtrans Snap.js script URL"," \u2022 VITE_MIDTRANS_CLIENT_KEY: Midtrans client key"," \u2022 VITE_BASE_API_URL: Backend URL that mints checkout tokens","2. pnpm dev"].join(`
|
|
425
|
+
`),"Next steps"),R("Snap Checkout ready.")}var PD={description:WD,getHelp:dD,execute:wD},e2=PD;var r2=M({id:"snap-checkout",name:"Snap Checkout",version:U(),commands:{"snap:add":O(e2)},contributes:{"create:feature":{id:"snap-checkout",label:"Snap Checkout (https://docs.midtrans.com/reference/miniapp-x-snap-checkout-payment)",async apply(A){await $g({targetDir:A.projectDir})},async postApply(A){await rI(A.projectDir)}}}});import{mkdirSync as iD}from"fs";import{tmpdir as VD}from"os";import{join as _2}from"path";function XD(A,g,I){let C=["add","-g",`${A}@${g}`],b=I?[...C,"--registry",I]:C;return{bin:"bun",args:b,display:`bun ${b.join(" ")}`}}function YD(A,g,I){let C=["info",`${A}@${g}`,"version"];return{bin:"bun",args:I?[...C,"--registry",I]:C}}async function $2(A){let{packageName:g,currentVersion:I,tag:C,check:b=!1,registry:G}=A,v=A.deps?.fetchLatest??RD,Z=A.deps?.runInstall??HD,D=await v(g,C,G);if(sC(I,D))return{status:"up-to-date",current:I,latest:D,tag:C};let{bin:c,args:u,display:B}=XD(g,D,G);if(b)return{status:"available",current:I,latest:D,tag:C,command:B};if(A.confirm&&!await A.confirm())return{status:"cancelled",current:I,latest:D};let N=await Z(c,u);if(N===0)return{status:"installed",current:I,latest:D,command:B};return{status:"failed",current:I,latest:D,command:B,code:N}}var yD=/^\s*(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?)\s*$/,_I;async function AG(){if(!_I){let A=_2(VD(),"minikit-cli-update-scratch");iD(A,{recursive:!0}),await Bun.write(_2(A,"package.json"),`{}
|
|
426
|
+
`),_I=A}return _I}async function RD(A,g,I){let{bin:C,args:b}=YD(A,g,I),G=await AG(),v;try{v=Bun.spawn([C,...b],{stdout:"pipe",stderr:"pipe",cwd:G})}catch(W){throw Error('Failed to launch "bun" \u2014 is bun installed and on your PATH? '+`(${W instanceof Error?W.message:String(W)})`)}let[Z,D]=await Promise.all([new Response(v.stdout).text(),new Response(v.stderr).text()]),c=await v.exited,N=(Z.trim().split(`
|
|
427
|
+
`).filter(Boolean).at(-1)??"").match(yD)?.[1];if(c!==0||!N){let W=I?` from ${I}`:"";throw Error(`bun could not resolve ${A}@${g}${W}. ${D.trim()||Z.trim()}`.trim())}return N}async function HD(A,g){let I=await AG(),C;try{C=Bun.spawn([A,...g],{stdout:"inherit",stderr:"inherit",stdin:"inherit",cwd:I})}catch(b){throw Error('Failed to launch "bun" \u2014 is bun installed and on your PATH? '+`(${b instanceof Error?b.message:String(b)})`)}return await C.exited}var JD="Update the minikit CLI to the latest published version";function mD(){return`
|
|
428
|
+
Examples:
|
|
429
|
+
$ minikit-cli update # check and update if a newer version exists
|
|
430
|
+
$ minikit-cli update --check # report current vs latest, install nothing
|
|
431
|
+
$ minikit-cli update --tag latest # force the stable channel (default follows your build)
|
|
432
|
+
|
|
433
|
+
What this command does:
|
|
434
|
+
- Resolves the newest version with \`bun info\` and installs with
|
|
435
|
+
\`bun add -g\` (the CLI is a global bun package)
|
|
436
|
+
- Picks the dist-tag from your installed version: prereleases track "beta",
|
|
437
|
+
stable releases track "latest"
|
|
438
|
+
- In an interactive terminal, confirms before installing
|
|
439
|
+
- Logs the update in .minikit.json when run inside a scaffolded project
|
|
440
|
+
`}function KD(A){try{return Ag(A).prerelease.length>0?"beta":"latest"}catch{return"latest"}}async function jD(A,g){let I=g.check===!0,C=g.tag;if(C!==void 0&&C.trim()===""){console.error(`
|
|
441
|
+
Error: --tag cannot be empty. Omit it to use the default channel.
|
|
442
|
+
`),process.exit(1);return}let b=C??KD(a),G=Boolean(process.stdin.isTTY)&&!I;NA("minikit-cli update");let Z=AA()==="internal"?process.env.MINIKIT_PRIVATE_REGISTRY??"https://registry.npmjs.org/":process.env.MINIKIT_PUBLIC_REGISTRY??"https://registry.npmjs.org/",D;try{D=await $2({packageName:Xg,currentVersion:a,tag:b,registry:Z,check:I,confirm:G?async()=>{let c=await gA({message:"Install the latest version now?",initialValue:!0});return!x(c)&&c===!0}:void 0})}catch(c){let u=c instanceof Error?c.message:String(c);console.error(`
|
|
443
|
+
Error: could not check for updates. ${u}
|
|
444
|
+
Check your network connection and try again.`),process.exit(1);return}switch(D.status){case"up-to-date":R(D.tag==="latest"?`Already on the latest version (${D.current}).`:`Already on the latest ${D.tag} version (${D.current}).`);return;case"available":L(`channel: ${D.tag}
|
|
445
|
+
current: ${D.current}
|
|
446
|
+
latest: ${D.latest}
|
|
447
|
+
|
|
448
|
+
run: ${D.command}`,"Update available"),R("Run `minikit-cli update` to install.");return;case"cancelled":R("Update cancelled.");return;case"failed":console.error(`
|
|
449
|
+
Error: \`${D.command}\` exited with code ${D.code}. Check that bun can reach the registry.`),process.exit(1);return;case"installed":{L(`${D.current} \u2192 ${D.latest}`,"Updated"),R("CLI updated. Inside a project, run `minikit-cli migrate` to apply the new changes.");return}}}var FD={description:JD,getHelp:mD,execute:jD},gG=FD;var IG=M({id:"update",name:"Update",version:U(),commands:{update:O(gG,{options:[{name:"check",type:"boolean",description:"Report the current vs latest version without installing"},{name:"tag",type:"string",description:"dist-tag / channel to install (defaults to beta for prereleases, else latest)"}]})}});f();CA();zA();s();import{readFile as GG}from"fs/promises";import{join as $I,resolve as LD}from"path";var{write:vG}=globalThis.Bun;var CG={"src/debug/vconsole.ts":"LyoqCiAqIHZDb25zb2xlIOKAlCBvbi1wYWdlIGRlYnVnIGNvbnNvbGUgZm9yIG1vYmlsZSB3ZWJ2aWV3cy4KICoKICogRW5hYmxlZCBpbiBkZXYgYnVpbGRzLCBvciB3aGVuIHRoZSBidWlsZC10aW1lIGZsYWcgVklURV9FTkFCTEVfVkNPTlNPTEUKICogaXMgc2V0IHRvICJ0cnVlIiAoZS5nLiBzdGFnaW5nL1VBVCB3ZWJ2aWV3IGJ1aWxkcykuIFdoZW4gbmVpdGhlciBpcyBzZXQKICogYXQgYnVpbGQgdGltZSwgdGhlIHZjb25zb2xlIGNodW5rIGlzIGRyb3BwZWQgZnJvbSB0aGUgYnVuZGxlLgogKi8KZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXRWQ29uc29sZSgpOiBQcm9taXNlPHZvaWQ+IHsKICBpZiAoCiAgICAhKGltcG9ydC5tZXRhLmVudi5ERVYgfHwgaW1wb3J0Lm1ldGEuZW52LlZJVEVfRU5BQkxFX1ZDT05TT0xFID09PSAidHJ1ZSIpCiAgKSB7CiAgICByZXR1cm47CiAgfQoKICBjb25zdCB7IGRlZmF1bHQ6IFZDb25zb2xlIH0gPSBhd2FpdCBpbXBvcnQoInZjb25zb2xlIik7CiAgbmV3IFZDb25zb2xlKHsgdGhlbWU6ICJkYXJrIiB9KTsKfQ=="};var bG="vconsole";async function hD(A){return await xA(CG,A),!0}async function QD(A){let g=$I(A,"package.json"),I=await ZA(g);if(I.dependencies??={},I.dependencies.vconsole)return!1;return I.dependencies.vconsole=iC,await OA(g,I),!0}async function oD(A){let g=$I(A,"src","main.tsx"),I=await GG(g,"utf8"),C=I;if(!C.includes('from "@/debug/vconsole"'))C=C.replace(`import ErrorBoundary from "@/components/error-boundary";
|
|
450
|
+
`,`import ErrorBoundary from "@/components/error-boundary";
|
|
451
|
+
import { initVConsole } from "@/debug/vconsole";
|
|
452
|
+
`);if(!C.includes("initVConsole();"))C=C.replace('const rootElement = document.getElementById("app");',`void initVConsole();
|
|
453
|
+
|
|
454
|
+
const rootElement = document.getElementById("app");`);if(C!==I)return await vG(g,C),!0;return!1}async function kD(A){let g=$I(A,".env.example"),I;try{I=await GG(g,"utf8")}catch(b){if(t(b))return!1;throw b}if(I.includes("VITE_ENABLE_VCONSOLE"))return!1;let C=[I.trimEnd(),"",'# vConsole debug console: set to "true" to enable in non-dev builds (staging/UAT)',"VITE_ENABLE_VCONSOLE=false",""].join(`
|
|
455
|
+
`);return await vG(g,C),!0}async function AI(A){let g=LD(A.cwd),I=await z(g);if(I&&bA(I,bG))throw new P({code:i.FEATURE_ALREADY_INSTALLED,message:K.ALREADY_INSTALLED("vConsole")});let C=await hD(g),[b,G,v]=await Promise.all([QD(g),oD(g),kD(g)]);if(!A.skipManifestUpdate&&I)await HA(g,{features:[{id:bG,schemaVersion:XA,options:{}}]});return{moduleAdded:C,packageUpdated:b,mainUpdated:G,envExampleUpdated:v}}f();s();var nD="Adds the vConsole debug console to an existing project";function zD(){return`
|
|
456
|
+
Examples:
|
|
457
|
+
$ minikit-cli vconsole:add
|
|
458
|
+
|
|
459
|
+
What this command does:
|
|
460
|
+
- Adds src/debug/vconsole.ts (dev-gated vConsole bootstrap)
|
|
461
|
+
- Adds the vconsole dependency to package.json
|
|
462
|
+
- Wires initVConsole() into src/main.tsx
|
|
463
|
+
- Adds VITE_ENABLE_VCONSOLE=false to .env.example
|
|
464
|
+
|
|
465
|
+
vConsole is enabled in dev builds, or in any build made with
|
|
466
|
+
VITE_ENABLE_VCONSOLE=true (e.g. staging/UAT webview builds).
|
|
467
|
+
`}async function SD(A,g){let I=await z(process.cwd());if(!I&&!await cA(process.cwd()))throw new P({code:i.NOT_A_MINIAPP_PROJECT,message:`"${process.cwd()}" doesn't look like a miniapp project. Run this command from a project root.`});if(I&&bA(I,"vconsole")){R("vConsole is already set up in this project (see .minikit.json features). Nothing to do!");return}await AI({cwd:process.cwd()});let C=LA();C.start("Installing dependencies...");let b=await EA(process.cwd());C.stop(b?"Dependencies installed.":"Dependency installation failed."),R("vConsole ready (button appears in dev builds).")}var sD={description:nD,getHelp:zD,execute:SD},ZG=sD;var DG=M({id:"vconsole",name:"vConsole",version:U(),commands:{"vconsole:add":O(ZG)},contributes:{"create:debug-tool":{id:"vconsole",label:"vConsole (mobile web debugging console)",options:[],async apply(A){await AI({cwd:A.projectDir})}}}});var cG=[rC,G2,D2,L2,n2,E2,r2,IG,DG];function TD(A,g){let I=new Set(A.map((b)=>b.id)),C=[...A];for(let b of g)if(!I.has(b.id))I.add(b.id),C.push(b);return C}var fD=["create","update","migrate"],UD=["docs","help"],MD=new Map([...fD.map((A,g)=>[A,g]),...UD.map((A,g)=>[A,1000+g])]),OD=500;function uG(A){return MD.get(A)??OD}function BG(A,g,I){let C=A.findIndex((b)=>new RegExp(`^\\s{2}${g}\\b`).test(b));if(C===-1)return;A.splice(I==="after"?C+1:C,0,"")}function aD(A,g,I){let C=g.commandDescription(A),b=[...C?[C]:[],`Version: ${A.version()}`,"",""].join(`
|
|
468
|
+
`);A.description("");let G=I(A,g);A.description(C);let v=G.split(`
|
|
469
|
+
`);return BG(v,"migrate","after"),BG(v,"docs","before"),b+v.join(`
|
|
470
|
+
`)}function xD(A){let g=A.createHelp(),I=g.formatHelp.bind(g);A.configureHelp({styleTitle:(C)=>`\x1B[1m${C.toUpperCase()}\x1B[0m`,subcommandTerm:(C)=>C.name(),visibleCommands:(C)=>[...g.visibleCommands(C)].sort((b,G)=>uG(b.name())-uG(G.name())),formatHelp:(C,b)=>C.parent?I(C,b):aD(C,b,I)})}async function ED(){try{return await jC(process.cwd())}catch(A){let g=A instanceof Error?A.message:String(A);if(console.error(`[minikit-cli] plugin discovery failed: ${g}`),process.env.MINIKIT_DEBUG)console.error(A);return[]}}async function pD(){let A=new Ng;A.name(Xg.replace(/^@[^/]+\//,"")).description($A.description).version(a,"-v, --version","Output the version number").helpOption("-h, --help","Display help for command").helpCommand("help [command]","Display help for command").usage("[command] [options]"),xD(A);let g=await ED(),I=TD(cG,g);await LC(I,process.argv,A)}pD().catch((A)=>{if(_A(A)){if(console.error(`${A.code}: ${A.message}`),process.env.MINIKIT_DEBUG&&A.cause)console.error(A.cause);process.exit(A.exitCode)}console.error(A),process.exit(F.ERROR)});
|