@lacneu/atrium 0.19.1 → 0.19.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AccessTab-SACgMGAi.js → AccessTab-DlXLRwUN.js} +1 -1
- package/dist/assets/{AdvancedFilter-D7QXVQ5_.js → AdvancedFilter-GcKYGafW.js} +1 -1
- package/dist/assets/AgentFilesTab-ClqrQ6FL.js +3 -0
- package/dist/assets/AnomaliesTab-B817-fvy.js +1 -0
- package/dist/assets/{AuditTab-B0xwh9EC.js → AuditTab-BuIOG3Jy.js} +1 -1
- package/dist/assets/BridgeTab-BrpHY1vH.js +1 -0
- package/dist/assets/ChatDefaultsTab-BiJe_6Kb.js +1 -0
- package/dist/assets/{DataTableShell-C1ZKbpq3.js → DataTableShell-CXnilHFx.js} +1 -1
- package/dist/assets/{DetailChips-Dg4YEpwe.js → DetailChips-DwhF4wyT.js} +1 -1
- package/dist/assets/FeedbacksTab-Xo97w2yq.js +1 -0
- package/dist/assets/{FieldLabel-X2EAqICh.js → FieldLabel-DszF6BCc.js} +1 -1
- package/dist/assets/FilesTab-fin_A9Kl.js +1 -0
- package/dist/assets/{FilterBar-CSA8xMkl.js → FilterBar-DZweUsOp.js} +1 -1
- package/dist/assets/GroupsTab-wn-dxXIg.js +1 -0
- package/dist/assets/InstancesTab-BfgriPCp.js +1 -0
- package/dist/assets/IntegrationsTab-CknAQ8o3.js +1 -0
- package/dist/assets/{KpiTab-BHkpsXb_.js → KpiTab-_sVoFsUQ.js} +1 -1
- package/dist/assets/PreferencesTab-CrFE2Xny.js +1 -0
- package/dist/assets/{PromptInjectionsTab-ILsAUU_D.js → PromptInjectionsTab-BOdO-Zqo.js} +2 -2
- package/dist/assets/RolesTab-D4pjVazK.js +1 -0
- package/dist/assets/ServiceAccountsTab-DAXUZYQJ.js +1 -0
- package/dist/assets/SubAgentReportsTab-BwoSqlZ2.js +1 -0
- package/dist/assets/ThemeShowroom-BIP8Pxk3.js +1 -0
- package/dist/assets/{TimeRangePicker-CY6cFX3v.js → TimeRangePicker-DatsuATN.js} +1 -1
- package/dist/assets/TracesTab-BhjH9l6x.js +1 -0
- package/dist/assets/UsersTab-B0_VG_cI.js +1 -0
- package/dist/assets/button-Do9b0Kl0.js +1 -0
- package/dist/assets/{card-B60DsQBe.js → card-DtbnXpuR.js} +1 -1
- package/dist/assets/chevrons-up-down-BNHrpyID.js +1 -0
- package/dist/assets/{compatView-BKe3swOt.js → compatView-Be0h8KSS.js} +1 -1
- package/dist/assets/dispatchErrorInfo-CNHPv3Dl.js +1 -0
- package/dist/assets/{dist-CWfWFr7t.js → dist-C4sB9wBS.js} +1 -1
- package/dist/assets/dist-CSHwMvoK.js +44 -0
- package/dist/assets/dist-DbJm5w2u.js +5 -0
- package/dist/assets/dist-DyqGXOsj.js +1 -0
- package/dist/assets/{highlighted-body-OFNGDK62-CVA3g0hA.js → highlighted-body-OFNGDK62-CJvkRtvs.js} +1 -1
- package/dist/assets/{index-DnIjl_W2.css → index-B9tfYPkk.css} +1 -1
- package/dist/assets/index-Djd_7VwF.js +227 -0
- package/dist/assets/mermaid-GHXKKRXX-DmtRrsIr.js +1 -0
- package/dist/assets/roleDescriptions-Me-Y5Y5f.js +1 -0
- package/dist/assets/{table-AFxsandT.js → table-Cr9ARpxr.js} +1 -1
- package/dist/assets/{tabs-9X-5Pgx3.js → tabs-CSXMDWZx.js} +1 -1
- package/dist/assets/x-DxTaDbZb.js +1 -0
- package/dist/index.html +8 -8
- package/package.json +1 -1
- package/dist/assets/AgentFilesTab-DcWaUTsA.js +0 -3
- package/dist/assets/AnomaliesTab-B856xOQY.js +0 -1
- package/dist/assets/BridgeTab-KP5PlAMx.js +0 -1
- package/dist/assets/ChatDefaultsTab-1p-luBRT.js +0 -1
- package/dist/assets/FeedbacksTab-Bg62mK4W.js +0 -1
- package/dist/assets/FilesTab-BiW2j80D.js +0 -1
- package/dist/assets/GroupsTab-CevcyqNU.js +0 -1
- package/dist/assets/InstancesTab-CK-3Nvfy.js +0 -1
- package/dist/assets/IntegrationsTab-Cf2NA4f0.js +0 -1
- package/dist/assets/PreferencesTab-DBxEQcoG.js +0 -1
- package/dist/assets/RolesTab-cg8r2k6J.js +0 -1
- package/dist/assets/ServiceAccountsTab-DV9xE6V0.js +0 -1
- package/dist/assets/SubAgentReportsTab-Cre8FArV.js +0 -1
- package/dist/assets/ThemeShowroom-DxfyV3nj.js +0 -1
- package/dist/assets/TracesTab-C5hnZP3-.js +0 -1
- package/dist/assets/UsersTab-DDINHhFG.js +0 -1
- package/dist/assets/button-DXGXeanX.js +0 -1
- package/dist/assets/chevrons-up-down-CeISPPN2.js +0 -1
- package/dist/assets/dispatchErrorInfo-DekuLV6o.js +0 -1
- package/dist/assets/dist-AH7-HhdT.js +0 -1
- package/dist/assets/dist-By-c_NRB.js +0 -5
- package/dist/assets/dist-BzNYkP4V.js +0 -44
- package/dist/assets/index-CKlFEsq3.js +0 -227
- package/dist/assets/mermaid-GHXKKRXX-BKbfiXDa.js +0 -1
- package/dist/assets/roleDescriptions-BN-dndvd.js +0 -1
- package/dist/assets/x-DQ_CLIEK.js +0 -1
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,l as n,n as r,r as i,t as a}from"./bundle-mjs-C73ZY4La.js";for(var o=[],s=[],c=Uint8Array,l=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,u=0,d=l.length;u<d;++u)o[u]=l[u],s[l.charCodeAt(u)]=u;s[45]=62,s[95]=63;function f(e){var t=e.length;if(t%4>0)throw Error(`Invalid string. Length must be a multiple of 4`);var n=e.indexOf(`=`);n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function p(e,t,n){return(t+n)*3/4-n}function m(e){var t,n=f(e),r=n[0],i=n[1],a=new c(p(e,r,i)),o=0,l=i>0?r-4:r,u;for(u=0;u<l;u+=4)t=s[e.charCodeAt(u)]<<18|s[e.charCodeAt(u+1)]<<12|s[e.charCodeAt(u+2)]<<6|s[e.charCodeAt(u+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=s[e.charCodeAt(u)]<<2|s[e.charCodeAt(u+1)]>>4,a[o++]=t&255),i===1&&(t=s[e.charCodeAt(u)]<<10|s[e.charCodeAt(u+1)]<<4|s[e.charCodeAt(u+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function h(e){return o[e>>18&63]+o[e>>12&63]+o[e>>6&63]+o[e&63]}function g(e,t,n){for(var r,i=[],a=t;a<n;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(h(r));return i.join(``)}function _(e){for(var t,n=e.length,r=n%3,i=[],a=16383,s=0,c=n-r;s<c;s+=a)i.push(g(e,s,s+a>c?c:s+a));return r===1?(t=e[n-1],i.push(o[t>>2]+o[t<<4&63]+`==`)):r===2&&(t=(e[n-2]<<8)+e[n-1],i.push(o[t>>10]+o[t>>4&63]+o[t<<2&63]+`=`)),i.join(``)}function v(e){if(e===void 0)return{};if(!te(e))throw Error(`The arguments to a Convex function must be an object. Received: ${e}`);return e}function ee(e){if(e===void 0)throw Error(`Client created with undefined deployment address. If you used an environment variable, check that it's set.`);if(typeof e!=`string`)throw Error(`Invalid deployment address: found ${e}".`);if(!(e.startsWith(`http:`)||e.startsWith(`https:`)))throw Error(`Invalid deployment address: Must start with "https://" or "http://". Found "${e}".`);try{new URL(e)}catch{throw Error(`Invalid deployment address: "${e}" is not a valid URL. If you believe this URL is correct, use the \`skipConvexDeploymentUrlCheck\` option to bypass this.`)}if(e.endsWith(`.convex.site`))throw Error(`Invalid deployment address: "${e}" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \`skipConvexDeploymentUrlCheck\` option to bypass this.`)}function te(e){let t=typeof e==`object`,n=Object.getPrototypeOf(e),r=n===null||n===Object.prototype||n?.constructor?.name===`Object`;return t&&r}var ne=!0,y=BigInt(`-9223372036854775808`),b=BigInt(`9223372036854775807`),re=BigInt(`0`),ie=BigInt(`8`),ae=BigInt(`256`);function oe(e){return Number.isNaN(e)||!Number.isFinite(e)||Object.is(e,-0)}function se(e){e<re&&(e-=y+y);let t=e.toString(16);t.length%2==1&&(t=`0`+t);let n=new Uint8Array(new ArrayBuffer(8)),r=0;for(let i of t.match(/.{2}/g).reverse())n.set([parseInt(i,16)],r++),e>>=ie;return _(n)}function ce(e){let t=m(e);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);let n=re,r=re;for(let e of t)n+=BigInt(e)*ae**r,r++;return n>b&&(n+=y+y),n}function le(e){if(e<y||b<e)throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);let t=new ArrayBuffer(8);return new DataView(t).setBigInt64(0,e,!0),_(new Uint8Array(t))}function ue(e){let t=m(e);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);return new DataView(t.buffer).getBigInt64(0,!0)}var de=DataView.prototype.setBigInt64?le:se,fe=DataView.prototype.getBigInt64?ue:ce,pe=1024;function me(e){if(e.length>pe)throw Error(`Field name ${e} exceeds maximum field name length ${pe}.`);if(e.startsWith(`$`))throw Error(`Field name ${e} starts with a '$', which is reserved.`);for(let t=0;t<e.length;t+=1){let n=e.charCodeAt(t);if(n<32||n>=127)throw Error(`Field name ${e} has invalid character '${e[t]}': Field names can only contain non-control ASCII characters`)}}function x(e){if(e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`)return e;if(Array.isArray(e))return e.map(e=>x(e));if(typeof e!=`object`)throw Error(`Unexpected type of ${e}`);let t=Object.entries(e);if(t.length===1){let n=t[0][0];if(n===`$bytes`){if(typeof e.$bytes!=`string`)throw Error(`Malformed $bytes field on ${e}`);return m(e.$bytes).buffer}if(n===`$integer`){if(typeof e.$integer!=`string`)throw Error(`Malformed $integer field on ${e}`);return fe(e.$integer)}if(n===`$float`){if(typeof e.$float!=`string`)throw Error(`Malformed $float field on ${e}`);let t=m(e.$float);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $float`);let n=new DataView(t.buffer).getFloat64(0,ne);if(!oe(n))throw Error(`Float ${n} should be encoded as a number`);return n}if(n===`$set`)throw Error(`Received a Set which is no longer supported as a Convex type.`);if(n===`$map`)throw Error(`Received a Map which is no longer supported as a Convex type.`)}let n={};for(let[t,r]of Object.entries(e))me(t),n[t]=x(r);return n}var he=16384;function S(e){let t=JSON.stringify(e,(e,t)=>t===void 0?`undefined`:typeof t==`bigint`?`${t.toString()}n`:t);if(t.length>he){let e=he-14,n=t.codePointAt(e-1);return n!==void 0&&n>65535&&--e,t.substring(0,e)+`[...truncated]`}return t}function ge(e,t,n,r){if(e===void 0){let e=n&&` (present at path ${n} in original object ${S(t)})`;throw Error(`undefined is not a valid Convex value${e}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`)}if(e===null)return e;if(typeof e==`bigint`){if(e<y||b<e)throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);return{$integer:de(e)}}if(typeof e==`number`)if(oe(e)){let t=new ArrayBuffer(8);return new DataView(t).setFloat64(0,e,ne),{$float:_(new Uint8Array(t))}}else return e;if(typeof e==`boolean`||typeof e==`string`)return e;if(e instanceof ArrayBuffer)return{$bytes:_(new Uint8Array(e))};if(Array.isArray(e))return e.map((e,r)=>ge(e,t,n+`[${r}]`,!1));if(e instanceof Set)throw Error(_e(n,`Set`,[...e],t));if(e instanceof Map)throw Error(_e(n,`Map`,[...e],t));if(!te(e)){let r=e?.constructor?.name,i=r?`${r} `:``;throw Error(_e(n,i,e,t))}let i={},a=Object.entries(e);a.sort(([e,t],[n,r])=>e===n?0:e<n?-1:1);for(let[e,o]of a)o===void 0?r&&(me(e),i[e]=ve(o,t,n+`.${e}`)):(me(e),i[e]=ge(o,t,n+`.${e}`,!1));return i}function _e(e,t,n,r){return e?`${t}${S(n)} is not a supported Convex type (present at path ${e} in original object ${S(r)}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.`:`${t}${S(n)} is not a supported Convex type.`}function ve(e,t,n){if(e===void 0)return{$undefined:null};if(t===void 0)throw Error(`Programming error. Current value is ${S(e)} but original value is undefined`);return ge(e,t,n,!1)}function C(e){return ge(e,e,``,!1)}var w=n(e(),1),ye=Object.defineProperty,be=(e,t,n)=>t in e?ye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,T=(e,t,n)=>be(e,typeof t==`symbol`?t:t+``,n),xe=`https://docs.convex.dev/error#undefined-validator`;function E(e,t){let n=t===void 0?``:` for field "${t}"`;throw Error(`A validator is undefined${n} in ${e}. This is often caused by circular imports. See ${xe} for details.`)}var D=class{constructor({isOptional:e}){T(this,`type`),T(this,`fieldPaths`),T(this,`isOptional`),T(this,`isConvexValidator`),this.isOptional=e,this.isConvexValidator=!0}},Se=class e extends D{constructor({isOptional:e,tableName:t}){if(super({isOptional:e}),T(this,`tableName`),T(this,`kind`,`id`),typeof t!=`string`)throw Error(`v.id(tableName) requires a string`);this.tableName=t}get json(){return{type:`id`,tableName:this.tableName}}asOptional(){return new e({isOptional:`optional`,tableName:this.tableName})}},Ce=class e extends D{constructor(){super(...arguments),T(this,`kind`,`float64`)}get json(){return{type:`number`}}asOptional(){return new e({isOptional:`optional`})}},we=class e extends D{constructor(){super(...arguments),T(this,`kind`,`int64`)}get json(){return{type:`bigint`}}asOptional(){return new e({isOptional:`optional`})}},Te=class e extends D{constructor(){super(...arguments),T(this,`kind`,`boolean`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},Ee=class e extends D{constructor(){super(...arguments),T(this,`kind`,`bytes`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},De=class e extends D{constructor(){super(...arguments),T(this,`kind`,`string`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},Oe=class e extends D{constructor(){super(...arguments),T(this,`kind`,`null`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},ke=class e extends D{constructor(){super(...arguments),T(this,`kind`,`any`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},Ae=class e extends D{constructor({isOptional:e,fields:t}){super({isOptional:e}),T(this,`fields`),T(this,`kind`,`object`),globalThis.Object.entries(t).forEach(([e,t])=>{if(t===void 0&&E(`v.object()`,e),!t.isConvexValidator)throw Error(`v.object() entries must be validators`)}),this.fields=t}get json(){return{type:this.kind,value:globalThis.Object.fromEntries(globalThis.Object.entries(this.fields).map(([e,t])=>[e,{fieldType:t.json,optional:t.isOptional===`optional`}]))}}asOptional(){return new e({isOptional:`optional`,fields:this.fields})}omit(...t){let n={...this.fields};for(let e of t)delete n[e];return new e({isOptional:this.isOptional,fields:n})}pick(...t){let n={};for(let e of t)n[e]=this.fields[e];return new e({isOptional:this.isOptional,fields:n})}partial(){let t={};for(let[e,n]of globalThis.Object.entries(this.fields))t[e]=n.asOptional();return new e({isOptional:this.isOptional,fields:t})}extend(t){return new e({isOptional:this.isOptional,fields:{...this.fields,...t}})}},je=class e extends D{constructor({isOptional:e,value:t}){if(super({isOptional:e}),T(this,`value`),T(this,`kind`,`literal`),typeof t!=`string`&&typeof t!=`boolean`&&typeof t!=`number`&&typeof t!=`bigint`)throw Error(`v.literal(value) must be a string, number, or boolean`);this.value=t}get json(){return{type:this.kind,value:C(this.value)}}asOptional(){return new e({isOptional:`optional`,value:this.value})}},Me=class e extends D{constructor({isOptional:e,element:t}){super({isOptional:e}),T(this,`element`),T(this,`kind`,`array`),t===void 0&&E(`v.array()`),this.element=t}get json(){return{type:this.kind,value:this.element.json}}asOptional(){return new e({isOptional:`optional`,element:this.element})}},Ne=class e extends D{constructor({isOptional:e,key:t,value:n}){if(super({isOptional:e}),T(this,`key`),T(this,`value`),T(this,`kind`,`record`),t===void 0&&E(`v.record()`,`key`),n===void 0&&E(`v.record()`,`value`),t.isOptional===`optional`)throw Error(`Record validator cannot have optional keys`);if(n.isOptional===`optional`)throw Error(`Record validator cannot have optional values`);if(!t.isConvexValidator||!n.isConvexValidator)throw Error(`Key and value of v.record() but be validators`);this.key=t,this.value=n}get json(){return{type:this.kind,keys:this.key.json,values:{fieldType:this.value.json,optional:!1}}}asOptional(){return new e({isOptional:`optional`,key:this.key,value:this.value})}},Pe=class e extends D{constructor({isOptional:e,members:t}){super({isOptional:e}),T(this,`members`),T(this,`kind`,`union`),t.forEach((e,t)=>{if(e===void 0&&E(`v.union()`,`member at index ${t}`),!e.isConvexValidator)throw Error(`All members of v.union() must be validators`)}),this.members=t}get json(){return{type:this.kind,value:this.members.map(e=>e.json)}}asOptional(){return new e({isOptional:`optional`,members:this.members})}},Fe={id:e=>new Se({isOptional:`required`,tableName:e}),null:()=>new Oe({isOptional:`required`}),number:()=>new Ce({isOptional:`required`}),float64:()=>new Ce({isOptional:`required`}),bigint:()=>new we({isOptional:`required`}),int64:()=>new we({isOptional:`required`}),boolean:()=>new Te({isOptional:`required`}),string:()=>new De({isOptional:`required`}),bytes:()=>new Ee({isOptional:`required`}),literal:e=>new je({isOptional:`required`,value:e}),array:e=>new Me({isOptional:`required`,element:e}),object:e=>new Ae({isOptional:`required`,fields:e}),record:(e,t)=>new Ne({isOptional:`required`,key:e,value:t}),union:(...e)=>new Pe({isOptional:`required`,members:e}),any:()=>new ke({isOptional:`required`}),optional:e=>e.asOptional(),nullable:e=>Fe.union(e,Fe.null())},Ie=Object.defineProperty,Le=(e,t,n)=>t in e?Ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Re=(e,t,n)=>Le(e,typeof t==`symbol`?t:t+``,n),ze,Be,Ve=Symbol.for(`ConvexError`),He=class extends (Be=Error,ze=Ve,Be){constructor(e){super(typeof e==`string`?e:S(e)),Re(this,`name`,`ConvexError`),Re(this,`data`),Re(this,ze,!0),this.data=e}},Ue=`1.40.0`,We=Object.defineProperty,Ge=(e,t,n)=>t in e?We(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ke=(e,t,n)=>Ge(e,typeof t==`symbol`?t:t+``,n),qe=`color:rgb(0, 145, 255)`;function Je(e){switch(e){case`query`:return`Q`;case`mutation`:return`M`;case`action`:return`A`;case`any`:return`?`}}var Ye=class{constructor(e){Ke(this,`_onLogLineFuncs`),Ke(this,`_verbose`),this._onLogLineFuncs={},this._verbose=e.verbose}addLogLineListener(e){let t=Math.random().toString(36).substring(2,15);for(let e=0;e<10&&this._onLogLineFuncs[t]!==void 0;e++)t=Math.random().toString(36).substring(2,15);return this._onLogLineFuncs[t]=e,()=>{delete this._onLogLineFuncs[t]}}logVerbose(...e){if(this._verbose)for(let t of Object.values(this._onLogLineFuncs))t(`debug`,`${new Date().toISOString()}`,...e)}log(...e){for(let t of Object.values(this._onLogLineFuncs))t(`info`,...e)}warn(...e){for(let t of Object.values(this._onLogLineFuncs))t(`warn`,...e)}error(...e){for(let t of Object.values(this._onLogLineFuncs))t(`error`,...e)}};function Xe(e){let t=new Ye(e);return t.addLogLineListener((e,...t)=>{switch(e){case`debug`:console.debug(...t);break;case`info`:console.log(...t);break;case`warn`:console.warn(...t);break;case`error`:console.error(...t);break;default:console.log(...t)}}),t}function Ze(e){return new Ye(e)}function Qe(e,t,n,r,i){let a=Je(n);if(typeof i==`object`&&(i=`ConvexError ${JSON.stringify(i.errorData,null,2)}`),t===`info`){let t=i.match(/^\[.*?\] /);if(t===null){e.error(`[CONVEX ${a}(${r})] Could not parse console.log`);return}let n=i.slice(1,t[0].length-2),o=i.slice(t[0].length);e.log(`%c[CONVEX ${a}(${r})] [${n}]`,qe,o)}else e.error(`[CONVEX ${a}(${r})] ${i}`)}function $e(e,t){let n=`[CONVEX FATAL ERROR] ${t}`;return e.error(n),Error(n)}function O(e,t,n){return`[CONVEX ${Je(e)}(${t})] ${n.errorMessage}
|
|
2
|
-
Called by client`}function et(e,t){return t.data=e.errorData,t}function k(e){let t=e.split(`:`),n,r;return t.length===1?(n=t[0],r=`default`):(n=t.slice(0,t.length-1).join(`:`),r=t[t.length-1]),n.endsWith(`.js`)&&(n=n.slice(0,-3)),`${n}:${r}`}function A(e,t){return JSON.stringify({udfPath:k(e),args:C(t)})}function tt(e,t,n){let{initialNumItems:r,id:i}=n;return JSON.stringify({type:`paginated`,udfPath:k(e),args:C(t),options:C({initialNumItems:r,id:i})})}var nt=Object.defineProperty,rt=(e,t,n)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,j=(e,t,n)=>rt(e,typeof t==`symbol`?t:t+``,n),it=class{constructor(){j(this,`nextQueryId`),j(this,`querySetVersion`),j(this,`querySet`),j(this,`queryIdToToken`),j(this,`identityVersion`),j(this,`auth`),j(this,`outstandingQueriesOlderThanRestart`),j(this,`outstandingAuthOlderThanRestart`),j(this,`paused`),j(this,`pendingQuerySetModifications`),this.nextQueryId=0,this.querySetVersion=0,this.identityVersion=0,this.querySet=new Map,this.queryIdToToken=new Map,this.outstandingQueriesOlderThanRestart=new Set,this.outstandingAuthOlderThanRestart=!1,this.paused=!1,this.pendingQuerySetModifications=new Map}hasSyncedPastLastReconnect(){return this.outstandingQueriesOlderThanRestart.size===0&&!this.outstandingAuthOlderThanRestart}markAuthCompletion(){this.outstandingAuthOlderThanRestart=!1}subscribe(e,t,n,r){let i=k(e),a=A(i,t),o=this.querySet.get(a);if(o!==void 0)return o.numSubscribers+=1,{queryToken:a,modification:null,unsubscribe:()=>this.removeSubscriber(a)};{let e=this.nextQueryId++,o={id:e,canonicalizedUdfPath:i,args:t,numSubscribers:1,journal:n,componentPath:r};this.querySet.set(a,o),this.queryIdToToken.set(e,a);let s=this.querySetVersion,c=this.querySetVersion+1,l={type:`Add`,queryId:e,udfPath:i,args:[C(t)],journal:n,componentPath:r};return this.paused?this.pendingQuerySetModifications.set(e,l):this.querySetVersion=c,{queryToken:a,modification:{type:`ModifyQuerySet`,baseVersion:s,newVersion:c,modifications:[l]},unsubscribe:()=>this.removeSubscriber(a)}}}transition(e){for(let t of e.modifications)switch(t.type){case`QueryUpdated`:case`QueryFailed`:{this.outstandingQueriesOlderThanRestart.delete(t.queryId);let e=t.journal;if(e!==void 0){let n=this.queryIdToToken.get(t.queryId);n!==void 0&&(this.querySet.get(n).journal=e)}break}case`QueryRemoved`:this.outstandingQueriesOlderThanRestart.delete(t.queryId);break;default:throw Error(`Invalid modification ${t.type}`)}}queryId(e,t){let n=A(k(e),t),r=this.querySet.get(n);return r===void 0?null:r.id}isCurrentOrNewerAuthVersion(e){return e>=this.identityVersion}getAuth(){return this.auth}setAuth(e){this.auth={tokenType:`User`,value:e};let t=this.identityVersion;return this.paused||(this.identityVersion=t+1),{type:`Authenticate`,baseVersion:t,...this.auth}}setAdminAuth(e,t){let n={tokenType:`Admin`,value:e,impersonating:t};this.auth=n;let r=this.identityVersion;return this.paused||(this.identityVersion=r+1),{type:`Authenticate`,baseVersion:r,...n}}clearAuth(){this.auth=void 0,this.markAuthCompletion();let e=this.identityVersion;return this.paused||(this.identityVersion=e+1),{type:`Authenticate`,tokenType:`None`,baseVersion:e}}hasAuth(){return!!this.auth}isNewAuth(e){return this.auth?.value!==e}queryPath(e){let t=this.queryIdToToken.get(e);return t?this.querySet.get(t).canonicalizedUdfPath:null}queryArgs(e){let t=this.queryIdToToken.get(e);return t?this.querySet.get(t).args:null}queryToken(e){return this.queryIdToToken.get(e)??null}queryJournal(e){return this.querySet.get(e)?.journal}restart(){this.unpause(),this.outstandingQueriesOlderThanRestart.clear();let e=[];for(let t of this.querySet.values()){let n={type:`Add`,queryId:t.id,udfPath:t.canonicalizedUdfPath,args:[C(t.args)],journal:t.journal,componentPath:t.componentPath};e.push(n),this.outstandingQueriesOlderThanRestart.add(t.id)}this.querySetVersion=1;let t={type:`ModifyQuerySet`,baseVersion:0,newVersion:1,modifications:e};if(!this.auth)return this.identityVersion=0,[t,void 0];this.outstandingAuthOlderThanRestart=!0;let n={type:`Authenticate`,baseVersion:0,...this.auth};return this.identityVersion=1,[t,n]}pause(){this.paused=!0}resume(){let e=this.pendingQuerySetModifications.size>0?{type:`ModifyQuerySet`,baseVersion:this.querySetVersion,newVersion:++this.querySetVersion,modifications:Array.from(this.pendingQuerySetModifications.values())}:void 0,t=this.auth===void 0?void 0:{type:`Authenticate`,baseVersion:this.identityVersion++,...this.auth};return this.unpause(),[e,t]}unpause(){this.paused=!1,this.pendingQuerySetModifications.clear()}removeSubscriber(e){let t=this.querySet.get(e);if(t.numSubscribers>1)return--t.numSubscribers,null;{this.querySet.delete(e),this.queryIdToToken.delete(t.id),this.outstandingQueriesOlderThanRestart.delete(t.id);let n=this.querySetVersion,r=this.querySetVersion+1,i={type:`Remove`,queryId:t.id};return this.paused?this.pendingQuerySetModifications.has(t.id)?this.pendingQuerySetModifications.delete(t.id):this.pendingQuerySetModifications.set(t.id,i):this.querySetVersion=r,{type:`ModifyQuerySet`,baseVersion:n,newVersion:r,modifications:[i]}}}},at=Object.defineProperty,ot=(e,t,n)=>t in e?at(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,st=(e,t,n)=>ot(e,typeof t==`symbol`?t:t+``,n),ct=class{constructor(e,t){this.logger=e,this.markConnectionStateDirty=t,st(this,`inflightRequests`),st(this,`requestsOlderThanRestart`),st(this,`inflightMutationsCount`,0),st(this,`inflightActionsCount`,0),this.inflightRequests=new Map,this.requestsOlderThanRestart=new Set}request(e,t){let n=new Promise(n=>{let r=t?`Requested`:`NotSent`;this.inflightRequests.set(e.requestId,{message:e,status:{status:r,requestedAt:new Date,onResult:n}}),e.type===`Mutation`?this.inflightMutationsCount++:e.type===`Action`&&this.inflightActionsCount++});return this.markConnectionStateDirty(),n}onResponse(e){let t=this.inflightRequests.get(e.requestId);if(t===void 0||t.status.status===`Completed`)return null;let n=t.message.type===`Mutation`?`mutation`:`action`,r=t.message.udfPath;for(let t of e.logLines)Qe(this.logger,`info`,n,r,t);let i=t.status,a,o;if(e.success)a={success:!0,logLines:e.logLines,value:x(e.result)},o=()=>i.onResult(a);else{let t=e.result,{errorData:s}=e;Qe(this.logger,`error`,n,r,t),a={success:!1,errorMessage:t,errorData:s===void 0?void 0:x(s),logLines:e.logLines},o=()=>i.onResult(a)}return e.type===`ActionResponse`||!e.success?(o(),this.inflightRequests.delete(e.requestId),this.requestsOlderThanRestart.delete(e.requestId),t.message.type===`Action`?this.inflightActionsCount--:t.message.type===`Mutation`&&this.inflightMutationsCount--,this.markConnectionStateDirty(),{requestId:e.requestId,result:a}):(t.status={status:`Completed`,result:a,ts:e.ts,onResolve:o},null)}removeCompleted(e){let t=new Map;for(let[n,r]of this.inflightRequests.entries()){let i=r.status;i.status===`Completed`&&i.ts.lessThanOrEqual(e)&&(i.onResolve(),t.set(n,i.result),r.message.type===`Mutation`?this.inflightMutationsCount--:r.message.type===`Action`&&this.inflightActionsCount--,this.inflightRequests.delete(n),this.requestsOlderThanRestart.delete(n))}return t.size>0&&this.markConnectionStateDirty(),t}restart(){this.requestsOlderThanRestart=new Set(this.inflightRequests.keys());let e=[];for(let[t,n]of this.inflightRequests){if(n.status.status===`NotSent`){n.status.status=`Requested`,e.push(n.message);continue}if(n.message.type===`Mutation`)e.push(n.message);else if(n.message.type===`Action`){if(this.inflightRequests.delete(t),this.requestsOlderThanRestart.delete(t),this.inflightActionsCount--,n.status.status===`Completed`)throw Error(`Action should never be in 'Completed' state`);n.status.onResult({success:!1,errorMessage:`Connection lost while action was in flight`,logLines:[]})}}return this.markConnectionStateDirty(),e}resume(){let e=[];for(let[,t]of this.inflightRequests)if(t.status.status===`NotSent`){t.status.status=`Requested`,e.push(t.message);continue}return e}hasIncompleteRequests(){for(let e of this.inflightRequests.values())if(e.status.status===`Requested`)return!0;return!1}hasInflightRequests(){return this.inflightRequests.size>0}hasSyncedPastLastReconnect(){return this.requestsOlderThanRestart.size===0}timeOfOldestInflightRequest(){if(this.inflightRequests.size===0)return null;let e=Date.now();for(let t of this.inflightRequests.values())t.status.status!==`Completed`&&t.status.requestedAt.getTime()<e&&(e=t.status.requestedAt.getTime());return new Date(e)}inflightMutations(){return this.inflightMutationsCount}inflightActions(){return this.inflightActionsCount}},M=Symbol.for(`functionName`),lt=Symbol.for(`toReferencePath`);function ut(e){return e[lt]??null}function dt(e){return e.startsWith(`function://`)}function ft(e){let t;if(typeof e==`string`)t=dt(e)?{functionHandle:e}:{name:e};else if(e[M])t={name:e[M]};else{let n=ut(e);if(!n)throw Error(`${e} is not a functionReference`);t={reference:n}}return t}function N(e){let t=ft(e);if(t.name===void 0)throw t.functionHandle===void 0?t.reference===void 0?Error(`Expected function reference like "api.file.func" or "internal.file.func", but received ${JSON.stringify(t)}`):Error(`Expected function reference in the current component like "api.file.func" or "internal.file.func", but received reference ${t.reference}`):Error(`Expected function reference like "api.file.func" or "internal.file.func", but received function handle ${t.functionHandle}`);if(typeof e==`string`)return e;let n=e[M];if(!n)throw Error(`${e} is not a functionReference`);return n}function pt(e){return{[M]:e}}function mt(e=[]){return new Proxy({},{get(t,n){if(typeof n==`string`)return mt([...e,n]);if(n===M){if(e.length<2){let t=[`api`,...e].join(`.`);throw Error(`API path is expected to be of the form \`api.moduleName.functionName\`. Found: \`${t}\``)}let t=e.slice(0,-1).join(`/`),n=e[e.length-1];return n==="default"?t:t+`:`+n}else if(n===Symbol.toStringTag)return`FunctionReference`;else return}})}var ht=mt(),gt=Object.defineProperty,_t=(e,t,n)=>t in e?gt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vt=(e,t,n)=>_t(e,typeof t==`symbol`?t:t+``,n),yt=class e{constructor(e){vt(this,`queryResults`),vt(this,`modifiedQueries`),this.queryResults=e,this.modifiedQueries=[]}getQuery(t,...n){let r=v(n[0]),i=N(t),a=this.queryResults.get(A(i,r));if(a!==void 0)return e.queryValue(a.result)}getAllQueries(t){let n=[],r=N(t);for(let t of this.queryResults.values())t.udfPath===k(r)&&n.push({args:t.args,value:e.queryValue(t.result)});return n}setQuery(e,t,n){let r=v(t),i=N(e),a=A(i,r),o;o=n===void 0?void 0:{success:!0,value:n,logLines:[]};let s={udfPath:i,args:r,result:o};this.queryResults.set(a,s),this.modifiedQueries.push(a)}static queryValue(e){if(e!==void 0&&e.success)return e.value}},bt=class{constructor(){vt(this,`queryResults`),vt(this,`optimisticUpdates`),this.queryResults=new Map,this.optimisticUpdates=[]}ingestQueryResultsFromServer(e,t){this.optimisticUpdates=this.optimisticUpdates.filter(e=>!t.has(e.mutationId));let n=this.queryResults;this.queryResults=new Map(e);let r=new yt(this.queryResults);for(let e of this.optimisticUpdates)e.update(r);let i=[];for(let[e,t]of this.queryResults){let r=n.get(e);(r===void 0||r.result!==t.result)&&i.push(e)}return i}applyOptimisticUpdate(e,t){this.optimisticUpdates.push({update:e,mutationId:t});let n=new yt(this.queryResults);return e(n),n.modifiedQueries}rawQueryResult(e){let t=this.queryResults.get(e);if(t!==void 0)return t.result}queryResult(e){let t=this.queryResults.get(e);if(t===void 0)return;let n=t.result;if(n!==void 0){if(n.success)return n.value;throw n.errorData===void 0?Error(O(`query`,t.udfPath,n)):et(n,new He(O(`query`,t.udfPath,n)))}}hasQueryResult(e){return this.queryResults.get(e)!==void 0}queryLogs(e){return this.queryResults.get(e)?.result?.logLines}},xt=Object.defineProperty,St=(e,t,n)=>t in e?xt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ct=(e,t,n)=>St(e,typeof t==`symbol`?t:t+``,n),P=class e{constructor(e,t){Ct(this,`low`),Ct(this,`high`),Ct(this,`__isUnsignedLong__`),this.low=e|0,this.high=t|0,this.__isUnsignedLong__=!0}static isLong(e){return(e&&e.__isUnsignedLong__)===!0}static fromBytesLE(t){return new e(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24)}toBytesLE(){let e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]}static fromNumber(t){return isNaN(t)||t<0?wt:t>=Et?Dt:new e(t%F|0,t/F|0)}toString(){return(BigInt(this.high)*BigInt(F)+BigInt(this.low)).toString()}equals(t){return e.isLong(t)||(t=e.fromValue(t)),this.high>>>31==1&&t.high>>>31==1?!1:this.high===t.high&&this.low===t.low}notEquals(e){return!this.equals(e)}comp(t){return e.isLong(t)||(t=e.fromValue(t)),this.equals(t)?0:t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1}lessThanOrEqual(e){return this.comp(e)<=0}static fromValue(t){return typeof t==`number`?e.fromNumber(t):new e(t.low,t.high)}},wt=new P(0,0),Tt=65536,F=Tt*Tt,Et=F*F,Dt=new P(-1,-1),Ot=Object.defineProperty,kt=(e,t,n)=>t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,At=(e,t,n)=>kt(e,typeof t==`symbol`?t:t+``,n),jt=class{constructor(e,t){At(this,`version`),At(this,`remoteQuerySet`),At(this,`queryPath`),At(this,`logger`),this.version={querySet:0,ts:P.fromNumber(0),identity:0},this.remoteQuerySet=new Map,this.queryPath=e,this.logger=t}transition(e){let t=e.startVersion;if(this.version.querySet!==t.querySet||this.version.ts.notEquals(t.ts)||this.version.identity!==t.identity)throw Error(`Invalid start version: ${t.ts.toString()}:${t.querySet}:${t.identity}, transitioning from ${this.version.ts.toString()}:${this.version.querySet}:${this.version.identity}`);for(let t of e.modifications)switch(t.type){case`QueryUpdated`:{let e=this.queryPath(t.queryId);if(e)for(let n of t.logLines)Qe(this.logger,`info`,`query`,e,n);let n=x(t.value??null);this.remoteQuerySet.set(t.queryId,{success:!0,value:n,logLines:t.logLines});break}case`QueryFailed`:{let e=this.queryPath(t.queryId);if(e)for(let n of t.logLines)Qe(this.logger,`info`,`query`,e,n);let{errorData:n}=t;this.remoteQuerySet.set(t.queryId,{success:!1,errorMessage:t.errorMessage,errorData:n===void 0?void 0:x(n),logLines:t.logLines});break}case`QueryRemoved`:this.remoteQuerySet.delete(t.queryId);break;default:throw Error(`Invalid modification ${t.type}`)}this.version=e.endVersion}remoteQueryResults(){return this.remoteQuerySet}timestamp(){return this.version.ts}};function Mt(e){let t=m(e);return P.fromBytesLE(Array.from(t))}function Nt(e){return _(new Uint8Array(e.toBytesLE()))}function Pt(e){switch(e.type){case`FatalError`:case`AuthError`:case`ActionResponse`:case`TransitionChunk`:case`Ping`:return{...e};case`MutationResponse`:return e.success?{...e,ts:Mt(e.ts)}:{...e};case`Transition`:return{...e,startVersion:{...e.startVersion,ts:Mt(e.startVersion.ts)},endVersion:{...e.endVersion,ts:Mt(e.endVersion.ts)}};default:}}function Ft(e){switch(e.type){case`Authenticate`:case`ModifyQuerySet`:case`Mutation`:case`Action`:case`Event`:return{...e};case`Connect`:return e.maxObservedTimestamp===void 0?{...e,maxObservedTimestamp:void 0}:{...e,maxObservedTimestamp:Nt(e.maxObservedTimestamp)};default:}}var It=Object.defineProperty,Lt=(e,t,n)=>t in e?It(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,I=(e,t,n)=>Lt(e,typeof t==`symbol`?t:t+``,n),Rt=1e3,zt=1001,Bt=1005,Vt=4040,Ht;function L(){return Ht===void 0&&(Ht=Date.now()),typeof performance>`u`||!performance.now?Date.now():Math.round(Ht+performance.now())}function Ut(){return`t=${Math.round((L()-Ht)/100)/10}s`}var Wt={InternalServerError:{timeout:1e3},SubscriptionsWorkerFullError:{timeout:3e3},TooManyConcurrentRequests:{timeout:3e3},CommitterFullError:{timeout:3e3},AwsTooManyRequestsException:{timeout:3e3},ExecuteFullError:{timeout:3e3},SystemTimeoutError:{timeout:3e3},ExpiredInQueue:{timeout:3e3},VectorIndexesUnavailable:{timeout:1e3},SearchIndexesUnavailable:{timeout:1e3},TableSummariesUnavailable:{timeout:1e3},VectorIndexTooLarge:{timeout:3e3},SearchIndexTooLarge:{timeout:3e3},TooManyWritesInTimePeriod:{timeout:3e3}};function Gt(e){if(e===void 0)return`Unknown`;for(let t of Object.keys(Wt))if(e.startsWith(t))return t;return`Unknown`}var Kt=class{constructor(e,t,n,r,i,a){this.markConnectionStateDirty=i,this.debug=a,I(this,`socket`),I(this,`connectionCount`),I(this,`_hasEverConnected`,!1),I(this,`lastCloseReason`),I(this,`transitionChunkBuffer`,null),I(this,`defaultInitialBackoff`),I(this,`maxBackoff`),I(this,`retries`),I(this,`serverInactivityThreshold`),I(this,`reconnectDueToServerInactivityTimeout`),I(this,`scheduledReconnect`,null),I(this,`networkOnlineHandler`,null),I(this,`pendingNetworkRecoveryInfo`,null),I(this,`uri`),I(this,`onOpen`),I(this,`onResume`),I(this,`onMessage`),I(this,`webSocketConstructor`),I(this,`logger`),I(this,`onServerDisconnectError`),this.webSocketConstructor=n,this.socket={state:`disconnected`},this.connectionCount=0,this.lastCloseReason=`InitialConnect`,this.defaultInitialBackoff=1e3,this.maxBackoff=16e3,this.retries=0,this.serverInactivityThreshold=6e4,this.reconnectDueToServerInactivityTimeout=null,this.uri=e,this.onOpen=t.onOpen,this.onResume=t.onResume,this.onMessage=t.onMessage,this.onServerDisconnectError=t.onServerDisconnectError,this.logger=r,this.setupNetworkListener(),this.connect()}setSocketState(e){this.socket=e,this._logVerbose(`socket state changed: ${this.socket.state}, paused: ${`paused`in this.socket?this.socket.paused:void 0}`),this.markConnectionStateDirty()}setupNetworkListener(){typeof window>`u`||typeof window.addEventListener!=`function`||this.networkOnlineHandler===null&&(this.networkOnlineHandler=()=>{this._logVerbose(`network online event detected`),this.tryReconnectImmediately()},window.addEventListener(`online`,this.networkOnlineHandler),this._logVerbose(`network online event listener registered`))}cleanupNetworkListener(){this.networkOnlineHandler&&typeof window<`u`&&typeof window.removeEventListener==`function`&&(window.removeEventListener(`online`,this.networkOnlineHandler),this.networkOnlineHandler=null,this._logVerbose(`network online event listener removed`))}assembleTransition(e){if(e.partNumber<0||e.partNumber>=e.totalParts||e.totalParts===0||this.transitionChunkBuffer&&(this.transitionChunkBuffer.totalParts!==e.totalParts||this.transitionChunkBuffer.transitionId!==e.transitionId))throw this.transitionChunkBuffer=null,Error(`Invalid TransitionChunk`);if(this.transitionChunkBuffer===null&&(this.transitionChunkBuffer={chunks:[],totalParts:e.totalParts,transitionId:e.transitionId}),e.partNumber!==this.transitionChunkBuffer.chunks.length){let t=this.transitionChunkBuffer.chunks.length;throw this.transitionChunkBuffer=null,Error(`TransitionChunk received out of order: expected part ${t}, got ${e.partNumber}`)}if(this.transitionChunkBuffer.chunks.push(e.chunk),this.transitionChunkBuffer.chunks.length===e.totalParts){let e=this.transitionChunkBuffer.chunks.join(``);this.transitionChunkBuffer=null;let t=Pt(JSON.parse(e));if(t.type!==`Transition`)throw Error(`Expected Transition, got ${t.type} after assembling chunks`);return t}return null}connect(){if(this.socket.state===`terminated`)return;if(this.socket.state!==`disconnected`&&this.socket.state!==`stopped`)throw Error(`Didn't start connection from disconnected state: `+this.socket.state);let e=new this.webSocketConstructor(this.uri);this._logVerbose(`constructed WebSocket`),this.setSocketState({state:`connecting`,ws:e,paused:`no`}),this.resetServerInactivityTimeout(),e.onopen=()=>{if(this.logger.logVerbose(`begin ws.onopen`),this.socket.state!==`connecting`)throw Error(`onopen called with socket not in connecting state`);if(this.setSocketState({state:`ready`,ws:e,paused:this.socket.paused===`yes`?`uninitialized`:`no`}),this.resetServerInactivityTimeout(),this.socket.paused===`no`&&(this._hasEverConnected=!0,this.onOpen({connectionCount:this.connectionCount,lastCloseReason:this.lastCloseReason,clientTs:L()})),this.lastCloseReason!==`InitialConnect`&&(this.lastCloseReason?this.logger.log(`WebSocket reconnected at`,Ut(),`after disconnect due to`,this.lastCloseReason):this.logger.log(`WebSocket reconnected at`,Ut())),this.connectionCount+=1,this.lastCloseReason=null,this.pendingNetworkRecoveryInfo!==null){let{timeSavedMs:e}=this.pendingNetworkRecoveryInfo;this.pendingNetworkRecoveryInfo=null,this.sendMessage({type:`Event`,eventType:`NetworkRecoveryReconnect`,event:{timeSavedMs:e}}),this.logger.log(`Network recovery reconnect saved ~${Math.round(e/1e3)}s of waiting`)}},e.onerror=e=>{this.transitionChunkBuffer=null;let t=e.message;t&&this.logger.log(`WebSocket error message: ${t}`)},e.onmessage=e=>{this.resetServerInactivityTimeout();let t=e.data.length,n=Pt(JSON.parse(e.data));if(this._logVerbose(`received ws message with type ${n.type}`),n.type!==`Ping`){if(n.type===`TransitionChunk`){let e=this.assembleTransition(n);if(!e)return;n=e,this._logVerbose(`assembled full ws message of type ${n.type}`)}this.transitionChunkBuffer!==null&&(this.transitionChunkBuffer=null,this.logger.log(`Received unexpected ${n.type} while buffering TransitionChunks`)),n.type===`Transition`&&this.reportLargeTransition({messageLength:t,transition:n}),this.onMessage(n).hasSyncedPastLastReconnect&&(this.retries=0,this.markConnectionStateDirty())}},e.onclose=e=>{if(this._logVerbose(`begin ws.onclose`),this.transitionChunkBuffer=null,this.lastCloseReason===null&&(this.lastCloseReason=e.reason||`closed with code ${e.code}`),e.code!==Rt&&e.code!==zt&&e.code!==Bt&&e.code!==Vt){let t=`WebSocket closed with code ${e.code}`;e.reason&&(t+=`: ${e.reason}`),this.logger.log(t),this.onServerDisconnectError&&e.reason&&this.onServerDisconnectError(t)}let t=Gt(e.reason);this.scheduleReconnect(t)}}socketState(){return this.socket.state}sendMessage(e){let t={type:e.type,...e.type===`Authenticate`&&e.tokenType===`User`?{value:`...${e.value.slice(-7)}`}:{}};if(this.socket.state===`ready`&&this.socket.paused===`no`){let n=Ft(e),r=JSON.stringify(n),i=!1;try{this.socket.ws.send(r),i=!0}catch(e){this.logger.log(`Failed to send message on WebSocket, reconnecting: ${e}`),this.closeAndReconnect(`FailedToSendMessage`)}return this._logVerbose(`${i?`sent`:`failed to send`} message with type ${e.type}: ${JSON.stringify(t)}`),!0}return this._logVerbose(`message not sent (socket state: ${this.socket.state}, paused: ${`paused`in this.socket?this.socket.paused:void 0}): ${JSON.stringify(t)}`),!1}resetServerInactivityTimeout(){this.socket.state!==`terminated`&&(this.reconnectDueToServerInactivityTimeout!==null&&(clearTimeout(this.reconnectDueToServerInactivityTimeout),this.reconnectDueToServerInactivityTimeout=null),this.reconnectDueToServerInactivityTimeout=setTimeout(()=>{this.closeAndReconnect(`InactiveServer`)},this.serverInactivityThreshold))}scheduleReconnect(e){this.scheduledReconnect&&=(clearTimeout(this.scheduledReconnect.timeout),null),this.socket={state:`disconnected`};let t=this.nextBackoff(e);this.markConnectionStateDirty(),this.logger.log(`Attempting reconnect in ${Math.round(t)}ms`);let n=L(),r=setTimeout(()=>{this.scheduledReconnect?.timeout===r&&(this.scheduledReconnect=null,this.connect())},t);this.scheduledReconnect={timeout:r,scheduledAt:n,backoffMs:t}}closeAndReconnect(e){switch(this._logVerbose(`begin closeAndReconnect with reason ${e}`),this.socket.state){case`disconnected`:case`terminated`:case`stopped`:return;case`connecting`:case`ready`:this.lastCloseReason=e,this.close(),this.scheduleReconnect(`client`);return;default:this.socket}}close(){switch(this.transitionChunkBuffer=null,this.socket.state){case`disconnected`:case`terminated`:case`stopped`:return Promise.resolve();case`connecting`:{let e=this.socket.ws;return e.onmessage=e=>{this._logVerbose(`Ignoring message received after close`)},new Promise(t=>{e.onclose=()=>{this._logVerbose(`Closed after connecting`),t()},e.onopen=()=>{this._logVerbose(`Opened after connecting`),e.close()}})}case`ready`:{this._logVerbose(`ws.close called`);let e=this.socket.ws;e.onmessage=e=>{this._logVerbose(`Ignoring message received after close`)};let t=new Promise(t=>{e.onclose=()=>{t()}});return e.close(),t}default:return this.socket,Promise.resolve()}}terminate(){switch(this.reconnectDueToServerInactivityTimeout&&clearTimeout(this.reconnectDueToServerInactivityTimeout),this.scheduledReconnect&&=(clearTimeout(this.scheduledReconnect.timeout),null),this.cleanupNetworkListener(),this.socket.state){case`terminated`:case`stopped`:case`disconnected`:case`connecting`:case`ready`:{let e=this.close();return this.setSocketState({state:`terminated`}),e}default:throw this.socket,Error(`Invalid websocket state: ${this.socket.state}`)}}stop(){switch(this.socket.state){case`terminated`:return Promise.resolve();case`connecting`:case`stopped`:case`disconnected`:case`ready`:{this.cleanupNetworkListener();let e=this.close();return this.socket={state:`stopped`},e}default:return this.socket,Promise.resolve()}}tryRestart(){switch(this.socket.state){case`stopped`:break;case`terminated`:case`connecting`:case`ready`:case`disconnected`:this.logger.logVerbose(`Restart called without stopping first`);return;default:this.socket}this.setupNetworkListener(),this.connect()}pause(){switch(this.socket.state){case`disconnected`:case`stopped`:case`terminated`:return;case`connecting`:case`ready`:this.socket={...this.socket,paused:`yes`};return;default:this.socket;return}}tryReconnectImmediately(){if(this._logVerbose(`tryReconnectImmediately called`),this.socket.state!==`disconnected`){this._logVerbose(`tryReconnectImmediately called but socket state is ${this.socket.state}, no action taken`);return}let e=null;if(this.scheduledReconnect){let t=L()-this.scheduledReconnect.scheduledAt;e=Math.max(0,this.scheduledReconnect.backoffMs-t),this._logVerbose(`would have waited ${Math.round(e)}ms more (backoff was ${Math.round(this.scheduledReconnect.backoffMs)}ms, elapsed ${Math.round(t)}ms)`),clearTimeout(this.scheduledReconnect.timeout),this.scheduledReconnect=null,this._logVerbose(`canceled scheduled reconnect`)}this.logger.log(`Network recovery detected, reconnecting immediately`),this.pendingNetworkRecoveryInfo=e===null?null:{timeSavedMs:e},this.connect()}resume(){switch(this.socket.state){case`connecting`:this.socket={...this.socket,paused:`no`};return;case`ready`:this.socket.paused===`uninitialized`?(this.socket={...this.socket,paused:`no`},this._hasEverConnected=!0,this.onOpen({connectionCount:this.connectionCount,lastCloseReason:this.lastCloseReason,clientTs:L()})):this.socket.paused===`yes`&&(this.socket={...this.socket,paused:`no`},this.onResume());return;case`terminated`:case`stopped`:case`disconnected`:return;default:this.socket}this.connect()}connectionState(){return{isConnected:this.socket.state===`ready`,hasEverConnected:this._hasEverConnected,connectionCount:this.connectionCount,connectionRetries:this.retries}}_logVerbose(e){this.logger.logVerbose(e)}nextBackoff(e){let t=(e===`client`?100:e===`Unknown`?this.defaultInitialBackoff:Wt[e].timeout)*2**this.retries;this.retries+=1;let n=Math.min(t,this.maxBackoff);return n+n*(Math.random()-.5)}reportLargeTransition({transition:e,messageLength:t}){if(e.clientClockSkew===void 0||e.serverTs===void 0)return;let n=L()-e.clientClockSkew-e.serverTs/1e6,r=`${Math.round(n)}ms`,i=`${Math.round(t/1e4)/100}MB`,a=t/(n/1e3),o=`${Math.round(a/1e4)/100}MB per second`;this._logVerbose(`received ${i} transition in ${r} at ${o}`),t>2e7?this.logger.log(`received query results totaling more that 20MB (${i}) which will take a long time to download on slower connections`):n>2e4&&this.logger.log(`received query results totaling ${i} which took more than 20s to arrive (${r})`),this.debug&&this.sendMessage({type:`Event`,eventType:`ClientReceivedTransition`,event:{transitionTransitTime:n,messageLength:t}})}};function qt(){return Jt()}function Jt(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}var R=class extends Error{};R.prototype.name=`InvalidTokenError`;function Yt(e){return decodeURIComponent(atob(e).replace(/(.)/g,(e,t)=>{let n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n=`0`+n),`%`+n}))}function Xt(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`);switch(t.length%4){case 0:break;case 2:t+=`==`;break;case 3:t+=`=`;break;default:throw Error(`base64 string is not of the correct length`)}try{return Yt(t)}catch{return atob(t)}}function Zt(e,t){if(typeof e!=`string`)throw new R(`Invalid token specified: must be a string`);t||={};let n=t.header===!0?0:1,r=e.split(`.`)[n];if(typeof r!=`string`)throw new R(`Invalid token specified: missing part #${n+1}`);let i;try{i=Xt(r)}catch(e){throw new R(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(i)}catch(e){throw new R(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}var Qt=Object.defineProperty,$t=(e,t,n)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,z=(e,t,n)=>$t(e,typeof t==`symbol`?t:t+``,n),en=480*60*60*1e3,tn=2,nn=class{constructor(e,t,n){z(this,`authState`,{state:`noAuth`}),z(this,`configVersion`,0),z(this,`syncState`),z(this,`authenticate`),z(this,`stopSocket`),z(this,`tryRestartSocket`),z(this,`pauseSocket`),z(this,`resumeSocket`),z(this,`clearAuth`),z(this,`logger`),z(this,`refreshTokenLeewaySeconds`),z(this,`lastRefreshChange`),z(this,`tokenConfirmationAttempts`,0),this.syncState=e,this.authenticate=t.authenticate,this.stopSocket=t.stopSocket,this.tryRestartSocket=t.tryRestartSocket,this.pauseSocket=t.pauseSocket,this.resumeSocket=t.resumeSocket,this.clearAuth=t.clearAuth,this.logger=n.logger,this.refreshTokenLeewaySeconds=n.refreshTokenLeewaySeconds,this.lastRefreshChange=!1}notifyRefreshChange(e){this.authState.state!==`noAuth`&&this.authState.state!==`initialRefetch`&&this.authState.config.onRefreshChange&&this.lastRefreshChange!==e&&(this.lastRefreshChange=e,this.authState.config.onRefreshChange(e))}async setConfig(e,t,n){this.resetAuthState(),this._logVerbose(`pausing WS for auth token fetch`),this.pauseSocket();let r=await this.fetchTokenAndGuardAgainstRace(e,{forceRefreshToken:!1});if(r.isFromOutdatedConfig)return;let i={fetchToken:e,onAuthChange:t,onRefreshChange:n};r.value?(this.setAuthState({state:`waitingForServerConfirmationOfCachedToken`,config:i,hasRetried:!1}),this.authenticate(r.value)):(this.setAuthState({state:`initialRefetch`,config:i}),await this.refetchToken()),this._logVerbose(`resuming WS after auth token fetch`),this.resumeSocket()}onTransition(e){if(this.syncState.isCurrentOrNewerAuthVersion(e.endVersion.identity)&&!(e.endVersion.identity<=e.startVersion.identity)){if(this._logVerbose(`auth state is ${this.authState.state} when handling transition`),this.syncState.markAuthCompletion(),this.authState.state===`waitingForServerConfirmationOfCachedToken`){this._logVerbose(`server confirmed auth token is valid`),this.refetchToken(),this.authState.config.onAuthChange(!0);return}this.authState.state===`waitingForServerConfirmationOfFreshToken`&&(this._logVerbose(`server confirmed new auth token is valid`),this.notifyRefreshChange(!1),this.scheduleTokenRefetch(this.authState.token),this.tokenConfirmationAttempts=0,this.authState.hadAuth||this.authState.config.onAuthChange(!0))}}onAuthError(e){if(e.authUpdateAttempted===!1&&(this.authState.state===`waitingForServerConfirmationOfFreshToken`||this.authState.state===`waitingForServerConfirmationOfCachedToken`)){this._logVerbose(`ignoring non-auth token expired error`);return}let{baseVersion:t}=e;if(!this.syncState.isCurrentOrNewerAuthVersion(t+1)){this._logVerbose(`ignoring auth error for previous auth attempt`);return}this.tryToReauthenticate(e)}async tryToReauthenticate(e){if(this._logVerbose(`attempting to reauthenticate: ${e.error}`),this.authState.state===`noAuth`||this.authState.state===`waitingForServerConfirmationOfFreshToken`&&this.tokenConfirmationAttempts>=tn){this.logger.error(`Failed to authenticate: "${e.error}", check your server auth config`),this.syncState.hasAuth()&&this.syncState.clearAuth(),this.authState.state!==`noAuth`&&this.setAndReportAuthFailed(this.authState.config.onAuthChange);return}if(this.authState.state===`waitingForServerConfirmationOfFreshToken`&&(this.tokenConfirmationAttempts++,this._logVerbose(`retrying reauthentication, ${tn-this.tokenConfirmationAttempts} attempts remaining`)),this.notifyRefreshChange(!0),await this.stopSocket(),this.authState.state===`noAuth`)return;let t=await this.fetchTokenAndGuardAgainstRace(this.authState.config.fetchToken,{forceRefreshToken:!0});t.isFromOutdatedConfig||(t.value&&this.syncState.isNewAuth(t.value)?(this.authenticate(t.value),this.setAuthState({state:`waitingForServerConfirmationOfFreshToken`,config:this.authState.config,token:t.value,hadAuth:this.authState.state===`notRefetching`||this.authState.state===`waitingForScheduledRefetch`})):(this._logVerbose(`reauthentication failed, could not fetch a new token`),this.syncState.hasAuth()&&this.syncState.clearAuth(),this.setAndReportAuthFailed(this.authState.config.onAuthChange)),this.tryRestartSocket())}async refetchToken(){if(this.authState.state===`noAuth`)return;this._logVerbose(`refetching auth token`);let e=await this.fetchTokenAndGuardAgainstRace(this.authState.config.fetchToken,{forceRefreshToken:!0});e.isFromOutdatedConfig||(e.value?this.syncState.isNewAuth(e.value)?(this.setAuthState({state:`waitingForServerConfirmationOfFreshToken`,hadAuth:this.syncState.hasAuth(),token:e.value,config:this.authState.config}),this.authenticate(e.value)):this.setAuthState({state:`notRefetching`,config:this.authState.config}):(this._logVerbose(`refetching token failed`),this.syncState.hasAuth()&&this.clearAuth(),this.setAndReportAuthFailed(this.authState.config.onAuthChange)),this._logVerbose(`restarting WS after auth token fetch (if currently stopped)`),this.tryRestartSocket())}scheduleTokenRefetch(e){if(this.authState.state===`noAuth`)return;let t=this.decodeToken(e);if(!t){this.logger.error(`Auth token is not a valid JWT, cannot refetch the token`);return}let{iat:n,exp:r}=t;if(!n||!r){this.logger.error(`Auth token does not have required fields, cannot refetch the token`);return}let i=r-n;if(i<=2){this.logger.error(`Auth token does not live long enough, cannot refetch the token`);return}let a=Math.min(en,(i-this.refreshTokenLeewaySeconds)*1e3);a<=0&&(this.logger.warn(`Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${i}s`),a=0);let o=setTimeout(()=>{this._logVerbose(`running scheduled token refetch`),this.refetchToken()},a);this.setAuthState({state:`waitingForScheduledRefetch`,refetchTokenTimeoutId:o,config:this.authState.config}),this._logVerbose(`scheduled preemptive auth token refetching in ${a}ms`)}async fetchTokenAndGuardAgainstRace(e,t){let n=++this.configVersion;this._logVerbose(`fetching token with config version ${n}`);let r=await e(t);return this.configVersion===n?{isFromOutdatedConfig:!1,value:r}:(this._logVerbose(`stale config version, expected ${n}, got ${this.configVersion}`),{isFromOutdatedConfig:!0})}stop(){this.resetAuthState(),this.configVersion++,this._logVerbose(`config version bumped to ${this.configVersion}`)}setAndReportAuthFailed(e){e(!1),this.resetAuthState()}resetAuthState(){this.notifyRefreshChange(!1),this.setAuthState({state:`noAuth`})}setAuthState(e){let t=e.state===`waitingForServerConfirmationOfFreshToken`?{hadAuth:e.hadAuth,state:e.state,token:`...${e.token.slice(-7)}`}:{state:e.state};switch(this._logVerbose(`setting auth state to ${JSON.stringify(t)}`),e.state){case`waitingForScheduledRefetch`:case`notRefetching`:case`noAuth`:this.tokenConfirmationAttempts=0;break;case`waitingForServerConfirmationOfFreshToken`:case`waitingForServerConfirmationOfCachedToken`:case`initialRefetch`:break;default:}this.authState.state===`waitingForScheduledRefetch`&&clearTimeout(this.authState.refetchTokenTimeoutId),this.authState=e}decodeToken(e){try{return Zt(e)}catch(e){return this._logVerbose(`Error decoding token: ${e instanceof Error?e.message:`Unknown error`}`),null}}_logVerbose(e){this.logger.logVerbose(`${e} [v${this.configVersion}]`)}},rn=[`convexClientConstructed`,`convexWebSocketOpen`,`convexFirstMessageReceived`];function an(e,t){let n={sessionId:t};typeof performance>`u`||!performance.mark||performance.mark(e,{detail:n})}function on(e){let t=e.name.slice(6);return t=t.charAt(0).toLowerCase()+t.slice(1),{name:t,startTime:e.startTime}}function sn(e){if(typeof performance>`u`||!performance.getEntriesByName)return[];let t=[];for(let n of rn){let r=performance.getEntriesByName(n).filter(e=>e.entryType===`mark`).filter(t=>t.detail.sessionId===e);t.push(...r)}return t.map(on)}var cn=Object.defineProperty,ln=(e,t,n)=>t in e?cn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,B=(e,t,n)=>ln(e,typeof t==`symbol`?t:t+``,n),un=class{constructor(e,t,n){if(B(this,`address`),B(this,`state`),B(this,`requestManager`),B(this,`webSocketManager`),B(this,`authenticationManager`),B(this,`remoteQuerySet`),B(this,`optimisticQueryResults`),B(this,`_transitionHandlerCounter`,0),B(this,`_nextRequestId`),B(this,`_onTransitionFns`,new Map),B(this,`_sessionId`),B(this,`firstMessageReceived`,!1),B(this,`debug`),B(this,`logger`),B(this,`maxObservedTimestamp`),B(this,`connectionStateSubscribers`,new Map),B(this,`nextConnectionStateSubscriberId`,0),B(this,`_lastPublishedConnectionState`),B(this,`markConnectionStateDirty`,()=>{Promise.resolve().then(()=>{let e=this.connectionState();if(JSON.stringify(e)!==JSON.stringify(this._lastPublishedConnectionState)){this._lastPublishedConnectionState=e;for(let t of this.connectionStateSubscribers.values())t(e)}})}),B(this,`mark`,e=>{this.debug&&an(e,this.sessionId)}),typeof e==`object`)throw Error(`Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.`);n?.skipConvexDeploymentUrlCheck!==!0&&ee(e),n={...n};let r=n.authRefreshTokenLeewaySeconds??10,i=n.webSocketConstructor;if(!i&&typeof WebSocket>`u`)throw Error(`No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient`);i||=WebSocket,this.debug=n.reportDebugInfoToConvex??!1,this.address=e,this.logger=n.logger===!1?Ze({verbose:n.verbose??!1}):n.logger!==!0&&n.logger?n.logger:Xe({verbose:n.verbose??!1});let a=e.search(`://`);if(a===-1)throw Error(`Provided address was not an absolute URL.`);let o=e.substring(a+3),s=e.substring(0,a),c;if(s===`http`)c=`ws`;else if(s===`https`)c=`wss`;else throw Error(`Unknown parent protocol ${s}`);let l=`${c}://${o}/api/${Ue}/sync`;this.state=new it,this.remoteQuerySet=new jt(e=>this.state.queryPath(e),this.logger),this.requestManager=new ct(this.logger,this.markConnectionStateDirty);let u=()=>{this.webSocketManager.pause(),this.state.pause()};this.authenticationManager=new nn(this.state,{authenticate:e=>{let t=this.state.setAuth(e);return this.webSocketManager.sendMessage(t),t.baseVersion},stopSocket:()=>this.webSocketManager.stop(),tryRestartSocket:()=>this.webSocketManager.tryRestart(),pauseSocket:u,resumeSocket:()=>this.webSocketManager.resume(),clearAuth:()=>{this.clearAuth()}},{logger:this.logger,refreshTokenLeewaySeconds:r}),this.optimisticQueryResults=new bt,this.addOnTransitionHandler(e=>{t(e.queries.map(e=>e.token))}),this._nextRequestId=0,this._sessionId=qt();let{unsavedChangesWarning:d}=n;if(typeof window>`u`||window.addEventListener===void 0){if(d===!0)throw Error(`unsavedChangesWarning requested, but window.addEventListener not found! Remove {unsavedChangesWarning: true} from Convex client options.`)}else d!==!1&&window.addEventListener(`beforeunload`,e=>{if(this.requestManager.hasIncompleteRequests()){e.preventDefault();let t=`Are you sure you want to leave? Your changes may not be saved.`;return(e||window.event).returnValue=t,t}});this.webSocketManager=new Kt(l,{onOpen:e=>{this.mark(`convexWebSocketOpen`),this.webSocketManager.sendMessage({...e,type:`Connect`,sessionId:this._sessionId,maxObservedTimestamp:this.maxObservedTimestamp}),this.remoteQuerySet=new jt(e=>this.state.queryPath(e),this.logger);let[t,n]=this.state.restart();n&&this.webSocketManager.sendMessage(n),this.webSocketManager.sendMessage(t);for(let e of this.requestManager.restart())this.webSocketManager.sendMessage(e)},onResume:()=>{let[e,t]=this.state.resume();t&&this.webSocketManager.sendMessage(t),e&&this.webSocketManager.sendMessage(e);for(let e of this.requestManager.resume())this.webSocketManager.sendMessage(e)},onMessage:e=>{switch(this.firstMessageReceived||(this.firstMessageReceived=!0,this.mark(`convexFirstMessageReceived`),this.reportMarks()),e.type){case`Transition`:{this.observedTimestamp(e.endVersion.ts),this.authenticationManager.onTransition(e),this.remoteQuerySet.transition(e),this.state.transition(e);let t=this.requestManager.removeCompleted(this.remoteQuerySet.timestamp());this.notifyOnQueryResultChanges(t);break}case`MutationResponse`:{e.success&&this.observedTimestamp(e.ts);let t=this.requestManager.onResponse(e);t!==null&&this.notifyOnQueryResultChanges(new Map([[t.requestId,t.result]]));break}case`ActionResponse`:this.requestManager.onResponse(e);break;case`AuthError`:this.authenticationManager.onAuthError(e);break;case`FatalError`:{let t=$e(this.logger,e.error);throw this.webSocketManager.terminate(),t}default:}return{hasSyncedPastLastReconnect:this.hasSyncedPastLastReconnect()}},onServerDisconnectError:n.onServerDisconnectError},i,this.logger,this.markConnectionStateDirty,this.debug),this.mark(`convexClientConstructed`),n.expectAuth&&u()}hasSyncedPastLastReconnect(){return this.requestManager.hasSyncedPastLastReconnect()&&this.state.hasSyncedPastLastReconnect()}observedTimestamp(e){(this.maxObservedTimestamp===void 0||this.maxObservedTimestamp.lessThanOrEqual(e))&&(this.maxObservedTimestamp=e)}getMaxObservedTimestamp(){return this.maxObservedTimestamp}notifyOnQueryResultChanges(e){let t=this.remoteQuerySet.remoteQueryResults(),n=new Map;for(let[e,r]of t){let t=this.state.queryToken(e);if(t!==null){let i={result:r,udfPath:this.state.queryPath(e),args:this.state.queryArgs(e)};n.set(t,i)}}let r=this.optimisticQueryResults.ingestQueryResultsFromServer(n,new Set(e.keys()));this.handleTransition({queries:r.map(e=>({token:e,modification:{kind:`Updated`,result:this.optimisticQueryResults.rawQueryResult(e)}})),reflectedMutations:Array.from(e).map(([e,t])=>({requestId:e,result:t})),timestamp:this.remoteQuerySet.timestamp()})}handleTransition(e){for(let t of this._onTransitionFns.values())t(e)}addOnTransitionHandler(e){let t=this._transitionHandlerCounter++;return this._onTransitionFns.set(t,e),()=>this._onTransitionFns.delete(t)}getCurrentAuthClaims(){let e=this.state.getAuth(),t={};if(e&&e.tokenType===`User`)try{t=e?Zt(e.value):{}}catch{t={}}else return;return{token:e.value,decoded:t}}setAuth(e,t,n){this.authenticationManager.setConfig(e,t,n)}hasAuth(){return this.state.hasAuth()}setAdminAuth(e,t){let n=this.state.setAdminAuth(e,t);this.webSocketManager.sendMessage(n)}clearAuth(){let e=this.state.clearAuth();this.webSocketManager.sendMessage(e)}subscribe(e,t,n){let r=v(t),{modification:i,queryToken:a,unsubscribe:o}=this.state.subscribe(e,r,n?.journal,n?.componentPath);return i!==null&&this.webSocketManager.sendMessage(i),{queryToken:a,unsubscribe:()=>{let e=o();e&&this.webSocketManager.sendMessage(e)}}}localQueryResult(e,t){let n=A(e,v(t));return this.optimisticQueryResults.queryResult(n)}localQueryResultByToken(e){return this.optimisticQueryResults.queryResult(e)}hasLocalQueryResultByToken(e){return this.optimisticQueryResults.hasQueryResult(e)}localQueryLogs(e,t){let n=A(e,v(t));return this.optimisticQueryResults.queryLogs(n)}queryJournal(e,t){let n=A(e,v(t));return this.state.queryJournal(n)}connectionState(){let e=this.webSocketManager.connectionState();return{hasInflightRequests:this.requestManager.hasInflightRequests(),isWebSocketConnected:e.isConnected,hasEverConnected:e.hasEverConnected,connectionCount:e.connectionCount,connectionRetries:e.connectionRetries,timeOfOldestInflightRequest:this.requestManager.timeOfOldestInflightRequest(),inflightMutations:this.requestManager.inflightMutations(),inflightActions:this.requestManager.inflightActions()}}subscribeToConnectionState(e){let t=this.nextConnectionStateSubscriberId++;return this.connectionStateSubscribers.set(t,e),()=>{this.connectionStateSubscribers.delete(t)}}async mutation(e,t,n){let r=await this.mutationInternal(e,t,n);if(!r.success)throw r.errorData===void 0?Error(O(`mutation`,e,r)):et(r,new He(O(`mutation`,e,r)));return r.value}async mutationInternal(e,t,n,r){let{mutationPromise:i}=this.enqueueMutation(e,t,n,r);return i}enqueueMutation(e,t,n,r){let i=v(t);this.tryReportLongDisconnect();let a=this.nextRequestId;if(this._nextRequestId++,n!==void 0){let e=n.optimisticUpdate;if(e!==void 0){let t=this.optimisticQueryResults.applyOptimisticUpdate(t=>{e(t,i)instanceof Promise&&this.logger.warn(`Optimistic update handler returned a Promise. Optimistic updates should be synchronous.`)},a).map(e=>{let t=this.localQueryResultByToken(e);return{token:e,modification:{kind:`Updated`,result:t===void 0?void 0:{success:!0,value:t,logLines:[]}}}});this.handleTransition({queries:t,reflectedMutations:[],timestamp:this.remoteQuerySet.timestamp()})}}let o={type:`Mutation`,requestId:a,udfPath:e,componentPath:r,args:[C(i)]},s=this.webSocketManager.sendMessage(o);return{requestId:a,mutationPromise:this.requestManager.request(o,s)}}async action(e,t){let n=await this.actionInternal(e,t);if(!n.success)throw n.errorData===void 0?Error(O(`action`,e,n)):et(n,new He(O(`action`,e,n)));return n.value}async actionInternal(e,t,n){let r=v(t),i=this.nextRequestId;this._nextRequestId++,this.tryReportLongDisconnect();let a={type:`Action`,requestId:i,udfPath:e,componentPath:n,args:[C(r)]},o=this.webSocketManager.sendMessage(a);return this.requestManager.request(a,o)}async close(){return this.authenticationManager.stop(),this.webSocketManager.terminate()}get url(){return this.address}get nextRequestId(){return this._nextRequestId}get sessionId(){return this._sessionId}reportMarks(){if(this.debug){let e=sn(this.sessionId);this.webSocketManager.sendMessage({type:`Event`,eventType:`ClientConnect`,event:e})}}tryReportLongDisconnect(){if(!this.debug)return;let e=this.connectionState().timeOfOldestInflightRequest;if(e===null||Date.now()-e.getTime()<=60*1e3)return;let t=`${this.address}/api/debug_event`;fetch(t,{method:`POST`,headers:{"Content-Type":`application/json`,"Convex-Client":`npm-${Ue}`},body:JSON.stringify({event:`LongWebsocketDisconnect`})}).then(e=>{e.ok||this.logger.warn(`Analytics request failed with response:`,e.body)}).catch(e=>{this.logger.warn(`Analytics response failed with error:`,e)})}};function dn(e){if(typeof e!=`object`||!e||!Array.isArray(e.page)||typeof e.isDone!=`boolean`||typeof e.continueCursor!=`string`)throw Error(`Not a valid paginated query result: ${e?.toString()}`);return e}var fn=Object.defineProperty,pn=(e,t,n)=>t in e?fn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mn=(e,t,n)=>pn(e,typeof t==`symbol`?t:t+``,n),hn=class{constructor(e,t){this.client=e,this.onTransition=t,mn(this,`paginatedQuerySet`,new Map),mn(this,`lastTransitionTs`),this.lastTransitionTs=P.fromNumber(0),this.client.addOnTransitionHandler(e=>this.onBaseTransition(e))}subscribe(e,t,n){let r=k(e),i=tt(r,t,n),a=()=>this.removePaginatedQuerySubscriber(i),o=this.paginatedQuerySet.get(i);return o?(o.numSubscribers+=1,{paginatedQueryToken:i,unsubscribe:a}):(this.paginatedQuerySet.set(i,{token:i,canonicalizedUdfPath:r,args:t,numSubscribers:1,options:{initialNumItems:n.initialNumItems},nextPageKey:0,pageKeys:[],pageKeyToQuery:new Map,ongoingSplits:new Map,skip:!1,id:n.id}),this.addPageToPaginatedQuery(i,null,n.initialNumItems),{paginatedQueryToken:i,unsubscribe:a})}localQueryResult(e,t,n){let r=tt(k(e),t,n);return this.localQueryResultByToken(r)}localQueryResultByToken(e){let t=this.paginatedQuerySet.get(e);if(!t)return;let n=this.activePageQueryTokens(t);if(n.length===0)return{results:[],status:`LoadingFirstPage`,loadMore:t=>this.loadMoreOfPaginatedQuery(e,t)};let r=[],i=!1,a=!1;for(let e of n){let t=this.client.localQueryResultByToken(e);if(t===void 0){i=!0,a=!1;continue}let n=dn(t);r=r.concat(n.page),a=!!n.isDone}let o;return o=i?r.length===0?`LoadingFirstPage`:`LoadingMore`:a?`Exhausted`:`CanLoadMore`,{results:r,status:o,loadMore:t=>this.loadMoreOfPaginatedQuery(e,t)}}onBaseTransition(e){let t=e.queries.map(e=>e.token),n=this.queriesContainingTokens(t),r=[];n.length>0&&(this.processPaginatedQuerySplits(n,e=>this.client.localQueryResultByToken(e)),r=n.map(e=>({token:e,modification:{kind:`Updated`,result:this.localQueryResultByToken(e)}})));let i={...e,paginatedQueries:r};this.onTransition(i)}loadMoreOfPaginatedQuery(e,t){this.mustGetPaginatedQuery(e);let n=this.queryTokenForLastPageOfPaginatedQuery(e),r=this.client.localQueryResultByToken(n);if(!r)return!1;let i=dn(r);if(i.isDone)return!1;this.addPageToPaginatedQuery(e,i.continueCursor,t);let a={timestamp:this.lastTransitionTs,reflectedMutations:[],queries:[],paginatedQueries:[{token:e,modification:{kind:`Updated`,result:this.localQueryResultByToken(e)}}]};return this.onTransition(a),!0}queriesContainingTokens(e){if(e.length===0)return[];let t=[],n=new Set(e);for(let[e,r]of this.paginatedQuerySet)for(let i of this.allQueryTokens(r))if(n.has(i)){t.push(e);break}return t}processPaginatedQuerySplits(e,t){for(let n of e){let e=this.mustGetPaginatedQuery(n),{ongoingSplits:r,pageKeyToQuery:i,pageKeys:a}=e;for(let[n,[a,o]]of r)t(i.get(a).queryToken)!==void 0&&t(i.get(o).queryToken)!==void 0&&this.completePaginatedQuerySplit(e,n,a,o);for(let n of a){if(r.has(n))continue;let a=i.get(n).queryToken,o=t(a);if(!o)continue;let s=dn(o);s.splitCursor&&(s.pageStatus===`SplitRecommended`||s.pageStatus===`SplitRequired`||s.page.length>e.options.initialNumItems*2)&&this.splitPaginatedQueryPage(e,n,s.splitCursor,s.continueCursor)}}}splitPaginatedQueryPage(e,t,n,r){let i=e.nextPageKey++,a=e.nextPageKey++,o={cursor:r,numItems:e.options.initialNumItems,id:e.id},s=this.client.subscribe(e.canonicalizedUdfPath,{...e.args,paginationOpts:{...o,cursor:null,endCursor:n}});e.pageKeyToQuery.set(i,s);let c=this.client.subscribe(e.canonicalizedUdfPath,{...e.args,paginationOpts:{...o,cursor:n,endCursor:r}});e.pageKeyToQuery.set(a,c),e.ongoingSplits.set(t,[i,a])}addPageToPaginatedQuery(e,t,n){let r=this.mustGetPaginatedQuery(e),i=r.nextPageKey++,a={cursor:t,numItems:n,id:r.id},o={...r.args,paginationOpts:a},s=this.client.subscribe(r.canonicalizedUdfPath,o);return r.pageKeys.push(i),r.pageKeyToQuery.set(i,s),s}removePaginatedQuerySubscriber(e){let t=this.paginatedQuerySet.get(e);if(t&&(--t.numSubscribers,!(t.numSubscribers>0))){for(let e of t.pageKeyToQuery.values())e.unsubscribe();this.paginatedQuerySet.delete(e)}}completePaginatedQuerySplit(e,t,n,r){let i=e.pageKeyToQuery.get(t);e.pageKeyToQuery.delete(t);let a=e.pageKeys.indexOf(t);e.pageKeys.splice(a,1,n,r),e.ongoingSplits.delete(t),i.unsubscribe()}activePageQueryTokens(e){return e.pageKeys.map(t=>e.pageKeyToQuery.get(t).queryToken)}allQueryTokens(e){return Array.from(e.pageKeyToQuery.values()).map(e=>e.queryToken)}queryTokenForLastPageOfPaginatedQuery(e){let t=this.mustGetPaginatedQuery(e),n=t.pageKeys[t.pageKeys.length-1];if(n===void 0)throw Error(`No pages for paginated query ${e}`);return t.pageKeyToQuery.get(n).queryToken}mustGetPaginatedQuery(e){let t=this.paginatedQuerySet.get(e);if(!t)throw Error(`paginated query no longer exists for token `+e);return t}};function gn({getCurrentValue:e,subscribe:t}){let[n,r]=(0,w.useState)(()=>({getCurrentValue:e,subscribe:t,value:e()})),i=n.value;return(n.getCurrentValue!==e||n.subscribe!==t)&&(i=e(),r({getCurrentValue:e,subscribe:t,value:i})),(0,w.useEffect)(()=>{let n=!1,i=()=>{n||r(n=>{if(n.getCurrentValue!==e||n.subscribe!==t)return n;let r=e();return n.value===r?n:{...n,value:r}})},a=t(i);return i(),()=>{n=!0,a()}},[e,t]),i}var _n=Object.defineProperty,vn=(e,t,n)=>t in e?_n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V=(e,t,n)=>vn(e,typeof t==`symbol`?t:t+``,n),yn=5e3;if(w.default===void 0)throw Error(`Required dependency 'react' not found`);function bn(e,t,n){function r(r){return eee(r),t.mutation(e,r,{optimisticUpdate:n})}return r.withOptimisticUpdate=function(r){if(n!==void 0)throw Error(`Already specified optimistic update for mutation ${N(e)}`);return bn(e,t,r)},r}function xn(e,t){return function(n){return t.action(e,n)}}var Sn=class{constructor(e,t){if(V(this,`address`),V(this,`cachedSync`),V(this,`cachedPaginatedQueryClient`),V(this,`listeners`),V(this,`options`),V(this,`closed`,!1),V(this,`_logger`),V(this,`adminAuth`),V(this,`fakeUserIdentity`),e===void 0)throw Error(`No address provided to ConvexReactClient.
|
|
3
|
-
If trying to deploy to production, make sure to follow all the instructions found at https://docs.convex.dev/production/hosting/
|
|
4
|
-
If running locally, make sure to run \`convex dev\` and ensure the .env.local file is populated.`);if(typeof e!=`string`)throw Error(`ConvexReactClient requires a URL like 'https://happy-otter-123.convex.cloud', received something of type ${typeof e} instead.`);if(!e.includes(`://`))throw Error(`Provided address was not an absolute URL.`);this.address=e,this.listeners=new Map,this._logger=t?.logger===!1?Ze({verbose:t?.verbose??!1}):t?.logger!==!0&&t?.logger?t.logger:Xe({verbose:t?.verbose??!1}),this.options={...t,logger:this._logger}}get url(){return this.address}get sync(){if(this.closed)throw Error(`ConvexReactClient has already been closed.`);return this.cachedSync?this.cachedSync:(this.cachedSync=new un(this.address,()=>{},this.options),this.adminAuth&&this.cachedSync.setAdminAuth(this.adminAuth,this.fakeUserIdentity),this.cachedPaginatedQueryClient=new hn(this.cachedSync,e=>this.handleTransition(e)),this.cachedSync)}get paginatedQueryClient(){if(this.sync,this.cachedPaginatedQueryClient)return this.cachedPaginatedQueryClient;throw Error(`Should already be instantiated`)}setAuth(e,t,n){if(typeof e==`string`)throw Error(`Passing a string to ConvexReactClient.setAuth is no longer supported, please upgrade to passing in an async function to handle reauthentication.`);this.sync.setAuth(e,t??(()=>{}),n)}clearAuth(){this.sync.clearAuth()}setAdminAuth(e,t){if(this.adminAuth=e,this.fakeUserIdentity=t,this.closed)throw Error(`ConvexReactClient has already been closed.`);this.cachedSync&&this.sync.setAdminAuth(e,t)}watchQuery(e,...t){let[n,r]=t,i=N(e);return{onUpdate:e=>{let{queryToken:t,unsubscribe:a}=this.sync.subscribe(i,n,r),o=this.listeners.get(t);return o===void 0?this.listeners.set(t,new Set([e])):o.add(e),()=>{if(this.closed)return;let n=this.listeners.get(t);n.delete(e),n.size===0&&this.listeners.delete(t),a()}},localQueryResult:()=>{if(this.cachedSync)return this.cachedSync.localQueryResult(i,n)},localQueryLogs:()=>{if(this.cachedSync)return this.cachedSync.localQueryLogs(i,n)},journal:()=>{if(this.cachedSync)return this.cachedSync.queryJournal(i,n)}}}prewarmQuery(e){let t=e.extendSubscriptionFor??yn,n=this.watchQuery(e.query,e.args||{}).onUpdate(()=>{});setTimeout(n,t)}watchPaginatedQuery(e,t,n){let r=N(e);return{onUpdate:e=>{let{paginatedQueryToken:i,unsubscribe:a}=this.paginatedQueryClient.subscribe(r,t||{},n),o=this.listeners.get(i);return o===void 0?this.listeners.set(i,new Set([e])):o.add(e),()=>{if(this.closed)return;let t=this.listeners.get(i);t.delete(e),t.size===0&&this.listeners.delete(i),a()}},localQueryResult:()=>this.paginatedQueryClient.localQueryResult(r,t,n)}}mutation(e,...t){let[n,r]=t,i=N(e);return this.sync.mutation(i,n,r)}action(e,...t){let n=N(e);return this.sync.action(n,...t)}query(e,...t){let n=this.watchQuery(e,...t),r=n.localQueryResult();return r===void 0?new Promise((e,t)=>{let r=n.onUpdate(()=>{r();try{e(n.localQueryResult())}catch(e){t(e)}})}):Promise.resolve(r)}connectionState(){return this.sync.connectionState()}subscribeToConnectionState(e){return this.sync.subscribeToConnectionState(e)}get logger(){return this._logger}async close(){if(this.closed=!0,this.listeners=new Map,this.cachedPaginatedQueryClient&&=void 0,this.cachedSync){let e=this.cachedSync;this.cachedSync=void 0,await e.close()}}handleTransition(e){let t=e.queries.map(e=>e.token),n=e.paginatedQueries.map(e=>e.token);this.transition([...t,...n])}transition(e){for(let t of e){let e=this.listeners.get(t);if(e)for(let t of e)t()}}},Cn=w.createContext(void 0);function wn(){return(0,w.useContext)(Cn)}var Tn=({client:e,children:t})=>w.createElement(Cn.Provider,{value:e},t);function En(e,...t){let n=t[0]===`skip`,r=t[0]===`skip`?{}:v(t[0]),i=typeof e==`string`?pt(e):e,a=N(i),o=Mn((0,w.useMemo)(()=>n?{}:{query:{query:i,args:r}},[JSON.stringify(C(r)),a,n])).query;if(o instanceof Error)throw o;return o}function Dn(e){let t=typeof e==`string`?pt(e):e,n=(0,w.useContext)(Cn);if(n===void 0)throw Error("Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return(0,w.useMemo)(()=>bn(t,n),[n,N(t)])}function On(e){let t=(0,w.useContext)(Cn),n=typeof e==`string`?pt(e):e;if(t===void 0)throw Error("Could not find Convex client! `useAction` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return(0,w.useMemo)(()=>xn(n,t),[t,N(n)])}function eee(e){if(typeof e==`object`&&e&&`bubbles`in e&&`persist`in e&&`isDefaultPrevented`in e)throw Error("Convex function called with SyntheticEvent object. Did you use a Convex function as an event handler directly? Event handlers like onClick receive an event object as their first argument. These SyntheticEvent objects are not valid Convex values. Try wrapping the function like `const handler = () => myMutation();` and using `handler` in the event handler.")}var tee=Object.defineProperty,kn=(e,t,n)=>t in e?tee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,An=(e,t,n)=>kn(e,typeof t==`symbol`?t:t+``,n),jn=class{constructor(e){An(this,`createWatch`),An(this,`queries`),An(this,`listeners`),this.createWatch=e,this.queries={},this.listeners=new Set}setQueries(e){for(let t of Object.keys(e)){let{query:n,args:r,paginationOptions:i}=e[t];if(N(n),this.queries[t]===void 0)this.addQuery(t,n,r,i?{paginationOptions:i}:{});else{let e=this.queries[t];(N(n)!==N(e.query)||JSON.stringify(C(r))!==JSON.stringify(C(e.args))||JSON.stringify(i)!==JSON.stringify(e.paginationOptions))&&(this.removeQuery(t),this.addQuery(t,n,r,i?{paginationOptions:i}:{}))}}for(let t of Object.keys(this.queries))e[t]===void 0&&this.removeQuery(t)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}getLocalResults(e){let t={};for(let n of Object.keys(e)){let{query:r,args:i}=e[n],a=e[n].paginationOptions;N(r);let o=this.createWatch(r,i,a?{paginationOptions:a}:{}),s;try{s=o.localQueryResult()}catch(e){if(e instanceof Error)s=e;else throw e}t[n]=s}return t}setCreateWatch(e){this.createWatch=e;for(let e of Object.keys(this.queries)){let{query:t,args:n,watch:r,paginationOptions:i}=this.queries[e],a=`journal`in r?r.journal():void 0;this.removeQuery(e),this.addQuery(e,t,n,{...a?{journal:a}:[],...i?{paginationOptions:i}:{}})}}destroy(){for(let e of Object.keys(this.queries))this.removeQuery(e);this.listeners=new Set}addQuery(e,t,n,{paginationOptions:r,journal:i}){if(this.queries[e]!==void 0)throw Error(`Tried to add a new query with identifier ${e} when it already exists.`);let a=this.createWatch(t,n,{...i?{journal:i}:[],...r?{paginationOptions:r}:{}}),o=a.onUpdate(()=>this.notifyListeners());this.queries[e]={query:t,args:n,watch:a,unsubscribe:o,...r?{paginationOptions:r}:{}}}removeQuery(e){let t=this.queries[e];if(t===void 0)throw Error(`No query found with identifier ${e}.`);t.unsubscribe(),delete this.queries[e]}notifyListeners(){for(let e of this.listeners)e()}};function Mn(e){let t=wn();if(t===void 0)throw Error("Could not find Convex client! `useQuery` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return Nn(e,(0,w.useMemo)(()=>(e,n,{journal:r,paginationOptions:i})=>i?t.watchPaginatedQuery(e,n,i):t.watchQuery(e,n,r?{journal:r}:{}),[t]))}function Nn(e,t){let[n]=(0,w.useState)(()=>new jn(t));return n.createWatch!==t&&n.setCreateWatch(t),(0,w.useEffect)(()=>()=>n.destroy(),[n]),gn((0,w.useMemo)(()=>({getCurrentValue:()=>n.getLocalResults(e),subscribe:t=>(n.setQueries(e),n.subscribe(t))}),[n,e]))}var Pn=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Fn=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),In=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Ln=e=>{let t=In(e);return t.charAt(0).toUpperCase()+t.slice(1)},Rn={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},zn=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Bn=(0,w.createContext)({}),Vn=()=>(0,w.useContext)(Bn),Hn=(0,w.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=Vn()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,w.createElement)(`svg`,{ref:c,...Rn,width:t??l??Rn.width,height:t??l??Rn.height,stroke:e??f,strokeWidth:m,className:Pn(`lucide`,p,i),...!a&&!zn(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,w.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),Un=(e,t)=>{let n=(0,w.forwardRef)(({className:n,...r},i)=>(0,w.createElement)(Hn,{ref:i,iconNode:t,className:Pn(`lucide-${Fn(Ln(e))}`,`lucide-${e}`,n),...r}));return n.displayName=Ln(e),n};function Wn(e,t){return new Proxy({},{get(n,r){if(typeof r==`string`)return Wn(e,[...t,r]);if(r===lt){if(t.length<1){let n=[e,...t].join(`.`);throw Error(`API path is expected to be of the form \`${e}.childComponent.functionName\`. Found: \`${n}\``)}return`_reference/childComponent/`+t.join(`/`)}else return}})}var Gn=()=>Wn(`components`,[]),Kn=ht;Gn();var qn=n(t(),1),H=i();function Jn(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Yn(...e){return t=>{let n=!1,r=e.map(e=>{let r=Jn(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Jn(e[t],null)}}}}function U(...e){return w.useCallback(Yn(...e),e)}function Xn(e){let t=w.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];ar(r)&&typeof lr==`function`&&(r=lr(r._payload)),w.Children.forEach(r,e=>{if(rr(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;ar(n)&&typeof lr==`function`&&(n=lr(n._payload)),a=er(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=w.cloneElement(a,void 0,s):!o&&w.Children.count(r)===1&&w.isValidElement(r)&&(a=r);let c=a?nr(a):void 0,l=U(n,c);if(!a){if(r||r===0)throw Error(o?cr(e):sr(e));return r}let u=tr(i,a.props??{});return a.type!==w.Fragment&&(u.ref=n?l:c),w.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}var Zn=Xn(`Slot`),Qn=Symbol.for(`radix.slottable`);function $n(e){let t=e=>`child`in e?e.children(e.child):e.children;return t.displayName=`${e}.Slottable`,t.__radixId=Qn,t}var er=(e,t)=>{if(`child`in e.props){let t=e.props.child;return w.isValidElement(t)?w.cloneElement(t,void 0,e.props.children(t.props.children)):null}return w.isValidElement(t)?t:null};function tr(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function nr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function rr(e){return w.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Qn}var ir=Symbol.for(`react.lazy`);function ar(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===ir&&`_payload`in e&&or(e._payload)}function or(e){return typeof e==`object`&&!!e&&`then`in e}var sr=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,cr=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,lr=w.use,W=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Xn(`Primitive.${t}`),r=w.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,H.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function ur(e,t){e&&qn.flushSync(()=>e.dispatchEvent(t))}typeof window<`u`&&window.document&&window.document.createElement;function dr(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function G(e){let t=w.useRef(e);return w.useEffect(()=>{t.current=e}),w.useMemo(()=>((...e)=>t.current?.(...e)),[])}function fr(e,t=globalThis?.document){let n=G(e);w.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}function pr(e,t){let n=w.createContext(t);n.displayName=e+`Context`;let r=e=>{let{children:t,...r}=e,i=w.useMemo(()=>r,Object.values(r));return(0,H.jsx)(n.Provider,{value:i,children:t})};r.displayName=e+`Provider`;function i(r){let i=w.useContext(n);if(i)return i;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,i]}function mr(e,t=[]){let n=[];function r(t,r){let i=w.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=w.useMemo(()=>o,Object.values(o));return(0,H.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=w.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>w.createContext(e));return function(n){let r=n?.[e]||t;return w.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,hr(i,...t)]}function hr(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return w.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var K=globalThis?.document?w.useLayoutEffect:()=>{},gr=w.useInsertionEffect||K;function _r({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=vr({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=w.useRef(e!==void 0);w.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,w.useCallback(t=>{if(s){let n=yr(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function vr({defaultProp:e,onChange:t}){let[n,r]=w.useState(e),i=w.useRef(n),a=w.useRef(t);return gr(()=>{a.current=t},[t]),w.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function yr(e){return typeof e==`function`}function br(e,t){return w.useReducer((e,n)=>t[e][n]??e,e)}var xr=e=>{let{present:t,children:n}=e,r=Sr(t),i=typeof n==`function`?n({present:r.isPresent}):w.Children.only(n),a=wr(r.ref,Er(i));return typeof n==`function`||r.isPresent?w.cloneElement(i,{ref:a}):null};xr.displayName=`Presence`;function Sr(e){let[t,n]=w.useState(),r=w.useRef(null),i=w.useRef(e),a=w.useRef(`none`),[o,s]=br(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return w.useEffect(()=>{let e=Tr(r.current);a.current=o===`mounted`?e:`none`},[o]),K(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=Tr(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),K(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=Tr(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=Tr(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:w.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function Cr(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function wr(...e){let t=w.useRef(e);return t.current=e,w.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=Cr(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():Cr(n[e],null)}}},[])}function Tr(e){return e?.animationName||`none`}function Er(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Dr=w.useId||(()=>void 0),Or=0;function kr(e){let[t,n]=w.useState(Dr());return K(()=>{e||n(e=>e??String(Or++))},[e]),e||(t?`radix-${t}`:``)}var Ar=`DismissableLayer`,jr=`dismissableLayer.update`,Mr=`dismissableLayer.pointerDownOutside`,Nr=`dismissableLayer.focusOutside`,Pr,Fr=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ir=w.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...c}=e,l=w.useContext(Fr),[u,d]=w.useState(null),f=u?.ownerDocument??globalThis?.document,[,p]=w.useState({}),m=U(t,e=>d(e)),h=Array.from(l.layers),[g]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),_=h.indexOf(g),v=u?h.indexOf(u):-1,ee=l.layersWithOutsidePointerEventsDisabled.size>0,te=v>=_,ne=zr(e=>{let t=e.target,n=[...l.branches].some(e=>e.contains(t));!te||n||(i?.(e),o?.(e),e.defaultPrevented||s?.())},f),y=Br(e=>{let t=e.target;[...l.branches].some(e=>e.contains(t))||(a?.(e),o?.(e),e.defaultPrevented||s?.())},f);return fr(e=>{v===l.layers.size-1&&(r?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))},f),w.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(Pr=f.body.style.pointerEvents,f.body.style.pointerEvents=`none`),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),Vr(),()=>{n&&(l.layersWithOutsidePointerEventsDisabled.delete(u),l.layersWithOutsidePointerEventsDisabled.size===0&&(f.body.style.pointerEvents=Pr))}},[u,f,n,l]),w.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),Vr())},[u,l]),w.useEffect(()=>{let e=()=>p({});return document.addEventListener(jr,e),()=>document.removeEventListener(jr,e)},[]),(0,H.jsx)(W.div,{...c,ref:m,style:{pointerEvents:ee?te?`auto`:`none`:void 0,...e.style},onFocusCapture:dr(e.onFocusCapture,y.onFocusCapture),onBlurCapture:dr(e.onBlurCapture,y.onBlurCapture),onPointerDownCapture:dr(e.onPointerDownCapture,ne.onPointerDownCapture)})});Ir.displayName=Ar;var Lr=`DismissableLayerBranch`,Rr=w.forwardRef((e,t)=>{let n=w.useContext(Fr),r=w.useRef(null),i=U(t,r);return w.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,H.jsx)(W.div,{...e,ref:i})});Rr.displayName=Lr;function zr(e,t=globalThis?.document){let n=G(e),r=w.useRef(!1),i=w.useRef(()=>{});return w.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){Hr(Mr,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Br(e,t=globalThis?.document){let n=G(e),r=w.useRef(!1);return w.useEffect(()=>{let e=e=>{e.target&&!r.current&&Hr(Nr,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Vr(){let e=new CustomEvent(jr);document.dispatchEvent(e)}function Hr(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?ur(i,a):i.dispatchEvent(a)}var Ur=`focusScope.autoFocusOnMount`,Wr=`focusScope.autoFocusOnUnmount`,Gr={bubbles:!1,cancelable:!0},Kr=`FocusScope`,qr=w.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=w.useState(null),l=G(i),u=G(a),d=w.useRef(null),f=U(t,e=>c(e)),p=w.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;w.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:q(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||q(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&q(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),w.useEffect(()=>{if(s){ei.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(Ur,Gr);s.addEventListener(Ur,l),s.dispatchEvent(t),t.defaultPrevented||(Jr(ri(Xr(s)),{select:!0}),document.activeElement===e&&q(s))}return()=>{s.removeEventListener(Ur,l),setTimeout(()=>{let t=new CustomEvent(Wr,Gr);s.addEventListener(Wr,u),s.dispatchEvent(t),t.defaultPrevented||q(e??document.body,{select:!0}),s.removeEventListener(Wr,u),ei.remove(p)},0)}}},[s,l,u,p]);let m=w.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=Yr(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&q(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&q(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,H.jsx)(W.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});qr.displayName=Kr;function Jr(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(q(r,{select:t}),document.activeElement!==n)return}function Yr(e){let t=Xr(e);return[Zr(t,e),Zr(t.reverse(),e)]}function Xr(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Zr(e,t){for(let n of e)if(!Qr(n,{upTo:t}))return n}function Qr(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function $r(e){return e instanceof HTMLInputElement&&`select`in e}function q(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&$r(e)&&t&&e.select()}}var ei=ti();function ti(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=ni(e,t),e.unshift(t)},remove(t){e=ni(e,t),e[0]?.resume()}}}function ni(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function ri(e){return e.filter(e=>e.tagName!==`A`)}var ii=`Portal`,ai=w.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=w.useState(!1);K(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?qn.createPortal((0,H.jsx)(W.div,{...r,ref:t}),o):null});ai.displayName=ii;var oi=0,si=null;function ci(){w.useEffect(()=>{si||={start:li(),end:li()};let{start:e,end:t}=si;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),oi++,()=>{oi===1&&(si?.start.remove(),si?.end.remove(),si=null),oi=Math.max(0,oi-1)}},[])}function li(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var J=function(){return J=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},J.apply(this,arguments)};function ui(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function di(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var fi=`right-scroll-bar-position`,pi=`width-before-scroll-bar`,mi=`with-scroll-bars-hidden`,hi=`--removed-body-scroll-bar-size`;function gi(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function _i(e,t){var n=(0,w.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var vi=typeof window<`u`?w.useLayoutEffect:w.useEffect,yi=new WeakMap;function bi(e,t){var n=_i(t||null,function(t){return e.forEach(function(e){return gi(e,t)})});return vi(function(){var t=yi.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||gi(e,null)}),i.forEach(function(e){r.has(e)||gi(e,a)})}yi.set(n,e)},[e]),n}function xi(e){return e}function Si(e,t){t===void 0&&(t=xi);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ci(e){e===void 0&&(e={});var t=Si(null);return t.options=J({async:!0,ssr:!1},e),t}var wi=function(e){var t=e.sideCar,n=ui(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return w.createElement(r,J({},n))};wi.isSideCarExport=!0;function Ti(e,t){return e.useMedium(t),wi}var Ei=Ci(),Di=function(){},Oi=w.forwardRef(function(e,t){var n=w.useRef(null),r=w.useState({onScrollCapture:Di,onWheelCapture:Di,onTouchMoveCapture:Di}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,v=_===void 0?`div`:_,ee=e.gapMode,te=ui(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),ne=f,y=bi([n,t]),b=J(J({},te),i);return w.createElement(w.Fragment,null,u&&w.createElement(ne,{sideCar:Ei,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:ee}),o?w.cloneElement(w.Children.only(s),J(J({},b),{ref:y})):w.createElement(v,J({},b,{className:c,ref:y}),s))});Oi.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Oi.classNames={fullWidth:pi,zeroRight:fi};var ki,Ai=function(){if(ki)return ki;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function ji(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Ai();return t&&e.setAttribute(`nonce`,t),e}function Mi(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Ni(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var Pi=function(){var e=0,t=null;return{add:function(n){e==0&&(t=ji())&&(Mi(t,n),Ni(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Fi=function(){var e=Pi();return function(t,n){w.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Ii=function(){var e=Fi();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},Li={left:0,top:0,right:0,gap:0},Ri=function(e){return parseInt(e||``,10)||0},zi=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[Ri(n),Ri(r),Ri(i)]},Bi=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return Li;var t=zi(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Vi=Ii(),Y=`data-scroll-locked`,Hi=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
5
|
-
.${mi} {
|
|
6
|
-
overflow: hidden ${r};
|
|
7
|
-
padding-right: ${s}px ${r};
|
|
8
|
-
}
|
|
9
|
-
body[${Y}] {
|
|
10
|
-
overflow: hidden ${r};
|
|
11
|
-
overscroll-behavior: contain;
|
|
12
|
-
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
13
|
-
padding-left: ${i}px;
|
|
14
|
-
padding-top: ${a}px;
|
|
15
|
-
padding-right: ${o}px;
|
|
16
|
-
margin-left:0;
|
|
17
|
-
margin-top:0;
|
|
18
|
-
margin-right: ${s}px ${r};
|
|
19
|
-
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.${fi} {
|
|
23
|
-
right: ${s}px ${r};
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.${pi} {
|
|
27
|
-
margin-right: ${s}px ${r};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.${fi} .${fi} {
|
|
31
|
-
right: 0 ${r};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.${pi} .${pi} {
|
|
35
|
-
margin-right: 0 ${r};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
body[${Y}] {
|
|
39
|
-
${hi}: ${s}px;
|
|
40
|
-
}
|
|
41
|
-
`},Ui=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},Wi=function(){w.useEffect(function(){return document.body.setAttribute(Y,(Ui()+1).toString()),function(){var e=Ui()-1;e<=0?document.body.removeAttribute(Y):document.body.setAttribute(Y,e.toString())}},[])},Gi=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;Wi();var a=w.useMemo(function(){return Bi(i)},[i]);return w.createElement(Vi,{styles:Hi(a,!t,i,n?``:`!important`)})},Ki=!1;if(typeof window<`u`)try{var qi=Object.defineProperty({},"passive",{get:function(){return Ki=!0,!0}});window.addEventListener(`test`,qi,qi),window.removeEventListener(`test`,qi,qi)}catch{Ki=!1}var X=Ki?{passive:!1}:!1,Ji=function(e){return e.tagName===`TEXTAREA`},Yi=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!Ji(e)&&n[t]===`visible`)},Xi=function(e){return Yi(e,`overflowY`)},Zi=function(e){return Yi(e,`overflowX`)},Qi=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),ta(e,r)){var i=na(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},$i=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},ea=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},ta=function(e,t){return e===`v`?Xi(t):Zi(t)},na=function(e,t){return e===`v`?$i(t):ea(t)},ra=function(e,t){return e===`h`&&t===`rtl`?-1:1},ia=function(e,t,n,r,i){var a=ra(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=na(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&ta(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},aa=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},oa=function(e){return[e.deltaX,e.deltaY]},sa=function(e){return e&&`current`in e?e.current:e},ca=function(e,t){return e[0]===t[0]&&e[1]===t[1]},la=function(e){return`
|
|
42
|
-
.block-interactivity-${e} {pointer-events: none;}
|
|
43
|
-
.allow-interactivity-${e} {pointer-events: all;}
|
|
44
|
-
`},ua=0,Z=[];function da(e){var t=w.useRef([]),n=w.useRef([0,0]),r=w.useRef(),i=w.useState(ua++)[0],a=w.useState(Ii)[0],o=w.useRef(e);w.useEffect(function(){o.current=e},[e]),w.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=di([e.lockRef.current],(e.shards||[]).map(sa),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=w.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=aa(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Qi(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Qi(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return ia(h,t,e,h===`h`?s:c,!0)},[]),c=w.useCallback(function(e){var n=e;if(!(!Z.length||Z[Z.length-1]!==a)){var r=`deltaY`in n?oa(n):aa(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&ca(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(sa).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=w.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:fa(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=w.useCallback(function(e){n.current=aa(e),r.current=void 0},[]),d=w.useCallback(function(t){l(t.type,oa(t),t.target,s(t,e.lockRef.current))},[]),f=w.useCallback(function(t){l(t.type,aa(t),t.target,s(t,e.lockRef.current))},[]);w.useEffect(function(){return Z.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,X),document.addEventListener(`touchmove`,c,X),document.addEventListener(`touchstart`,u,X),function(){Z=Z.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,X),document.removeEventListener(`touchmove`,c,X),document.removeEventListener(`touchstart`,u,X)}},[]);var p=e.removeScrollBar,m=e.inert;return w.createElement(w.Fragment,null,m?w.createElement(a,{styles:la(i)}):null,p?w.createElement(Gi,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function fa(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var pa=Ti(Ei,da),ma=w.forwardRef(function(e,t){return w.createElement(Oi,J({},e,{ref:t,sideCar:pa}))});ma.classNames=Oi.classNames;var ha=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Q=new WeakMap,ga=new WeakMap,_a={},va=0,ya=function(e){return e&&(e.host||ya(e.parentNode))},ba=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=ya(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},xa=function(e,t,n,r){var i=ba(t,Array.isArray(e)?e:[e]);_a[n]||(_a[n]=new WeakMap);var a=_a[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Q.get(e)||0)+1,l=(a.get(e)||0)+1;Q.set(e,c),a.set(e,l),o.push(e),c===1&&i&&ga.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),va++,function(){o.forEach(function(e){var t=Q.get(e)-1,i=a.get(e)-1;Q.set(e,t),a.set(e,i),t||(ga.has(e)||e.removeAttribute(r),ga.delete(e)),i||e.removeAttribute(n)}),va--,va||(Q=new WeakMap,Q=new WeakMap,ga=new WeakMap,_a={})}},Sa=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ha(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),xa(r,i,n,`aria-hidden`)):function(){return null}};function Ca(e){let[t,n]=w.useState(void 0);return K(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var wa={},Ta=[`fr`,`en`],Ea=`PARAGLIDE_LOCALE`,Da=[`localStorage`,`baseLocale`],Oa=[],ka,Aa;function ja(e){if(Oa.length===0)return;let t=typeof e==`string`?e:e.href;if(ka===t)return Aa;let n=new URL(t,`http://dummy.com`),r;for(let e of Oa)if(new wa(e.match,n.href).exec(n.href)){r=e;break}return ka=t,Aa=r,r}function Ma(e){let t=ja(e);return t&&t.exclude!==!0&&Array.isArray(t.strategy)?t.strategy:Da}var Na=void 0;globalThis.__paraglide=globalThis.__paraglide??{},globalThis.__paraglide.ssr=globalThis.__paraglide.ssr??{};var Pa=!1,$=()=>{if(Na){let e=Na?.getStore()?.locale;if(e)return e}let e=Da;typeof window<`u`&&window.location?.href&&(e=Ma(window.location.href));let t=Fa(e,typeof window<`u`?window.location?.href:void 0);if(t)return Pa||(Pa=!0,La(t,{reload:!1})),t;throw Error(`No locale found. Read the docs https://inlang.com/m/gerre34r/library-inlang-paraglideJs/errors#no-locale-found`)};function Fa(e,t){let n;for(let t of e){if(t===`baseLocale`)n=`fr`;else if(t===`localStorage`)n=localStorage.getItem(`PARAGLIDE_LOCALE`)??void 0;else if(Va(t)&&Ba.has(t)){let e=Ba.get(t);if(e){let t=e.getLocale();if(t instanceof Promise)continue;if(t!==void 0)return za(t)}}let e=Ra(n);if(e)return e}}var Ia=e=>{e?window.location.href=e:window.location.reload()},La=(e,t)=>{let n={reload:!0,...t},r;try{r=$()}catch{}let i=[],a=Da;typeof window<`u`&&window.location?.href&&(a=Ma(window.location.href));for(let t of a)if(t===`baseLocale`)continue;else if(t===`localStorage`&&typeof window<`u`)localStorage.setItem(Ea,e);else if(Va(t)&&Ba.has(t)){let n=Ba.get(t);if(n){let r=n.setLocale(e);r instanceof Promise&&(r=r.catch(e=>{throw Error(`Custom strategy "${t}" setLocale failed.`,{cause:e})}),i.push(r))}}let o=()=>{n.reload&&window.location&&e!==r&&Ia(void 0)};if(i.length)return Promise.all(i).then(()=>{o()});o()};function Ra(e){if(typeof e!=`string`)return;let t=e.toLowerCase();for(let e of Ta)if(e.toLowerCase()===t)return e}function za(e){let t=Ra(e);if(t)return t;throw Error(`Invalid locale: ${e}. Expected one of: ${Ta.join(`, `)}`)}var Ba=new Map;function Va(e){return typeof e==`string`&&/^custom-[A-Za-z0-9_-]+$/.test(e)}var Ha=e=>`Fichier trop volumineux (${e?.size} Mo, max ${e?.max} Mo). Réduisez-le (p. ex. compressez les images) et réessayez.`,Ua=e=>`File too large (${e?.size} MB, max ${e?.max} MB). Reduce it (e.g. compress images) and try again.`,Wa=((e,t={})=>(t.locale??$())===`fr`?Ha(e):Ua(e)),Ga=()=>`Chargement…`,Ka=()=>`Loading…`,qa=((e={},t={})=>(t.locale??$())===`fr`?Ga(e):Ka(e)),Ja=()=>`Thème`,Ya=()=>`Theme`,Xa=((e={},t={})=>(t.locale??$())===`fr`?Ja(e):Ya(e)),Za=()=>`Clair`,Qa=()=>`Light`,$a=((e={},t={})=>(t.locale??$())===`fr`?Za(e):Qa(e)),eo=()=>`Sombre`,to=()=>`Dark`,no=((e={},t={})=>(t.locale??$())===`fr`?eo(e):to(e)),ro=()=>`Système`,io=()=>`System`,ao=((e={},t={})=>(t.locale??$())===`fr`?ro(e):io(e)),oo=()=>`Défaut de l’app`,so=()=>`App default`,co=((e={},t={})=>(t.locale??$())===`fr`?oo(e):so(e)),lo=()=>`Se déconnecter`,uo=()=>`Sign out`,fo=((e={},t={})=>(t.locale??$())===`fr`?lo(e):uo(e)),po=()=>`Préférences`,mo=()=>`Preferences`,ho=((e={},t={})=>(t.locale??$())===`fr`?po(e):mo(e)),go=()=>`Nom affiché`,_o=()=>`Display name`,vo=((e={},t={})=>(t.locale??$())===`fr`?go(e):_o(e)),yo=()=>`Le nom et prénom affichés dans la liste des utilisateurs et le menu de compte. Vous pouvez le modifier à tout moment.`,bo=()=>`The name shown in the user list and the account menu. You can change it at any time.`,xo=((e={},t={})=>(t.locale??$())===`fr`?yo(e):bo(e)),So=()=>`Votre nom et prénom`,Co=()=>`Your name`,wo=((e={},t={})=>(t.locale??$())===`fr`?So(e):Co(e)),To=()=>`Laissez vide pour n’afficher que votre email.`,Eo=()=>`Leave empty to show only your email.`,Do=((e={},t={})=>(t.locale??$())===`fr`?To(e):Eo(e)),Oo=()=>`Nom affiché mis à jour.`,ko=()=>`Display name updated.`,Ao=((e={},t={})=>(t.locale??$())===`fr`?Oo(e):ko(e)),jo=()=>`Échec de la mise à jour du nom`,Mo=()=>`Failed to update the name`,No=((e={},t={})=>(t.locale??$())===`fr`?jo(e):Mo(e)),Po=()=>`Langue`,Fo=()=>`Language`,Io=((e={},t={})=>(t.locale??$())===`fr`?Po(e):Fo(e)),Lo=()=>`Choisissez la langue de l’interface. « Défaut de l’app » suit le réglage de l’administrateur.`,Ro=()=>`Choose the interface language. “App default” follows the administrator setting.`,zo=((e={},t={})=>(t.locale??$())===`fr`?Lo(e):Ro(e)),Bo=()=>`Le changement de langue recharge la page une fois.`,Vo=()=>`Changing the language reloads the page once.`,Ho=((e={},t={})=>(t.locale??$())===`fr`?Bo(e):Vo(e)),Uo=()=>`Interface`,Wo=()=>`Interface`,Go=((e={},t={})=>(t.locale??$())===`fr`?Uo(e):Wo(e)),Ko=()=>`Activez ou masquez des éléments d’interface. Les options grisées sont verrouillées par l’administrateur.`,qo=()=>`Enable or hide interface elements. Greyed options are locked by the administrator.`,Jo=((e={},t={})=>(t.locale??$())===`fr`?Ko(e):qo(e)),Yo=()=>`Français`,Xo=()=>`French`,Zo=((e={},t={})=>(t.locale??$())===`fr`?Yo(e):Xo(e)),Qo=()=>`Anglais`,$o=()=>`English`,es=((e={},t={})=>(t.locale??$())===`fr`?Qo(e):$o(e)),ts=()=>`Fichiers`,ns=()=>`Files`,rs=((e={},t={})=>(t.locale??$())===`fr`?ts(e):ns(e)),is=()=>`Tous les fichiers échangés dans vos conversations (envoyés et reçus).`,as=()=>`Every file exchanged across your conversations (sent and received).`,os=((e={},t={})=>(t.locale??$())===`fr`?is(e):as(e)),ss=()=>`Sens`,cs=()=>`Direction`,ls=((e={},t={})=>(t.locale??$())===`fr`?ss(e):cs(e)),us=()=>`Tous les sens`,ds=()=>`All directions`,fs=((e={},t={})=>(t.locale??$())===`fr`?us(e):ds(e)),ps=()=>`Envoyé`,ms=()=>`Sent`,hs=((e={},t={})=>(t.locale??$())===`fr`?ps(e):ms(e)),gs=()=>`Reçu`,_s=()=>`Received`,vs=((e={},t={})=>(t.locale??$())===`fr`?gs(e):_s(e)),ys=()=>`Conversation`,bs=()=>`Conversation`,xs=((e={},t={})=>(t.locale??$())===`fr`?ys(e):bs(e)),Ss=()=>`Toutes les conversations`,Cs=()=>`All conversations`,ws=((e={},t={})=>(t.locale??$())===`fr`?Ss(e):Cs(e)),Ts=()=>`Bridge`,Es=()=>`Bridge`,Ds=((e={},t={})=>(t.locale??$())===`fr`?Ts(e):Es(e)),Os=()=>`Tous les bridges`,ks=()=>`All bridges`,As=((e={},t={})=>(t.locale??$())===`fr`?Os(e):ks(e)),js=()=>`Type`,Ms=()=>`Type`,Ns=((e={},t={})=>(t.locale??$())===`fr`?js(e):Ms(e)),Ps=()=>`Tous les types`,Fs=()=>`All types`,Is=((e={},t={})=>(t.locale??$())===`fr`?Ps(e):Fs(e)),Ls=()=>`Image`,Rs=()=>`Image`,zs=((e={},t={})=>(t.locale??$())===`fr`?Ls(e):Rs(e)),Bs=()=>`Audio`,Vs=()=>`Audio`,Hs=((e={},t={})=>(t.locale??$())===`fr`?Bs(e):Vs(e)),Us=()=>`Vidéo`,Ws=()=>`Video`,Gs=((e={},t={})=>(t.locale??$())===`fr`?Us(e):Ws(e)),Ks=()=>`PDF`,qs=()=>`PDF`,Js=((e={},t={})=>(t.locale??$())===`fr`?Ks(e):qs(e)),Ys=()=>`Document`,Xs=()=>`Document`,Zs=((e={},t={})=>(t.locale??$())===`fr`?Ys(e):Xs(e)),Qs=()=>`Archive`,$s=()=>`Archive`,ec=((e={},t={})=>(t.locale??$())===`fr`?Qs(e):$s(e)),tc=()=>`Autre`,nc=()=>`Other`,rc=((e={},t={})=>(t.locale??$())===`fr`?tc(e):nc(e)),ic=()=>`Nom`,ac=()=>`Name`,oc=((e={},t={})=>(t.locale??$())===`fr`?ic(e):ac(e)),sc=()=>`Type`,cc=()=>`Type`,lc=((e={},t={})=>(t.locale??$())===`fr`?sc(e):cc(e)),uc=()=>`Sens`,dc=()=>`Direction`,fc=((e={},t={})=>(t.locale??$())===`fr`?uc(e):dc(e)),pc=()=>`Conversation`,mc=()=>`Conversation`,hc=((e={},t={})=>(t.locale??$())===`fr`?pc(e):mc(e)),gc=()=>`Date`,_c=()=>`Date`,vc=((e={},t={})=>(t.locale??$())===`fr`?gc(e):_c(e)),yc=()=>`Action`,bc=()=>`Action`,xc=((e={},t={})=>(t.locale??$())===`fr`?yc(e):bc(e)),Sc=()=>`Télécharger`,Cc=()=>`Download`,wc=((e={},t={})=>(t.locale??$())===`fr`?Sc(e):Cc(e)),Tc=()=>`Réinitialiser`,Ec=()=>`Reset`,Dc=((e={},t={})=>(t.locale??$())===`fr`?Tc(e):Ec(e)),Oc=()=>`Actions`,kc=()=>`Actions`,Ac=((e={},t={})=>(t.locale??$())===`fr`?Oc(e):kc(e)),jc=()=>`Supprimer`,Mc=()=>`Delete`,Nc=((e={},t={})=>(t.locale??$())===`fr`?jc(e):Mc(e)),Pc=()=>`Fichier supprimé`,Fc=()=>`File removed`,Ic=((e={},t={})=>(t.locale??$())===`fr`?Pc(e):Fc(e)),Lc=()=>`Échec de la suppression du fichier`,Rc=()=>`Could not remove the file`,zc=((e={},t={})=>(t.locale??$())===`fr`?Lc(e):Rc(e)),Bc=()=>`Supprimer ce fichier ?`,Vc=()=>`Remove this file?`,Hc=((e={},t={})=>(t.locale??$())===`fr`?Bc(e):Vc(e)),Uc=()=>`Il sera retiré de vos fichiers. La conversation où il a été échangé n'est pas modifiée.`,Wc=()=>`It will be removed from your files. The conversation where it was exchanged is unchanged.`,Gc=((e={},t={})=>(t.locale??$())===`fr`?Uc(e):Wc(e)),Kc=()=>`Indisponible`,qc=()=>`Unavailable`,Jc=((e={},t={})=>(t.locale??$())===`fr`?Kc(e):qc(e)),Yc=()=>`Aucun fichier pour le moment.`,Xc=()=>`No files yet.`,Zc=((e={},t={})=>(t.locale??$())===`fr`?Yc(e):Xc(e)),Qc=()=>`Aucun fichier ne correspond aux filtres.`,$c=()=>`No files match the filters.`,el=((e={},t={})=>(t.locale??$())===`fr`?Qc(e):$c(e)),tl=e=>`Affichage des ${e?.cap} fichiers les plus récents.`,nl=e=>`Showing the ${e?.cap} most recent files.`,rl=((e,t={})=>(t.locale??$())===`fr`?tl(e):nl(e)),il=()=>`Apparence`,al=()=>`Appearance`,ol=((e={},t={})=>(t.locale??$())===`fr`?il(e):al(e)),sl=()=>`Thème par défaut de l’application`,cl=()=>`Default app theme`,ll=((e={},t={})=>(t.locale??$())===`fr`?sl(e):cl(e)),ul=()=>`Appliqué aux utilisateurs sans préférence personnelle.`,dl=()=>`Applied to users without a personal preference.`,fl=((e={},t={})=>(t.locale??$())===`fr`?ul(e):dl(e)),pl=()=>`Langue par défaut de l’application`,ml=()=>`Default app language`,hl=((e={},t={})=>(t.locale??$())===`fr`?pl(e):ml(e)),gl=()=>`Langue des nouveaux utilisateurs qui n’ont pas encore choisi la leur.`,_l=()=>`Language for new users who haven’t picked their own yet.`,vl=((e={},t={})=>(t.locale??$())===`fr`?gl(e):_l(e)),yl=()=>`Si vous n’avez pas défini votre propre langue, changer ce défaut rechargera votre vue.`,bl=()=>`If you haven’t set your own language, changing this default will reload your view.`,xl=((e={},t={})=>(t.locale??$())===`fr`?yl(e):bl(e)),Sl=()=>`Référence des composants (design)`,Cl=()=>`Component reference (design)`,wl=((e={},t={})=>(t.locale??$())===`fr`?Sl(e):Cl(e)),Tl=()=>`Administration de l’apparence`,El=()=>`Appearance administration`,Dl=((e={},t={})=>(t.locale??$())===`fr`?Tl(e):El(e)),Ol=()=>`Réservé aux administrateurs. S’applique à toute l’organisation.`,kl=()=>`Admins only. Applies to the whole organization.`,Al=((e={},t={})=>(t.locale??$())===`fr`?Ol(e):kl(e)),jl=()=>`Ma charte graphique`,Ml=()=>`My graphic chart`,Nl=((e={},t={})=>(t.locale??$())===`fr`?jl(e):Ml(e)),Pl=()=>`Choisissez la palette appliquée à votre interface, en clair comme en sombre.`,Fl=()=>`Pick the palette applied to your interface, in light and dark.`,Il=((e={},t={})=>(t.locale??$())===`fr`?Pl(e):Fl(e)),Ll=()=>`Défaut de l’application`,Rl=()=>`Application default`,zl=((e={},t={})=>(t.locale??$())===`fr`?Ll(e):Rl(e)),Bl=()=>`Suit le défaut de l’application.`,Vl=()=>`Follows the application default.`,Hl=((e={},t={})=>(t.locale??$())===`fr`?Bl(e):Vl(e)),Ul=()=>`Commune`,Wl=()=>`Common`,Gl=((e={},t={})=>(t.locale??$())===`fr`?Ul(e):Wl(e)),Kl=()=>`La vôtre`,ql=()=>`Yours`,Jl=((e={},t={})=>(t.locale??$())===`fr`?Kl(e):ql(e)),Yl=e=>`Via le groupe ${e?.group}`,Xl=e=>`Via group ${e?.group}`,Zl=((e,t={})=>(t.locale??$())===`fr`?Yl(e):Xl(e)),Ql=()=>`Aucune charte disponible pour le moment.`,$l=()=>`No chart available yet.`,eu=((e={},t={})=>(t.locale??$())===`fr`?Ql(e):$l(e)),tu=()=>`Charte par défaut de l’application`,nu=()=>`Application default chart`,ru=((e={},t={})=>(t.locale??$())===`fr`?tu(e):nu(e)),iu=()=>`Appliquée aux utilisateurs sans charte personnelle.`,au=()=>`Applied to users without a personal chart.`,ou=((e={},t={})=>(t.locale??$())===`fr`?iu(e):au(e)),su=()=>`Pools de chartes par groupe`,cu=()=>`Group chart pools`,lu=((e={},t={})=>(t.locale??$())===`fr`?su(e):cu(e)),uu=()=>`Définissez le pool de chaque charte : les groupes qui PEUVENT la proposer. Un gestionnaire de groupe choisit ensuite dans son pool (onglet Groupes). Une charte reste commune tant qu’aucun groupe ne l’a sélectionnée.`,du=()=>`Define each chart's pool: the groups that MAY offer it. A group manager then selects from its pool (Groups tab). A chart stays common until a group actually selects it.`,fu=((e={},t={})=>(t.locale??$())===`fr`?uu(e):du(e)),pu=()=>`Charte par domaine`,mu=()=>`Chart by domain`,hu=((e={},t={})=>(t.locale??$())===`fr`?pu(e):mu(e)),gu=()=>`Associez un domaine à une charte publique (intégrée ou commune) : elle devient la charte par défaut sur cet hôte, page de connexion comprise.`,_u=()=>`Map a domain to a public chart (builtin or common): it becomes the default chart on that host, including the login page.`,vu=((e={},t={})=>(t.locale??$())===`fr`?gu(e):_u(e)),yu=()=>`Commune`,bu=()=>`Common`,xu=((e={},t={})=>(t.locale??$())===`fr`?yu(e):bu(e)),Su=()=>`Restreinte`,Cu=()=>`Restricted`,wu=((e={},t={})=>(t.locale??$())===`fr`?Su(e):Cu(e)),Tu=()=>`Défaut`,Eu=()=>`Default`,Du=((e={},t={})=>(t.locale??$())===`fr`?Tu(e):Eu(e)),Ou=()=>`Aucun groupe à associer.`,ku=()=>`No group to attach.`,Au=((e={},t={})=>(t.locale??$())===`fr`?Ou(e):ku(e)),ju=()=>`Disponible aux groupes (pool)`,Mu=()=>`Available to groups (pool)`,Nu=((e={},t={})=>(t.locale??$())===`fr`?ju(e):Mu(e)),Pu=()=>`Ajouter au pool d'un groupe…`,Fu=()=>`Add to a group's pool…`,Iu=((e={},t={})=>(t.locale??$())===`fr`?Pu(e):Fu(e)),Lu=e=>`Retirer ${e?.group} du pool`,Ru=e=>`Remove ${e?.group} from the pool`,zu=((e,t={})=>(t.locale??$())===`fr`?Lu(e):Ru(e)),Bu=()=>`Importer une charte`,Vu=()=>`Import a chart`,Hu=((e={},t={})=>(t.locale??$())===`fr`?Bu(e):Vu(e)),Uu=()=>`Collez le JSON d’une charte (ou choisissez un fichier .json) pour créer votre charte personnelle. Les couleurs doivent être au format oklch ; les valeurs sont validées et nettoyées côté serveur.`,Wu=()=>`Paste a chart's JSON (or pick a .json file) to create your personal chart. Colors must be in oklch format; values are validated and sanitized server-side.`,Gu=((e={},t={})=>(t.locale??$())===`fr`?Uu(e):Wu(e)),Ku=()=>`Nom de la charte`,qu=()=>`Chart name`,Ju=((e={},t={})=>(t.locale??$())===`fr`?Ku(e):qu(e)),Yu=()=>`Ma charte`,Xu=()=>`My chart`,Zu=((e={},t={})=>(t.locale??$())===`fr`?Yu(e):Xu(e)),Qu=()=>`JSON des tokens`,$u=()=>`Tokens JSON`,ed=((e={},t={})=>(t.locale??$())===`fr`?Qu(e):$u(e)),td=()=>`Collez ici le JSON des tokens (colors.light / colors.dark en oklch, radius, fontSans, fontMono)…`,nd=()=>`Paste the tokens JSON here (colors.light / colors.dark in oklch, radius, fontSans, fontMono)…`,rd=((e={},t={})=>(t.locale??$())===`fr`?td(e):nd(e)),id=()=>`Charger un fichier .json`,ad=()=>`Load a .json file`,od=((e={},t={})=>(t.locale??$())===`fr`?id(e):ad(e)),sd=()=>`Importer`,cd=()=>`Import`,ld=((e={},t={})=>(t.locale??$())===`fr`?sd(e):cd(e)),ud=()=>`JSON invalide : impossible d’analyser le contenu.`,dd=()=>`Invalid JSON: could not parse the content.`,fd=((e={},t={})=>(t.locale??$())===`fr`?ud(e):dd(e)),pd=()=>`Charte importée.`,md=()=>`Chart imported.`,hd=((e={},t={})=>(t.locale??$())===`fr`?pd(e):md(e)),gd=()=>`Indiquez un nom de charte.`,_d=()=>`Please provide a chart name.`,vd=((e={},t={})=>(t.locale??$())===`fr`?gd(e):_d(e)),yd=()=>`Mes chartes`,bd=()=>`My charts`,xd=((e={},t={})=>(t.locale??$())===`fr`?yd(e):bd(e)),Sd=()=>`Les chartes que vous avez importées. Vous pouvez les renommer, modifier leurs tokens, les associer à vos groupes ou les supprimer.`,Cd=()=>`The charts you have imported. You can rename them, edit their tokens, associate them with your groups, or delete them.`,wd=((e={},t={})=>(t.locale??$())===`fr`?Sd(e):Cd(e)),Td=()=>`Vous n’avez pas encore importé de charte.`,Ed=()=>`You haven't imported any chart yet.`,Dd=((e={},t={})=>(t.locale??$())===`fr`?Td(e):Ed(e)),Od=()=>`Modifier`,kd=()=>`Edit`,Ad=((e={},t={})=>(t.locale??$())===`fr`?Od(e):kd(e)),jd=()=>`Supprimer`,Md=()=>`Delete`,Nd=((e={},t={})=>(t.locale??$())===`fr`?jd(e):Md(e)),Pd=()=>`Logo de marque`,Fd=()=>`Brand logo`,Id=((e={},t={})=>(t.locale??$())===`fr`?Pd(e):Fd(e)),Ld=()=>`Mode clair`,Rd=()=>`Light mode`,zd=((e={},t={})=>(t.locale??$())===`fr`?Ld(e):Rd(e)),Bd=()=>`Mode sombre`,Vd=()=>`Dark mode`,Hd=((e={},t={})=>(t.locale??$())===`fr`?Bd(e):Vd(e)),Ud=()=>`Téléverser`,Wd=()=>`Upload`,Gd=((e={},t={})=>(t.locale??$())===`fr`?Ud(e):Wd(e)),Kd=()=>`Remplacer`,qd=()=>`Replace`,Jd=((e={},t={})=>(t.locale??$())===`fr`?Kd(e):qd(e)),Yd=()=>`Retirer`,Xd=()=>`Remove`,Zd=((e={},t={})=>(t.locale??$())===`fr`?Yd(e):Xd(e)),Qd=()=>`Générer depuis l’autre mode`,$d=()=>`Generate from the other mode`,ef=((e={},t={})=>(t.locale??$())===`fr`?Qd(e):$d(e)),tf=()=>`Traitement…`,nf=()=>`Processing…`,rf=((e={},t={})=>(t.locale??$())===`fr`?tf(e):nf(e)),af=()=>`Le fichier doit être une image.`,of=()=>`The file must be an image.`,sf=((e={},t={})=>(t.locale??$())===`fr`?af(e):of(e)),cf=()=>`Image trop volumineuse (max 12 Mo).`,lf=()=>`Image too large (max 12 MB).`,uf=((e={},t={})=>(t.locale??$())===`fr`?cf(e):lf(e)),df=()=>`Format d’image non pris en charge.`,ff=()=>`Unsupported image format.`,pf=((e={},t={})=>(t.locale??$())===`fr`?df(e):ff(e)),mf=()=>`Traitement de l’image impossible.`,hf=()=>`Could not process the image.`,gf=((e={},t={})=>(t.locale??$())===`fr`?mf(e):hf(e)),_f=()=>`Encodage de l’image impossible.`,vf=()=>`Could not encode the image.`,yf=((e={},t={})=>(t.locale??$())===`fr`?_f(e):vf(e)),bf=()=>`Domaines (admin)`,xf=()=>`Domains (admin)`,Sf=((e={},t={})=>(t.locale??$())===`fr`?bf(e):xf(e)),Cf=()=>`Quand Atrium est ouvert sur ce domaine, cette charte s’applique par défaut (page de connexion incluse). Ex. chat.acme.com ou *.acme.com.`,wf=()=>`When Atrium is opened on this domain, this chart applies by default (including the login page). E.g. chat.acme.com or *.acme.com.`,Tf=((e={},t={})=>(t.locale??$())===`fr`?Cf(e):wf(e)),Ef=()=>`chat.acme.com ou *.acme.com`,Df=()=>`chat.acme.com or *.acme.com`,Of=((e={},t={})=>(t.locale??$())===`fr`?Ef(e):Df(e)),kf=()=>`Ajouter`,Af=()=>`Add`,jf=((e={},t={})=>(t.locale??$())===`fr`?kf(e):Af(e)),Mf=()=>`Aucun domaine.`,Nf=()=>`No domain.`,Pf=((e={},t={})=>(t.locale??$())===`fr`?Mf(e):Nf(e)),Ff=e=>`Retirer ${e?.domain}`,If=e=>`Remove ${e?.domain}`,Lf=((e,t={})=>(t.locale??$())===`fr`?Ff(e):If(e)),Rf=()=>`Enregistrer`,zf=()=>`Save`,Bf=((e={},t={})=>(t.locale??$())===`fr`?Rf(e):zf(e)),Vf=()=>`Annuler`,Hf=()=>`Cancel`,Uf=((e={},t={})=>(t.locale??$())===`fr`?Vf(e):Hf(e)),Wf=()=>`Nom`,Gf=()=>`Name`,Kf=((e={},t={})=>(t.locale??$())===`fr`?Wf(e):Gf(e)),qf=()=>`Tokens (JSON)`,Jf=()=>`Tokens (JSON)`,Yf=((e={},t={})=>(t.locale??$())===`fr`?qf(e):Jf(e)),Xf=()=>`Supprimer définitivement cette charte ?`,Zf=()=>`Permanently delete this chart?`,Qf=((e={},t={})=>(t.locale??$())===`fr`?Xf(e):Zf(e)),$f=()=>`Chartes personnalisées`,ep=()=>`Custom charts`,tp=((e={},t={})=>(t.locale??$())===`fr`?$f(e):ep(e)),np=()=>`Gérez les chartes importées par les utilisateurs : promouvoir en commune (offerte à tous) ou supprimer.`,rp=()=>`Manage charts imported by users: promote to common (offered to everyone) or delete.`,ip=((e={},t={})=>(t.locale??$())===`fr`?np(e):rp(e)),ap=e=>`Propriétaire : ${e?.owner}`,op=e=>`Owner: ${e?.owner}`,sp=((e,t={})=>(t.locale??$())===`fr`?ap(e):op(e)),cp=()=>`Personnelle`,lp=()=>`Personal`,up=((e={},t={})=>(t.locale??$())===`fr`?cp(e):lp(e)),dp=()=>`Commune`,fp=()=>`Common`,pp=((e={},t={})=>(t.locale??$())===`fr`?dp(e):fp(e)),mp=()=>`Promouvoir en commune`,hp=()=>`Promote to common`,gp=((e={},t={})=>(t.locale??$())===`fr`?mp(e):hp(e)),_p=()=>`Supprimer`,vp=()=>`Delete`,yp=((e={},t={})=>(t.locale??$())===`fr`?_p(e):vp(e)),bp=()=>`Aucune charte personnalisée pour le moment.`,xp=()=>`No custom chart yet.`,Sp=((e={},t={})=>(t.locale??$())===`fr`?bp(e):xp(e)),Cp=()=>`Messages`,wp=()=>`Messages`,Tp=((e={},t={})=>(t.locale??$())===`fr`?Cp(e):wp(e)),Ep=()=>`Composeur`,Dp=()=>`Composer`,Op=((e={},t={})=>(t.locale??$())===`fr`?Ep(e):Dp(e)),kp=()=>`Barre latérale`,Ap=()=>`Sidebar`,jp=((e={},t={})=>(t.locale??$())===`fr`?kp(e):Ap(e)),Mp=()=>`Autre`,Np=()=>`Other`,Pp=((e={},t={})=>(t.locale??$())===`fr`?Mp(e):Np(e)),Fp=()=>`Vue source des messages`,Ip=()=>`Message source view`,Lp=((e={},t={})=>(t.locale??$())===`fr`?Fp(e):Ip(e)),Rp=()=>`Le bouton </> qui montre le texte brut exact d’un message.`,zp=()=>`The </> button that shows a message’s exact raw text.`,Bp=((e={},t={})=>(t.locale??$())===`fr`?Rp(e):zp(e)),Vp=()=>`Signaler un problème`,Hp=()=>`Report a problem`,Up=((e={},t={})=>(t.locale??$())===`fr`?Vp(e):Hp(e)),Wp=()=>`Le drapeau qui envoie un signalement (feedback) sur un message.`,Gp=()=>`The flag that sends feedback about a message.`,Kp=((e={},t={})=>(t.locale??$())===`fr`?Wp(e):Gp(e)),qp=()=>`Copier les réponses de l’IA`,Jp=()=>`Copy AI replies`,Yp=((e={},t={})=>(t.locale??$())===`fr`?qp(e):Jp(e)),Xp=()=>`Copier vos messages`,Zp=()=>`Copy your messages`,Qp=((e={},t={})=>(t.locale??$())===`fr`?Xp(e):Zp(e)),$p=()=>`Supprimer un message`,em=()=>`Delete a message`,tm=((e={},t={})=>(t.locale??$())===`fr`?$p(e):em(e)),nm=()=>`Activité des outils`,rm=()=>`Tool activity`,im=((e={},t={})=>(t.locale??$())===`fr`?nm(e):rm(e)),am=()=>`Affiche l’activité des outils et les sources dans la conversation (vue d’analyse, avec détail dépliable). Désactivé : vue épurée centrée sur le contenu — le signal « traitement en cours » reste visible.`,om=()=>`Shows tool activity and sources in the conversation (analysis view, with expandable detail). Off: a clean, content-focused view — the “processing in progress” signal stays visible.`,sm=((e={},t={})=>(t.locale??$())===`fr`?am(e):om(e)),cm=()=>`Saisie vocale (micro)`,lm=()=>`Voice input (mic)`,um=((e={},t={})=>(t.locale??$())===`fr`?cm(e):lm(e)),dm=()=>`Le bouton micro dans le composeur.`,fm=()=>`The mic button in the composer.`,pm=((e={},t={})=>(t.locale??$())===`fr`?dm(e):fm(e)),mm=()=>`Âge des conversations`,hm=()=>`Conversation age`,gm=((e={},t={})=>(t.locale??$())===`fr`?mm(e):hm(e)),_m=()=>`Afficher l’ancienneté de chaque conversation (ex. « 3j », « 2sem ») dans la liste à gauche.`,vm=()=>`Show each conversation’s age (e.g. “3d”, “2w”) in the left list.`,ym=((e={},t={})=>(t.locale??$())===`fr`?_m(e):vm(e)),bm=()=>`Bridge des conversations`,xm=()=>`Conversation bridge`,Sm=((e={},t={})=>(t.locale??$())===`fr`?bm(e):xm(e)),Cm=()=>`Marquer le bridge (OpenClaw / Hermes) de chaque conversation dans la liste à gauche. Apparaît uniquement si vos conversations utilisent plusieurs bridges.`,wm=()=>`Tag each conversation’s bridge (OpenClaw / Hermes) in the left list. Shown only if your conversations use more than one bridge.`,Tm=((e={},t={})=>(t.locale??$())===`fr`?Cm(e):wm(e)),Em=()=>`Filtrer les préférences…`,Dm=()=>`Filter preferences…`,Om=((e={},t={})=>(t.locale??$())===`fr`?Em(e):Dm(e)),km=()=>`Aucune préférence ne correspond.`,Am=()=>`No preference matches.`,jm=((e={},t={})=>(t.locale??$())===`fr`?km(e):Am(e)),Mm=()=>`Non activé`,Nm=()=>`Not enabled`,Pm=((e={},t={})=>(t.locale??$())===`fr`?Mm(e):Nm(e)),Fm=()=>`défaut`,Im=()=>`default`,Lm=((e={},t={})=>(t.locale??$())===`fr`?Fm(e):Im(e)),Rm=()=>`Réinitialiser`,zm=()=>`Reset`,Bm=((e={},t={})=>(t.locale??$())===`fr`?Rm(e):zm(e)),Vm=()=>`Gérer les défauts et verrous`,Hm=()=>`Manage defaults and locks`,Um=((e={},t={})=>(t.locale??$())===`fr`?Vm(e):Hm(e)),Wm=()=>`Défaut admin`,Gm=()=>`Admin default`,Km=((e={},t={})=>(t.locale??$())===`fr`?Wm(e):Gm(e)),qm=()=>`Fonctionnalité activée (système)`,Jm=()=>`Feature enabled (system)`,Ym=((e={},t={})=>(t.locale??$())===`fr`?qm(e):Jm(e)),Xm=()=>`Configurez l’interface : activez les fonctionnalités système et définissez les valeurs par défaut héritées par les utilisateurs (chacun peut ensuite les redéfinir dans ses propres préférences).`,Zm=()=>`Configure the interface: enable system features and set the defaults users inherit (each can then override them in their own preferences).`,Qm=((e={},t={})=>(t.locale??$())===`fr`?Xm(e):Zm(e)),$m=()=>`Une fonctionnalité non activée ici ne peut pas être activée par les utilisateurs (option grisée).`,eh=()=>`A feature not enabled here cannot be turned on by users (greyed out).`,th=((e={},t={})=>(t.locale??$())===`fr`?$m(e):eh(e)),nh=()=>`Active le pipeline vocal. Tant que c’est désactivé, l’option reste grisée et non activable par les utilisateurs.`,rh=()=>`Enables the voice pipeline. While off, the option stays greyed and users can’t turn it on.`,ih=((e={},t={})=>(t.locale??$())===`fr`?nh(e):rh(e)),ah=()=>`« Hérité » = la valeur intégrée par défaut de l’application.`,oh=()=>`“Inherited” = the app’s built-in default value.`,sh=((e={},t={})=>(t.locale??$())===`fr`?ah(e):oh(e)),ch=()=>`Activé`,lh=()=>`On`,uh=((e={},t={})=>(t.locale??$())===`fr`?ch(e):lh(e)),dh=()=>`Désactivé`,fh=()=>`Off`,ph=((e={},t={})=>(t.locale??$())===`fr`?dh(e):fh(e)),mh=()=>`Hérité`,hh=()=>`Inherited`,gh=((e={},t={})=>(t.locale??$())===`fr`?mh(e):hh(e)),_h=()=>`Comptes de service pour les agents OpenClaw (auth par clé API). Le texte en clair d’une clé n’est affiché qu’une seule fois à sa création — il n’est jamais stocké ni récupérable ensuite.`,vh=()=>`Service accounts for OpenClaw agents (API key auth). A key's plaintext is shown only once at creation — it is never stored nor retrievable afterwards.`,yh=((e={},t={})=>(t.locale??$())===`fr`?_h(e):vh(e)),bh=()=>`Rechercher un compte`,xh=()=>`Search an account`,Sh=((e={},t={})=>(t.locale??$())===`fr`?bh(e):xh(e)),Ch=()=>`Rôle`,wh=()=>`Role`,Th=((e={},t={})=>(t.locale??$())===`fr`?Ch(e):wh(e)),Eh=()=>`Tous les rôles`,Dh=()=>`All roles`,Oh=((e={},t={})=>(t.locale??$())===`fr`?Eh(e):Dh(e)),kh=()=>`Tous les statuts`,Ah=()=>`All statuses`,jh=((e={},t={})=>(t.locale??$())===`fr`?kh(e):Ah(e)),Mh=()=>`actif`,Nh=()=>`active`,Ph=((e={},t={})=>(t.locale??$())===`fr`?Mh(e):Nh(e)),Fh=()=>`désactivé`,Ih=()=>`disabled`,Lh=((e={},t={})=>(t.locale??$())===`fr`?Fh(e):Ih(e)),Rh=()=>`Comptes de service`,zh=()=>`Service accounts`,Bh=((e={},t={})=>(t.locale??$())===`fr`?Rh(e):zh(e)),Vh=()=>`Ajouter un compte`,Hh=()=>`Add an account`,Uh=((e={},t={})=>(t.locale??$())===`fr`?Vh(e):Hh(e)),Wh=()=>`Aucun compte de service.`,Gh=()=>`No service account.`,Kh=((e={},t={})=>(t.locale??$())===`fr`?Wh(e):Gh(e)),qh=()=>`Générer une clé API`,Jh=()=>`Generate an API key`,Yh=((e={},t={})=>(t.locale??$())===`fr`?qh(e):Jh(e)),Xh=()=>`Masquer les clés`,Zh=()=>`Hide keys`,Qh=((e={},t={})=>(t.locale??$())===`fr`?Xh(e):Zh(e)),$h=()=>`Afficher les clés`,eg=()=>`Show keys`,tg=((e={},t={})=>(t.locale??$())===`fr`?$h(e):eg(e)),ng=()=>`Modifier`,rg=()=>`Edit`,ig=((e={},t={})=>(t.locale??$())===`fr`?ng(e):rg(e)),ag=()=>`Supprimer le compte`,og=()=>`Delete account`,sg=((e={},t={})=>(t.locale??$())===`fr`?ag(e):og(e)),cg=()=>`Replier`,lg=()=>`Collapse`,ug=((e={},t={})=>(t.locale??$())===`fr`?cg(e):lg(e)),dg=()=>`Déplier`,fg=()=>`Expand`,pg=((e={},t={})=>(t.locale??$())===`fr`?dg(e):fg(e)),mg=()=>`Nom`,hg=()=>`Name`,gg=((e={},t={})=>(t.locale??$())===`fr`?mg(e):hg(e)),_g=()=>`Rôle`,vg=()=>`Role`,yg=((e={},t={})=>(t.locale??$())===`fr`?_g(e):vg(e)),bg=()=>`Statut`,xg=()=>`Status`,Sg=((e={},t={})=>(t.locale??$())===`fr`?bg(e):xg(e)),Cg=()=>`Expiration de la prochaine clé`,wg=()=>`Next key expiry`,Tg=((e={},t={})=>(t.locale??$())===`fr`?Cg(e):wg(e)),Eg=()=>`Clés`,Dg=()=>`Keys`,Og=((e={},t={})=>(t.locale??$())===`fr`?Eg(e):Dg(e)),kg=()=>`génération…`,Ag=()=>`generating…`,jg=((e={},t={})=>(t.locale??$())===`fr`?kg(e):Ag(e)),Mg=e=>`${e?.count} active(s)`,Ng=e=>`${e?.count} active`,Pg=((e,t={})=>(t.locale??$())===`fr`?Mg(e):Ng(e)),Fg=()=>`Modifier le compte de service`,Ig=()=>`Edit service account`,Lg=((e={},t={})=>(t.locale??$())===`fr`?Fg(e):Ig(e)),Rg=()=>`Modifier le nom, le rôle et la description.`,zg=()=>`Update the name, role and description.`,Bg=((e={},t={})=>(t.locale??$())===`fr`?Rg(e):zg(e)),Vg=()=>`Enregistrer`,Hg=()=>`Save`,Ug=((e={},t={})=>(t.locale??$())===`fr`?Vg(e):Hg(e)),Wg=()=>`Nouveau compte de service`,Gg=()=>`New service account`,Kg=((e={},t={})=>(t.locale??$())===`fr`?Wg(e):Gg(e)),qg=()=>`Principal authentifié par clé API (jamais un humain).`,Jg=()=>`Principal authenticated by API key (never a human).`,Yg=((e={},t={})=>(t.locale??$())===`fr`?qg(e):Jg(e)),Xg=()=>`Ajouter`,Zg=()=>`Add`,Qg=((e={},t={})=>(t.locale??$())===`fr`?Xg(e):Zg(e)),$g=()=>`Nom`,e_=()=>`Name`,t_=((e={},t={})=>(t.locale??$())===`fr`?$g(e):e_(e)),n_=()=>`Rôle`,r_=()=>`Role`,i_=((e={},t={})=>(t.locale??$())===`fr`?n_(e):r_(e)),a_=()=>`Choisir un rôle`,o_=()=>`Choose a role`,s_=((e={},t={})=>(t.locale??$())===`fr`?a_(e):o_(e)),c_=()=>`Description (optionnel)`,l_=()=>`Description (optional)`,u_=((e={},t={})=>(t.locale??$())===`fr`?c_(e):l_(e)),d_=()=>`Échec de la création du compte`,f_=()=>`Failed to create the account`,p_=((e={},t={})=>(t.locale??$())===`fr`?d_(e):f_(e)),m_=()=>`Échec de la modification du compte`,h_=()=>`Failed to update the account`,g_=((e={},t={})=>(t.locale??$())===`fr`?m_(e):h_(e)),__=()=>`Compte de service mis à jour.`,v_=()=>`Service account updated.`,y_=((e={},t={})=>(t.locale??$())===`fr`?__(e):v_(e)),b_=()=>`Échec de la génération de la clé`,x_=()=>`Failed to generate the key`,S_=((e={},t={})=>(t.locale??$())===`fr`?b_(e):x_(e)),C_=()=>`Supprimer ce compte de service ?`,w_=()=>`Delete this service account?`,T_=((e={},t={})=>(t.locale??$())===`fr`?C_(e):w_(e)),E_=()=>`Le compte`,D_=()=>`The account`,O_=((e={},t={})=>(t.locale??$())===`fr`?E_(e):D_(e)),k_=()=>`et`,A_=()=>`and`,j_=((e={},t={})=>(t.locale??$())===`fr`?k_(e):A_(e)),M_=()=>`toutes ses clés API`,N_=()=>`all its API keys`,P_=((e={},t={})=>(t.locale??$())===`fr`?M_(e):N_(e)),F_=()=>`seront supprimés définitivement. Cette action est irréversible. Tapez le nom du compte pour confirmer.`,I_=()=>`will be permanently deleted. This action is irreversible. Type the account name to confirm.`,L_=((e={},t={})=>(t.locale??$())===`fr`?F_(e):I_(e)),R_=()=>`Supprimer`,z_=()=>`Delete`,B_=((e={},t={})=>(t.locale??$())===`fr`?R_(e):z_(e)),V_=()=>`Compte de service supprimé`,H_=()=>`Service account deleted`,U_=((e={},t={})=>(t.locale??$())===`fr`?V_(e):H_(e)),W_=()=>`Échec de la suppression du compte`,G_=()=>`Failed to delete the account`,K_=((e={},t={})=>(t.locale??$())===`fr`?W_(e):G_(e)),q_=()=>`Révoquer cette clé API ?`,J_=()=>`Revoke this API key?`,Y_=((e={},t={})=>(t.locale??$())===`fr`?q_(e):J_(e)),X_=()=>`La clé`,Z_=()=>`The key`,Q_=((e={},t={})=>(t.locale??$())===`fr`?X_(e):Z_(e)),$_=()=>`sera désactivée immédiatement et ne pourra plus authentifier de requêtes. Cette action est irréversible.`,ev=()=>`will be disabled immediately and will no longer be able to authenticate requests. This action is irreversible.`,tv=((e={},t={})=>(t.locale??$())===`fr`?$_(e):ev(e)),nv=()=>`Révoquer`,rv=()=>`Revoke`,iv=((e={},t={})=>(t.locale??$())===`fr`?nv(e):rv(e)),av=()=>`Échec de la révocation`,ov=()=>`Failed to revoke`,sv=((e={},t={})=>(t.locale??$())===`fr`?av(e):ov(e)),cv=()=>`Clés de`,lv=()=>`Keys of`,uv=((e={},t={})=>(t.locale??$())===`fr`?cv(e):lv(e)),dv=()=>`Aucune clé pour ce compte.`,fv=()=>`No key for this account.`,pv=((e={},t={})=>(t.locale??$())===`fr`?dv(e):fv(e)),mv=()=>`Clé`,hv=()=>`Key`,gv=((e={},t={})=>(t.locale??$())===`fr`?mv(e):hv(e)),_v=()=>`Rôle`,vv=()=>`Role`,yv=((e={},t={})=>(t.locale??$())===`fr`?_v(e):vv(e)),bv=()=>`Créée`,xv=()=>`Created`,Sv=((e={},t={})=>(t.locale??$())===`fr`?bv(e):xv(e)),Cv=()=>`Dernier usage`,wv=()=>`Last used`,Tv=((e={},t={})=>(t.locale??$())===`fr`?Cv(e):wv(e)),Ev=()=>`Expiration`,Dv=()=>`Expiry`,Ov=((e={},t={})=>(t.locale??$())===`fr`?Ev(e):Dv(e)),kv=()=>`Statut`,Av=()=>`Status`,jv=((e={},t={})=>(t.locale??$())===`fr`?kv(e):Av(e)),Mv=()=>`Révocation…`,Nv=()=>`Revoking…`,Pv=((e={},t={})=>(t.locale??$())===`fr`?Mv(e):Nv(e)),Fv=()=>`Révoquer`,Iv=()=>`Revoke`,Lv=((e={},t={})=>(t.locale??$())===`fr`?Fv(e):Iv(e)),Rv=()=>`Clé API créée`,zv=()=>`API key created`,Bv=((e={},t={})=>(t.locale??$())===`fr`?Rv(e):zv(e)),Vv=e=>`Pour le compte « ${e?.name} ». Copiez-la maintenant.`,Hv=e=>`For the account « ${e?.name} ». Copy it now.`,Uv=((e,t={})=>(t.locale??$())===`fr`?Vv(e):Hv(e)),Wv=()=>`Stockez cette clé en lieu sûr. Vous ne la reverrez plus jamais. Pour la remplacer, il faudra la révoquer et en générer une nouvelle.`,Gv=()=>`Store this key in a safe place. You will never see it again. To replace it, you will have to revoke it and generate a new one.`,Kv=((e={},t={})=>(t.locale??$())===`fr`?Wv(e):Gv(e)),qv=()=>`Copier la clé`,Jv=()=>`Copy the key`,Yv=((e={},t={})=>(t.locale??$())===`fr`?qv(e):Jv(e)),Xv=()=>`Copié`,Zv=()=>`Copied`,Qv=((e={},t={})=>(t.locale??$())===`fr`?Xv(e):Zv(e)),$v=()=>`Copier`,ey=()=>`Copy`,ty=((e={},t={})=>(t.locale??$())===`fr`?$v(e):ey(e)),ny=()=>`J’ai copié la clé`,ry=()=>`I have copied the key`,iy=((e={},t={})=>(t.locale??$())===`fr`?ny(e):ry(e)),ay=()=>`Jamais`,oy=()=>`Never`,sy=((e={},t={})=>(t.locale??$())===`fr`?ay(e):oy(e)),cy=()=>`30 jours`,ly=()=>`30 days`,uy=((e={},t={})=>(t.locale??$())===`fr`?cy(e):ly(e)),dy=()=>`90 jours`,fy=()=>`90 days`,py=((e={},t={})=>(t.locale??$())===`fr`?dy(e):fy(e)),my=()=>`Jamais`,hy=()=>`Never`,gy=((e={},t={})=>(t.locale??$())===`fr`?my(e):hy(e)),_y=()=>`révoquée`,vy=()=>`revoked`,yy=((e={},t={})=>(t.locale??$())===`fr`?_y(e):vy(e)),by=()=>`expirée`,xy=()=>`expired`,Sy=((e={},t={})=>(t.locale??$())===`fr`?by(e):xy(e)),Cy=()=>`active`,wy=()=>`active`,Ty=((e={},t={})=>(t.locale??$())===`fr`?Cy(e):wy(e)),Ey=()=>`Sélectionnez ou créez une conversation pour commencer.`,Dy=()=>`Select or create a chat to begin.`,Oy=((e={},t={})=>(t.locale??$())===`fr`?Ey(e):Dy(e)),ky=()=>`Conversation introuvable`,Ay=()=>`Conversation not found`,jy=((e={},t={})=>(t.locale??$())===`fr`?ky(e):Ay(e)),My=()=>`Ce lien ne correspond à aucune conversation. Elle a peut-être été supprimée, ou l’adresse est incomplète.`,Ny=()=>`This link does not match any conversation. It may have been deleted, or the address is incomplete.`,Py=((e={},t={})=>(t.locale??$())===`fr`?My(e):Ny(e)),Fy=()=>`Nouvelle conversation`,Iy=()=>`New conversation`,Ly=((e={},t={})=>(t.locale??$())===`fr`?Fy(e):Iy(e)),Ry=()=>`Derniers messages`,zy=()=>`Latest messages`,By=((e={},t={})=>(t.locale??$())===`fr`?Ry(e):zy(e)),Vy=()=>`La passerelle de cet agent ne répond plus. Un traitement en cours risque d’expirer et un nouvel envoi échouera probablement — réessayez quand elle sera rétablie.`,Hy=()=>`This agent's gateway is not responding. An in-flight turn may time out and a new send will likely fail — retry once it is back.`,Uy=((e={},t={})=>(t.locale??$())===`fr`?Vy(e):Hy(e)),Wy=()=>`Le service de chat est momentanément indisponible. L’envoi de message est suspendu — réessayez dans un instant. Si cela persiste, contactez votre administrateur.`,Gy=()=>`The chat service is temporarily unavailable. Sending messages is suspended — try again in a moment. If this persists, contact your administrator.`,Ky=((e={},t={})=>(t.locale??$())===`fr`?Wy(e):Gy(e)),qy=()=>`Ce chat est en lecture seule : l’agent associé ne t’est plus disponible (ton accès aux agents a été modifié). Démarre un nouveau chat avec un agent disponible.`,Jy=()=>`This chat is read-only: its agent is no longer available to you (your agent access was changed). Start a new chat with an available agent.`,Yy=((e={},t={})=>(t.locale??$())===`fr`?qy(e):Jy(e)),Xy=()=>`Réponse reçue.`,Zy=()=>`Reply received.`,Qy=((e={},t={})=>(t.locale??$())===`fr`?Xy(e):Zy(e)),$y=()=>`Comment puis-je aider ?`,eb=()=>`How can I help?`,tb=((e={},t={})=>(t.locale??$())===`fr`?$y(e):eb(e)),nb=()=>`Conversation`,rb=()=>`Conversation`,ib=((e={},t={})=>(t.locale??$())===`fr`?nb(e):rb(e)),ab=e=>`Instance : ${e?.instance}`,ob=e=>`Instance: ${e?.instance}`,sb=((e,t={})=>(t.locale??$())===`fr`?ab(e):ob(e)),cb=e=>`Répondu par ${e?.name}`,lb=e=>`Answered by ${e?.name}`,ub=((e,t={})=>(t.locale??$())===`fr`?cb(e):lb(e)),db=()=>`Agent`,fb=()=>`Agent`,pb=((e={},t={})=>(t.locale??$())===`fr`?db(e):fb(e)),mb=()=>`Choisir l'agent du prochain message`,hb=()=>`Choose the agent for the next message`,gb=((e={},t={})=>(t.locale??$())===`fr`?mb(e):hb(e)),_b=()=>`Choisir l'agent du prochain message`,vb=()=>`Choose the agent for the next message`,yb=((e={},t={})=>(t.locale??$())===`fr`?_b(e):vb(e)),bb=()=>`L'agent de cette conversation est défini avec le premier message ; choisissez un autre agent à partir du deuxième message.`,xb=()=>`This conversation's agent is set with the first message; choose a different agent from the second message onward.`,Sb=((e={},t={})=>(t.locale??$())===`fr`?bb(e):xb(e)),Cb=()=>`Modèle`,wb=()=>`Model`,Tb=((e={},t={})=>(t.locale??$())===`fr`?Cb(e):wb(e)),Eb=e=>`Modèle · ${e?.provider}`,Db=e=>`Model · ${e?.provider}`,Ob=((e,t={})=>(t.locale??$())===`fr`?Eb(e):Db(e)),kb=()=>`Niveau de réflexion hérité de l’agent`,Ab=()=>`Thinking level inherited from the agent`,jb=((e={},t={})=>(t.locale??$())===`fr`?kb(e):Ab(e)),Mb=()=>`Niveau de réflexion (spécifique à ce chat)`,Nb=()=>`Thinking level (specific to this chat)`,Pb=((e={},t={})=>(t.locale??$())===`fr`?Mb(e):Nb(e)),Fb=()=>`Réflexion`,Ib=()=>`Thinking`,Lb=((e={},t={})=>(t.locale??$())===`fr`?Fb(e):Ib(e)),Rb=()=>`héritée`,zb=()=>`inherited`,Bb=((e={},t={})=>(t.locale??$())===`fr`?Rb(e):zb(e)),Vb=e=>`Contexte utilisé : ${e?.pct}% (${e?.used} / ${e?.total} tokens)`,Hb=e=>`Context used: ${e?.pct}% (${e?.used} / ${e?.total} tokens)`,Ub=((e,t={})=>(t.locale??$())===`fr`?Vb(e):Hb(e)),Wb=()=>`Contexte`,Gb=()=>`Context`,Kb=((e={},t={})=>(t.locale??$())===`fr`?Wb(e):Gb(e)),qb=()=>`Exporter la conversation`,Jb=()=>`Export the conversation`,Yb=((e={},t={})=>(t.locale??$())===`fr`?qb(e):Jb(e)),Xb=()=>`Exporter`,Zb=()=>`Export`,Qb=((e={},t={})=>(t.locale??$())===`fr`?Xb(e):Zb(e)),$b=()=>`Markdown (.md)`,ex=()=>`Markdown (.md)`,tx=((e={},t={})=>(t.locale??$())===`fr`?$b(e):ex(e)),nx=()=>`JSON (.json)`,rx=()=>`JSON (.json)`,ix=((e={},t={})=>(t.locale??$())===`fr`?nx(e):rx(e)),ax=()=>`Réglages avancés (réflexion, modèle)`,ox=()=>`Advanced settings (thinking, model)`,sx=((e={},t={})=>(t.locale??$())===`fr`?ax(e):ox(e)),cx=()=>`Avancé`,lx=()=>`Advanced`,ux=((e={},t={})=>(t.locale??$())===`fr`?cx(e):lx(e)),dx=()=>`Supprimer et régénérer cette réponse ?`,fx=()=>`Delete and regenerate this reply?`,px=((e={},t={})=>(t.locale??$())===`fr`?dx(e):fx(e)),mx=()=>`Cette réponse sera supprimée, puis régénérée à partir de votre dernier message.`,hx=()=>`This reply will be deleted, then regenerated from your last message.`,gx=((e={},t={})=>(t.locale??$())===`fr`?mx(e):hx(e)),_x=()=>`Régénérer`,vx=()=>`Regenerate`,yx=((e={},t={})=>(t.locale??$())===`fr`?_x(e):vx(e)),bx=()=>`Annuler`,xx=()=>`Cancel`,Sx=((e={},t={})=>(t.locale??$())===`fr`?bx(e):xx(e)),Cx=()=>`Supprimer ce message et les suivants ?`,wx=()=>`Delete this message and the following ones?`,Tx=((e={},t={})=>(t.locale??$())===`fr`?Cx(e):wx(e)),Ex=()=>`Ce message et tous les messages qui le suivent seront supprimés de la conversation. Cette action est irréversible.`,Dx=()=>`This message and all messages following it will be deleted from the conversation. This action is irreversible.`,Ox=((e={},t={})=>(t.locale??$())===`fr`?Ex(e):Dx(e)),kx=()=>`Supprimer`,Ax=()=>`Delete`,jx=((e={},t={})=>(t.locale??$())===`fr`?kx(e):Ax(e)),Mx=()=>`Supprimer et régénérer la réponse`,Nx=()=>`Delete and regenerate the reply`,Px=((e={},t={})=>(t.locale??$())===`fr`?Mx(e):Nx(e)),Fx=()=>`Supprimer ce message et les suivants`,Ix=()=>`Delete this message and the following ones`,Lx=((e={},t={})=>(t.locale??$())===`fr`?Fx(e):Ix(e)),Rx=()=>`Supprimer le message`,zx=()=>`Delete the message`,Bx=((e={},t={})=>(t.locale??$())===`fr`?Rx(e):zx(e)),Vx=()=>`La suppression a échoué`,Hx=()=>`Delete failed`,Ux=((e={},t={})=>(t.locale??$())===`fr`?Vx(e):Hx(e)),Wx=()=>`Sources`,Gx=()=>`Sources`,Kx=((e={},t={})=>(t.locale??$())===`fr`?Wx(e):Gx(e)),qx=()=>`1 souvenir`,Jx=()=>`1 memory`,Yx=((e={},t={})=>(t.locale??$())===`fr`?qx(e):Jx(e)),Xx=e=>`${e?.count} souvenirs`,Zx=e=>`${e?.count} memories`,Qx=((e,t={})=>(t.locale??$())===`fr`?Xx(e):Zx(e)),$x=()=>`1 document`,eS=()=>`1 document`,tS=((e={},t={})=>(t.locale??$())===`fr`?$x(e):eS(e)),nS=e=>`${e?.count} documents`,rS=e=>`${e?.count} documents`,iS=((e,t={})=>(t.locale??$())===`fr`?nS(e):rS(e)),aS=()=>`Mémoire conversationnelle`,oS=()=>`Conversational memory`,sS=((e={},t={})=>(t.locale??$())===`fr`?aS(e):oS(e)),cS=()=>`Documents`,lS=()=>`Documents`,uS=((e={},t={})=>(t.locale??$())===`fr`?cS(e):lS(e)),dS=()=>`Contexte`,fS=()=>`Context`,pS=((e={},t={})=>(t.locale??$())===`fr`?dS(e):fS(e)),mS=()=>`1 contexte`,hS=()=>`1 context`,gS=((e={},t={})=>(t.locale??$())===`fr`?mS(e):hS(e)),_S=e=>`${e?.count} contextes`,vS=e=>`${e?.count} contexts`,yS=((e,t={})=>(t.locale??$())===`fr`?_S(e):vS(e)),bS=()=>`Contexte du graphe de connaissances`,xS=()=>`Knowledge-graph context`,SS=((e={},t={})=>(t.locale??$())===`fr`?bS(e):xS(e)),CS=e=>`score ${e?.score}`,wS=e=>`score ${e?.score}`,TS=((e,t={})=>(t.locale??$())===`fr`?CS(e):wS(e)),ES=()=>`(sans titre)`,DS=()=>`(untitled)`,OS=((e={},t={})=>(t.locale??$())===`fr`?ES(e):DS(e)),kS=()=>`Sources de la réponse`,AS=()=>`Sources of the reply`,jS=((e={},t={})=>(t.locale??$())===`fr`?kS(e):AS(e)),MS=()=>`Voir les sources de la réponse`,NS=()=>`View the sources of the reply`,PS=((e={},t={})=>(t.locale??$())===`fr`?MS(e):NS(e)),FS=()=>`Rechercher dans les sources…`,IS=()=>`Search the sources…`,LS=((e={},t={})=>(t.locale??$())===`fr`?FS(e):IS(e)),RS=()=>`Aucune source ne correspond à votre recherche.`,zS=()=>`No source matches your search.`,BS=((e={},t={})=>(t.locale??$())===`fr`?RS(e):zS(e)),VS=()=>`Tout sélectionner`,HS=()=>`Select all`,US=((e={},t={})=>(t.locale??$())===`fr`?VS(e):HS(e)),WS=e=>`${e?.count} document(s) sélectionné(s)`,GS=e=>`${e?.count} document(s) selected`,KS=((e,t={})=>(t.locale??$())===`fr`?WS(e):GS(e)),qS=()=>`Joindre les documents`,JS=()=>`Attach the documents`,YS=((e={},t={})=>(t.locale??$())===`fr`?qS(e):JS(e)),XS=()=>`Récupère les fichiers sources des documents cochés en liens téléchargeables (slot « Source d'origine »).`,ZS=()=>`Fetches the checked documents' source files as downloadable links (the "Original source" slot).`,QS=((e={},t={})=>(t.locale??$())===`fr`?XS(e):ZS(e)),$S=e=>`${e?.count} document(s) joint(s) téléchargeable(s) — ouvrir le panneau Sources`,eC=e=>`${e?.count} attached document(s) available for download — open the Sources panel`,tC=((e,t={})=>(t.locale??$())===`fr`?$S(e):eC(e)),nC=()=>`Source d'origine`,rC=()=>`Original source`,iC=((e={},t={})=>(t.locale??$())===`fr`?nC(e):rC(e)),aC=()=>`Aucun agent documentaire configuré`,oC=()=>`No documentary agent configured`,sC=((e={},t={})=>(t.locale??$())===`fr`?aC(e):oC(e)),cC=()=>`Récupération des documents en cours…`,lC=()=>`Fetching the documents…`,uC=((e={},t={})=>(t.locale??$())===`fr`?cC(e):lC(e)),dC=()=>`Récupération des documents lancée — voir le panneau Sources`,fC=()=>`Document fetch started — see the Sources panel`,pC=((e={},t={})=>(t.locale??$())===`fr`?dC(e):fC(e)),mC=()=>`Impossible de lancer la récupération des documents`,hC=()=>`Could not start the document fetch`,gC=((e={},t={})=>(t.locale??$())===`fr`?mC(e):hC(e)),_C=()=>`Récupération…`,vC=()=>`Fetching…`,yC=((e={},t={})=>(t.locale??$())===`fr`?_C(e):vC(e)),bC=()=>`Télécharger la source`,xC=()=>`Download the source`,SC=((e={},t={})=>(t.locale??$())===`fr`?bC(e):xC(e)),CC=()=>`Source introuvable`,wC=()=>`Source not found`,TC=((e={},t={})=>(t.locale??$())===`fr`?CC(e):wC(e)),EC=()=>`Voir plus`,DC=()=>`Show more`,OC=((e={},t={})=>(t.locale??$())===`fr`?EC(e):DC(e)),kC=()=>`Voir moins`,AC=()=>`Show less`,jC=((e={},t={})=>(t.locale??$())===`fr`?kC(e):AC(e)),MC=()=>`Fermer le panneau des sources`,NC=()=>`Close the sources panel`,PC=((e={},t={})=>(t.locale??$())===`fr`?MC(e):NC(e)),FC=()=>`Redimensionner le panneau des sources`,IC=()=>`Resize the sources panel`,LC=((e={},t={})=>(t.locale??$())===`fr`?FC(e):IC(e)),RC=e=>`Source · texte brut exact · ${e?.count} caractère`,zC=e=>`Source · exact raw text · ${e?.count} character`,BC=((e,t={})=>(t.locale??$())===`fr`?RC(e):zC(e)),VC=e=>`Source · texte brut exact · ${e?.count} caractères`,HC=e=>`Source · exact raw text · ${e?.count} characters`,UC=((e,t={})=>(t.locale??$())===`fr`?VC(e):HC(e)),WC=()=>`Copier la source exacte`,GC=()=>`Copy the exact source`,KC=((e={},t={})=>(t.locale??$())===`fr`?WC(e):GC(e)),qC=()=>`(aucun texte)`,JC=()=>`(no text)`,YC=((e={},t={})=>(t.locale??$())===`fr`?qC(e):JC(e)),XC=()=>`Afficher le message rendu`,ZC=()=>`Show the rendered message`,QC=((e={},t={})=>(t.locale??$())===`fr`?XC(e):ZC(e)),$C=()=>`Afficher la source (texte brut exact)`,ew=()=>`Show the source (exact raw text)`,tw=((e={},t={})=>(t.locale??$())===`fr`?$C(e):ew(e)),nw=()=>`Afficher la source du message`,rw=()=>`Show the message source`,iw=((e={},t={})=>(t.locale??$())===`fr`?nw(e):rw(e)),aw=()=>`Copier le message`,ow=()=>`Copy the message`,sw=((e={},t={})=>(t.locale??$())===`fr`?aw(e):ow(e)),cw=()=>`Envoi…`,lw=()=>`Sending…`,uw=((e={},t={})=>(t.locale??$())===`fr`?cw(e):lw(e)),dw=()=>`En attente`,fw=()=>`Queued`,pw=((e={},t={})=>(t.locale??$())===`fr`?dw(e):fw(e)),mw=e=>`${e?.name} traite votre message…`,hw=e=>`${e?.name} is processing your message…`,gw=((e,t={})=>(t.locale??$())===`fr`?mw(e):hw(e)),_w=e=>`L'agent ${e?.name} traite votre message…`,vw=e=>`The agent ${e?.name} is processing your message…`,yw=((e,t={})=>(t.locale??$())===`fr`?_w(e):vw(e)),bw=()=>`Copier la réponse`,xw=()=>`Copy the reply`,Sw=((e={},t={})=>(t.locale??$())===`fr`?bw(e):xw(e)),Cw=()=>`Chat indisponible…`,ww=()=>`Chat unavailable…`,Tw=((e={},t={})=>(t.locale??$())===`fr`?Cw(e):ww(e)),Ew=()=>`Message OpenClaw…`,Dw=()=>`Message OpenClaw…`,Ow=((e={},t={})=>(t.locale??$())===`fr`?Ew(e):Dw(e)),kw=()=>`Joindre un fichier`,Aw=()=>`Attach a file`,jw=((e={},t={})=>(t.locale??$())===`fr`?kw(e):Aw(e)),Mw=()=>`échec`,Nw=()=>`failed`,Pw=((e={},t={})=>(t.locale??$())===`fr`?Mw(e):Nw(e)),Fw=e=>`Téléversement du fichier… ${e?.percent}%`,Iw=e=>`Uploading file… ${e?.percent}%`,Lw=((e,t={})=>(t.locale??$())===`fr`?Fw(e):Iw(e)),Rw=e=>`Téléversement de ${e?.count} fichiers… ${e?.percent}%`,zw=e=>`Uploading ${e?.count} files… ${e?.percent}%`,Bw=((e,t={})=>(t.locale??$())===`fr`?Rw(e):zw(e)),Vw=()=>`Retirer la pièce jointe`,Hw=()=>`Remove attachment`,Uw=((e={},t={})=>(t.locale??$())===`fr`?Vw(e):Hw(e)),Ww=()=>`Masquer l'activité des outils et revenir à la vue épurée`,Gw=()=>`Hide tool activity and return to the clean view`,Kw=((e={},t={})=>(t.locale??$())===`fr`?Ww(e):Gw(e)),qw=()=>`Afficher l'activité des outils (traitements réalisés et en cours)`,Jw=()=>`Show tool activity (completed and in-progress processing)`,Yw=((e={},t={})=>(t.locale??$())===`fr`?qw(e):Jw(e)),Xw=()=>`Outils`,Zw=()=>`Tools`,Qw=((e={},t={})=>(t.locale??$())===`fr`?Xw(e):Zw(e)),$w=e=>`${e?.count} appel d'outil`,eT=e=>`${e?.count} tool call`,tT=((e,t={})=>(t.locale??$())===`fr`?$w(e):eT(e)),nT=e=>`${e?.count} appels d'outils`,rT=e=>`${e?.count} tool calls`,iT=((e,t={})=>(t.locale??$())===`fr`?nT(e):rT(e)),aT=()=>`Terminé`,oT=()=>`Done`,sT=((e={},t={})=>(t.locale??$())===`fr`?aT(e):oT(e)),cT=()=>`Échec`,lT=()=>`Failed`,uT=((e={},t={})=>(t.locale??$())===`fr`?cT(e):lT(e)),dT=e=>`exit ${e?.code}`,fT=e=>`exit ${e?.code}`,pT=((e,t={})=>(t.locale??$())===`fr`?dT(e):fT(e)),mT=e=>`${e?.ms} ms`,hT=e=>`${e?.ms} ms`,gT=((e,t={})=>(t.locale??$())===`fr`?mT(e):hT(e)),_T=()=>`Sortie non transmise par la passerelle`,vT=()=>`Output not transmitted by the gateway`,yT=((e={},t={})=>(t.locale??$())===`fr`?_T(e):vT(e)),bT=e=>`Contenu volumineux (${e?.size} Ko) — non affiché ici pour alléger le chargement.`,xT=e=>`Large content (${e?.size} KB) — not shown here to keep loading fast.`,ST=((e,t={})=>(t.locale??$())===`fr`?bT(e):xT(e)),CT=()=>`Latence de livraison`,wT=()=>`Delivery latency`,TT=((e={},t={})=>(t.locale??$())===`fr`?CT(e):wT(e)),ET=()=>`Mesure le pipeline bridge → Convex → frontend par delta (horodatages seuls, sans contenu).`,DT=()=>`Measures the bridge → Convex → frontend pipeline per delta (timestamps only, no content).`,OT=((e={},t={})=>(t.locale??$())===`fr`?ET(e):DT(e)),kT=()=>`Démarrer l'enregistrement`,AT=()=>`Start recording`,jT=((e={},t={})=>(t.locale??$())===`fr`?kT(e):AT(e)),MT=()=>`Arrêter l'enregistrement`,NT=()=>`Stop recording`,PT=((e={},t={})=>(t.locale??$())===`fr`?MT(e):NT(e)),FT=()=>`Enregistrement actif`,IT=()=>`Recording`,LT=((e={},t={})=>(t.locale??$())===`fr`?FT(e):IT(e)),RT=e=>`depuis ${e?.time}`,zT=e=>`since ${e?.time}`,BT=((e,t={})=>(t.locale??$())===`fr`?RT(e):zT(e)),VT=()=>`Aucun échantillon pour cette session.`,HT=()=>`No samples for this session yet.`,UT=((e={},t={})=>(t.locale??$())===`fr`?VT(e):HT(e)),WT=()=>`Afficher les enregistrements`,GT=()=>`Show recordings`,KT=((e={},t={})=>(t.locale??$())===`fr`?WT(e):GT(e)),qT=()=>`Masquer les enregistrements`,JT=()=>`Hide recordings`,YT=((e={},t={})=>(t.locale??$())===`fr`?qT(e):JT(e)),XT=()=>`Enregistrements`,ZT=()=>`Recordings`,QT=((e={},t={})=>(t.locale??$())===`fr`?XT(e):ZT(e)),$T=()=>`Rechercher (démarré par)…`,eE=()=>`Search (started by)…`,tE=((e={},t={})=>(t.locale??$())===`fr`?$T(e):eE(e)),nE=()=>`Tous`,rE=()=>`All`,iE=((e={},t={})=>(t.locale??$())===`fr`?nE(e):rE(e)),aE=()=>`Actif`,oE=()=>`Active`,sE=((e={},t={})=>(t.locale??$())===`fr`?aE(e):oE(e)),cE=()=>`Terminé`,lE=()=>`Stopped`,uE=((e={},t={})=>(t.locale??$())===`fr`?cE(e):lE(e)),dE=()=>`Début`,fE=()=>`Start`,pE=((e={},t={})=>(t.locale??$())===`fr`?dE(e):fE(e)),mE=()=>`Fin`,hE=()=>`End`,gE=((e={},t={})=>(t.locale??$())===`fr`?mE(e):hE(e)),_E=()=>`Échantillons`,vE=()=>`Samples`,yE=((e={},t={})=>(t.locale??$())===`fr`?_E(e):vE(e)),bE=()=>`Démarré par`,xE=()=>`Started by`,SE=((e={},t={})=>(t.locale??$())===`fr`?bE(e):xE(e)),CE=()=>`Statut`,wE=()=>`Status`,TE=((e={},t={})=>(t.locale??$())===`fr`?CE(e):wE(e)),EE=()=>`Admin`,DE=()=>`Admin`,OE=((e={},t={})=>(t.locale??$())===`fr`?EE(e):DE(e)),kE=()=>`Agent`,AE=()=>`Agent`,jE=((e={},t={})=>(t.locale??$())===`fr`?kE(e):AE(e)),ME=()=>`Voir le détail`,NE=()=>`View detail`,PE=((e={},t={})=>(t.locale??$())===`fr`?ME(e):NE(e)),FE=()=>`Masquer le détail`,IE=()=>`Hide detail`,LE=((e={},t={})=>(t.locale??$())===`fr`?FE(e):IE(e)),RE=()=>`Supprimer`,zE=()=>`Delete`,BE=((e={},t={})=>(t.locale??$())===`fr`?RE(e):zE(e)),VE=()=>`Chargement…`,HE=()=>`Loading…`,UE=((e={},t={})=>(t.locale??$())===`fr`?VE(e):HE(e)),WE=()=>`Évolution (p50 par enregistrement)`,GE=()=>`Evolution (p50 per recording)`,KE=((e={},t={})=>(t.locale??$())===`fr`?WE(e):GE(e)),qE=()=>`ms`,JE=()=>`ms`,YE=((e={},t={})=>(t.locale??$())===`fr`?qE(e):JE(e)),XE=()=>`Latence de livraison (p50) au fil des enregistrements.`,ZE=()=>`Delivery latency (p50) across recordings.`,QE=((e={},t={})=>(t.locale??$())===`fr`?XE(e):ZE(e)),$E=()=>`Pas assez d’enregistrements pour tracer une tendance.`,eD=()=>`Not enough recordings to plot a trend.`,tD=((e={},t={})=>(t.locale??$())===`fr`?$E(e):eD(e)),nD=()=>`Monitoring latence`,rD=()=>`Latency monitoring`,iD=((e={},t={})=>(t.locale??$())===`fr`?nD(e):rD(e)),aD=()=>`Traces d’activité`,oD=()=>`Activity traces`,sD=((e={},t={})=>(t.locale??$())===`fr`?aD(e):oD(e)),cD=()=>`Segment`,lD=()=>`Segment`,uD=((e={},t={})=>(t.locale??$())===`fr`?cD(e):lD(e)),dD=()=>`Échantillons`,fD=()=>`Samples`,pD=((e={},t={})=>(t.locale??$())===`fr`?dD(e):fD(e)),mD=()=>`p50 / p95 / max (ms)`,hD=()=>`p50 / p95 / max (ms)`,gD=((e={},t={})=>(t.locale??$())===`fr`?mD(e):hD(e)),_D=()=>`Bridge interne`,vD=()=>`Bridge internal`,yD=((e={},t={})=>(t.locale??$())===`fr`?_D(e):vD(e)),bD=()=>`A — bridge → Convex`,xD=()=>`A — bridge → Convex`,SD=((e={},t={})=>(t.locale??$())===`fr`?bD(e):xD(e)),CD=()=>`C — Convex → frontend`,wD=()=>`C — Convex → frontend`,TD=((e={},t={})=>(t.locale??$())===`fr`?CD(e):wD(e)),ED=()=>`B (exéc. Convex) : via la télémétrie Convex (non mesurable in-app).`,DD=()=>`B (Convex exec): from Convex telemetry (not measurable in-app).`,OD=((e={},t={})=>(t.locale??$())===`fr`?ED(e):DD(e)),kD=()=>`C est échantillonné au rythme d'affichage du navigateur (≤ A).`,AD=()=>`C is sampled at the browser render rate (≤ A).`,jD=((e={},t={})=>(t.locale??$())===`fr`?kD(e):AD(e)),MD=()=>`Rapport plafonné : les stats ne couvrent que les premières lignes de la fenêtre.`,ND=()=>`Report capped: stats cover only the first rows of the window.`,PD=((e={},t={})=>(t.locale??$())===`fr`?MD(e):ND(e)),FD=()=>`Copier`,ID=()=>`Copy`,LD=((e={},t={})=>(t.locale??$())===`fr`?FD(e):ID(e)),RD=()=>`Copié`,zD=()=>`Copied`,BD=((e={},t={})=>(t.locale??$())===`fr`?RD(e):zD(e)),VD=()=>`Aucune session enregistrée.`,HD=()=>`No recorded sessions yet.`,UD=((e={},t={})=>(t.locale??$())===`fr`?VD(e):HD(e)),WD=()=>`deltas`,GD=()=>`deltas`,KD=((e={},t={})=>(t.locale??$())===`fr`?WD(e):GD(e)),qD=()=>`en cours`,JD=()=>`running`,YD=((e={},t={})=>(t.locale??$())===`fr`?qD(e):JD(e)),XD=()=>`terminé`,ZD=()=>`done`,QD=((e={},t={})=>(t.locale??$())===`fr`?XD(e):ZD(e)),$D=()=>`Afficher le détail des appels d'outils`,eO=()=>`Show tool call details`,tO=((e={},t={})=>(t.locale??$())===`fr`?$D(e):eO(e)),nO=()=>`Masquer le détail des appels d'outils`,rO=()=>`Hide tool call details`,iO=((e={},t={})=>(t.locale??$())===`fr`?nO(e):rO(e)),aO=()=>`Dictée vocale — bientôt disponible`,oO=()=>`Voice dictation — coming soon`,sO=((e={},t={})=>(t.locale??$())===`fr`?aO(e):oO(e)),cO=()=>`Dictée vocale (bientôt disponible)`,lO=()=>`Voice dictation (coming soon)`,uO=((e={},t={})=>(t.locale??$())===`fr`?cO(e):lO(e)),dO=()=>`Envoi indisponible (service de chat hors ligne)`,fO=()=>`Sending unavailable (chat service offline)`,pO=((e={},t={})=>(t.locale??$())===`fr`?dO(e):fO(e)),mO=()=>`Envoyer`,hO=()=>`Send`,gO=((e={},t={})=>(t.locale??$())===`fr`?mO(e):hO(e)),_O=()=>`Réponse en cours…`,vO=()=>`Response in progress…`,yO=((e={},t={})=>(t.locale??$())===`fr`?_O(e):vO(e)),bO=()=>`Mettre en file (envoyé après la réponse en cours)`,xO=()=>`Queue (sent after the current reply)`,SO=((e={},t={})=>(t.locale??$())===`fr`?bO(e):xO(e)),CO=()=>`Envoyer après la réponse en cours`,wO=()=>`Send after the current reply`,TO=((e={},t={})=>(t.locale??$())===`fr`?CO(e):wO(e)),EO=()=>`En attente du sous-agent…`,DO=()=>`Waiting for the sub-agent…`,OO=((e={},t={})=>(t.locale??$())===`fr`?EO(e):DO(e)),kO=()=>`Mettre en file (envoyé après la fin du sous-agent)`,AO=()=>`Queue (sent after the sub-agent finishes)`,jO=((e={},t={})=>(t.locale??$())===`fr`?kO(e):AO(e)),MO=()=>`Envoyer après la fin du sous-agent`,NO=()=>`Send after the sub-agent finishes`,PO=((e={},t={})=>(t.locale??$())===`fr`?MO(e):NO(e)),FO=()=>`Trop de messages en attente. Patientez la fin de la réponse en cours.`,IO=()=>`Too many messages waiting. Wait for the current reply to finish.`,LO=((e={},t={})=>(t.locale??$())===`fr`?FO(e):IO(e)),RO=()=>`Impossible de mettre le message en file. Réessayez.`,zO=()=>`Could not queue the message. Try again.`,BO=((e={},t={})=>(t.locale??$())===`fr`?RO(e):zO(e)),VO=()=>`Chargement…`,HO=()=>`Loading…`,UO=((e={},t={})=>(t.locale??$())===`fr`?VO(e):HO(e)),WO=()=>`Configuration des intégrations.`,GO=()=>`Integrations configuration.`,KO=((e={},t={})=>(t.locale??$())===`fr`?WO(e):GO(e)),qO=()=>`Aucune clé API ici`,JO=()=>`No API key here`,YO=((e={},t={})=>(t.locale??$())===`fr`?qO(e):JO(e)),XO=()=>`— elles vivent dans l'environnement du déploiement ; un champ vide retombe sur la variable d'environnement puis le défaut. L'indicateur « configuré » reflète la présence de la clé côté serveur.`,ZO=()=>`— they live in the deployment environment; an empty field falls back to the environment variable then the default. The "configured" indicator reflects the presence of the key on the server side.`,QO=((e={},t={})=>(t.locale??$())===`fr`?XO(e):ZO(e)),$O=()=>`actif`,ek=()=>`active`,tk=((e={},t={})=>(t.locale??$())===`fr`?$O(e):ek(e)),nk=()=>`en pause`,rk=()=>`paused`,ik=((e={},t={})=>(t.locale??$())===`fr`?nk(e):rk(e)),ak=()=>`clé manquante (env)`,ok=()=>`key missing (env)`,sk=((e={},t={})=>(t.locale??$())===`fr`?ak(e):ok(e)),ck=()=>`appliqué par le bridge (à venir)`,lk=()=>`applied by the bridge (coming soon)`,uk=((e={},t={})=>(t.locale??$())===`fr`?ck(e):lk(e)),dk=()=>`Export des traces. Clés : LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY (env).`,fk=()=>`Trace export. Keys: LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY (env).`,pk=((e={},t={})=>(t.locale??$())===`fr`?dk(e):fk(e)),mk=()=>`Export des traces. Clé : OPIK_API_KEY (env).`,hk=()=>`Trace export. Key: OPIK_API_KEY (env).`,gk=((e={},t={})=>(t.locale??$())===`fr`?mk(e):hk(e)),_k=()=>`Host`,vk=()=>`Host`,yk=((e={},t={})=>(t.locale??$())===`fr`?_k(e):vk(e)),bk=()=>`Base URL`,xk=()=>`Base URL`,Sk=((e={},t={})=>(t.locale??$())===`fr`?bk(e):xk(e)),Ck=()=>`Workspace`,wk=()=>`Workspace`,Tk=((e={},t={})=>(t.locale??$())===`fr`?Ck(e):wk(e)),Ek=()=>`(défaut serveur)`,Dk=()=>`(server default)`,Ok=((e={},t={})=>(t.locale??$())===`fr`?Ek(e):Dk(e)),kk=()=>`Activé (expédition des traces)`,Ak=()=>`Enabled (trace shipping)`,jk=((e={},t={})=>(t.locale??$())===`fr`?kk(e):Ak(e)),Mk=()=>`Synthèse vocale (TTS)`,Nk=()=>`Text-to-speech (TTS)`,Pk=((e={},t={})=>(t.locale??$())===`fr`?Mk(e):Nk(e)),Fk=()=>`Lecture audio des réponses. Clé du provider via env (ex. OPENAI_API_KEY, ELEVENLABS_API_KEY).`,Ik=()=>`Audio playback of replies. Provider key via env (e.g. OPENAI_API_KEY, ELEVENLABS_API_KEY).`,Lk=((e={},t={})=>(t.locale??$())===`fr`?Fk(e):Ik(e)),Rk=()=>`Mode auto`,zk=()=>`Auto mode`,Bk=((e={},t={})=>(t.locale??$())===`fr`?Rk(e):zk(e)),Vk=()=>`Désactivé`,Hk=()=>`Disabled`,Uk=((e={},t={})=>(t.locale??$())===`fr`?Vk(e):Hk(e)),Wk=()=>`Toujours`,Gk=()=>`Always`,Kk=((e={},t={})=>(t.locale??$())===`fr`?Wk(e):Gk(e)),qk=()=>`Après un message vocal`,Jk=()=>`After a voice message`,Yk=((e={},t={})=>(t.locale??$())===`fr`?qk(e):Jk(e)),Xk=()=>`Sur directive [[tts:…]]`,Zk=()=>`On [[tts:…]] directive`,Qk=((e={},t={})=>(t.locale??$())===`fr`?Xk(e):Zk(e)),$k=()=>`Provider`,eA=()=>`Provider`,tA=((e={},t={})=>(t.locale??$())===`fr`?$k(e):eA(e)),nA=()=>`Microsoft (sans clé)`,rA=()=>`Microsoft (no key)`,iA=((e={},t={})=>(t.locale??$())===`fr`?nA(e):rA(e)),aA=()=>`Modèle`,oA=()=>`Model`,sA=((e={},t={})=>(t.locale??$())===`fr`?aA(e):oA(e)),cA=()=>`Voix`,lA=()=>`Voice`,uA=((e={},t={})=>(t.locale??$())===`fr`?cA(e):lA(e)),dA=()=>`speakerVoiceId / nom de voix`,fA=()=>`speakerVoiceId / voice name`,pA=((e={},t={})=>(t.locale??$())===`fr`?dA(e):fA(e)),mA=()=>`Mode conversation (Talk / STS)`,hA=()=>`Conversation mode (Talk / STS)`,gA=((e={},t={})=>(t.locale??$())===`fr`?mA(e):hA(e)),_A=()=>`OpenAI realtime : OPENAI_API_KEY présent (env). Le navigateur recevra un jeton éphémère minté côté serveur — jamais la clé brute.`,vA=()=>`OpenAI realtime: OPENAI_API_KEY present (env). The browser will receive an ephemeral token minted server-side — never the raw key.`,yA=((e={},t={})=>(t.locale??$())===`fr`?_A(e):vA(e)),bA=()=>`OpenAI realtime : OPENAI_API_KEY ABSENT (env). À définir côté déploiement pour activer gpt-realtime.`,xA=()=>`OpenAI realtime: OPENAI_API_KEY ABSENT (env). To be set on the deployment side to enable gpt-realtime.`,SA=((e={},t={})=>(t.locale??$())===`fr`?bA(e):xA(e)),CA=()=>`Activer le mode conversation`,wA=()=>`Enable conversation mode`,TA=((e={},t={})=>(t.locale??$())===`fr`?CA(e):wA(e)),EA=()=>`Provider realtime`,DA=()=>`Realtime provider`,OA=((e={},t={})=>(t.locale??$())===`fr`?EA(e):DA(e)),kA=()=>`Modèle realtime`,AA=()=>`Realtime model`,jA=((e={},t={})=>(t.locale??$())===`fr`?kA(e):AA(e)),MA=()=>`Transport`,NA=()=>`Transport`,PA=((e={},t={})=>(t.locale??$())===`fr`?MA(e):NA(e)),FA=()=>`WebRTC (navigateur)`,IA=()=>`WebRTC (browser)`,LA=((e={},t={})=>(t.locale??$())===`fr`?FA(e):IA(e)),RA=()=>`Locale`,zA=()=>`Locale`,BA=((e={},t={})=>(t.locale??$())===`fr`?RA(e):zA(e)),VA=()=>`Interrompre la lecture quand l'utilisateur parle`,HA=()=>`Interrupt playback when the user speaks`,UA=((e={},t={})=>(t.locale??$())===`fr`?VA(e):HA(e)),WA=()=>`Voice wake (mot d'activation)`,GA=()=>`Voice wake (wake word)`,KA=((e={},t={})=>(t.locale??$())===`fr`?WA(e):GA(e)),qA=()=>`non câblable dans le navigateur`,JA=()=>`not wireable in the browser`,YA=((e={},t={})=>(t.locale??$())===`fr`?qA(e):JA(e)),XA=()=>`OpenClaw gère le voice-wake côté Gateway avec détection native macOS/iOS (Android = micro manuel) ; le navigateur n'est pas une plateforme supportée. Le câbler dans ce webchat nécessiterait un moteur wake-word côté client (type Porcupine) que nous bâtirions — hors de OpenClaw. Configuration des déclencheurs : RPC gateway`,ZA=()=>`OpenClaw handles voice-wake on the Gateway side with native macOS/iOS detection (Android = manual mic); the browser is not a supported platform. Wiring it into this webchat would require a client-side wake-word engine (Porcupine-style) that we would build — outside OpenClaw. Trigger configuration: gateway RPC`,QA=((e={},t={})=>(t.locale??$())===`fr`?XA(e):ZA(e)),$A=()=>`Curseurs d'expédition`,ej=()=>`Shipping cursors`,tj=((e={},t={})=>(t.locale??$())===`fr`?$A(e):ej(e)),nj=()=>`Aucun curseur — aucune trace n'a encore été expédiée.`,rj=()=>`No cursor — no trace has been shipped yet.`,ij=((e={},t={})=>(t.locale??$())===`fr`?nj(e):rj(e)),aj=()=>`Vendeur`,oj=()=>`Vendor`,sj=((e={},t={})=>(t.locale??$())===`fr`?aj(e):oj(e)),cj=()=>`Dernier envoi`,lj=()=>`Last send`,uj=((e={},t={})=>(t.locale??$())===`fr`?cj(e):lj(e)),dj=()=>`Échecs consécutifs`,fj=()=>`Consecutive failures`,pj=((e={},t={})=>(t.locale??$())===`fr`?dj(e):fj(e)),mj=()=>`Dernier statut HTTP`,hj=()=>`Last HTTP status`,gj=((e={},t={})=>(t.locale??$())===`fr`?mj(e):hj(e)),_j=()=>`Dernière erreur`,vj=()=>`Last error`,yj=((e={},t={})=>(t.locale??$())===`fr`?_j(e):vj(e)),bj=()=>`Mots modifiés / altérés`,xj=()=>`Modified / altered words`,Sj=((e={},t={})=>(t.locale??$())===`fr`?bj(e):xj(e)),Cj=()=>`Réponse incorrecte`,wj=()=>`Incorrect answer`,Tj=((e={},t={})=>(t.locale??$())===`fr`?Cj(e):wj(e)),Ej=()=>`Incohérence`,Dj=()=>`Inconsistency`,Oj=((e={},t={})=>(t.locale??$())===`fr`?Ej(e):Dj(e)),kj=()=>`Formatage`,Aj=()=>`Formatting`,jj=((e={},t={})=>(t.locale??$())===`fr`?kj(e):Aj(e)),Mj=()=>`Latence`,Nj=()=>`Latency`,Pj=((e={},t={})=>(t.locale??$())===`fr`?Mj(e):Nj(e)),Fj=()=>`Erreur API`,Ij=()=>`API error`,Lj=((e={},t={})=>(t.locale??$())===`fr`?Fj(e):Ij(e)),Rj=()=>`Autre`,zj=()=>`Other`,Bj=((e={},t={})=>(t.locale??$())===`fr`?Rj(e):zj(e)),Vj=()=>`reçu = stocké`,Hj=()=>`received = stored`,Uj=((e={},t={})=>(t.locale??$())===`fr`?Vj(e):Hj(e)),Wj=()=>`affichage fidèle ✓`,Gj=()=>`faithful display ✓`,Kj=((e={},t={})=>(t.locale??$())===`fr`?Wj(e):Gj(e)),qj=()=>`écart ⚠`,Jj=()=>`mismatch ⚠`,Yj=((e={},t={})=>(t.locale??$())===`fr`?qj(e):Jj(e)),Xj=()=>`régénération`,Zj=()=>`regeneration`,Qj=((e={},t={})=>(t.locale??$())===`fr`?Xj(e):Zj(e)),$j=()=>`Commentaire du rapporteur`,eM=()=>`Reporter's comment`,tM=((e={},t={})=>(t.locale??$())===`fr`?$j(e):eM(e)),nM=()=>`Échange avec l'utilisateur`,rM=()=>`Exchange with the user`,iM=((e={},t={})=>(t.locale??$())===`fr`?nM(e):rM(e)),aM=()=>`Administrateur`,oM=()=>`Administrator`,sM=((e={},t={})=>(t.locale??$())===`fr`?aM(e):oM(e)),cM=()=>`Utilisateur`,lM=()=>`User`,uM=((e={},t={})=>(t.locale??$())===`fr`?cM(e):lM(e)),dM=()=>`Aucune réponse envoyée.`,fM=()=>`No reply sent.`,pM=((e={},t={})=>(t.locale??$())===`fr`?dM(e):fM(e)),mM=()=>`Répondre à l'utilisateur (visible dans sa zone de notification)…`,hM=()=>`Reply to the user (visible in their notification area)…`,gM=((e={},t={})=>(t.locale??$())===`fr`?mM(e):hM(e)),_M=()=>`Envoi…`,vM=()=>`Sending…`,yM=((e={},t={})=>(t.locale??$())===`fr`?_M(e):vM(e)),bM=()=>`Répondre`,xM=()=>`Reply`,SM=((e={},t={})=>(t.locale??$())===`fr`?bM(e):xM(e)),CM=()=>`Texte stocké (serveur, autoritatif)`,wM=()=>`Stored text (server, authoritative)`,TM=((e={},t={})=>(t.locale??$())===`fr`?CM(e):wM(e)),EM=()=>`(vide)`,DM=()=>`(empty)`,OM=((e={},t={})=>(t.locale??$())===`fr`?EM(e):DM(e)),kM=()=>`Texte affiché (navigateur, au signalement)`,AM=()=>`Displayed text (browser, at report time)`,jM=((e={},t={})=>(t.locale??$())===`fr`?kM(e):AM(e)),MM=()=>`Prompt générateur`,NM=()=>`Generator prompt`,PM=((e={},t={})=>(t.locale??$())===`fr`?MM(e):NM(e)),FM=e=>`Contexte figé (${e?.count} tours${e?.truncated})`,IM=e=>`Frozen context (${e?.count} turns${e?.truncated})`,LM=((e,t={})=>(t.locale??$())===`fr`?FM(e):IM(e)),RM=()=>`, tronqué`,zM=()=>`, truncated`,BM=((e={},t={})=>(t.locale??$())===`fr`?RM(e):zM(e)),VM=()=>`Payload dispatché (outbox)`,HM=()=>`Dispatched payload (outbox)`,UM=((e={},t={})=>(t.locale??$())===`fr`?VM(e):HM(e)),WM=()=>`Extensions de correction détectées (peuvent altérer le texte)`,GM=()=>`Correction extensions detected (may alter the text)`,KM=((e={},t={})=>(t.locale??$())===`fr`?WM(e):GM(e)),qM=()=>`Environnement client`,JM=()=>`Client environment`,YM=((e={},t={})=>(t.locale??$())===`fr`?qM(e):JM(e)),XM=e=>`thème ${e?.theme}`,ZM=e=>`theme ${e?.theme}`,QM=((e,t={})=>(t.locale??$())===`fr`?XM(e):ZM(e)),$M=()=>`Plugins :`,eN=()=>`Plugins:`,tN=((e={},t={})=>(t.locale??$())===`fr`?$M(e):eN(e)),nN=()=>`(navigator.plugins — neutralisé/partiel dans les navigateurs modernes)`,rN=()=>`(navigator.plugins — neutralized/partial in modern browsers)`,iN=((e={},t={})=>(t.locale??$())===`fr`?nN(e):rN(e)),aN=()=>`Signalements « Report Feedback » enregistrés. La liste est en métadonnées ; ouvrir le détail lit le contenu figé et`,oN=()=>`Recorded "Report Feedback" reports. The list shows metadata; opening the detail reads the frozen content and`,sN=((e={},t={})=>(t.locale??$())===`fr`?aN(e):oN(e)),cN=()=>`trace cet accès dans l'Audit`,lN=()=>`traces this access in the Audit`,uN=((e={},t={})=>(t.locale??$())===`fr`?cN(e):lN(e)),dN=()=>`(lecture de contenu d'un autre utilisateur). Fenêtre récente bornée.`,fN=()=>`(reading another user's content). Bounded recent window.`,pN=((e={},t={})=>(t.locale??$())===`fr`?dN(e):fN(e)),mN=()=>`Signalements`,hN=()=>`Reports`,gN=((e={},t={})=>(t.locale??$())===`fr`?mN(e):hN(e)),_N=()=>`Aucun signalement pour l'instant.`,vN=()=>`No reports yet.`,yN=((e={},t={})=>(t.locale??$())===`fr`?_N(e):vN(e)),bN=()=>`Quand`,xN=()=>`When`,SN=((e={},t={})=>(t.locale??$())===`fr`?bN(e):xN(e)),CN=()=>`Catégorie`,wN=()=>`Category`,TN=((e={},t={})=>(t.locale??$())===`fr`?CN(e):wN(e)),EN=()=>`Type`,DN=()=>`Type`,ON=((e={},t={})=>(t.locale??$())===`fr`?EN(e):DN(e)),kN=()=>`user`,AN=()=>`user`,jN=((e={},t={})=>(t.locale??$())===`fr`?kN(e):AN(e)),MN=()=>`AI`,NN=()=>`AI`,PN=((e={},t={})=>(t.locale??$())===`fr`?MN(e):NN(e)),FN=()=>`Rapporteur`,IN=()=>`Reporter`,LN=((e={},t={})=>(t.locale??$())===`fr`?FN(e):IN(e)),RN=e=>`(via ${e?.operator})`,zN=e=>`(via ${e?.operator})`,BN=((e,t={})=>(t.locale??$())===`fr`?RN(e):zN(e)),VN=()=>`Fidélité`,HN=()=>`Fidelity`,UN=((e={},t={})=>(t.locale??$())===`fr`?VN(e):HN(e)),WN=()=>`Note`,GN=()=>`Note`,KN=((e={},t={})=>(t.locale??$())===`fr`?WN(e):GN(e)),qN=()=>`Statut`,JN=()=>`Status`,YN=((e={},t={})=>(t.locale??$())===`fr`?qN(e):JN(e)),XN=()=>`Répondu`,ZN=()=>`Answered`,QN=((e={},t={})=>(t.locale??$())===`fr`?XN(e):ZN(e)),$N=()=>`En attente`,eP=()=>`Pending`,tP=((e={},t={})=>(t.locale??$())===`fr`?$N(e):eP(e)),nP=()=>`Clos par l'utilisateur`,rP=()=>`Closed by user`,iP=((e={},t={})=>(t.locale??$())===`fr`?nP(e):rP(e)),aP=()=>`Raison de clôture`,oP=()=>`Close reason`,sP=((e={},t={})=>(t.locale??$())===`fr`?aP(e):oP(e)),cP=()=>`Masquer`,lP=()=>`Hide`,uP=((e={},t={})=>(t.locale??$())===`fr`?cP(e):lP(e)),dP=()=>`Voir le détail`,fP=()=>`View detail`,pP=((e={},t={})=>(t.locale??$())===`fr`?dP(e):fP(e)),mP=()=>`Supprimer`,hP=()=>`Delete`,gP=((e={},t={})=>(t.locale??$())===`fr`?mP(e):hP(e)),_P=()=>`Supprimer ce signalement ?`,vP=()=>`Delete this report?`,yP=((e={},t={})=>(t.locale??$())===`fr`?_P(e):vP(e)),bP=()=>`L'instantané forensique figé sera définitivement supprimé. Cette action est irréversible.`,xP=()=>`The frozen forensic snapshot will be permanently deleted. This action is irreversible.`,SP=((e={},t={})=>(t.locale??$())===`fr`?bP(e):xP(e)),CP=()=>`Supprimer`,wP=()=>`Delete`,TP=((e={},t={})=>(t.locale??$())===`fr`?CP(e):wP(e)),EP=()=>`Aucun onglet`,DP=()=>`No tabs`,OP=((e={},t={})=>(t.locale??$())===`fr`?EP(e):DP(e)),kP=e=>`${e?.count} onglets`,AP=e=>`${e?.count} tabs`,jP=((e,t={})=>(t.locale??$())===`fr`?kP(e):AP(e)),MP=()=>`Onglets Settings autorisés`,NP=()=>`Allowed Settings tabs`,PP=((e={},t={})=>(t.locale??$())===`fr`?MP(e):NP(e)),FP=()=>`Changement de rôle refusé`,IP=()=>`Role change refused`,LP=((e={},t={})=>(t.locale??$())===`fr`?FP(e):IP(e)),RP=()=>`Mise à jour des permissions refusée`,zP=()=>`Permission update refused`,BP=((e={},t={})=>(t.locale??$())===`fr`?RP(e):zP(e)),VP=()=>`Rechercher (email, nom)`,HP=()=>`Search (email, name)`,UP=((e={},t={})=>(t.locale??$())===`fr`?VP(e):HP(e)),WP=()=>`Tous les rôles`,GP=()=>`All roles`,KP=((e={},t={})=>(t.locale??$())===`fr`?WP(e):GP(e)),qP=()=>`Utilisateurs`,JP=()=>`Users`,YP=((e={},t={})=>(t.locale??$())===`fr`?qP(e):JP(e)),XP=()=>`Aucun utilisateur.`,ZP=()=>`No users.`,QP=((e={},t={})=>(t.locale??$())===`fr`?XP(e):ZP(e)),$P=()=>`Voir comme cet utilisateur`,eF=()=>`View as this user`,tF=((e={},t={})=>(t.locale??$())===`fr`?$P(e):eF(e)),nF=()=>`Supprimer l’utilisateur`,rF=()=>`Delete user`,iF=((e={},t={})=>(t.locale??$())===`fr`?nF(e):rF(e)),aF=()=>`Supprimer cet utilisateur ?`,oF=()=>`Delete this user?`,sF=((e={},t={})=>(t.locale??$())===`fr`?aF(e):oF(e)),cF=e=>`« ${e?.user} » et toutes ses données (conversations, fichiers, accès) seront définitivement supprimés. Cette action est irréversible.`,lF=e=>`“${e?.user}” and all their data (conversations, files, access) will be permanently deleted. This action cannot be undone.`,uF=((e,t={})=>(t.locale??$())===`fr`?cF(e):lF(e)),dF=()=>`SUPPRIMER`,fF=()=>`DELETE`,pF=((e={},t={})=>(t.locale??$())===`fr`?dF(e):fF(e)),mF=()=>`Supprimer définitivement`,hF=()=>`Delete permanently`,gF=((e={},t={})=>(t.locale??$())===`fr`?mF(e):hF(e)),_F=()=>`Suppression de l’utilisateur refusée`,vF=()=>`User deletion refused`,yF=((e={},t={})=>(t.locale??$())===`fr`?_F(e):vF(e)),bF=e=>`Utilisateur « ${e?.user} » supprimé.`,xF=e=>`User “${e?.user}” deleted.`,SF=((e,t={})=>(t.locale??$())===`fr`?bF(e):xF(e)),CF=()=>`Renommer`,wF=()=>`Rename`,TF=((e={},t={})=>(t.locale??$())===`fr`?CF(e):wF(e)),EF=()=>`Renommer l’utilisateur`,DF=()=>`Rename user`,OF=((e={},t={})=>(t.locale??$())===`fr`?EF(e):DF(e)),kF=e=>`Nom affiché pour « ${e?.user} »`,AF=e=>`Display name for “${e?.user}”`,jF=((e,t={})=>(t.locale??$())===`fr`?kF(e):AF(e)),MF=()=>`Nom et prénom`,NF=()=>`Name`,PF=((e={},t={})=>(t.locale??$())===`fr`?MF(e):NF(e)),FF=()=>`Nom mis à jour.`,IF=()=>`Name updated.`,LF=((e={},t={})=>(t.locale??$())===`fr`?FF(e):IF(e)),RF=()=>`Renommage refusé`,zF=()=>`Rename refused`,BF=((e={},t={})=>(t.locale??$())===`fr`?RF(e):zF(e)),VF=()=>`Utilisateur`,HF=()=>`User`,UF=((e={},t={})=>(t.locale??$())===`fr`?VF(e):HF(e)),WF=()=>`Rôle`,GF=()=>`Role`,KF=((e={},t={})=>(t.locale??$())===`fr`?WF(e):GF(e)),qF=()=>`Accès Settings`,JF=()=>`Settings access`,YF=((e={},t={})=>(t.locale??$())===`fr`?qF(e):JF(e)),XF=()=>`Tous (admin)`,ZF=()=>`All (admin)`,QF=((e={},t={})=>(t.locale??$())===`fr`?XF(e):ZF(e)),$F=()=>`Agents`,eI=()=>`Agents`,tI=((e={},t={})=>(t.locale??$())===`fr`?$F(e):eI(e)),nI=()=>`Gérer les agents`,rI=()=>`Manage agents`,iI=((e={},t={})=>(t.locale??$())===`fr`?nI(e):rI(e)),aI=()=>`Échec de l’enregistrement de l’instance`,oI=()=>`Failed to save instance`,sI=((e={},t={})=>(t.locale??$())===`fr`?aI(e):oI(e)),cI=()=>`Les agents sont `,lI=()=>`Agents are `,uI=((e={},t={})=>(t.locale??$())===`fr`?cI(e):lI(e)),dI=()=>`découverts par le bridge`,fI=()=>`discovered by the bridge`,pI=((e={},t={})=>(t.locale??$())===`fr`?dI(e):fI(e)),mI=()=>` (jamais saisis à la main). Les identifiants gateway (token, device, clé API) se configurent par instance via « Identifiants » — chiffrés au repos.`,hI=()=>` (never entered by hand). Gateway credentials (token, device identity, API key) are set per instance via “Credentials” — encrypted at rest.`,gI=((e={},t={})=>(t.locale??$())===`fr`?mI(e):hI(e)),_I=()=>`Instances`,vI=()=>`Instances`,yI=((e={},t={})=>(t.locale??$())===`fr`?_I(e):vI(e)),bI=()=>`Ajouter une instance`,xI=()=>`Add instance`,SI=((e={},t={})=>(t.locale??$())===`fr`?bI(e):xI(e)),CI=()=>`Aucune instance.`,wI=()=>`No instances.`,TI=((e={},t={})=>(t.locale??$())===`fr`?CI(e):wI(e)),EI=()=>`Nom`,DI=()=>`Name`,OI=((e={},t={})=>(t.locale??$())===`fr`?EI(e):DI(e)),kI=()=>`Bridge`,AI=()=>`Bridge`,jI=((e={},t={})=>(t.locale??$())===`fr`?kI(e):AI(e)),MI=()=>`Gateway URL`,NI=()=>`Gateway URL`,PI=((e={},t={})=>(t.locale??$())===`fr`?MI(e):NI(e)),FI=()=>`Affichage`,II=()=>`Display`,LI=((e={},t={})=>(t.locale??$())===`fr`?FI(e):II(e)),RI=()=>`Configurer le bridge`,zI=()=>`Configure bridge`,BI=((e={},t={})=>(t.locale??$())===`fr`?RI(e):zI(e)),VI=()=>`Supprimer`,HI=()=>`Delete`,UI=((e={},t={})=>(t.locale??$())===`fr`?VI(e):HI(e)),WI=()=>`Nouvelle instance`,GI=()=>`New instance`,KI=((e={},t={})=>(t.locale??$())===`fr`?WI(e):GI(e)),qI=()=>`Modifier`,JI=()=>`Edit`,YI=((e={},t={})=>(t.locale??$())===`fr`?qI(e):JI(e)),XI=()=>`Modifier l'instance`,ZI=()=>`Edit instance`,QI=((e={},t={})=>(t.locale??$())===`fr`?XI(e):ZI(e)),$I=()=>`Le nom est la clé de routage et ne peut pas être modifié après création.`,eL=()=>`The name is the routing key and can't be changed after creation.`,tL=((e={},t={})=>(t.locale??$())===`fr`?$I(e):eL(e)),nL=()=>`Métadonnées non-secrètes.`,rL=()=>`Non-secret metadata.`,iL=((e={},t={})=>(t.locale??$())===`fr`?nL(e):rL(e)),aL=()=>`Enregistrer`,oL=()=>`Save`,sL=((e={},t={})=>(t.locale??$())===`fr`?aL(e):oL(e)),cL=()=>`Nom de l’instance (ex. main)`,lL=()=>`Instance name (e.g. main)`,uL=((e={},t={})=>(t.locale??$())===`fr`?cL(e):lL(e)),dL=()=>`Technologie (bridge)`,fL=()=>`Technology (bridge)`,pL=((e={},t={})=>(t.locale??$())===`fr`?dL(e):fL(e)),mL=()=>`Gateway URL (ws(s)://)`,hL=()=>`Gateway URL (ws(s)://)`,gL=((e={},t={})=>(t.locale??$())===`fr`?mL(e):hL(e)),_L=()=>`URL du bridge`,vL=()=>`Bridge URL`,yL=((e={},t={})=>(t.locale??$())===`fr`?_L(e):vL(e)),bL=()=>`http://bridge-host:8787 — sinon le BRIDGE_URL du déploiement`,xL=()=>`http://bridge-host:8787 — else the deployment BRIDGE_URL`,SL=((e={},t={})=>(t.locale??$())===`fr`?bL(e):xL(e)),CL=()=>`Nom affiché (optionnel)`,wL=()=>`Display name (optional)`,TL=((e={},t={})=>(t.locale??$())===`fr`?CL(e):wL(e)),EL=()=>`Version de la gateway (optionnel)`,DL=()=>`Gateway version (optional)`,OL=((e={},t={})=>(t.locale??$())===`fr`?EL(e):DL(e)),kL=()=>`ex. 2026.6.5 — repli de compatibilité`,AL=()=>`e.g. 2026.6.5 — compat fallback`,jL=((e={},t={})=>(t.locale??$())===`fr`?kL(e):AL(e)),ML=()=>`URL HTTP média (optionnel)`,NL=()=>`Media HTTP URL (optional)`,PL=((e={},t={})=>(t.locale??$())===`fr`?ML(e):NL(e)),FL=()=>`Seulement si le média est servi sur un autre hôte/port`,IL=()=>`Only if media is served on another host/port`,LL=((e={},t={})=>(t.locale??$())===`fr`?FL(e):IL(e)),RL=()=>`Identifiants`,zL=()=>`Credentials`,BL=((e={},t={})=>(t.locale??$())===`fr`?RL(e):zL(e)),VL=e=>`Identifiants de la gateway — instance « ${e?.instance} »`,HL=e=>`Gateway credentials — instance « ${e?.instance} »`,UL=((e,t={})=>(t.locale??$())===`fr`?VL(e):HL(e)),WL=()=>`Stockés chiffrés au repos. En écriture seule : une valeur n'est jamais réaffichée — définissez-la, remplacez-la ou effacez-la.`,GL=()=>`Stored encrypted at rest. Write-only: a value is never shown again — set or replace it, or clear it.`,KL=((e={},t={})=>(t.locale??$())===`fr`?WL(e):GL(e)),qL=()=>`Jeton opérateur`,JL=()=>`Operator token`,YL=((e={},t={})=>(t.locale??$())===`fr`?qL(e):JL(e)),XL=()=>`Identité d'appareil (JSON Ed25519)`,ZL=()=>`Device identity (Ed25519 JSON)`,QL=((e={},t={})=>(t.locale??$())===`fr`?XL(e):ZL(e)),$L=()=>`Clé API`,eR=()=>`API key`,tR=((e={},t={})=>(t.locale??$())===`fr`?$L(e):eR(e)),nR=()=>`Configuré`,rR=()=>`Configured`,iR=((e={},t={})=>(t.locale??$())===`fr`?nR(e):rR(e)),aR=()=>`Non défini`,oR=()=>`Not set`,sR=((e={},t={})=>(t.locale??$())===`fr`?aR(e):oR(e)),cR=()=>`Saisir la valeur…`,lR=()=>`Enter value…`,uR=((e={},t={})=>(t.locale??$())===`fr`?cR(e):lR(e)),dR=()=>`Remplacer la valeur…`,fR=()=>`Replace value…`,pR=((e={},t={})=>(t.locale??$())===`fr`?dR(e):fR(e)),mR=()=>`Définir`,hR=()=>`Set`,gR=((e={},t={})=>(t.locale??$())===`fr`?mR(e):hR(e)),_R=()=>`Effacer`,vR=()=>`Clear`,yR=((e={},t={})=>(t.locale??$())===`fr`?_R(e):vR(e)),bR=()=>`Identifiant enregistré`,xR=()=>`Credential saved`,SR=((e={},t={})=>(t.locale??$())===`fr`?bR(e):xR(e)),CR=()=>`Impossible d'enregistrer l'identifiant`,wR=()=>`Could not save the credential`,TR=((e={},t={})=>(t.locale??$())===`fr`?CR(e):wR(e)),ER=()=>`Identifiant effacé`,DR=()=>`Credential cleared`,OR=((e={},t={})=>(t.locale??$())===`fr`?ER(e):DR(e)),kR=()=>`Générer`,AR=()=>`Generate`,jR=((e={},t={})=>(t.locale??$())===`fr`?kR(e):AR(e)),MR=()=>`Crée une identité Ed25519 côté serveur (la clé privée ne touche jamais le navigateur) et l'enregistre. Vous l'appairerez ensuite sur la gateway.`,NR=()=>`Mints an Ed25519 identity server-side (the private key never reaches the browser) and saves it. You'll then pair it on the gateway.`,PR=((e={},t={})=>(t.locale??$())===`fr`?MR(e):NR(e)),FR=()=>`Identité générée et enregistrée`,IR=()=>`Device identity generated and saved`,LR=((e={},t={})=>(t.locale??$())===`fr`?FR(e):IR(e)),RR=()=>`Appairez cet appareil sur votre gateway avec :`,zR=()=>`Pair this device on your gateway with:`,BR=((e={},t={})=>(t.locale??$())===`fr`?RR(e):zR(e)),VR=()=>`Impossible de générer l'identité d'appareil`,HR=()=>`Could not generate the device identity`,UR=((e={},t={})=>(t.locale??$())===`fr`?VR(e):HR(e)),WR=()=>`Synchroniser maintenant`,GR=()=>`Sync now`,KR=((e={},t={})=>(t.locale??$())===`fr`?WR(e):GR(e)),qR=()=>`Synchronisation…`,JR=()=>`Syncing…`,YR=((e={},t={})=>(t.locale??$())===`fr`?qR(e):JR(e)),XR=()=>`Synchronisation effectuée`,ZR=()=>`Synced`,QR=((e={},t={})=>(t.locale??$())===`fr`?XR(e):ZR(e)),$R=()=>`Échec de la synchronisation`,ez=()=>`Sync failed`,tz=((e={},t={})=>(t.locale??$())===`fr`?$R(e):ez(e)),nz=()=>`Aucun agent récupéré — appairez l'appareil sur la gateway (ou vérifiez la configuration de l'instance), puis re-synchronisez`,rz=()=>`No agents retrieved — pair the device on the gateway (or check the instance configuration), then sync again`,iz=((e={},t={})=>(t.locale??$())===`fr`?nz(e):rz(e)),az=()=>`Aucun bridge ne sert cette instance — définissez son « Bridge URL » dans Settings → Agents → Instances.`,oz=()=>`No bridge serves this instance — set its “Bridge URL” in Settings → Agents → Instances.`,sz=((e={},t={})=>(t.locale??$())===`fr`?az(e):oz(e)),cz=()=>`Configuration Convex incomplète : BRIDGE_SHARED_SECRET manquant sur le déploiement.`,lz=()=>`Convex deployment is misconfigured: BRIDGE_SHARED_SECRET is missing.`,uz=((e={},t={})=>(t.locale??$())===`fr`?cz(e):lz(e)),dz=()=>`Bridge injoignable — vérifiez qu'il tourne et que son URL est correcte.`,fz=()=>`Bridge unreachable — check it is running and its URL is correct.`,pz=((e={},t={})=>(t.locale??$())===`fr`?dz(e):fz(e)),mz=()=>`Le bridge a rejeté l'authentification — BRIDGE_SHARED_SECRET désynchronisé entre Convex et le bridge.`,hz=()=>`The bridge rejected authentication — BRIDGE_SHARED_SECRET is out of sync between Convex and the bridge.`,gz=((e={},t={})=>(t.locale??$())===`fr`?mz(e):hz(e)),_z=()=>`Le bridge ne sert pas cette instance — son secret doit figurer dans BRIDGE_INSTANCE_SECRETS et ses identifiants doivent être valides.`,vz=()=>`The bridge does not serve this instance — its secret must be in BRIDGE_INSTANCE_SECRETS and its credentials must be valid.`,yz=((e={},t={})=>(t.locale??$())===`fr`?_z(e):vz(e)),bz=()=>`Force le bridge à prendre en compte les identifiants et à récupérer les agents depuis la gateway maintenant (sinon ~2 min via le cron). Déclenche aussi l'appairage si l'appareil n'est pas encore appairé.`,xz=()=>`Forces the bridge to take the credentials into account and fetch the agents from the gateway now (otherwise ~2 min via the cron). Also triggers pairing if the device is not yet paired.`,Sz=((e={},t={})=>(t.locale??$())===`fr`?bz(e):xz(e)),Cz=()=>`Secret du bridge (bridge → Convex)`,wz=()=>`Bridge secret (bridge → Convex)`,Tz=((e={},t={})=>(t.locale??$())===`fr`?Cz(e):wz(e)),Ez=()=>`Authentifie CE bridge auprès de Convex et le lie à cette instance, afin que le bridge ne puisse lire que les secrets de cette gateway. À définir dans l'environnement du bridge. Affiché une seule fois à la génération.`,Dz=()=>`Authenticates THIS bridge to Convex and ties it to this instance, so the bridge can only ever read this gateway's secrets. Set it in the bridge's environment. Shown once at generation.`,Oz=((e={},t={})=>(t.locale??$())===`fr`?Ez(e):Dz(e)),kz=()=>`Générer`,Az=()=>`Generate`,jz=((e={},t={})=>(t.locale??$())===`fr`?kz(e):Az(e)),Mz=()=>`Régénérer`,Nz=()=>`Regenerate`,Pz=((e={},t={})=>(t.locale??$())===`fr`?Mz(e):Nz(e)),Fz=()=>`Révoquer`,Iz=()=>`Revoke`,Lz=((e={},t={})=>(t.locale??$())===`fr`?Fz(e):Iz(e)),Rz=()=>`Secret du bridge révoqué`,zz=()=>`Bridge secret revoked`,Bz=((e={},t={})=>(t.locale??$())===`fr`?Rz(e):zz(e)),Vz=()=>`Impossible de générer le secret du bridge`,Hz=()=>`Could not generate the bridge secret`,Uz=((e={},t={})=>(t.locale??$())===`fr`?Vz(e):Hz(e)),Wz=()=>`Copiez ce secret maintenant — il ne sera plus jamais affiché. Placez-le dans la variable d'environnement du bridge.`,Gz=()=>`Copy this secret now — it is never shown again. Put it in the bridge's environment variable.`,Kz=((e={},t={})=>(t.locale??$())===`fr`?Wz(e):Gz(e)),qz=()=>`J'ai copié le secret`,Jz=()=>`I've copied the secret`,Yz=((e={},t={})=>(t.locale??$())===`fr`?qz(e):Jz(e)),Xz=e=>`Agents — instance « ${e?.name} »`,Zz=e=>`Agents — instance « ${e?.name} »`,Qz=((e,t={})=>(t.locale??$())===`fr`?Xz(e):Zz(e)),$z=()=>`Les agents sont découverts par le bridge. Coche ceux à rendre disponibles en aval (assignables aux groupes/users), et choisis un défaut. Un agent désactivé reste listé mais grisé.`,eB=()=>`Agents are discovered by the bridge. Tick the ones to make available downstream (assignable to groups/users), and pick one default. A disabled agent stays listed but greyed.`,tB=((e={},t={})=>(t.locale??$())===`fr`?$z(e):eB(e)),nB=()=>`Impossible de mettre à jour l’agent`,rB=()=>`Could not update the agent`,iB=((e={},t={})=>(t.locale??$())===`fr`?nB(e):rB(e)),aB=()=>`Types`,oB=()=>`Types`,sB=((e={},t={})=>(t.locale??$())===`fr`?aB(e):oB(e)),cB=()=>`Gérer`,lB=()=>`Manage`,uB=((e={},t={})=>(t.locale??$())===`fr`?cB(e):lB(e)),dB=()=>`Types de l'agent`,fB=()=>`Agent types`,pB=((e={},t={})=>(t.locale??$())===`fr`?dB(e):fB(e)),mB=()=>`Un agent peut avoir plusieurs types. Chaque type indique à Atrium comment l'agent peut être utilisé.`,hB=()=>`An agent may hold several types. Each type tells Atrium how the agent can be used.`,gB=((e={},t={})=>(t.locale??$())===`fr`?mB(e):hB(e)),_B=()=>`Conversationnel`,vB=()=>`Conversational`,yB=((e={},t={})=>(t.locale??$())===`fr`?_B(e):vB(e)),bB=()=>`Agent de chat standard — répond aux messages des utilisateurs dans une conversation.`,xB=()=>`Standard chat agent — answers users' messages in a conversation.`,SB=((e={},t={})=>(t.locale??$())===`fr`?bB(e):xB(e)),CB=()=>`Source documentaire`,wB=()=>`Documentary source`,TB=((e={},t={})=>(t.locale??$())===`fr`?CB(e):wB(e)),EB=()=>`Agent spécialisé appelé par une action Atrium dédiée pour exploiter une source documentaire — pas de chat direct.`,DB=()=>`Specialised agent invoked by a dedicated Atrium action to exploit a documentary source — not used for direct chat.`,OB=((e={},t={})=>(t.locale??$())===`fr`?EB(e):DB(e)),kB=()=>`Définir par défaut`,AB=()=>`Set as default`,jB=((e={},t={})=>(t.locale??$())===`fr`?kB(e):AB(e)),MB=()=>`Retirer`,NB=()=>`Remove`,PB=((e={},t={})=>(t.locale??$())===`fr`?MB(e):NB(e)),FB=e=>`Retirer ${e?.name} ?`,IB=e=>`Remove ${e?.name}?`,LB=((e,t={})=>(t.locale??$())===`fr`?FB(e):IB(e)),RB=()=>`Cet agent n’existe plus sur le gateway. Le retirer le supprime aussi de la liste d’agents de chaque groupe et utilisateur. Action irréversible.`,zB=()=>`This agent no longer exists on the gateway. Removing it also removes it from every group's and user's agent list. This cannot be undone.`,BB=((e={},t={})=>(t.locale??$())===`fr`?RB(e):zB(e)),VB=()=>`Retirer`,HB=()=>`Remove`,UB=((e={},t={})=>(t.locale??$())===`fr`?VB(e):HB(e)),WB=()=>`Agent retiré`,GB=()=>`Agent removed`,KB=((e={},t={})=>(t.locale??$())===`fr`?WB(e):GB(e)),qB=()=>`Chargement…`,JB=()=>`Loading…`,YB=((e={},t={})=>(t.locale??$())===`fr`?qB(e):JB(e)),XB=()=>`Jamais sondé.`,ZB=()=>`Never polled.`,QB=((e={},t={})=>(t.locale??$())===`fr`?XB(e):ZB(e)),$B=()=>`Découverte OK.`,eV=()=>`Discovery OK.`,tV=((e={},t={})=>(t.locale??$())===`fr`?$B(e):eV(e)),nV=e=>`Hors-ligne (${e?.error}) — dernier bon résultat servi.`,rV=e=>`Offline (${e?.error}) — last good result served.`,iV=((e,t={})=>(t.locale??$())===`fr`?nV(e):rV(e)),aV=()=>`Aucun agent découvert.`,oV=()=>`No agent discovered.`,sV=((e={},t={})=>(t.locale??$())===`fr`?aV(e):oV(e)),cV=()=>`défaut`,lV=()=>`default`,uV=((e={},t={})=>(t.locale??$())===`fr`?cV(e):lV(e)),dV=()=>`supprimé`,fV=()=>`removed`,pV=((e={},t={})=>(t.locale??$())===`fr`?dV(e):fV(e)),mV=()=>`Trace des actions effectuées sous usurpation d’identité : qui a réellement agi (acteur réel) et au nom de quel utilisateur. Le contenu des messages n’est jamais enregistré.`,hV=()=>`Trace of actions performed under impersonation: who really acted (real actor) and on behalf of which user. Message content is never recorded.`,gV=((e={},t={})=>(t.locale??$())===`fr`?mV(e):hV(e)),_V=()=>`Fenêtre récente bornée — une plage antérieure peut être partielle.`,vV=()=>`Bounded recent window — an earlier range may be partial.`,yV=((e={},t={})=>(t.locale??$())===`fr`?_V(e):vV(e)),bV=()=>`Rechercher (action, acteur, ressource)`,xV=()=>`Search (action, actor, resource)`,SV=((e={},t={})=>(t.locale??$())===`fr`?bV(e):xV(e)),CV=()=>`Action`,wV=()=>`Action`,TV=((e={},t={})=>(t.locale??$())===`fr`?CV(e):wV(e)),EV=()=>`Toutes les actions`,DV=()=>`All actions`,OV=((e={},t={})=>(t.locale??$())===`fr`?EV(e):DV(e)),kV=()=>`Usurpation : toutes`,AV=()=>`Impersonation: all`,jV=((e={},t={})=>(t.locale??$())===`fr`?kV(e):AV(e)),MV=()=>`Sous usurpation`,NV=()=>`Under impersonation`,PV=((e={},t={})=>(t.locale??$())===`fr`?MV(e):NV(e)),FV=()=>`Sans usurpation`,IV=()=>`Without impersonation`,LV=((e={},t={})=>(t.locale??$())===`fr`?FV(e):IV(e)),RV=()=>`Ressource`,zV=()=>`Resource`,BV=((e={},t={})=>(t.locale??$())===`fr`?RV(e):zV(e)),VV=()=>`Toutes les ressources`,HV=()=>`All resources`,UV=((e={},t={})=>(t.locale??$())===`fr`?VV(e):HV(e)),WV=()=>`Audit`,GV=()=>`Audit`,KV=((e={},t={})=>(t.locale??$())===`fr`?WV(e):GV(e)),qV=()=>`Aucune action tracée pour l’instant.`,JV=()=>`No action traced yet.`,YV=((e={},t={})=>(t.locale??$())===`fr`?qV(e):JV(e)),XV=()=>`Quand`,ZV=()=>`When`,QV=((e={},t={})=>(t.locale??$())===`fr`?XV(e):ZV(e)),$V=()=>`Acteur réel`,eH=()=>`Real actor`,tH=((e={},t={})=>(t.locale??$())===`fr`?$V(e):eH(e)),nH=()=>`Au nom de`,rH=()=>`On behalf of`,iH=((e={},t={})=>(t.locale??$())===`fr`?nH(e):rH(e)),aH=()=>`Traces`,oH=()=>`Traces`,sH=((e={},t={})=>(t.locale??$())===`fr`?aH(e):oH(e)),cH=()=>`KPI`,lH=()=>`KPI`,uH=((e={},t={})=>(t.locale??$())===`fr`?cH(e):lH(e)),dH=()=>`OpenClaw / Anomalies`,fH=()=>`OpenClaw / Anomalies`,pH=((e={},t={})=>(t.locale??$())===`fr`?dH(e):fH(e)),mH=()=>`Chats`,hH=()=>`Chats`,gH=((e={},t={})=>(t.locale??$())===`fr`?mH(e):hH(e)),_H=()=>`Admin`,vH=()=>`Admin`,yH=((e={},t={})=>(t.locale??$())===`fr`?_H(e):vH(e)),bH=()=>`Lire`,xH=()=>`Read`,SH=((e={},t={})=>(t.locale??$())===`fr`?bH(e):xH(e)),CH=()=>`Contenu`,wH=()=>`Content`,TH=((e={},t={})=>(t.locale??$())===`fr`?CH(e):wH(e)),EH=()=>`Écrire`,DH=()=>`Write`,OH=((e={},t={})=>(t.locale??$())===`fr`?EH(e):DH(e)),kH=()=>`Requête`,AH=()=>`Query`,jH=((e={},t={})=>(t.locale??$())===`fr`?kH(e):AH(e)),MH=()=>`Anomalies`,NH=()=>`Anomalies`,PH=((e={},t={})=>(t.locale??$())===`fr`?MH(e):NH(e)),FH=()=>`Signaler`,IH=()=>`Report`,LH=((e={},t={})=>(t.locale??$())===`fr`?FH(e):IH(e)),RH=()=>`Gérer`,zH=()=>`Manage`,BH=((e={},t={})=>(t.locale??$())===`fr`?RH(e):zH(e)),VH=()=>`Auto-correction`,HH=()=>`Self-heal`,UH=((e={},t={})=>(t.locale??$())===`fr`?VH(e):HH(e)),WH=e=>`${e?.key} — accès au contenu brut (PHI), à accorder avec prudence`,GH=e=>`${e?.key} — access to raw content (PHI), grant with caution`,KH=((e,t={})=>(t.locale??$())===`fr`?WH(e):GH(e)),qH=()=>`Échec de l’initialisation des rôles`,JH=()=>`Failed to initialize roles`,YH=((e={},t={})=>(t.locale??$())===`fr`?qH(e):JH(e)),XH=e=>`Modifier le rôle intégré « ${e?.name} » ?`,ZH=e=>`Edit the built-in role “${e?.name}”?`,QH=((e,t={})=>(t.locale??$())===`fr`?XH(e):ZH(e)),$H=()=>`Les rôles intégrés sont la base du modèle de permissions. Les modifier peut affecter les comptes existants. Continuer ?`,eU=()=>`Built-in roles are the foundation of the permission model. Editing them may affect existing accounts. Continue?`,tU=((e={},t={})=>(t.locale??$())===`fr`?$H(e):eU(e)),nU=()=>`Modifier`,rU=()=>`Edit`,iU=((e={},t={})=>(t.locale??$())===`fr`?nU(e):rU(e)),aU=()=>`Échec de la mise à jour des permissions`,oU=()=>`Failed to update permissions`,sU=((e={},t={})=>(t.locale??$())===`fr`?aU(e):oU(e)),cU=()=>`Échec de la création du rôle`,lU=()=>`Failed to create role`,uU=((e={},t={})=>(t.locale??$())===`fr`?cU(e):lU(e)),dU=()=>`Matrice de permissions. Lignes = rôles (intégrés + personnalisés), colonnes = clés de permission. Le rôle`,fU=()=>`Permission matrix. Rows = roles (built-in + custom), columns = permission keys. The`,pU=((e={},t={})=>(t.locale??$())===`fr`?dU(e):fU(e)),mU=()=>`détient le joker « * » (toutes les permissions) et est verrouillé. La colonne`,hU=()=>`role holds the “*” wildcard (all permissions) and is locked. The`,gU=((e={},t={})=>(t.locale??$())===`fr`?mU(e):hU(e)),_U=()=>`donne accès au contenu brut (PHI) — à n’accorder qu’à bon escient.`,vU=()=>`column grants access to raw content (PHI) — grant only when justified.`,yU=((e={},t={})=>(t.locale??$())===`fr`?_U(e):vU(e)),bU=()=>`Rôles`,xU=()=>`Roles`,SU=((e={},t={})=>(t.locale??$())===`fr`?bU(e):xU(e)),CU=()=>`Ajouter un rôle`,wU=()=>`Add a role`,TU=((e={},t={})=>(t.locale??$())===`fr`?CU(e):wU(e)),EU=()=>`Chargement…`,DU=()=>`Loading…`,OU=((e={},t={})=>(t.locale??$())===`fr`?EU(e):DU(e)),kU=()=>`Initialisation des rôles…`,AU=()=>`Initializing roles…`,jU=((e={},t={})=>(t.locale??$())===`fr`?kU(e):AU(e)),MU=()=>`Rôle`,NU=()=>`Role`,PU=((e={},t={})=>(t.locale??$())===`fr`?MU(e):NU(e)),FU=()=>`intégré`,IU=()=>`built-in`,LU=((e={},t={})=>(t.locale??$())===`fr`?FU(e):IU(e)),RU=()=>`personnalisé`,zU=()=>`custom`,BU=((e={},t={})=>(t.locale??$())===`fr`?RU(e):zU(e)),VU=()=>`Authentifié mais pas encore approuvé — l’accès est bloqué tant qu’un administrateur n’a pas validé le compte.`,HU=()=>`Authenticated but not yet approved — access is blocked until an admin approves the account.`,UU=((e={},t={})=>(t.locale??$())===`fr`?VU(e):HU(e)),WU=()=>`Personne approuvée, avec accès au chat.`,GU=()=>`Approved person with chat access.`,KU=((e={},t={})=>(t.locale??$())===`fr`?WU(e):GU(e)),qU=()=>`Accès total (superset) : gère les utilisateurs, rôles, agents, instances et l’observabilité.`,JU=()=>`Full access (superset): manages users, roles, agents, instances and observability.`,YU=((e={},t={})=>(t.locale??$())===`fr`?qU(e):JU(e)),XU=()=>`Compte de service en LECTURE SEULE pour superviser : voit les traces, KPI, anomalies et l’état du bridge/version via l’API. Ne peut rien écrire ni déclencher.`,ZU=()=>`READ-ONLY service account for monitoring: views traces, KPIs, anomalies and bridge/version status through the API. Cannot write or trigger anything.`,QU=((e={},t={})=>(t.locale??$())===`fr`?XU(e):ZU(e)),$U=()=>`Compte de service pour un agent OpenClaw lui-même : tout ce que voit l’observateur, PLUS interroger OpenClaw et SIGNALER des anomalies (écriture — ex. heartbeat / auto-réparation). À utiliser pour un agent automatisé, pas pour un humain qui consulte les tableaux de bord.`,eW=()=>`Service account for an OpenClaw agent itself: the observer's read access PLUS querying OpenClaw and REPORTING anomalies (write — e.g. heartbeat / self-repair). Use it for an automated agent, not a human watching dashboards.`,tW=((e={},t={})=>(t.locale??$())===`fr`?$U(e):eW(e)),nW=()=>`Accordé via « * » (toutes les permissions)`,rW=()=>`Granted via “*” (all permissions)`,iW=((e={},t={})=>(t.locale??$())===`fr`?nW(e):rW(e)),aW=()=>`Écriture en cours…`,oW=()=>`Writing…`,sW=((e={},t={})=>(t.locale??$())===`fr`?aW(e):oW(e)),cW=()=>`Nouveau rôle`,lW=()=>`New role`,uW=((e={},t={})=>(t.locale??$())===`fr`?cW(e):lW(e)),dW=()=>`Rôle personnalisé. Ajustez les permissions dans la matrice après création.`,fW=()=>`Custom role. Adjust the permissions in the matrix after creation.`,pW=((e={},t={})=>(t.locale??$())===`fr`?dW(e):fW(e)),mW=()=>`Créer`,hW=()=>`Create`,gW=((e={},t={})=>(t.locale??$())===`fr`?mW(e):hW(e)),_W=()=>`Clé (identifiant stable)`,vW=()=>`Key (stable identifier)`,yW=((e={},t={})=>(t.locale??$())===`fr`?_W(e):vW(e)),bW=()=>`ex. analyst`,xW=()=>`e.g. analyst`,SW=((e={},t={})=>(t.locale??$())===`fr`?bW(e):xW(e)),CW=()=>`Nom affiché`,wW=()=>`Display name`,TW=((e={},t={})=>(t.locale??$())===`fr`?CW(e):wW(e)),EW=()=>`Description (optionnel)`,DW=()=>`Description (optional)`,OW=((e={},t={})=>(t.locale??$())===`fr`?EW(e):DW(e)),kW=()=>`Ouvertes`,AW=()=>`Open`,jW=((e={},t={})=>(t.locale??$())===`fr`?kW(e):AW(e)),MW=()=>`En sourdine`,NW=()=>`Muted`,PW=((e={},t={})=>(t.locale??$())===`fr`?MW(e):NW(e)),FW=()=>`Résolues`,IW=()=>`Resolved`,LW=((e={},t={})=>(t.locale??$())===`fr`?FW(e):IW(e)),RW=()=>`Résoudre cette anomalie ?`,zW=()=>`Resolve this anomaly?`,BW=((e={},t={})=>(t.locale??$())===`fr`?RW(e):zW(e)),VW=()=>`L’anomalie`,HW=()=>`The anomaly`,UW=((e={},t={})=>(t.locale??$())===`fr`?VW(e):HW(e)),WW=()=>`sera marquée comme`,GW=()=>`will be marked as`,KW=((e={},t={})=>(t.locale??$())===`fr`?WW(e):GW(e)),qW=()=>`résolue`,JW=()=>`resolved`,YW=((e={},t={})=>(t.locale??$())===`fr`?qW(e):JW(e)),XW=()=>`Elle sortira du décompte des anomalies ouvertes (signal de self-repair OpenClaw).`,ZW=()=>`It will be removed from the open anomalies count (OpenClaw self-repair signal).`,QW=((e={},t={})=>(t.locale??$())===`fr`?XW(e):ZW(e)),$W=()=>`Résoudre`,eG=()=>`Resolve`,tG=((e={},t={})=>(t.locale??$())===`fr`?$W(e):eG(e)),nG=()=>`Anomalie résolue`,rG=()=>`Anomaly resolved`,iG=((e={},t={})=>(t.locale??$())===`fr`?nG(e):rG(e)),aG=()=>`Échec de la résolution`,oG=()=>`Resolution failed`,sG=((e={},t={})=>(t.locale??$())===`fr`?aG(e):oG(e)),cG=()=>`Anomalie acquittée`,lG=()=>`Anomaly acknowledged`,uG=((e={},t={})=>(t.locale??$())===`fr`?cG(e):lG(e)),dG=()=>`Échec de l’acquittement`,fG=()=>`Acknowledgement failed`,pG=((e={},t={})=>(t.locale??$())===`fr`?dG(e):fG(e)),mG=()=>`Anomalies détectées (cron) ou signalées par les agents OpenClaw. Données non-PHI uniquement (type, sévérité, message, corrélation).`,hG=()=>`Anomalies detected (cron) or reported by OpenClaw agents. Non-PHI data only (type, severity, message, correlation).`,gG=((e={},t={})=>(t.locale??$())===`fr`?mG(e):hG(e)),_G=()=>`Ouverte`,vG=()=>`Open`,yG=((e={},t={})=>(t.locale??$())===`fr`?_G(e):vG(e)),bG=()=>`= active, elle alerte et compte dans le heartbeat.`,xG=()=>`= active, it alerts and counts in the heartbeat.`,SG=((e={},t={})=>(t.locale??$())===`fr`?bG(e):xG(e)),CG=()=>`En sourdine`,wG=()=>`Muted`,TG=((e={},t={})=>(t.locale??$())===`fr`?CG(e):wG(e)),EG=()=>`= vue, plus d'alerte, mais pas forcément corrigée (les admins sont notifiés des nouvelles anomalies).`,DG=()=>`= seen, no more alerts, but not necessarily fixed (admins are notified of new anomalies).`,OG=((e={},t={})=>(t.locale??$())===`fr`?EG(e):DG(e)),kG=()=>`Résolue`,AG=()=>`Resolved`,jG=((e={},t={})=>(t.locale??$())===`fr`?kG(e):AG(e)),MG=()=>`= le problème est réglé (le détecteur résout automatiquement quand la condition cesse). Les deux la sortent du décompte heartbeat.`,NG=()=>`= the problem is fixed (the detector resolves automatically when the condition clears). Both remove it from the heartbeat count.`,PG=((e={},t={})=>(t.locale??$())===`fr`?MG(e):NG(e)),FG=()=>`La plage temporelle filtre la fenêtre récente — une plage antérieure peut être partielle.`,IG=()=>`The time range filters the recent window — an earlier range may be partial.`,LG=((e={},t={})=>(t.locale??$())===`fr`?FG(e):IG(e)),RG=()=>`Rechercher (message, type, corrélation)`,zG=()=>`Search (message, type, correlation)`,BG=((e={},t={})=>(t.locale??$())===`fr`?RG(e):zG(e)),VG=()=>`Tous les statuts`,HG=()=>`All statuses`,UG=((e={},t={})=>(t.locale??$())===`fr`?VG(e):HG(e)),WG=()=>`Sévérité`,GG=()=>`Severity`,KG=((e={},t={})=>(t.locale??$())===`fr`?WG(e):GG(e)),qG=()=>`Toutes sévérités`,JG=()=>`All severities`,YG=((e={},t={})=>(t.locale??$())===`fr`?qG(e):JG(e)),XG=()=>`Source`,ZG=()=>`Source`,QG=((e={},t={})=>(t.locale??$())===`fr`?XG(e):ZG(e)),$G=()=>`Toutes sources`,eK=()=>`All sources`,tK=((e={},t={})=>(t.locale??$())===`fr`?$G(e):eK(e)),nK=()=>`Type`,rK=()=>`Type`,iK=((e={},t={})=>(t.locale??$())===`fr`?nK(e):rK(e)),aK=()=>`Tous les types`,oK=()=>`All types`,sK=((e={},t={})=>(t.locale??$())===`fr`?aK(e):oK(e)),cK=()=>`Anomalies`,lK=()=>`Anomalies`,uK=((e={},t={})=>(t.locale??$())===`fr`?cK(e):lK(e)),dK=()=>`Aucune anomalie ouverte. 🎉`,fK=()=>`No open anomalies. 🎉`,pK=((e={},t={})=>(t.locale??$())===`fr`?dK(e):fK(e)),mK=()=>`Aucune anomalie enregistrée.`,hK=()=>`No anomalies recorded.`,gK=((e={},t={})=>(t.locale??$())===`fr`?mK(e):hK(e)),_K=()=>`Résoudre (corrigé)`,vK=()=>`Resolve (fixed)`,yK=((e={},t={})=>(t.locale??$())===`fr`?_K(e):vK(e)),bK=()=>`Marquer comme vue (sourdine)`,xK=()=>`Mark as seen (mute)`,SK=((e={},t={})=>(t.locale??$())===`fr`?bK(e):xK(e)),CK=()=>`Quand`,wK=()=>`When`,TK=((e={},t={})=>(t.locale??$())===`fr`?CK(e):wK(e)),EK=()=>`Statut`,DK=()=>`Status`,OK=((e={},t={})=>(t.locale??$())===`fr`?EK(e):DK(e)),kK=()=>`Message`,AK=()=>`Message`,jK=((e={},t={})=>(t.locale??$())===`fr`?kK(e):AK(e)),MK=()=>`Cause & correctif`,NK=()=>`Cause & fix`,PK=((e={},t={})=>(t.locale??$())===`fr`?MK(e):NK(e)),FK=()=>`Corrélation`,IK=()=>`Correlation`,LK=((e={},t={})=>(t.locale??$())===`fr`?FK(e):IK(e)),RK=()=>`Voir la trace`,zK=()=>`View trace`,BK=((e={},t={})=>(t.locale??$())===`fr`?RK(e):zK(e)),VK=()=>`ouverte`,HK=()=>`open`,UK=((e={},t={})=>(t.locale??$())===`fr`?VK(e):HK(e)),WK=()=>`en sourdine`,GK=()=>`muted`,KK=((e={},t={})=>(t.locale??$())===`fr`?WK(e):GK(e)),qK=()=>`résolue`,JK=()=>`resolved`,YK=((e={},t={})=>(t.locale??$())===`fr`?qK(e):JK(e)),XK=()=>`Réponse incorrecte`,ZK=()=>`Incorrect response`,QK=((e={},t={})=>(t.locale??$())===`fr`?XK(e):ZK(e)),$K=()=>`Incohérence`,eq=()=>`Inconsistency`,tq=((e={},t={})=>(t.locale??$())===`fr`?$K(e):eq(e)),nq=()=>`Mots / orthographe erronés`,rq=()=>`Wrong words / spelling`,iq=((e={},t={})=>(t.locale??$())===`fr`?nq(e):rq(e)),aq=()=>`Formatage`,oq=()=>`Formatting`,sq=((e={},t={})=>(t.locale??$())===`fr`?aq(e):oq(e)),cq=()=>`Latence`,lq=()=>`Latency`,uq=((e={},t={})=>(t.locale??$())===`fr`?cq(e):lq(e)),dq=()=>`Erreur API`,fq=()=>`API error`,pq=((e={},t={})=>(t.locale??$())===`fr`?dq(e):fq(e)),mq=()=>`Autre`,hq=()=>`Other`,gq=((e={},t={})=>(t.locale??$())===`fr`?mq(e):hq(e)),_q=()=>`Mots modifiés à l'envoi`,vq=()=>`Words altered on send`,yq=((e={},t={})=>(t.locale??$())===`fr`?_q(e):vq(e)),bq=()=>`Caractères / mise en forme altérés`,xq=()=>`Characters / formatting altered`,Sq=((e={},t={})=>(t.locale??$())===`fr`?bq(e):xq(e)),Cq=()=>`Signaler un problème`,wq=()=>`Report an issue`,Tq=((e={},t={})=>(t.locale??$())===`fr`?Cq(e):wq(e)),Eq=()=>`Merci. Un instantané complet de ce message a été figé pour analyse.`,Dq=()=>`Thank you. A complete snapshot of this message has been frozen for analysis.`,Oq=((e={},t={})=>(t.locale??$())===`fr`?Eq(e):Dq(e)),kq=()=>`Signalez un problème avec votre message tel qu'il a été envoyé. Un instantané forensique exact est enregistré.`,Aq=()=>`Report an issue with your message as it was sent. An exact forensic snapshot is recorded.`,jq=((e={},t={})=>(t.locale??$())===`fr`?kq(e):Aq(e)),Mq=()=>`Signalez un problème avec cette réponse. Un instantané forensique exact est enregistré au moment de l'envoi.`,Nq=()=>`Report an issue with this response. An exact forensic snapshot is recorded at send time.`,Pq=((e={},t={})=>(t.locale??$())===`fr`?Mq(e):Nq(e)),Fq=()=>`✓ Le texte affiché (vue source) correspond exactement, caractère pour caractère, au texte stocké côté serveur. La comparaison est figée comme preuve.`,Iq=()=>`✓ The displayed text (source view) matches exactly, character for character, the text stored on the server. The comparison is frozen as evidence.`,Lq=((e={},t={})=>(t.locale??$())===`fr`?Fq(e):Iq(e)),Rq=()=>`⚠ Écart détecté entre le texte affiché (vue source) et le texte stocké. L'instantané a figé les deux versions.`,zq=()=>`⚠ Discrepancy detected between the displayed text (source view) and the stored text. The snapshot has frozen both versions.`,Bq=((e={},t={})=>(t.locale??$())===`fr`?Rq(e):zq(e)),Vq=()=>`Instantané enregistré. Pour vérifier que l'affichage n'altère aucun caractère, ouvrez la vue source (</>) sur ce message puis signalez à nouveau : la comparaison portera alors sur le texte réellement affiché par le navigateur.`,Hq=()=>`Snapshot recorded. To verify that the display does not alter any character, open the source view (</>) on this message then report again: the comparison will then be on the text actually rendered by the browser.`,Uq=((e={},t={})=>(t.locale??$())===`fr`?Vq(e):Hq(e)),Wq=()=>`Catégorie`,Gq=()=>`Category`,Kq=((e={},t={})=>(t.locale??$())===`fr`?Wq(e):Gq(e)),qq=()=>`Choisir une catégorie`,Jq=()=>`Choose a category`,Yq=((e={},t={})=>(t.locale??$())===`fr`?qq(e):Jq(e)),Xq=()=>`Commentaire`,Zq=()=>`Comment`,Qq=((e={},t={})=>(t.locale??$())===`fr`?Xq(e):Zq(e)),$q=()=>`Décrivez le problème…`,eJ=()=>`Describe the issue…`,tJ=((e={},t={})=>(t.locale??$())===`fr`?$q(e):eJ(e)),nJ=()=>`Fermer`,rJ=()=>`Close`,iJ=((e={},t={})=>(t.locale??$())===`fr`?nJ(e):rJ(e)),aJ=()=>`Annuler`,oJ=()=>`Cancel`,sJ=((e={},t={})=>(t.locale??$())===`fr`?aJ(e):oJ(e)),cJ=()=>`Envoi…`,lJ=()=>`Sending…`,uJ=((e={},t={})=>(t.locale??$())===`fr`?cJ(e):lJ(e)),dJ=()=>`Envoyer`,fJ=()=>`Send`,pJ=((e={},t={})=>(t.locale??$())===`fr`?dJ(e):fJ(e)),mJ=()=>`Problème signalé`,hJ=()=>`Issue reported`,gJ=((e={},t={})=>(t.locale??$())===`fr`?mJ(e):hJ(e)),_J=()=>`Signaler un problème`,vJ=()=>`Report an issue`,yJ=((e={},t={})=>(t.locale??$())===`fr`?_J(e):vJ(e)),bJ=()=>`Signaler un problème avec ce message`,xJ=()=>`Report an issue with this message`,SJ=((e={},t={})=>(t.locale??$())===`fr`?bJ(e):xJ(e)),CJ=()=>`Événements récents (fenêtre bornée, plus récents d’abord). Toutes les traces sont des métadonnées `,wJ=()=>`Recent events (bounded window, newest first). All traces are redacted metadata `,TJ=((e={},t={})=>(t.locale??$())===`fr`?CJ(e):wJ(e)),EJ=()=>`expurgées`,DJ=()=>`redacted`,OJ=((e={},t={})=>(t.locale??$())===`fr`?EJ(e):DJ(e)),kJ=()=>` : aucun contenu de message, pièce jointe ou jeton n’est stocké — uniquement des longueurs, codes et indicateurs.`,AJ=()=>`: no message content, attachment or token is stored — only lengths, codes and flags.`,jJ=((e={},t={})=>(t.locale??$())===`fr`?kJ(e):AJ(e)),MJ=()=>`La plage temporelle filtre la fenêtre récente — une plage antérieure peut être partielle.`,NJ=()=>`The time range filters the recent window — an older range may be partial.`,PJ=((e={},t={})=>(t.locale??$())===`fr`?MJ(e):NJ(e)),FJ=()=>`Rechercher (kind, principal, rôle, route, correlationId)`,IJ=()=>`Search (kind, principal, role, route, correlationId)`,LJ=((e={},t={})=>(t.locale??$())===`fr`?FJ(e):IJ(e)),RJ=()=>`Statut`,zJ=()=>`Status`,BJ=((e={},t={})=>(t.locale??$())===`fr`?RJ(e):zJ(e)),VJ=()=>`Tous statuts`,HJ=()=>`All statuses`,UJ=((e={},t={})=>(t.locale??$())===`fr`?VJ(e):HJ(e)),WJ=()=>`Principal`,GJ=()=>`Principal`,KJ=((e={},t={})=>(t.locale??$())===`fr`?WJ(e):GJ(e)),qJ=()=>`Tous principaux`,JJ=()=>`All principals`,YJ=((e={},t={})=>(t.locale??$())===`fr`?qJ(e):JJ(e)),XJ=()=>`Direction`,ZJ=()=>`Direction`,QJ=((e={},t={})=>(t.locale??$())===`fr`?XJ(e):ZJ(e)),$J=()=>`Toutes directions`,eY=()=>`All directions`,tY=((e={},t={})=>(t.locale??$())===`fr`?$J(e):eY(e)),nY=()=>`Rôle`,rY=()=>`Role`,iY=((e={},t={})=>(t.locale??$())===`fr`?nY(e):rY(e)),aY=()=>`Tous les rôles`,oY=()=>`All roles`,sY=((e={},t={})=>(t.locale??$())===`fr`?aY(e):oY(e)),cY=()=>`Tous les kinds`,lY=()=>`All kinds`,uY=((e={},t={})=>(t.locale??$())===`fr`?cY(e):lY(e)),dY=()=>`tous les kinds`,fY=()=>`all kinds`,pY=((e={},t={})=>(t.locale??$())===`fr`?dY(e):fY(e)),mY=e=>`${e?.count} lignes`,hY=e=>`${e?.count} rows`,gY=((e,t={})=>(t.locale??$())===`fr`?mY(e):hY(e)),_Y=()=>`Effacer le filtre de corrélation`,vY=()=>`Clear correlation filter`,yY=((e={},t={})=>(t.locale??$())===`fr`?_Y(e):vY(e)),bY=()=>`filtre: correlationId=`,xY=()=>`filter: correlationId=`,SY=((e={},t={})=>(t.locale??$())===`fr`?bY(e):xY(e)),CY=()=>`Effacer`,wY=()=>`Clear`,TY=((e={},t={})=>(t.locale??$())===`fr`?CY(e):wY(e)),EY=()=>`Traces`,DY=()=>`Traces`,OY=((e={},t={})=>(t.locale??$())===`fr`?EY(e):DY(e)),kY=()=>`Aucun événement pour cette corrélation dans la fenêtre.`,AY=()=>`No event for this correlation in the window.`,jY=((e={},t={})=>(t.locale??$())===`fr`?kY(e):AY(e)),MY=()=>`Aucun événement tracé pour l’instant.`,NY=()=>`No traced event yet.`,PY=((e={},t={})=>(t.locale??$())===`fr`?MY(e):NY(e)),FY=()=>`Quand`,IY=()=>`When`,LY=((e={},t={})=>(t.locale??$())===`fr`?FY(e):IY(e)),RY=()=>`Kind`,zY=()=>`Kind`,BY=((e={},t={})=>(t.locale??$())===`fr`?RY(e):zY(e)),VY=()=>`Résultat`,HY=()=>`Result`,UY=((e={},t={})=>(t.locale??$())===`fr`?VY(e):HY(e)),WY=()=>`ok`,GY=()=>`ok`,KY=((e={},t={})=>(t.locale??$())===`fr`?WY(e):GY(e)),qY=()=>`Direction`,JY=()=>`Direction`,YY=((e={},t={})=>(t.locale??$())===`fr`?qY(e):JY(e)),XY=()=>`Principal`,ZY=()=>`Principal`,QY=((e={},t={})=>(t.locale??$())===`fr`?XY(e):ZY(e)),$Y=()=>`Rôle`,eX=()=>`Role`,tX=((e={},t={})=>(t.locale??$())===`fr`?$Y(e):eX(e)),nX=()=>`Route`,rX=()=>`Route`,iX=((e={},t={})=>(t.locale??$())===`fr`?nX(e):rX(e)),aX=()=>`Statut`,oX=()=>`Status`,nee=((e={},t={})=>(t.locale??$())===`fr`?aX(e):oX(e)),sX=()=>`Latence`,cX=()=>`Latency`,lX=((e={},t={})=>(t.locale??$())===`fr`?sX(e):cX(e)),uX=()=>`Corrélation`,dX=()=>`Correlation`,fX=((e={},t={})=>(t.locale??$())===`fr`?uX(e):dX(e)),pX=()=>`Suivre ce tour (filtrer par correlationId)`,mX=()=>`Follow this turn (filter by correlationId)`,hX=((e={},t={})=>(t.locale??$())===`fr`?pX(e):mX(e)),gX=()=>`Meta`,_X=()=>`Meta`,vX=((e={},t={})=>(t.locale??$())===`fr`?gX(e):_X(e)),yX=()=>`Voir`,bX=()=>`View`,xX=((e={},t={})=>(t.locale??$())===`fr`?yX(e):bX(e)),SX=()=>`Meta ·`,CX=()=>`Meta ·`,wX=((e={},t={})=>(t.locale??$())===`fr`?SX(e):CX(e)),TX=()=>`expurgé`,EX=()=>`redacted`,DX=((e={},t={})=>(t.locale??$())===`fr`?TX(e):EX(e)),OX=()=>`Métadonnées non-PHI uniquement (longueurs, codes, indicateurs). Aucun contenu de message n’est stocké.`,kX=()=>`Non-PHI metadata only (lengths, codes, flags). No message content is stored.`,AX=((e={},t={})=>(t.locale??$())===`fr`?OX(e):kX(e)),jX=()=>`Chargement…`,MX=()=>`Loading…`,NX=((e={},t={})=>(t.locale??$())===`fr`?jX(e):MX(e)),PX=()=>`Connexion refusée. Le domaine de ce compte n’est pas autorisé.`,FX=()=>`Sign-in refused. This account’s email domain is not allowed.`,IX=((e={},t={})=>(t.locale??$())===`fr`?PX(e):FX(e)),LX=()=>`Bon retour`,RX=()=>`Welcome back`,zX=((e={},t={})=>(t.locale??$())===`fr`?LX(e):RX(e)),BX=()=>`Connectez-vous pour continuer`,VX=()=>`Sign in to continue`,HX=((e={},t={})=>(t.locale??$())===`fr`?BX(e):VX(e)),UX=()=>`Se connecter avec Google`,WX=()=>`Sign in with Google`,GX=((e={},t={})=>(t.locale??$())===`fr`?UX(e):WX(e)),KX=()=>`Aucun mode de connexion configuré.`,qX=()=>`No sign-in method configured.`,JX=((e={},t={})=>(t.locale??$())===`fr`?KX(e):qX(e)),YX=()=>`Continuer (dev, sans compte)`,XX=()=>`Continue (dev, no account)`,ZX=((e={},t={})=>(t.locale??$())===`fr`?YX(e):XX(e)),QX=()=>`Compte`,$X=()=>`Account`,eZ=((e={},t={})=>(t.locale??$())===`fr`?QX(e):$X(e)),tZ=()=>`En attente d’approbation`,nZ=()=>`Awaiting approval`,rZ=((e={},t={})=>(t.locale??$())===`fr`?tZ(e):nZ(e)),iZ=()=>`Ton compte est créé mais doit être approuvé par un administrateur avant d’accéder au chat.`,aZ=()=>`Your account has been created but must be approved by an administrator before you can access the chat.`,oZ=((e={},t={})=>(t.locale??$())===`fr`?iZ(e):aZ(e)),sZ=()=>`Vous explorez l’application en tant que`,cZ=()=>`You are exploring the application as`,lZ=((e={},t={})=>(t.locale??$())===`fr`?sZ(e):cZ(e)),uZ=()=>`. Toute action est exécutée et tracée en votre nom (`,dZ=()=>`. Every action is executed and traced in your name (`,fZ=((e={},t={})=>(t.locale??$())===`fr`?uZ(e):dZ(e)),pZ=()=>`).`,mZ=()=>`).`,hZ=((e={},t={})=>(t.locale??$())===`fr`?pZ(e):mZ(e)),gZ=()=>`Quitter`,_Z=()=>`Exit`,vZ=((e={},t={})=>(t.locale??$())===`fr`?gZ(e):_Z(e)),yZ=()=>`Afficher la barre latérale`,bZ=()=>`Show sidebar`,xZ=((e={},t={})=>(t.locale??$())===`fr`?yZ(e):bZ(e)),SZ=()=>`Réduire la barre latérale`,CZ=()=>`Collapse sidebar`,wZ=((e={},t={})=>(t.locale??$())===`fr`?SZ(e):CZ(e)),TZ=()=>`Paramètres`,EZ=()=>`Settings`,DZ=((e={},t={})=>(t.locale??$())===`fr`?TZ(e):EZ(e)),OZ=()=>`Redimensionner la barre latérale`,kZ=()=>`Resize sidebar`,AZ=((e={},t={})=>(t.locale??$())===`fr`?OZ(e):kZ(e)),jZ=()=>`Accès non autorisé`,MZ=()=>`Access denied`,NZ=((e={},t={})=>(t.locale??$())===`fr`?jZ(e):MZ(e)),PZ=()=>`Vous n’avez pas la permission de consulter cet onglet. Choisissez un onglet disponible dans le menu, ou contactez votre administrateur.`,FZ=()=>`You do not have permission to view this tab. Choose an available tab from the menu, or contact your administrator.`,IZ=((e={},t={})=>(t.locale??$())===`fr`?PZ(e):FZ(e)),LZ=()=>`Mise à jour de l’application…`,RZ=()=>`Updating the application…`,zZ=((e={},t={})=>(t.locale??$())===`fr`?LZ(e):RZ(e)),BZ=()=>`Une erreur est survenue`,VZ=()=>`Something went wrong`,HZ=((e={},t={})=>(t.locale??$())===`fr`?BZ(e):VZ(e)),UZ=()=>`Cette page n’a pas pu être affichée. Réessayez, ou revenez à l’accueil. Si le problème persiste, contactez votre administrateur.`,WZ=()=>`This page could not be displayed. Try again, or return home. If the problem persists, contact your administrator.`,GZ=((e={},t={})=>(t.locale??$())===`fr`?UZ(e):WZ(e)),KZ=()=>`Réessayer`,qZ=()=>`Retry`,JZ=((e={},t={})=>(t.locale??$())===`fr`?KZ(e):qZ(e)),YZ=()=>`Accueil`,XZ=()=>`Home`,ZZ=((e={},t={})=>(t.locale??$())===`fr`?YZ(e):XZ(e)),QZ=()=>`Page introuvable`,$Z=()=>`Page not found`,eQ=((e={},t={})=>(t.locale??$())===`fr`?QZ(e):$Z(e)),tQ=()=>`Cette adresse ne correspond à aucune page de l’application.`,nQ=()=>`This address does not match any page in the application.`,rQ=((e={},t={})=>(t.locale??$())===`fr`?tQ(e):nQ(e)),iQ=e=>`Agents de ${e?.user}`,aQ=e=>`${e?.user}'s agents`,oQ=((e,t={})=>(t.locale??$())===`fr`?iQ(e):aQ(e)),sQ=()=>`Associez les agents découverts (par instance) et désignez l'agent par défaut. Au moins un agent est requis pour créer des conversations.`,cQ=()=>`Assign the discovered agents (per instance) and designate the default agent. At least one agent is required to create conversations.`,lQ=((e={},t={})=>(t.locale??$())===`fr`?sQ(e):cQ(e)),uQ=()=>`Agents des groupes du membre. Cochez pour restreindre à une sélection ; sans coche, le membre voit tous ces agents.`,dQ=()=>`The member's group agents. Check to restrict to a selection; with none checked, the member sees all of them.`,fQ=((e={},t={})=>(t.locale??$())===`fr`?uQ(e):dQ(e)),pQ=()=>`Le membre n'appartient à aucun groupe : il voit tous les agents. Cochez pour restreindre à une sélection.`,mQ=()=>`The member belongs to no group, so they see every agent. Check to restrict to a selection.`,hQ=((e={},t={})=>(t.locale??$())===`fr`?pQ(e):mQ(e)),gQ=()=>`Chargement…`,_Q=()=>`Loading…`,vQ=((e={},t={})=>(t.locale??$())===`fr`?gQ(e):_Q(e)),yQ=()=>`Mise à jour de l'accès refusée`,bQ=()=>`Access update denied`,xQ=((e={},t={})=>(t.locale??$())===`fr`?yQ(e):bQ(e)),SQ=()=>`Définition de l'agent par défaut refusée`,CQ=()=>`Setting the default agent was denied`,wQ=((e={},t={})=>(t.locale??$())===`fr`?SQ(e):CQ(e)),TQ=()=>`Aucun agent découvert.`,EQ=()=>`No agent discovered.`,DQ=((e={},t={})=>(t.locale??$())===`fr`?TQ(e):EQ(e)),OQ=e=>`Assigner ${e?.name}`,kQ=e=>`Assign ${e?.name}`,AQ=((e,t={})=>(t.locale??$())===`fr`?OQ(e):kQ(e)),jQ=()=>`supprimé`,MQ=()=>`removed`,NQ=((e={},t={})=>(t.locale??$())===`fr`?jQ(e):MQ(e)),PQ=()=>`hors groupe`,FQ=()=>`outside group`,IQ=((e={},t={})=>(t.locale??$())===`fr`?PQ(e):FQ(e)),LQ=()=>`Agent par défaut`,RQ=()=>`Default agent`,zQ=((e={},t={})=>(t.locale??$())===`fr`?LQ(e):RQ(e)),BQ=()=>`Définir comme agent par défaut`,VQ=()=>`Set as default agent`,HQ=((e={},t={})=>(t.locale??$())===`fr`?BQ(e):VQ(e)),UQ=e=>`Configurer l'instance « ${e?.instance} »`,WQ=e=>`Configure instance « ${e?.instance} »`,GQ=((e,t={})=>(t.locale??$())===`fr`?UQ(e):WQ(e)),KQ=()=>`Config non-secrète du bridge, appliquée à chaud au message suivant (sans redémarrage). Les secrets (tokens, device identity) vivent dans l’environnement du bridge, jamais ici.`,qQ=()=>`Non-secret bridge config, applied hot on the next message (no restart). Secrets (tokens, device identity) live in the bridge environment, never here.`,JQ=((e={},t={})=>(t.locale??$())===`fr`?KQ(e):qQ(e)),YQ=()=>`Aucune instance — ajoutez-en une dans Agents › Instances d’abord.`,XQ=()=>`No instances yet — add one under Agents › Instances first.`,ZQ=((e={},t={})=>(t.locale??$())===`fr`?YQ(e):XQ(e)),QQ=()=>`Mode média sortant`,$Q=()=>`Outbound media mode`,e$=((e={},t={})=>(t.locale??$())===`fr`?QQ(e):$Q(e)),t$=()=>`Mode média entrant`,n$=()=>`Inbound media mode`,r$=((e={},t={})=>(t.locale??$())===`fr`?t$(e):n$(e)),i$=()=>`Taille média max (Mo)`,a$=()=>`Max media size (MB)`,o$=((e={},t={})=>(t.locale??$())===`fr`?i$(e):a$(e)),s$=()=>`Ré-hydratation de session`,c$=()=>`Session re-hydration`,l$=((e={},t={})=>(t.locale??$())===`fr`?s$(e):c$(e)),u$=()=>`Enregistrer`,d$=()=>`Save`,f$=((e={},t={})=>(t.locale??$())===`fr`?u$(e):d$(e)),p$=()=>`Impossible d’enregistrer la configuration`,m$=()=>`Could not save the configuration`,h$=((e={},t={})=>(t.locale??$())===`fr`?p$(e):m$(e)),g$=()=>`Comment le bridge récupère les fichiers SORTANTS (générés par l’agent) pour les héberger : gateway-http (via HTTP depuis la gateway — aucun système de fichiers partagé requis, défaut portable), shared-fs (lit un volume partagé monté), ou off (aucune pièce jointe sortante).`,_$=()=>`How the bridge fetches OUTBOUND (agent-generated) files to host them: gateway-http (over HTTP from the gateway — no shared filesystem needed, the portable default), shared-fs (read a mounted shared volume), or off (no outbound attachments).`,v$=((e={},t={})=>(t.locale??$())===`fr`?g$(e):_$(e)),y$=()=>`Comment les fichiers téléversés atteignent l’agent : inline (base64 dans la trame du chat — plafonné par la taille de trame de la gateway), ou shared-fs (streamé vers un volume partagé et référencé par chemin — toute taille, pour les grosses vidéos/audio/docs).`,b$=()=>`How user-uploaded files reach the agent: inline (base64 in the chat frame — capped by the gateway frame size), or shared-fs (streamed to a shared volume and referenced by path — any size, for large videos/audio/docs).`,x$=((e={},t={})=>(t.locale??$())===`fr`?y$(e):b$(e)),S$=()=>`Transport du flux live`,C$=()=>`Live-stream transport`,w$=((e={},t={})=>(t.locale??$())===`fr`?S$(e):C$(e)),T$=()=>`Comment le navigateur reçoit la réponse en direct pour les chats de cette instance (frontend↔Convex — pas un réglage du bridge) : reactive (push natif de Convex — meilleure concurrence, le défaut) ou sse (Server-Sent-Events / streamable-HTTP standard — multi-device, mais sur Convex Cloud managé chaque stream occupe un slot d’action concurrente, plafonné à 64/512).`,E$=()=>`How the browser receives the live reply for this instance's chats (frontend↔Convex — not a bridge setting): reactive (Convex's native push — best concurrency, the default) or sse (standard Server-Sent-Events / streamable-HTTP — multi-device, but on managed Convex Cloud each stream holds a concurrent-action slot, capped at 64/512).`,D$=((e={},t={})=>(t.locale??$())===`fr`?T$(e):E$(e)),O$=()=>`Plafond de taille par fichier (Mo). En mode shared-fs il peut être élevé (les fichiers sont streamés sur disque) ; pour l’inline, la vraie limite est la taille de trame de la gateway.`,k$=()=>`Per-file size cap (MB). In shared-fs mode this can be large (files stream to disk); for inline files the gateway frame size is the real limit.`,A$=((e={},t={})=>(t.locale??$())===`fr`?O$(e):k$(e)),j$=()=>`Sur une session gateway fraîche/réinitialisée, renvoie les tours précédents pour que le contexte du modèle corresponde au fil visible. Désactiver pour n’envoyer que le message courant.`,M$=()=>`On a fresh/rolled gateway session, re-send prior turns so the model's context matches the visible thread. Disable to always send only the current message.`,N$=((e={},t={})=>(t.locale??$())===`fr`?j$(e):M$(e)),P$=()=>`Injections de prompt`,F$=()=>`Prompt injections`,I$=((e={},t={})=>(t.locale??$())===`fr`?P$(e):F$(e)),L$=()=>`Atrium ajoute quelques instructions à chaque tour envoyé au gateway pour que les fonctionnalités marchent d’emblée. Si votre gateway instruit déjà les agents, désactivez-les ou personnalisez-les ici pour ne pas surcharger inutilement le contexte du tour.`,R$=()=>`Atrium splices a few standing instructions into each gateway turn so features work out of the box. If your gateway already instructs the agents, disable or customize them here so the turn's context isn't bloated for nothing.`,z$=((e={},t={})=>(t.locale??$())===`fr`?L$(e):R$(e)),B$=()=>`Réinitialiser`,V$=()=>`Reset to default`,H$=((e={},t={})=>(t.locale??$())===`fr`?B$(e):V$(e)),U$=()=>`personnalisée`,W$=()=>`customized`,G$=((e={},t={})=>(t.locale??$())===`fr`?U$(e):W$(e)),K$=()=>`Placeholders (à conserver dans votre texte) :`,q$=()=>`Placeholders (keep them in your text):`,J$=((e={},t={})=>(t.locale??$())===`fr`?K$(e):q$(e)),Y$=()=>`Livraison de fichier (MEDIA:)`,X$=()=>`File delivery (MEDIA:)`,Z$=((e={},t={})=>(t.locale??$())===`fr`?Y$(e):X$(e)),Q$=()=>`Indique à l’agent comment rendre un fichier généré téléchargeable dans ce webchat : l’écrire dans le dossier outbound, puis émettre une ligne MEDIA:<chemin>. À désactiver UNIQUEMENT si vos agents savent déjà émettre MEDIA: — sinon les fichiers qu’ils génèrent ne seront pas téléchargeables. Le placeholder du dossier outbound (indiqué dessous) est rempli automatiquement.`,$$=()=>`Tells the agent how to make a generated file downloadable in this webchat: write it to the outbound dir, then emit a MEDIA:<path> line. Disable ONLY if your agents are already instructed to emit MEDIA: — otherwise files they generate won't be downloadable. The outbound-directory placeholder (shown below) is filled automatically.`,e1=((e={},t={})=>(t.locale??$())===`fr`?Q$(e):$$(e)),t1=()=>`Brief de récupération documentaire`,n1=()=>`Documentary fetch brief`,r1=((e={},t={})=>(t.locale??$())===`fr`?t1(e):n1(e)),i1=()=>`Le brief envoyé à l’agent documentaire pour « Joindre les documents » : résoudre les références en fichiers et les livrer. Adaptez-le à la façon dont vos documents sont accessibles dans VOTRE environnement — c’est ce prompt qui fait réussir ou échouer la récupération. Désactivez pour n’envoyer QUE la liste brute des références (sans le cadre Atrium) — pour un gateway dont l’agent sait déjà récupérer les références qu’il reçoit. Le placeholder des références (indiqué dessous) est rempli avec les documents demandés.`,a1=()=>`The brief sent to the documentary agent for "Attach source documents": resolve the references to files and deliver them. Tailor it to how documents are reachable in YOUR environment — this is the prompt that makes or breaks the fetch. Disable to send ONLY the bare reference list (no Atrium framing) — for a gateway whose agent is already instructed to fetch references it receives. The references placeholder (shown below) is filled with the requested documents.`,o1=((e={},t={})=>(t.locale??$())===`fr`?i1(e):a1(e)),s1=()=>`Préambule des fichiers reçus`,c1=()=>`Received-files preamble`,l1=((e={},t={})=>(t.locale??$())===`fr`?s1(e):c1(e)),u1=()=>`L’en-tête montré à l’agent avant la liste des fichiers qu’un utilisateur a joints, pour qu’il les lise par chemin. À désactiver si vos agents savent déjà où sont rangés les fichiers reçus. Le placeholder de la liste (indiqué dessous) est rempli avec les fichiers.`,d1=()=>`The header shown to the agent before the list of files a user attached, so it can read them by path. Disable if your agents already know where received files are staged. The file-list placeholder (shown below) is filled with the staged files.`,f1=((e={},t={})=>(t.locale??$())===`fr`?u1(e):d1(e)),p1=()=>`Instance :`,m1=()=>`Instance:`,h1=((e={},t={})=>(t.locale??$())===`fr`?p1(e):m1(e)),g1=()=>`Aucune instance pour l’instant. Ajoutez-en une dans l’onglet Instances.`,_1=()=>`No instance yet. Add one in the Instances tab first.`,v1=((e={},t={})=>(t.locale??$())===`fr`?g1(e):_1(e)),y1=()=>`Aperçu`,b1=()=>`Preview`,x1=((e={},t={})=>(t.locale??$())===`fr`?y1(e):b1(e)),S1=()=>`Masquer l’aperçu`,C1=()=>`Hide preview`,w1=((e={},t={})=>(t.locale??$())===`fr`?S1(e):C1(e)),T1=()=>`Placeholders remplis avec des exemples — ce que l’agent reçoit.`,E1=()=>`Placeholders filled with example values — what the agent receives.`,D1=((e={},t={})=>(t.locale??$())===`fr`?T1(e):E1(e)),O1=()=>`Désactivée — rien n’est injecté dans le message de l’agent.`,k1=()=>`Disabled — nothing is injected into the agent's message.`,A1=((e={},t={})=>(t.locale??$())===`fr`?O1(e):k1(e)),j1=()=>`Le dossier outbound de l’agent — où il doit écrire un fichier généré pour que le bridge le serve en téléchargement.`,M1=()=>`The agent's outbound directory — where it must write a generated file so the bridge can host it as a download.`,N1=((e={},t={})=>(t.locale??$())===`fr`?j1(e):M1(e)),P1=()=>`La liste des références de documents demandées (une par ligne) — ce que l’agent documentaire doit résoudre en fichiers.`,F1=()=>`The list of requested document references (one per line) — what the documentary agent must resolve to files.`,I1=((e={},t={})=>(t.locale??$())===`fr`?P1(e):F1(e)),L1=()=>`La liste des fichiers joints par l’utilisateur, avec leurs chemins (vus par l’agent) et tailles — ce que l’agent peut lire.`,R1=()=>`The list of files the user attached, with their agent-visible paths and sizes — what the agent can read.`,z1=((e={},t={})=>(t.locale??$())===`fr`?L1(e):R1(e)),B1=()=>`Injections de prompt`,V1=()=>`Prompt injections`,H1=((e={},t={})=>(t.locale??$())===`fr`?B1(e):V1(e)),U1=()=>`Chemin entrant (vu par l’agent)`,W1=()=>`Inbound path (agent view)`,G1=((e={},t={})=>(t.locale??$())===`fr`?U1(e):W1(e)),K1=()=>`Le chemin DANS le conteneur de la gateway où l’agent LIT les fichiers entrants déposés — le montage du volume partagé côté gateway (ex. /home/node/.openclaw/media/inbound). Doit correspondre à ton montage de volume Docker.`,q1=()=>`The path INSIDE the gateway container where the agent READS staged inbound files — the gateway's mount of the shared volume (e.g. /home/node/.openclaw/media/inbound). Must match your Docker volume mount.`,J1=((e={},t={})=>(t.locale??$())===`fr`?K1(e):q1(e)),Y1=()=>`Chemin sortant (vu par l’agent)`,X1=()=>`Outbound path (agent view)`,Z1=((e={},t={})=>(t.locale??$())===`fr`?Y1(e):X1(e)),Q1=()=>`Le chemin DANS le conteneur de la gateway où l’agent ÉCRIT un fichier généré avant d’émettre MEDIA:<chemin> (ex. /home/node/.openclaw/media/outbound). Doit être accessible en écriture par l’agent dans le conteneur.`,$1=()=>`The path INSIDE the gateway container where the agent WRITES a generated file before emitting MEDIA:<path> (e.g. /home/node/.openclaw/media/outbound). Must be writable by the agent in the container.`,e0=((e={},t={})=>(t.locale??$())===`fr`?Q1(e):$1(e)),t0=()=>`Vérifier les chemins`,n0=()=>`Check paths`,r0=((e={},t={})=>(t.locale??$())===`fr`?t0(e):n0(e)),i0=()=>`Vérification…`,a0=()=>`Checking…`,o0=((e={},t={})=>(t.locale??$())===`fr`?i0(e):a0(e)),s0=()=>`Échec de la vérification des chemins`,c0=()=>`Path check failed`,l0=((e={},t={})=>(t.locale??$())===`fr`?s0(e):c0(e)),u0=()=>`Vérifie l’accès du BRIDGE aux dossiers partagés. Le montage côté agent (dans le conteneur de la gateway) est à vérifier séparément.`,d0=()=>`Checks the BRIDGE's access to the shared dirs. The agent-side mount (inside the gateway container) must be verified separately.`,f0=((e={},t={})=>(t.locale??$())===`fr`?u0(e):d0(e)),p0=()=>`Entrant (écriture bridge)`,m0=()=>`Inbound (bridge write)`,h0=((e={},t={})=>(t.locale??$())===`fr`?p0(e):m0(e)),g0=()=>`Sortant (lecture bridge)`,_0=()=>`Outbound (bridge read)`,v0=((e={},t={})=>(t.locale??$())===`fr`?g0(e):_0(e)),y0=()=>`Accessible`,b0=()=>`Accessible`,x0=((e={},t={})=>(t.locale??$())===`fr`?y0(e):b0(e)),S0=()=>`Non concerné (pas shared-fs)`,C0=()=>`Not applicable (not shared-fs)`,w0=((e={},t={})=>(t.locale??$())===`fr`?S0(e):C0(e)),T0=()=>`Bridge injoignable — vérification impossible`,E0=()=>`Bridge unreachable — could not check`,D0=((e={},t={})=>(t.locale??$())===`fr`?T0(e):E0(e)),O0=e=>`Bridge joignable mais la vérification a échoué (${e?.reason})`,k0=e=>`Bridge reachable but the check failed (${e?.reason})`,A0=((e,t={})=>(t.locale??$())===`fr`?O0(e):k0(e)),j0=()=>`Santé du bridge — sondage actif toutes les minutes. Données non-secrètes uniquement : joignabilité, état des connexions, dernière cause d’échec. Les secrets (tokens, device identity) vivent dans l’environnement du bridge, jamais ici.`,M0=()=>`Bridge health — active poll every minute. Non-secret data only: reachability, connection states, last failure cause. Secrets (tokens, device identity) live in the bridge environment, never here.`,N0=((e={},t={})=>(t.locale??$())===`fr`?j0(e):M0(e)),P0=()=>`Chargement…`,F0=()=>`Loading…`,I0=((e={},t={})=>(t.locale??$())===`fr`?P0(e):F0(e)),L0=()=>`Aucun relevé pour l’instant — le sondage tourne chaque minute. Reviens dans un moment.`,R0=()=>`No reading yet — the poll runs every minute. Check back in a moment.`,z0=((e={},t={})=>(t.locale??$())===`fr`?L0(e):R0(e)),B0=()=>`Bridge opérationnel`,V0=()=>`Bridge operational`,H0=((e={},t={})=>(t.locale??$())===`fr`?B0(e):V0(e)),U0=()=>`Bridge injoignable`,W0=()=>`Bridge unreachable`,G0=((e={},t={})=>(t.locale??$())===`fr`?U0(e):W0(e)),K0=e=>`Bridge : ${e?.count} connexion(s) en erreur`,q0=e=>`Bridge: ${e?.count} connection(s) in error`,J0=((e,t={})=>(t.locale??$())===`fr`?K0(e):q0(e)),Y0=e=>`Vérifié à ${e?.time}`,X0=e=>`Checked at ${e?.time}`,Z0=((e,t={})=>(t.locale??$())===`fr`?Y0(e):X0(e)),Q0=e=>`· Bridge démarré le ${e?.time}`,$0=e=>`· Bridge started on ${e?.time}`,e2=((e,t={})=>(t.locale??$())===`fr`?Q0(e):$0(e)),t2=()=>`↗ Anomalies`,n2=()=>`↗ Anomalies`,r2=((e={},t={})=>(t.locale??$())===`fr`?t2(e):n2(e)),i2=e=>`Connexions (${e?.count})`,a2=e=>`Connections (${e?.count})`,o2=((e,t={})=>(t.locale??$())===`fr`?i2(e):a2(e)),s2=()=>`Aucune connexion encore éprouvée. L’état d’une connexion apparaît dès qu’un message la sollicite (le bridge se connecte à la demande).`,c2=()=>`No connection tested yet. A connection's state appears as soon as a message exercises it (the bridge connects on demand).`,l2=((e={},t={})=>(t.locale??$())===`fr`?s2(e):c2(e)),u2=e=>`${e?.ok} OK · ${e?.errors} échec(s) · ${e?.attempts} tentative(s)`,d2=e=>`${e?.ok} OK · ${e?.errors} failure(s) · ${e?.attempts} attempt(s)`,f2=((e,t={})=>(t.locale??$())===`fr`?u2(e):d2(e)),p2=e=>`Rejeté par la passerelle : ${e?.label} — pas une défaillance du bridge.`,m2=e=>`Rejected by the gateway: ${e?.label} — not a bridge fault.`,h2=((e,t={})=>(t.locale??$())===`fr`?p2(e):m2(e)),g2=()=>`Filtrer par cible ou hôte…`,_2=()=>`Filter by target or host…`,v2=((e={},t={})=>(t.locale??$())===`fr`?g2(e):_2(e)),y2=()=>`Tous`,b2=()=>`All`,x2=((e={},t={})=>(t.locale??$())===`fr`?y2(e):b2(e)),S2=()=>`État`,C2=()=>`State`,w2=((e={},t={})=>(t.locale??$())===`fr`?S2(e):C2(e)),T2=()=>`Instance`,E2=()=>`Instance`,D2=((e={},t={})=>(t.locale??$())===`fr`?T2(e):E2(e)),O2=()=>`Version`,k2=()=>`Version`,A2=((e={},t={})=>(t.locale??$())===`fr`?O2(e):k2(e)),j2=()=>`Aucune connexion ne correspond aux filtres.`,M2=()=>`No connection matches the filters.`,N2=((e={},t={})=>(t.locale??$())===`fr`?j2(e):M2(e)),P2=()=>`Cible`,F2=()=>`Target`,I2=((e={},t={})=>(t.locale??$())===`fr`?P2(e):F2(e)),L2=()=>`État`,R2=()=>`State`,z2=((e={},t={})=>(t.locale??$())===`fr`?L2(e):R2(e)),B2=()=>`Instance`,V2=()=>`Instance`,H2=((e={},t={})=>(t.locale??$())===`fr`?B2(e):V2(e)),U2=()=>`Hôte passerelle`,W2=()=>`Gateway host`,G2=((e={},t={})=>(t.locale??$())===`fr`?U2(e):W2(e)),K2=()=>`Version`,q2=()=>`Version`,J2=((e={},t={})=>(t.locale??$())===`fr`?K2(e):q2(e)),Y2=()=>`Stats`,X2=()=>`Stats`,Z2=((e={},t={})=>(t.locale??$())===`fr`?Y2(e):X2(e)),Q2=()=>`Dernier OK`,$2=()=>`Last OK`,e4=((e={},t={})=>(t.locale??$())===`fr`?Q2(e):$2(e)),t4=()=>`connectée`,n4=()=>`connected`,r4=((e={},t={})=>(t.locale??$())===`fr`?t4(e):n4(e)),i4=()=>`erreur`,a4=()=>`error`,o4=((e={},t={})=>(t.locale??$())===`fr`?i4(e):a4(e)),s4=()=>`inactive`,c4=()=>`inactive`,l4=((e={},t={})=>(t.locale??$())===`fr`?s4(e):c4(e)),u4=()=>`5 dernières minutes`,d4=()=>`Last 5 minutes`,f4=((e={},t={})=>(t.locale??$())===`fr`?u4(e):d4(e)),p4=()=>`15 dernières minutes`,m4=()=>`Last 15 minutes`,h4=((e={},t={})=>(t.locale??$())===`fr`?p4(e):m4(e)),g4=()=>`30 dernières minutes`,_4=()=>`Last 30 minutes`,v4=((e={},t={})=>(t.locale??$())===`fr`?g4(e):_4(e)),y4=()=>`Dernière heure`,b4=()=>`Last hour`,x4=((e={},t={})=>(t.locale??$())===`fr`?y4(e):b4(e)),S4=()=>`3 dernières heures`,C4=()=>`Last 3 hours`,w4=((e={},t={})=>(t.locale??$())===`fr`?S4(e):C4(e)),T4=()=>`6 dernières heures`,E4=()=>`Last 6 hours`,D4=((e={},t={})=>(t.locale??$())===`fr`?T4(e):E4(e)),O4=()=>`12 dernières heures`,k4=()=>`Last 12 hours`,A4=((e={},t={})=>(t.locale??$())===`fr`?O4(e):k4(e)),j4=()=>`Dernières 24 heures`,M4=()=>`Last 24 hours`,N4=((e={},t={})=>(t.locale??$())===`fr`?j4(e):M4(e)),P4=()=>`2 derniers jours`,F4=()=>`Last 2 days`,I4=((e={},t={})=>(t.locale??$())===`fr`?P4(e):F4(e)),L4=()=>`7 derniers jours`,R4=()=>`Last 7 days`,z4=((e={},t={})=>(t.locale??$())===`fr`?L4(e):R4(e)),B4=()=>`30 derniers jours`,V4=()=>`Last 30 days`,H4=((e={},t={})=>(t.locale??$())===`fr`?B4(e):V4(e)),U4=()=>`90 derniers jours`,W4=()=>`Last 90 days`,G4=((e={},t={})=>(t.locale??$())===`fr`?U4(e):W4(e)),K4=()=>`Tout`,q4=()=>`All time`,J4=((e={},t={})=>(t.locale??$())===`fr`?K4(e):q4(e)),Y4=()=>`Appels API`,X4=()=>`API calls`,Z4=((e={},t={})=>(t.locale??$())===`fr`?Y4(e):X4(e)),Q4=()=>`Erreurs API`,$4=()=>`API errors`,e3=((e={},t={})=>(t.locale??$())===`fr`?Q4(e):$4(e)),t3=()=>`Latence moyenne`,n3=()=>`Average latency`,r3=((e={},t={})=>(t.locale??$())===`fr`?t3(e):n3(e)),i3=()=>`Ingestion OpenClaw`,a3=()=>`OpenClaw ingest`,o3=((e={},t={})=>(t.locale??$())===`fr`?i3(e):a3(e)),s3=()=>`Messages envoyés`,c3=()=>`Messages sent`,l3=((e={},t={})=>(t.locale??$())===`fr`?s3(e):c3(e)),u3=()=>`Erreurs de stream`,d3=()=>`Stream errors`,f3=((e={},t={})=>(t.locale??$())===`fr`?u3(e):d3(e)),p3=()=>`Indicateurs agrégés par heure à partir des traces expurgées (métadonnées non-PHI uniquement). Mise à jour en direct (useQuery) — le rollup tourne chaque heure.`,m3=()=>`Hourly aggregated indicators from redacted traces (non-PHI metadata only). Live updates (useQuery) — the rollup runs every hour.`,h3=((e={},t={})=>(t.locale??$())===`fr`?p3(e):m3(e)),g3=()=>`La plage filtre l’historique des rollups — une plage antérieure peut être partielle.`,_3=()=>`The range filters the rollup history — an earlier range may be partial.`,v3=((e={},t={})=>(t.locale??$())===`fr`?g3(e):_3(e)),y3=()=>`Chargement des KPI…`,b3=()=>`Loading KPIs…`,x3=((e={},t={})=>(t.locale??$())===`fr`?y3(e):b3(e)),S3=()=>`Aucune donnée KPI — le rollup tourne chaque heure ; lance-le ou attends.`,C3=()=>`No KPI data — the rollup runs every hour; run it or wait.`,w3=((e={},t={})=>(t.locale??$())===`fr`?S3(e):C3(e)),T3=e=>`dernier : ${e?.value}`,E3=e=>`latest: ${e?.value}`,D3=((e,t={})=>(t.locale??$())===`fr`?T3(e):E3(e)),O3=()=>`aucune donnée`,k3=()=>`no data`,A3=((e={},t={})=>(t.locale??$())===`fr`?O3(e):k3(e)),j3=e=>`${e?.count} h`,M3=e=>`${e?.count} h`,N3=((e,t={})=>(t.locale??$())===`fr`?j3(e):M3(e)),P3=e=>`Série horaire (max ${e?.max} ${e?.unit})`,F3=e=>`Hourly series (max ${e?.max} ${e?.unit})`,I3=((e,t={})=>(t.locale??$())===`fr`?P3(e):F3(e)),L3=()=>`Mode dev — comptes & rôles`,R3=()=>`Dev mode — accounts & roles`,z3=((e={},t={})=>(t.locale??$())===`fr`?L3(e):R3(e)),B3=()=>`Mode dev — comptes & rôles`,V3=()=>`Dev mode — accounts & roles`,H3=((e={},t={})=>(t.locale??$())===`fr`?B3(e):V3(e)),U3=()=>`Change de rôle et « agis en tant que » pour tester plusieurs utilisateurs sans CLI. Visible uniquement en dev.`,W3=()=>`Change roles and “act as” to test multiple users without the CLI. Visible in dev only.`,G3=((e={},t={})=>(t.locale??$())===`fr`?U3(e):W3(e)),K3=e=>`Moi — ${e?.canonical}`,q3=e=>`Me — ${e?.canonical}`,J3=((e,t={})=>(t.locale??$())===`fr`?K3(e):q3(e)),Y3=()=>`Devenir admin`,X3=()=>`Become admin`,Z3=((e={},t={})=>(t.locale??$())===`fr`?Y3(e):X3(e)),Q3=()=>`Devenir user`,$3=()=>`Become user`,e6=((e={},t={})=>(t.locale??$())===`fr`?Q3(e):$3(e)),t6=()=>`Devenir pending`,n6=()=>`Become pending`,r6=((e={},t={})=>(t.locale??$())===`fr`?t6(e):n6(e)),i6=()=>`Tu agis en tant que`,a6=()=>`You are acting as`,o6=((e={},t={})=>(t.locale??$())===`fr`?i6(e):a6(e)),s6=()=>`Arrêter`,c6=()=>`Stop`,l6=((e={},t={})=>(t.locale??$())===`fr`?s6(e):c6(e)),u6=()=>`Aucun autre compte. Déconnecte-toi puis reconnecte-toi (nouvelle identité anonyme) — elle sera active immédiatement.`,d6=()=>`No other account. Sign out then sign back in (new anonymous identity) — it will be active immediately.`,f6=((e={},t={})=>(t.locale??$())===`fr`?u6(e):d6(e)),p6=()=>`Deviens admin d'abord`,m6=()=>`Become admin first`,h6=((e={},t={})=>(t.locale??$())===`fr`?p6(e):m6(e)),g6=()=>`Un compte pending ne peut pas être impersonné`,_6=()=>`A pending account cannot be impersonated`,v6=((e={},t={})=>(t.locale??$())===`fr`?g6(e):_6(e)),y6=()=>`Agir en tant que cet utilisateur`,b6=()=>`Act as this user`,x6=((e={},t={})=>(t.locale??$())===`fr`?y6(e):b6(e)),S6=()=>`Agir en tant que`,C6=()=>`Act as`,w6=((e={},t={})=>(t.locale??$())===`fr`?S6(e):C6(e)),T6=()=>`Nouveau chat`,E6=()=>`New chat`,D6=((e={},t={})=>(t.locale??$())===`fr`?T6(e):E6(e)),O6=()=>`Nouveau projet`,k6=()=>`New project`,A6=((e={},t={})=>(t.locale??$())===`fr`?O6(e):k6(e)),j6=()=>`Nom du projet`,M6=()=>`Project name`,N6=((e={},t={})=>(t.locale??$())===`fr`?j6(e):M6(e)),P6=()=>`ex. Travail`,F6=()=>`e.g. Work`,I6=((e={},t={})=>(t.locale??$())===`fr`?P6(e):F6(e)),L6=()=>`Créer`,R6=()=>`Create`,z6=((e={},t={})=>(t.locale??$())===`fr`?L6(e):R6(e)),B6=()=>`Épinglés`,V6=()=>`Pinned`,H6=((e={},t={})=>(t.locale??$())===`fr`?B6(e):V6(e)),U6=()=>`Glissez un chat ici`,W6=()=>`Drop a chat here`,G6=((e={},t={})=>(t.locale??$())===`fr`?U6(e):W6(e)),K6=()=>`Chats`,q6=()=>`Chats`,J6=((e={},t={})=>(t.locale??$())===`fr`?K6(e):q6(e)),Y6=()=>`Sans titre`,X6=()=>`Untitled`,Z6=((e={},t={})=>(t.locale??$())===`fr`?Y6(e):X6(e)),Q6=()=>`Lecture seule — l'agent associé ne t'est plus disponible`,$6=()=>`Read-only — its agent is no longer available to you`,e8=((e={},t={})=>(t.locale??$())===`fr`?Q6(e):$6(e)),t8=()=>`Supprimer le projet`,n8=()=>`Delete project`,r8=((e={},t={})=>(t.locale??$())===`fr`?t8(e):n8(e)),i8=e=>`Supprimer le projet « ${e?.name} » ?`,a8=e=>`Delete project "${e?.name}"?`,o8=((e,t={})=>(t.locale??$())===`fr`?i8(e):a8(e)),s8=e=>`Cette action est irréversible : elle supprimera aussi définitivement ${e?.count} conversation(s) et tous leurs messages.`,c8=e=>`This action is irreversible: it will also permanently delete ${e?.count} conversation(s) and all their messages.`,l8=((e,t={})=>(t.locale??$())===`fr`?s8(e):c8(e)),u8=()=>`Cette action est irréversible.`,d8=()=>`This action is irreversible.`,f8=((e={},t={})=>(t.locale??$())===`fr`?u8(e):d8(e)),p8=()=>`Supprimer`,m8=()=>`Delete`,h8=((e={},t={})=>(t.locale??$())===`fr`?p8(e):m8(e)),g8=()=>`Déplacer / réordonner`,_8=()=>`Move / reorder`,v8=((e={},t={})=>(t.locale??$())===`fr`?g8(e):_8(e)),y8=()=>`Actions`,b8=()=>`Actions`,x8=((e={},t={})=>(t.locale??$())===`fr`?y8(e):b8(e)),S8=()=>`Renommer`,C8=()=>`Rename`,w8=((e={},t={})=>(t.locale??$())===`fr`?S8(e):C8(e)),T8=()=>`Désépingler`,E8=()=>`Unpin`,D8=((e={},t={})=>(t.locale??$())===`fr`?T8(e):E8(e)),O8=()=>`Épingler`,k8=()=>`Pin`,A8=((e={},t={})=>(t.locale??$())===`fr`?O8(e):k8(e)),j8=()=>`Couleur`,M8=()=>`Color`,N8=((e={},t={})=>(t.locale??$())===`fr`?j8(e):M8(e)),P8=()=>`Aucune couleur`,F8=()=>`No color`,I8=((e={},t={})=>(t.locale??$())===`fr`?P8(e):F8(e)),L8=()=>`Supprimer ce chat ?`,R8=()=>`Delete this chat?`,z8=((e={},t={})=>(t.locale??$())===`fr`?L8(e):R8(e)),B8=()=>`Cette action est irréversible et supprimera ses messages.`,V8=()=>`This action is irreversible and will delete its messages.`,H8=((e={},t={})=>(t.locale??$())===`fr`?B8(e):V8(e)),U8=e=>`Bridge : ${e?.provider}`,W8=e=>`Bridge: ${e?.provider}`,G8=((e,t={})=>(t.locale??$())===`fr`?U8(e):W8(e)),K8=()=>`Renommer le chat`,q8=()=>`Rename chat`,J8=((e={},t={})=>(t.locale??$())===`fr`?K8(e):q8(e)),Y8=()=>`Titre`,X8=()=>`Title`,Z8=((e={},t={})=>(t.locale??$())===`fr`?Y8(e):X8(e)),Q8=()=>`La passerelle ne répond plus — le traitement en cours risque d’expirer`,$8=()=>`The gateway is not responding — the in-flight turn may time out`,e5=((e={},t={})=>(t.locale??$())===`fr`?Q8(e):$8(e)),t5=()=>`Réflexion…`,n5=()=>`Thinking…`,r5=((e={},t={})=>(t.locale??$())===`fr`?t5(e):n5(e)),i5=()=>`Génération…`,a5=()=>`Generating…`,o5=((e={},t={})=>(t.locale??$())===`fr`?i5(e):a5(e)),s5=()=>`Erreur`,c5=()=>`Error`,l5=((e={},t={})=>(t.locale??$())===`fr`?s5(e):c5(e)),u5=()=>`La réponse a été générée côté agent mais n’a pas pu être finalisée (connexion au bridge interrompue en cours de route). Vous pouvez supprimer ou régénérer ce message.`,d5=()=>`The reply was generated on the agent side but could not be finalized (the bridge connection dropped mid-stream). You can delete or regenerate this message.`,f5=((e={},t={})=>(t.locale??$())===`fr`?u5(e):d5(e)),p5=()=>`Interrompu`,m5=()=>`Stopped`,h5=((e={},t={})=>(t.locale??$())===`fr`?p5(e):m5(e)),g5=()=>`contient`,_5=()=>`contains`,v5=((e={},t={})=>(t.locale??$())===`fr`?g5(e):_5(e)),y5=()=>`Filtre avancé`,b5=()=>`Advanced filter`,x5=((e={},t={})=>(t.locale??$())===`fr`?y5(e):b5(e)),S5=()=>`Aucun critère. Ajoutez une condition (toutes les conditions sont cumulées avec ET).`,C5=()=>`No criteria. Add a condition (all conditions are combined with AND).`,w5=((e={},t={})=>(t.locale??$())===`fr`?S5(e):C5(e)),T5=()=>`Champ`,E5=()=>`Field`,D5=((e={},t={})=>(t.locale??$())===`fr`?T5(e):E5(e)),O5=()=>`Valeur`,k5=()=>`Value`,A5=((e={},t={})=>(t.locale??$())===`fr`?O5(e):k5(e)),j5=()=>`Supprimer la condition`,M5=()=>`Remove condition`,N5=((e={},t={})=>(t.locale??$())===`fr`?j5(e):M5(e)),P5=()=>`Ajouter une condition`,F5=()=>`Add condition`,I5=((e={},t={})=>(t.locale??$())===`fr`?P5(e):F5(e)),L5=()=>`Bridge : pas encore de relevé (sondage chaque minute)`,R5=()=>`Bridge: no reading yet (polled every minute)`,z5=((e={},t={})=>(t.locale??$())===`fr`?L5(e):R5(e)),B5=()=>`Bridge opérationnel`,V5=()=>`Bridge operational`,H5=((e={},t={})=>(t.locale??$())===`fr`?B5(e):V5(e)),U5=e=>` · vérifié à ${e?.time}`,W5=e=>` · verified at ${e?.time}`,G5=((e,t={})=>(t.locale??$())===`fr`?U5(e):W5(e)),K5=e=>`Bridge indisponible (${e?.reason}) — ouvre l’onglet Bridge pour le détail`,q5=e=>`Bridge unavailable (${e?.reason}) — open the Bridge tab for details`,J5=((e,t={})=>(t.locale??$())===`fr`?K5(e):q5(e)),Y5=()=>`Utilisateur`,X5=()=>`User`,Z5=((e={},t={})=>(t.locale??$())===`fr`?Y5(e):X5(e)),Q5=()=>`Système`,$5=()=>`System`,e7=((e={},t={})=>(t.locale??$())===`fr`?Q5(e):$5(e)),t7=()=>`[Export limité aux 200 messages les plus récents de cette conversation]`,n7=()=>`[Export limited to the 200 most recent messages of this conversation]`,r7=((e={},t={})=>(t.locale??$())===`fr`?t7(e):n7(e)),i7=()=>`Conversation`,a7=()=>`Conversation`,o7=((e={},t={})=>(t.locale??$())===`fr`?i7(e):a7(e)),s7=e=>`Exporté le ${e?.date}`,c7=e=>`Exported on ${e?.date}`,l7=((e,t={})=>(t.locale??$())===`fr`?s7(e):c7(e)),u7=e=>`[fichier : ${e?.name}]`,d7=e=>`[file: ${e?.name}]`,f7=((e,t={})=>(t.locale??$())===`fr`?u7(e):d7(e)),p7=()=>`Rechercher dans les conversations`,m7=()=>`Search conversations`,h7=((e={},t={})=>(t.locale??$())===`fr`?p7(e):m7(e)),g7=()=>`Rechercher…`,_7=()=>`Search…`,v7=((e={},t={})=>(t.locale??$())===`fr`?g7(e):_7(e)),y7=()=>`Rechercher dans les conversations`,b7=()=>`Search conversations`,x7=((e={},t={})=>(t.locale??$())===`fr`?y7(e):b7(e)),S7=()=>`Rechercher dans toutes les conversations…`,C7=()=>`Search across all conversations…`,w7=((e={},t={})=>(t.locale??$())===`fr`?S7(e):C7(e)),T7=()=>`Recherche`,E7=()=>`Search`,D7=((e={},t={})=>(t.locale??$())===`fr`?T7(e):E7(e)),O7=e=>`Tapez au moins ${e?.count} caractères pour rechercher.`,k7=e=>`Type at least ${e?.count} characters to search.`,A7=((e,t={})=>(t.locale??$())===`fr`?O7(e):k7(e)),j7=()=>`Recherche…`,M7=()=>`Searching…`,N7=((e={},t={})=>(t.locale??$())===`fr`?j7(e):M7(e)),P7=e=>`Aucune conversation ne correspond à « ${e?.term} ».`,F7=e=>`No conversation matches “${e?.term}”.`,I7=((e,t={})=>(t.locale??$())===`fr`?P7(e):F7(e)),L7=()=>`Nouveau chat`,R7=()=>`New chat`,z7=((e={},t={})=>(t.locale??$())===`fr`?L7(e):R7(e)),B7=()=>`Titre`,V7=()=>`Title`,H7=((e={},t={})=>(t.locale??$())===`fr`?B7(e):V7(e)),U7=()=>`Message`,W7=()=>`Message`,G7=((e={},t={})=>(t.locale??$())===`fr`?U7(e):W7(e)),K7=()=>`naviguer`,q7=()=>`navigate`,J7=((e={},t={})=>(t.locale??$())===`fr`?K7(e):q7(e)),Y7=()=>`ouvrir`,X7=()=>`open`,Z7=((e={},t={})=>(t.locale??$())===`fr`?Y7(e):X7(e)),Q7=()=>`Échap`,$7=()=>`Esc`,e9=((e={},t={})=>(t.locale??$())===`fr`?Q7(e):$7(e)),t9=()=>`fermer`,n9=()=>`close`,r9=((e={},t={})=>(t.locale??$())===`fr`?t9(e):n9(e)),i9=()=>`Choisir un agent`,a9=()=>`Choose an agent`,o9=((e={},t={})=>(t.locale??$())===`fr`?i9(e):a9(e)),s9=()=>`Sélectionnez l’agent (et l’instance) pour cette conversation.`,c9=()=>`Select the agent (and instance) for this conversation.`,l9=((e={},t={})=>(t.locale??$())===`fr`?s9(e):c9(e)),u9=()=>`Chargement…`,d9=()=>`Loading…`,f9=((e={},t={})=>(t.locale??$())===`fr`?u9(e):d9(e)),p9=()=>`Aucun agent ne vous est assigné. Contactez votre administrateur pour qu’il vous en attribue un.`,m9=()=>`No agent is assigned to you. Contact your administrator to have one assigned.`,h9=((e={},t={})=>(t.locale??$())===`fr`?p9(e):m9(e)),g9=()=>`Rechercher un agent…`,_9=()=>`Search for an agent…`,v9=((e={},t={})=>(t.locale??$())===`fr`?g9(e):_9(e)),y9=()=>`Rechercher un agent`,b9=()=>`Search for an agent`,x9=((e={},t={})=>(t.locale??$())===`fr`?y9(e):b9(e)),S9=()=>`Cet agent n’existe plus sur la gateway`,C9=()=>`This agent no longer exists on the gateway`,w9=((e={},t={})=>(t.locale??$())===`fr`?S9(e):C9(e)),T9=()=>`Agent par défaut`,E9=()=>`Default agent`,D9=((e={},t={})=>(t.locale??$())===`fr`?T9(e):E9(e)),O9=()=>`Rechercher`,k9=()=>`Search`,A9=((e={},t={})=>(t.locale??$())===`fr`?O9(e):k9(e)),j9=()=>`Réinitialiser`,M9=()=>`Reset`,N9=((e={},t={})=>(t.locale??$())===`fr`?j9(e):M9(e)),P9=()=>`Ajouter`,F9=()=>`Add`,I9=((e={},t={})=>(t.locale??$())===`fr`?P9(e):F9(e)),L9=()=>`Aucun élément.`,R9=()=>`No items.`,z9=((e={},t={})=>(t.locale??$())===`fr`?L9(e):R9(e)),B9=()=>`Chargement…`,V9=()=>`Loading…`,H9=((e={},t={})=>(t.locale??$())===`fr`?B9(e):V9(e)),U9=()=>`Tout sélectionner`,W9=()=>`Select all`,G9=((e={},t={})=>(t.locale??$())===`fr`?U9(e):W9(e)),K9=()=>`Sélectionner la ligne`,q9=()=>`Select row`,J9=((e={},t={})=>(t.locale??$())===`fr`?K9(e):q9(e)),Y9=()=>`Actions`,X9=()=>`Actions`,Z9=((e={},t={})=>(t.locale??$())===`fr`?Y9(e):X9(e)),ree=e=>`Trier par ${e?.column}`,iee=e=>`Sort by ${e?.column}`,aee=((e,t={})=>(t.locale??$())===`fr`?ree(e):iee(e)),oee=()=>`Agent introuvable`,see=()=>`Agent not found`,cee=((e={},t={})=>(t.locale??$())===`fr`?oee(e):see(e)),lee=()=>`L’agent configuré n’existe plus sur la passerelle. Vérifiez OPENCLAW_AGENT_ID dans le .env du bridge (il doit correspondre à un agent réel de la passerelle).`,uee=()=>`The configured agent no longer exists on the gateway. Check OPENCLAW_AGENT_ID in the bridge .env (it must match a real gateway agent).`,dee=((e={},t={})=>(t.locale??$())===`fr`?lee(e):uee(e)),fee=()=>`Authentification refusée`,pee=()=>`Authentication refused`,mee=((e={},t={})=>(t.locale??$())===`fr`?fee(e):pee(e)),hee=()=>`Le token opérateur ne correspond pas au device pairé. Re-pairez un device dédié au bridge sur la passerelle et reportez son token + device identity.`,gee=()=>`The operator token does not match the paired device. Re-pair a dedicated bridge device on the gateway and report its token + device identity.`,_ee=((e={},t={})=>(t.locale??$())===`fr`?hee(e):gee(e)),vee=()=>`Signature device impossible`,yee=()=>`Device signing failed`,bee=((e={},t={})=>(t.locale??$())===`fr`?vee(e):yee(e)),xee=()=>`La clé privée du device identity ne se décode pas. Vérifiez OPENCLAW_DEVICE_IDENTITY (format JSON, \\n simples) — voir fix-devid.mjs.`,See=()=>`The device identity private key won’t decode. Check OPENCLAW_DEVICE_IDENTITY (JSON format, single \\n) — see fix-devid.mjs.`,Cee=((e={},t={})=>(t.locale??$())===`fr`?xee(e):See(e)),wee=()=>`Portée insuffisante`,Tee=()=>`Insufficient scope`,Eee=((e={},t={})=>(t.locale??$())===`fr`?wee(e):Tee(e)),Dee=()=>`Le pairing du device n’a pas la portée requise (operator.admin). Approuvez/élevez la portée du device sur la passerelle.`,Oee=()=>`The device pairing lacks the required scope (operator.admin). Approve/elevate the device scope on the gateway.`,kee=((e={},t={})=>(t.locale??$())===`fr`?Dee(e):Oee(e)),Aee=()=>`Délai dépassé`,jee=()=>`Timed out`,Mee=((e={},t={})=>(t.locale??$())===`fr`?Aee(e):jee(e)),Nee=()=>`La passerelle n’a pas répondu à temps. Vérifiez qu’elle est démarrée et joignable (OPENCLAW_GATEWAY_URL).`,Pee=()=>`The gateway did not respond in time. Check it’s started and reachable (OPENCLAW_GATEWAY_URL).`,Fee=((e={},t={})=>(t.locale??$())===`fr`?Nee(e):Pee(e)),Iee=()=>`Passerelle déconnectée`,Lee=()=>`Gateway disconnected`,Ree=((e={},t={})=>(t.locale??$())===`fr`?Iee(e):Lee(e)),zee=()=>`La connexion à la passerelle a été coupée. Vérifiez l’état du conteneur OpenClaw et l’URL/port de la passerelle.`,Bee=()=>`The connection to the gateway dropped. Check the OpenClaw container state and the gateway URL/port.`,Vee=((e={},t={})=>(t.locale??$())===`fr`?zee(e):Bee(e)),Hee=()=>`Bridge injoignable`,Uee=()=>`Bridge unreachable`,Wee=((e={},t={})=>(t.locale??$())===`fr`?Hee(e):Uee(e)),Gee=()=>`Convex n’a pas pu joindre le bridge. Vérifiez que le conteneur bridge tourne et BRIDGE_URL (http://<ip-hôte>:8787).`,Kee=()=>`Convex could not reach the bridge. Check the bridge container is running and BRIDGE_URL (http://<host-ip>:8787).`,qee=((e={},t={})=>(t.locale??$())===`fr`?Gee(e):Kee(e)),Jee=()=>`Pièce jointe trop volumineuse`,Yee=()=>`Attachment too large`,Xee=((e={},t={})=>(t.locale??$())===`fr`?Jee(e):Yee(e)),Zee=()=>`La passerelle a refusé la pièce jointe car elle dépasse la taille qu’elle accepte (limite de mise en sandbox de l’agent). Réduisez la taille du fichier, ou retirez la pièce jointe et envoyez le texte seul.`,Qee=()=>`The gateway refused the attachment because it exceeds the size it accepts (the agent's sandbox staging limit). Use a smaller file, or remove the attachment and send the text alone.`,$ee=((e={},t={})=>(t.locale??$())===`fr`?Zee(e):Qee(e)),ete=()=>`Pièce jointe non traitée`,tte=()=>`Attachment could not be processed`,nte=((e={},t={})=>(t.locale??$())===`fr`?ete(e):tte(e)),rte=()=>`La passerelle n’a pas pu analyser/préparer la pièce jointe. Bug connu de la passerelle (le validateur base64 déborde sur les gros fichiers, RangeError) — à corriger côté passerelle (isValidBase64). En attendant : un fichier plus petit passe, ou envoyez le texte sans pièce jointe.`,ite=()=>`The gateway could not parse/stage the attachment. Known gateway bug (its base64 validator overflows on large files — RangeError); fix it gateway-side (isValidBase64). Meanwhile: a smaller file works, or send the text without the attachment.`,ate=((e={},t={})=>(t.locale??$())===`fr`?rte(e):ite(e)),ote=()=>`Requête invalide`,ste=()=>`Invalid request`,cte=((e={},t={})=>(t.locale??$())===`fr`?ote(e):ste(e)),lte=()=>`La passerelle a rejeté la requête. Consultez les logs du bridge pour le détail brut.`,ute=()=>`The gateway rejected the request. Check the bridge logs for the raw detail.`,dte=((e={},t={})=>(t.locale??$())===`fr`?lte(e):ute(e)),fte=()=>`Bridge non configuré`,pte=()=>`Bridge not configured`,mte=((e={},t={})=>(t.locale??$())===`fr`?fte(e):pte(e)),hte=()=>`BRIDGE_URL / BRIDGE_SHARED_SECRET ne sont pas définis côté Convex (npx convex env set).`,gte=()=>`BRIDGE_URL / BRIDGE_SHARED_SECRET are not set on the Convex side (npx convex env set).`,_te=((e={},t={})=>(t.locale??$())===`fr`?hte(e):gte(e)),vte=()=>`Utilisateur non routé`,yte=()=>`User not routed`,bte=((e={},t={})=>(t.locale??$())===`fr`?vte(e):yte(e)),xte=()=>`Ce compte n’est rattaché à aucune instance. Settings → Users → Override instance, ou affectez un groupe.`,Ste=()=>`This account is not attached to any instance. Settings → Users → Override instance, or assign a group.`,Cte=((e={},t={})=>(t.locale??$())===`fr`?xte(e):Ste(e)),wte=()=>`Erreur passerelle`,Tte=()=>`Gateway error`,Ete=((e={},t={})=>(t.locale??$())===`fr`?wte(e):Tte(e)),Dte=()=>`Cause non catégorisée. Consultez les logs du bridge pour le message brut.`,Ote=()=>`Uncategorized cause. Check the bridge logs for the raw message.`,kte=((e={},t={})=>(t.locale??$())===`fr`?Dte(e):Ote(e)),Ate=()=>`Cause inconnue`,jte=()=>`Unknown cause`,Mte=((e={},t={})=>(t.locale??$())===`fr`?Ate(e):jte(e)),Nte=()=>`Aucun code de cause n’a été remonté (bridge antérieur à cette version ?). Consultez les logs du bridge.`,Pte=()=>`No cause code was reported (bridge older than this version?). Check the bridge logs.`,Fte=((e={},t={})=>(t.locale??$())===`fr`?Nte(e):Pte(e)),Ite=()=>`Cause non répertoriée — voir les logs du bridge.`,Lte=()=>`Cause not catalogued — see the bridge logs.`,Rte=((e={},t={})=>(t.locale??$())===`fr`?Ite(e):Lte(e)),zte=e=>`Notifications (${e?.count} non lues)`,Bte=e=>`Notifications (${e?.count} unread)`,Vte=((e,t={})=>(t.locale??$())===`fr`?zte(e):Bte(e)),Hte=()=>`Notifications`,Ute=()=>`Notifications`,Wte=((e={},t={})=>(t.locale??$())===`fr`?Hte(e):Ute(e)),Gte=()=>`Notifications`,Kte=()=>`Notifications`,qte=((e={},t={})=>(t.locale??$())===`fr`?Gte(e):Kte(e)),Jte=()=>`Tout lu`,Yte=()=>`Mark all read`,Xte=((e={},t={})=>(t.locale??$())===`fr`?Jte(e):Yte(e)),Zte=()=>`Tout effacer`,Qte=()=>`Clear all`,$te=((e={},t={})=>(t.locale??$())===`fr`?Zte(e):Qte(e)),ene=()=>`Aucune notification.`,tne=()=>`No notifications.`,nne=((e={},t={})=>(t.locale??$())===`fr`?ene(e):tne(e)),rne=()=>`Marquer comme lue`,ine=()=>`Mark as read`,ane=((e={},t={})=>(t.locale??$())===`fr`?rne(e):ine(e)),one=()=>`Effacer la notification`,sne=()=>`Clear notification`,cne=((e={},t={})=>(t.locale??$())===`fr`?one(e):sne(e)),lne=()=>`Mes signalements`,une=()=>`My reports`,dne=((e={},t={})=>(t.locale??$())===`fr`?lne(e):une(e)),fne=()=>`Répondu`,pne=()=>`Answered`,mne=((e={},t={})=>(t.locale??$())===`fr`?fne(e):pne(e)),hne=()=>`En attente`,gne=()=>`Pending`,_ne=((e={},t={})=>(t.locale??$())===`fr`?hne(e):gne(e)),vne=()=>`Administrateur`,yne=()=>`Administrator`,bne=((e={},t={})=>(t.locale??$())===`fr`?vne(e):yne(e)),xne=()=>`Vous`,Sne=()=>`You`,Cne=((e={},t={})=>(t.locale??$())===`fr`?xne(e):Sne(e)),wne=()=>`Voir la conversation`,Tne=()=>`View the conversation`,Ene=((e={},t={})=>(t.locale??$())===`fr`?wne(e):Tne(e)),Dne=()=>`Message signalé`,One=()=>`Reported message`,kne=((e={},t={})=>(t.locale??$())===`fr`?Dne(e):One(e)),Ane=()=>`Clore le signalement`,jne=()=>`Close report`,Mne=((e={},t={})=>(t.locale??$())===`fr`?Ane(e):jne(e)),Nne=()=>`Pourquoi clore ce signalement ? (facultatif)`,Pne=()=>`Why close this report? (optional)`,Fne=((e={},t={})=>(t.locale??$())===`fr`?Nne(e):Pne(e)),Ine=()=>`Clore`,Lne=()=>`Close`,Rne=((e={},t={})=>(t.locale??$())===`fr`?Ine(e):Lne(e)),zne=()=>`Annuler`,Bne=()=>`Cancel`,Vne=((e={},t={})=>(t.locale??$())===`fr`?zne(e):Bne(e)),Hne=()=>`Réponse à votre signalement`,Une=()=>`Reply to your report`,Wne=((e={},t={})=>(t.locale??$())===`fr`?Hne(e):Une(e)),Gne=()=>`Un administrateur a répondu à un signalement que vous avez envoyé.`,Kne=()=>`An administrator replied to a report you sent.`,qne=((e={},t={})=>(t.locale??$())===`fr`?Gne(e):Kne(e)),Jne=()=>`Mots modifiés / altérés`,Yne=()=>`Modified / altered words`,Xne=((e={},t={})=>(t.locale??$())===`fr`?Jne(e):Yne(e)),Zne=()=>`Réponse incorrecte`,Qne=()=>`Incorrect answer`,$ne=((e={},t={})=>(t.locale??$())===`fr`?Zne(e):Qne(e)),ere=()=>`Incohérence`,tre=()=>`Incoherence`,nre=((e={},t={})=>(t.locale??$())===`fr`?ere(e):tre(e)),rre=()=>`Formatage`,ire=()=>`Formatting`,are=((e={},t={})=>(t.locale??$())===`fr`?rre(e):ire(e)),ore=()=>`Latence`,sre=()=>`Latency`,cre=((e={},t={})=>(t.locale??$())===`fr`?ore(e):sre(e)),lre=()=>`Erreur API`,ure=()=>`API error`,dre=((e={},t={})=>(t.locale??$())===`fr`?lre(e):ure(e)),fre=()=>`Autre`,pre=()=>`Other`,mre=((e={},t={})=>(t.locale??$())===`fr`?fre(e):pre(e)),hre=()=>`Utilisateurs`,gre=()=>`Users`,_re=((e={},t={})=>(t.locale??$())===`fr`?hre(e):gre(e)),vre=()=>`Instances`,yre=()=>`Instances`,bre=((e={},t={})=>(t.locale??$())===`fr`?vre(e):yre(e)),xre=()=>`Bridge`,Sre=()=>`Bridge`,Cre=((e={},t={})=>(t.locale??$())===`fr`?xre(e):Sre(e)),wre=()=>`Comptes de service`,Tre=()=>`Service accounts`,Ere=((e={},t={})=>(t.locale??$())===`fr`?wre(e):Tre(e)),Dre=()=>`Rôles`,Ore=()=>`Roles`,kre=((e={},t={})=>(t.locale??$())===`fr`?Dre(e):Ore(e)),Are=()=>`Traces`,jre=()=>`Traces`,Mre=((e={},t={})=>(t.locale??$())===`fr`?Are(e):jre(e)),Nre=()=>`KPI`,Pre=()=>`KPI`,Fre=((e={},t={})=>(t.locale??$())===`fr`?Nre(e):Pre(e)),Ire=()=>`Anomalies`,Lre=()=>`Anomalies`,Rre=((e={},t={})=>(t.locale??$())===`fr`?Ire(e):Lre(e)),zre=()=>`Intégrations`,Bre=()=>`Integrations`,Vre=((e={},t={})=>(t.locale??$())===`fr`?zre(e):Bre(e)),Hre=()=>`Audit`,Ure=()=>`Audit`,Wre=((e={},t={})=>(t.locale??$())===`fr`?Hre(e):Ure(e)),Gre=()=>`Feedbacks`,Kre=()=>`Feedbacks`,qre=((e={},t={})=>(t.locale??$())===`fr`?Gre(e):Kre(e)),Jre=()=>`Groupes`,Yre=()=>`Groups`,Xre=((e={},t={})=>(t.locale??$())===`fr`?Jre(e):Yre(e)),Zre=()=>`Accès`,Qre=()=>`Access`,$re=((e={},t={})=>(t.locale??$())===`fr`?Zre(e):Qre(e)),eie=()=>`Inspectez les accès d’un utilisateur : ses groupes, les agents et chartes qui lui sont disponibles (avec leur provenance) et ses permissions effectives. Lecture seule.`,tie=()=>`Inspect a user’s access: their groups, the agents and charts available to them (with provenance), and their effective permissions. Read-only.`,nie=((e={},t={})=>(t.locale??$())===`fr`?eie(e):tie(e)),rie=()=>`Choisir un utilisateur`,iie=()=>`Pick a user`,aie=((e={},t={})=>(t.locale??$())===`fr`?rie(e):iie(e)),oie=()=>`Sélectionnez un utilisateur pour voir ses accès.`,sie=()=>`Select a user to see their access.`,cie=((e={},t={})=>(t.locale??$())===`fr`?oie(e):sie(e)),lie=()=>`Identité`,uie=()=>`Identity`,die=((e={},t={})=>(t.locale??$())===`fr`?lie(e):uie(e)),fie=()=>`Groupes`,pie=()=>`Groups`,mie=((e={},t={})=>(t.locale??$())===`fr`?fie(e):pie(e)),hie=()=>`Agents disponibles`,gie=()=>`Available agents`,_ie=((e={},t={})=>(t.locale??$())===`fr`?hie(e):gie(e)),vie=()=>`Chartes disponibles`,yie=()=>`Available charts`,bie=((e={},t={})=>(t.locale??$())===`fr`?vie(e):yie(e)),xie=()=>`Permissions effectives`,Sie=()=>`Effective permissions`,Cie=((e={},t={})=>(t.locale??$())===`fr`?xie(e):Sie(e)),wie=()=>`Aucun`,Tie=()=>`None`,Eie=((e={},t={})=>(t.locale??$())===`fr`?wie(e):Tie(e)),Die=()=>`Défaut`,Oie=()=>`Default`,kie=((e={},t={})=>(t.locale??$())===`fr`?Die(e):Oie(e)),Aie=()=>`Direct`,jie=()=>`Direct`,Mie=((e={},t={})=>(t.locale??$())===`fr`?Aie(e):jie(e)),Nie=()=>`Tous les agents (aucun groupe)`,Pie=()=>`All agents (no group)`,Fie=((e={},t={})=>(t.locale??$())===`fr`?Nie(e):Pie(e)),Iie=e=>`Groupe : ${e?.group}`,Lie=e=>`Group: ${e?.group}`,Rie=((e,t={})=>(t.locale??$())===`fr`?Iie(e):Lie(e)),zie=()=>`Commune`,Bie=()=>`Common`,Vie=((e={},t={})=>(t.locale??$())===`fr`?zie(e):Bie(e)),Hie=()=>`Perso`,Uie=()=>`Personal`,Wie=((e={},t={})=>(t.locale??$())===`fr`?Hie(e):Uie(e)),Gie=()=>`Groupes`,Kie=()=>`Groups`,qie=((e={},t={})=>(t.locale??$())===`fr`?Gie(e):Kie(e)),Jie=()=>`Regroupez des utilisateurs et partagez des agents par groupe. Chaque membre hérite des agents du groupe en plus de ses agents directs.`,Yie=()=>`Group users and share agents by group. Each member inherits the group's agents on top of their direct agents.`,Xie=((e={},t={})=>(t.locale??$())===`fr`?Jie(e):Yie(e)),Zie=()=>`Nouveau groupe`,Qie=()=>`New group`,$ie=((e={},t={})=>(t.locale??$())===`fr`?Zie(e):Qie(e)),eae=()=>`Aucun groupe pour le moment.`,tae=()=>`No groups yet.`,nae=((e={},t={})=>(t.locale??$())===`fr`?eae(e):tae(e)),rae=()=>`Nom`,iae=()=>`Name`,aae=((e={},t={})=>(t.locale??$())===`fr`?rae(e):iae(e)),oae=()=>`Membres`,sae=()=>`Members`,cae=((e={},t={})=>(t.locale??$())===`fr`?oae(e):sae(e)),lae=()=>`Agents`,uae=()=>`Agents`,dae=((e={},t={})=>(t.locale??$())===`fr`?lae(e):uae(e)),fae=()=>`Chartes`,pae=()=>`Charts`,mae=((e={},t={})=>(t.locale??$())===`fr`?fae(e):pae(e)),hae=()=>`Filtrer les groupes (nom, membre, agent, charte)…`,gae=()=>`Filter groups (name, member, agent, chart)…`,_ae=((e={},t={})=>(t.locale??$())===`fr`?hae(e):gae(e)),vae=()=>`Gérer`,yae=()=>`Manage`,bae=((e={},t={})=>(t.locale??$())===`fr`?vae(e):yae(e)),xae=()=>`Renommer`,Sae=()=>`Rename`,Cae=((e={},t={})=>(t.locale??$())===`fr`?xae(e):Sae(e)),wae=()=>`Supprimer`,Tae=()=>`Delete`,Eae=((e={},t={})=>(t.locale??$())===`fr`?wae(e):Tae(e)),Dae=()=>`Enregistrer`,Oae=()=>`Save`,kae=((e={},t={})=>(t.locale??$())===`fr`?Dae(e):Oae(e)),Aae=()=>`Annuler`,jae=()=>`Cancel`,Mae=((e={},t={})=>(t.locale??$())===`fr`?Aae(e):jae(e)),Nae=()=>`Nouveau groupe`,Pae=()=>`New group`,Fae=((e={},t={})=>(t.locale??$())===`fr`?Nae(e):Pae(e)),Iae=()=>`Renommer le groupe`,Lae=()=>`Rename group`,Rae=((e={},t={})=>(t.locale??$())===`fr`?Iae(e):Lae(e)),zae=()=>`Le nom est libre ; un identifiant stable est généré automatiquement.`,Bae=()=>`The name is free-form; a stable identifier is generated automatically.`,Vae=((e={},t={})=>(t.locale??$())===`fr`?zae(e):Bae(e)),Hae=()=>`Nom`,Uae=()=>`Name`,Wae=((e={},t={})=>(t.locale??$())===`fr`?Hae(e):Uae(e)),Gae=()=>`Description`,Kae=()=>`Description`,qae=((e={},t={})=>(t.locale??$())===`fr`?Gae(e):Kae(e)),Jae=e=>`Supprimer le groupe « ${e?.name} » ?`,Yae=e=>`Delete group "${e?.name}"?`,Xae=((e,t={})=>(t.locale??$())===`fr`?Jae(e):Yae(e)),Zae=()=>`Cette action supprime le groupe, ses adhésions et les agents partagés. Elle est irréversible.`,Qae=()=>`This deletes the group, its memberships and shared agents. It cannot be undone.`,$ae=((e={},t={})=>(t.locale??$())===`fr`?Zae(e):Qae(e)),eoe=()=>`Supprimer le groupe`,toe=()=>`Delete group`,noe=((e={},t={})=>(t.locale??$())===`fr`?eoe(e):toe(e)),roe=e=>`Gérer « ${e?.name} »`,ioe=e=>`Manage "${e?.name}"`,aoe=((e,t={})=>(t.locale??$())===`fr`?roe(e):ioe(e)),ooe=()=>`Ajoutez ou retirez des membres et partagez des agents découverts avec ce groupe.`,soe=()=>`Add or remove members and share discovered agents with this group.`,coe=((e={},t={})=>(t.locale??$())===`fr`?ooe(e):soe(e)),loe=()=>`Membres`,uoe=()=>`Members`,doe=((e={},t={})=>(t.locale??$())===`fr`?loe(e):uoe(e)),foe=()=>`Rechercher un utilisateur…`,poe=()=>`Search a user…`,moe=((e={},t={})=>(t.locale??$())===`fr`?foe(e):poe(e)),hoe=()=>`Agents partagés`,goe=()=>`Shared agents`,_oe=((e={},t={})=>(t.locale??$())===`fr`?hoe(e):goe(e)),voe=()=>`Rechercher un agent…`,yoe=()=>`Search an agent…`,boe=((e={},t={})=>(t.locale??$())===`fr`?voe(e):yoe(e)),xoe=()=>`Aucun résultat.`,Soe=()=>`No results.`,Coe=((e={},t={})=>(t.locale??$())===`fr`?xoe(e):Soe(e)),woe=()=>`Tout sélectionner`,Toe=()=>`Select all`,Eoe=((e={},t={})=>(t.locale??$())===`fr`?woe(e):Toe(e)),Doe=()=>`Précédent`,Ooe=()=>`Previous`,koe=((e={},t={})=>(t.locale??$())===`fr`?Doe(e):Ooe(e)),Aoe=()=>`Suivant`,joe=()=>`Next`,Moe=((e={},t={})=>(t.locale??$())===`fr`?Aoe(e):joe(e)),Noe=e=>`Page ${e?.page} sur ${e?.pages}`,Poe=e=>`Page ${e?.page} of ${e?.pages}`,Foe=((e,t={})=>(t.locale??$())===`fr`?Noe(e):Poe(e)),Ioe=()=>`Administrateur`,Loe=()=>`Admin`,Roe=((e={},t={})=>(t.locale??$())===`fr`?Ioe(e):Loe(e)),zoe=()=>`Utilisateur`,Boe=()=>`User`,Voe=((e={},t={})=>(t.locale??$())===`fr`?zoe(e):Boe(e)),Hoe=()=>`En attente`,Uoe=()=>`Pending`,Woe=((e={},t={})=>(t.locale??$())===`fr`?Hoe(e):Uoe(e)),Goe=e=>`Basculer l'adhésion de ${e?.user}`,Koe=e=>`Toggle membership of ${e?.user}`,qoe=((e,t={})=>(t.locale??$())===`fr`?Goe(e):Koe(e)),Joe=e=>`Partager l'agent ${e?.name}`,Yoe=e=>`Share agent ${e?.name}`,Xoe=((e,t={})=>(t.locale??$())===`fr`?Joe(e):Yoe(e)),Zoe=()=>`Chargement…`,Qoe=()=>`Loading…`,$oe=((e={},t={})=>(t.locale??$())===`fr`?Zoe(e):Qoe(e)),ese=()=>`Chargement des agents…`,tse=()=>`Loading agents…`,nse=((e={},t={})=>(t.locale??$())===`fr`?ese(e):tse(e)),rse=()=>`Aucun utilisateur.`,ise=()=>`No users.`,ase=((e={},t={})=>(t.locale??$())===`fr`?rse(e):ise(e)),ose=()=>`Aucune instance configurée.`,sse=()=>`No instances configured.`,cse=((e={},t={})=>(t.locale??$())===`fr`?ose(e):sse(e)),lse=()=>`Aucun agent découvert.`,use=()=>`No discovered agents.`,dse=((e={},t={})=>(t.locale??$())===`fr`?lse(e):use(e)),fse=()=>`Instance hors ligne ; agents indisponibles.`,pse=()=>`Instance offline; agents unavailable.`,mse=((e={},t={})=>(t.locale??$())===`fr`?fse(e):pse(e)),hse=()=>`hors ligne`,gse=()=>`offline`,_se=((e={},t={})=>(t.locale??$())===`fr`?hse(e):gse(e)),vse=()=>`retiré`,yse=()=>`removed`,bse=((e={},t={})=>(t.locale??$())===`fr`?vse(e):yse(e)),xse=()=>`Agent par défaut de l'instance`,Sse=()=>`Instance default agent`,Cse=((e={},t={})=>(t.locale??$())===`fr`?xse(e):Sse(e)),wse=()=>`Chartes`,Tse=()=>`Charts`,Ese=((e={},t={})=>(t.locale??$())===`fr`?wse(e):Tse(e)),Dse=()=>`Aucune charte disponible pour ce groupe pour l'instant. Demandez à un administrateur d'ajouter des chartes au pool de ce groupe.`,Ose=()=>`No charts available for this group yet. Ask an admin to add charts to this group's pool.`,kse=((e={},t={})=>(t.locale??$())===`fr`?Dse(e):Ose(e)),Ase=()=>`Ajoutez des chartes au pool de ce groupe ci-dessous, puis sélectionnez celles que le groupe propose.`,jse=()=>`Add charts to this group's pool below, then select which ones the group offers.`,Mse=((e={},t={})=>(t.locale??$())===`fr`?Ase(e):jse(e)),Nse=()=>`Ajouter une charte au pool…`,Pse=()=>`Add a chart to the pool…`,Fse=((e={},t={})=>(t.locale??$())===`fr`?Nse(e):Pse(e)),Ise=e=>`Retirer ${e?.name} du pool`,Lse=e=>`Remove ${e?.name} from the pool`,Rse=((e,t={})=>(t.locale??$())===`fr`?Ise(e):Lse(e)),zse=e=>`Proposer la charte ${e?.name} à ce groupe`,Bse=e=>`Offer chart ${e?.name} to this group`,Vse=((e,t={})=>(t.locale??$())===`fr`?zse(e):Bse(e)),Hse=()=>`Charte par défaut du groupe`,Use=()=>`Group default chart`,Wse=((e={},t={})=>(t.locale??$())===`fr`?Hse(e):Use(e)),Gse=()=>`Définir par défaut`,Kse=()=>`Set as default`,qse=((e={},t={})=>(t.locale??$())===`fr`?Gse(e):Kse(e)),Jse=()=>`Gestionnaire`,Yse=()=>`Manager`,Xse=((e={},t={})=>(t.locale??$())===`fr`?Jse(e):Yse(e)),Zse=()=>`Promouvoir gestionnaire`,Qse=()=>`Promote to manager`,$se=((e={},t={})=>(t.locale??$())===`fr`?Zse(e):Qse(e)),ece=()=>`Retirer gestionnaire`,tce=()=>`Remove manager`,nce=((e={},t={})=>(t.locale??$())===`fr`?ece(e):tce(e)),rce=()=>`Changement de gestionnaire refusé`,ice=()=>`Manager change rejected`,ace=((e={},t={})=>(t.locale??$())===`fr`?rce(e):ice(e)),oce=()=>`Mise à jour de la charte refusée`,sce=()=>`Chart update rejected`,cce=((e={},t={})=>(t.locale??$())===`fr`?oce(e):sce(e)),lce=()=>`Enregistrement du groupe refusé`,uce=()=>`Group save rejected`,dce=((e={},t={})=>(t.locale??$())===`fr`?lce(e):uce(e)),fce=()=>`Suppression du groupe refusée`,pce=()=>`Group deletion rejected`,mce=((e={},t={})=>(t.locale??$())===`fr`?fce(e):pce(e)),hce=()=>`Mise à jour de l'adhésion refusée`,gce=()=>`Membership update rejected`,_ce=((e={},t={})=>(t.locale??$())===`fr`?hce(e):gce(e)),vce=()=>`Partage de l'agent refusé`,yce=()=>`Agent sharing rejected`,bce=((e={},t={})=>(t.locale??$())===`fr`?vce(e):yce(e)),xce=()=>`Réordonner cet onglet`,Sce=()=>`Reorder this tab`,Cce=((e={},t={})=>(t.locale??$())===`fr`?xce(e):Sce(e)),wce=()=>`Réglages`,Tce=()=>`Settings`,Ece=((e={},t={})=>(t.locale??$())===`fr`?wce(e):Tce(e)),Dce=()=>`← Retour au chat`,Oce=()=>`← Back to chat`,kce=((e={},t={})=>(t.locale??$())===`fr`?Dce(e):Oce(e)),Ace=()=>`Réglages`,jce=()=>`Settings`,Mce=((e={},t={})=>(t.locale??$())===`fr`?Ace(e):jce(e)),Nce=()=>`Personnel`,Pce=()=>`Personal`,Fce=((e={},t={})=>(t.locale??$())===`fr`?Nce(e):Pce(e)),Ice=()=>`Agents`,Lce=()=>`Agents`,Rce=((e={},t={})=>(t.locale??$())===`fr`?Ice(e):Lce(e)),zce=()=>`Accès & utilisateurs`,Bce=()=>`Access & users`,Vce=((e={},t={})=>(t.locale??$())===`fr`?zce(e):Bce(e)),Hce=()=>`Observabilité`,Uce=()=>`Observability`,Wce=((e={},t={})=>(t.locale??$())===`fr`?Hce(e):Uce(e)),Gce=()=>`Fermer`,Kce=()=>`Close`,qce=((e={},t={})=>(t.locale??$())===`fr`?Gce(e):Kce(e)),Jce=()=>`héritée`,Yce=()=>`inherited`,Xce=((e={},t={})=>(t.locale??$())===`fr`?Jce(e):Yce(e)),Zce=()=>`Revenir à la valeur héritée`,Qce=()=>`Back to the inherited value`,$ce=((e={},t={})=>(t.locale??$())===`fr`?Zce(e):Qce(e)),ele=()=>`Application…`,tle=()=>`Applying…`,nle=((e={},t={})=>(t.locale??$())===`fr`?ele(e):tle(e)),rle=()=>`Échec de l’application.`,ile=()=>`Failed to apply.`,ale=((e={},t={})=>(t.locale??$())===`fr`?rle(e):ile(e)),ole=()=>`Réessayer`,sle=()=>`Retry`,cle=((e={},t={})=>(t.locale??$())===`fr`?ole(e):sle(e)),lle=()=>`Réflexion`,ule=()=>`Reasoning`,dle=((e={},t={})=>(t.locale??$())===`fr`?lle(e):ule(e)),fle=()=>`Vitesse`,ple=()=>`Speed`,mle=((e={},t={})=>(t.locale??$())===`fr`?fle(e):ple(e)),hle=()=>`Hérité`,gle=()=>`Inherited`,_le=((e={},t={})=>(t.locale??$())===`fr`?hle(e):gle(e)),vle=()=>`Rapide`,yle=()=>`Fast`,ble=((e={},t={})=>(t.locale??$())===`fr`?vle(e):yle(e)),xle=()=>`Standard`,Sle=()=>`Standard`,Cle=((e={},t={})=>(t.locale??$())===`fr`?xle(e):Sle(e)),wle=()=>`Tous les réglages de session`,Tle=()=>`All session settings`,Ele=((e={},t={})=>(t.locale??$())===`fr`?wle(e):Tle(e)),Dle=()=>`Réglages de session`,Ole=()=>`Session settings`,kle=((e={},t={})=>(t.locale??$())===`fr`?Dle(e):Ole(e)),Ale=()=>`Réglages appliqués à cette conversation.`,jle=()=>`Settings applied to this conversation.`,Mle=((e={},t={})=>(t.locale??$())===`fr`?Ale(e):jle(e)),Nle=()=>`Génération`,Ple=()=>`Generation`,Fle=((e={},t={})=>(t.locale??$())===`fr`?Nle(e):Ple(e)),Ile=()=>`Session`,Lle=()=>`Session`,Rle=((e={},t={})=>(t.locale??$())===`fr`?Ile(e):Lle(e)),zle=()=>`Instance`,Ble=()=>`Instance`,Vle=((e={},t={})=>(t.locale??$())===`fr`?zle(e):Ble(e)),Hle=()=>`Réflexion par défaut`,Ule=()=>`Default reasoning`,Wle=((e={},t={})=>(t.locale??$())===`fr`?Hle(e):Ule(e)),Gle=()=>`Agent`,Kle=()=>`Agent`,qle=((e={},t={})=>(t.locale??$())===`fr`?Gle(e):Kle(e)),Jle=()=>`Actions`,Yle=()=>`Actions`,Xle=((e={},t={})=>(t.locale??$())===`fr`?Jle(e):Yle(e)),Zle=()=>`Contexte`,Qle=()=>`Context`,$le=((e={},t={})=>(t.locale??$())===`fr`?Zle(e):Qle(e)),eue=e=>`${e?.pct} % · ${e?.used} / ${e?.total} jetons`,tue=e=>`${e?.pct}% · ${e?.used} / ${e?.total} tokens`,nue=((e,t={})=>(t.locale??$())===`fr`?eue(e):tue(e)),rue=()=>`Verbosité`,iue=()=>`Verbosity`,aue=((e={},t={})=>(t.locale??$())===`fr`?rue(e):iue(e)),oue=e=>`${e?.level} · fixée`,sue=e=>`${e?.level} · pinned`,cue=((e,t={})=>(t.locale??$())===`fr`?oue(e):sue(e)),lue=()=>`Fixée par la passerelle pour un streaming complet.`,uue=()=>`Pinned by the bridge for complete streaming.`,due=((e={},t={})=>(t.locale??$())===`fr`?lue(e):uue(e)),fue=()=>`Coût / jetons`,pue=()=>`Cost / tokens`,mue=((e={},t={})=>(t.locale??$())===`fr`?fue(e):pue(e)),hue=e=>`~${e?.cost} $ · ${e?.tokens} jetons`,gue=e=>`~$${e?.cost} · ${e?.tokens} tokens`,_ue=((e,t={})=>(t.locale??$())===`fr`?hue(e):gue(e)),vue=e=>`~${e?.cost} $`,yue=e=>`~$${e?.cost}`,bue=((e,t={})=>(t.locale??$())===`fr`?vue(e):yue(e)),xue=e=>`${e?.tokens} jetons`,Sue=e=>`${e?.tokens} tokens`,Cue=((e,t={})=>(t.locale??$())===`fr`?xue(e):Sue(e)),wue=()=>`Compacter le contexte`,Tue=()=>`Compact the context`,Eue=((e={},t={})=>(t.locale??$())===`fr`?wue(e):Tue(e)),Due=()=>`Compacter le contexte ?`,Oue=()=>`Compact the context?`,kue=((e={},t={})=>(t.locale??$())===`fr`?Due(e):Oue(e)),Aue=()=>`L’agent résume la conversation pour libérer de l’espace dans la fenêtre de contexte. Les messages restent visibles ici.`,jue=()=>`The agent summarizes the conversation to free space in the context window. Messages stay visible here.`,Mue=((e={},t={})=>(t.locale??$())===`fr`?Aue(e):jue(e)),Nue=()=>`Compacter`,Pue=()=>`Compact`,Fue=((e={},t={})=>(t.locale??$())===`fr`?Nue(e):Pue(e)),Iue=()=>`Réinitialiser la session`,Lue=()=>`Reset the session`,Rue=((e={},t={})=>(t.locale??$())===`fr`?Iue(e):Lue(e)),zue=()=>`Réinitialiser la session ?`,Bue=()=>`Reset the session?`,Vue=((e={},t={})=>(t.locale??$())===`fr`?zue(e):Bue(e)),Hue=()=>`La session de l’agent repart à zéro et se réhydrate depuis la conversation au prochain message. Aucun message n’est supprimé.`,Uue=()=>`The agent session starts fresh and re-hydrates from the conversation on the next message. No message is deleted.`,Wue=((e={},t={})=>(t.locale??$())===`fr`?Hue(e):Uue(e)),Gue=()=>`Réinitialiser`,Kue=()=>`Reset`,que=((e={},t={})=>(t.locale??$())===`fr`?Gue(e):Kue(e)),Jue=()=>`Demande envoyée à l’agent.`,Yue=()=>`Request sent to the agent.`,Xue=((e={},t={})=>(t.locale??$())===`fr`?Jue(e):Yue(e)),Zue=()=>`Échec de l’action.`,Que=()=>`Action failed.`,$ue=((e={},t={})=>(t.locale??$())===`fr`?Zue(e):Que(e)),ede=()=>`Fichiers d’agent`,tde=()=>`Agent files`,nde=((e={},t={})=>(t.locale??$())===`fr`?ede(e):tde(e)),rde=()=>`Fichiers de l’espace de travail de l’agent (règles, identité, outils). La jauge mesure l’usage du budget bootstrap par fichier ; l’écriture est réservée aux administrateurs et chaque écriture est auditée.`,ide=()=>`The agent’s workspace files (rules, identity, tools). The gauge tracks each file’s bootstrap budget usage; writing is admin-only and every write is audited.`,ade=((e={},t={})=>(t.locale??$())===`fr`?rde(e):ide(e)),ode=()=>`Instance`,sde=()=>`Instance`,cde=((e={},t={})=>(t.locale??$())===`fr`?ode(e):sde(e)),lde=()=>`Agent`,ude=()=>`Agent`,dde=((e={},t={})=>(t.locale??$())===`fr`?lde(e):ude(e)),fde=()=>`Aucun agent disponible.`,pde=()=>`No agent available.`,mde=((e={},t={})=>(t.locale??$())===`fr`?fde(e):pde(e)),hde=()=>`Aucun fichier.`,gde=()=>`No files.`,_de=((e={},t={})=>(t.locale??$())===`fr`?hde(e):gde(e)),vde=()=>`Bridge injoignable — impossible de lister les fichiers.`,yde=()=>`Bridge unreachable — cannot list the files.`,bde=((e={},t={})=>(t.locale??$())===`fr`?vde(e):yde(e)),xde=()=>`absent`,Sde=()=>`missing`,Cde=((e={},t={})=>(t.locale??$())===`fr`?xde(e):Sde(e)),wde=e=>`${e?.size} ko`,Tde=e=>`${e?.size} kB`,Ede=((e,t={})=>(t.locale??$())===`fr`?wde(e):Tde(e)),Dde=e=>`${e?.pct} %`,Ode=e=>`${e?.pct}%`,kde=((e,t={})=>(t.locale??$())===`fr`?Dde(e):Ode(e)),Ade=()=>`Proche de la limite bootstrap`,jde=()=>`Near the bootstrap limit`,Mde=((e={},t={})=>(t.locale??$())===`fr`?Ade(e):jde(e)),Nde=e=>`Budget total : ${e?.used} ko / ${e?.total} ko (${e?.pct} %)`,Pde=e=>`Total budget: ${e?.used} kB / ${e?.total} kB (${e?.pct}%)`,Fde=((e,t={})=>(t.locale??$())===`fr`?Nde(e):Pde(e)),Ide=()=>`Éditer`,Lde=()=>`Edit`,Rde=((e={},t={})=>(t.locale??$())===`fr`?Ide(e):Lde(e)),zde=()=>`Consulter`,Bde=()=>`View`,Vde=((e={},t={})=>(t.locale??$())===`fr`?zde(e):Bde(e)),Hde=e=>`${e?.name}`,Ude=e=>`${e?.name}`,Wde=((e,t={})=>(t.locale??$())===`fr`?Hde(e):Ude(e)),Gde=e=>`Agent ${e?.agent} · instance ${e?.instance}`,Kde=e=>`Agent ${e?.agent} · instance ${e?.instance}`,qde=((e,t={})=>(t.locale??$())===`fr`?Gde(e):Kde(e)),Jde=()=>`lecture seule`,Yde=()=>`read-only`,Xde=((e={},t={})=>(t.locale??$())===`fr`?Jde(e):Yde(e)),Zde=()=>`Source markdown brute — l’aperçu rendu n’est pas disponible ici.`,Qde=()=>`Raw markdown source — a rendered preview is not available here.`,$de=((e={},t={})=>(t.locale??$())===`fr`?Zde(e):Qde(e)),efe=e=>`${e?.count} / ${e?.max} caractères`,tfe=e=>`${e?.count} / ${e?.max} characters`,nfe=((e,t={})=>(t.locale??$())===`fr`?efe(e):tfe(e)),rfe=()=>`Enregistrer`,ife=()=>`Save`,afe=((e={},t={})=>(t.locale??$())===`fr`?rfe(e):ife(e)),ofe=e=>`${e?.name} enregistré.`,sfe=e=>`${e?.name} saved.`,cfe=((e,t={})=>(t.locale??$())===`fr`?ofe(e):sfe(e)),lfe=()=>`Échec de l’enregistrement.`,ufe=()=>`Save failed.`,dfe=((e={},t={})=>(t.locale??$())===`fr`?lfe(e):ufe(e)),ffe=()=>`Impossible de charger le fichier.`,pfe=()=>`Could not load the file.`,mfe=((e={},t={})=>(t.locale??$())===`fr`?ffe(e):pfe(e)),hfe=()=>`Le fichier a changé depuis le chargement. Rechargez avant d’enregistrer (vos modifications sont conservées).`,gfe=()=>`The file changed since it was loaded. Reload before saving (your edits are kept).`,_fe=((e={},t={})=>(t.locale??$())===`fr`?hfe(e):gfe(e)),vfe=()=>`Recharger`,yfe=()=>`Reload`,bfe=((e={},t={})=>(t.locale??$())===`fr`?vfe(e):yfe(e)),xfe=e=>`Écrire ${e?.name} ?`,Sfe=e=>`Write ${e?.name}?`,Cfe=((e,t={})=>(t.locale??$())===`fr`?xfe(e):Sfe(e)),wfe=e=>`Le fichier sera écrit sur l’agent ${e?.agent}. Une révision complète avant/après est conservée.`,Tfe=e=>`The file will be written to agent ${e?.agent}. A full before/after revision is kept.`,Efe=((e,t={})=>(t.locale??$())===`fr`?wfe(e):Tfe(e)),Dfe=e=>`${e?.added} ligne(s) ajoutée(s) · ${e?.removed} ligne(s) retirée(s)`,Ofe=e=>`${e?.added} line(s) added · ${e?.removed} line(s) removed`,kfe=((e,t={})=>(t.locale??$())===`fr`?Dfe(e):Ofe(e)),Afe=()=>`Ajoutées (extrait) :`,jfe=()=>`Added (sample):`,Mfe=((e={},t={})=>(t.locale??$())===`fr`?Afe(e):jfe(e)),Nfe=()=>`Retirées (extrait) :`,Pfe=()=>`Removed (sample):`,Ffe=((e={},t={})=>(t.locale??$())===`fr`?Nfe(e):Pfe(e)),Ife=()=>`Écrire le fichier`,Lfe=()=>`Write the file`,Rfe=((e={},t={})=>(t.locale??$())===`fr`?Ife(e):Lfe(e)),zfe=()=>`Défauts de chat`,Bfe=()=>`Chat defaults`,Vfe=((e={},t={})=>(t.locale??$())===`fr`?zfe(e):Bfe(e)),Hfe=()=>`Réglages par défaut des nouvelles sessions de chat, lus depuis la configuration globale du gateway. Les réglages par chat et par agent restent prioritaires.`,Ufe=()=>`Default settings for new chat sessions, read from the gateway’s global configuration. Per-chat and per-agent settings keep precedence.`,Wfe=((e={},t={})=>(t.locale??$())===`fr`?Hfe(e):Ufe(e)),Gfe=()=>`Réflexion par défaut`,Kfe=()=>`Default thinking`,qfe=((e={},t={})=>(t.locale??$())===`fr`?Gfe(e):Kfe(e)),Jfe=()=>`Niveau de raisonnement appliqué quand un chat ne définit pas le sien.`,Yfe=()=>`Reasoning level applied when a chat does not set its own.`,Xfe=((e={},t={})=>(t.locale??$())===`fr`?Jfe(e):Yfe(e)),Zfe=()=>`Vitesse par défaut`,Qfe=()=>`Default speed`,$fe=((e={},t={})=>(t.locale??$())===`fr`?Zfe(e):Qfe(e)),epe=()=>`Mode rapide ou standard appliqué quand un chat ne définit pas le sien.`,tpe=()=>`Fast or standard mode applied when a chat does not set its own.`,npe=((e={},t={})=>(t.locale??$())===`fr`?epe(e):tpe(e)),rpe=()=>`Bridge injoignable — impossible de lire les défauts globaux.`,ipe=()=>`Bridge unreachable — cannot read the global defaults.`,ape=((e={},t={})=>(t.locale??$())===`fr`?rpe(e):ipe(e)),ope=()=>`Enregistrer`,spe=()=>`Save`,cpe=((e={},t={})=>(t.locale??$())===`fr`?ope(e):spe(e)),lpe=()=>`Défauts globaux enregistrés.`,upe=()=>`Global defaults saved.`,dpe=((e={},t={})=>(t.locale??$())===`fr`?lpe(e):upe(e)),fpe=()=>`Échec de l’écriture des défauts globaux.`,ppe=()=>`Failed to write the global defaults.`,mpe=((e={},t={})=>(t.locale??$())===`fr`?fpe(e):ppe(e)),hpe=()=>`Ces valeurs sont écrites dans openclaw.json, la configuration globale de l’instance — elles s’appliquent à tous les utilisateurs.`,gpe=()=>`These values are written to openclaw.json, the instance’s global configuration — they apply to every user.`,_pe=((e={},t={})=>(t.locale??$())===`fr`?hpe(e):gpe(e)),vpe=()=>`Modifier les défauts globaux ?`,ype=()=>`Change the global defaults?`,bpe=((e={},t={})=>(t.locale??$())===`fr`?vpe(e):ype(e)),xpe=()=>`Cette écriture modifie openclaw.json pour toute l’instance : tous les chats qui héritent du défaut changeront de comportement.`,Spe=()=>`This write changes openclaw.json for the whole instance: every chat inheriting the default will change behavior.`,Cpe=((e={},t={})=>(t.locale??$())===`fr`?xpe(e):Spe(e)),wpe=()=>`Modifier`,Tpe=()=>`Change`,Epe=((e={},t={})=>(t.locale??$())===`fr`?wpe(e):Tpe(e)),Dpe=()=>`Compatibilité`,Ope=()=>`Compatibility`,kpe=((e={},t={})=>(t.locale??$())===`fr`?Dpe(e):Ope(e)),Ape=()=>`Aucun relevé de compatibilité pour l’instant — le sondage tourne toutes les 5 minutes.`,jpe=()=>`No compatibility reading yet — the poll runs every 5 minutes.`,Mpe=((e={},t={})=>(t.locale??$())===`fr`?Ape(e):jpe(e)),Npe=()=>`Protocole :`,Ppe=()=>`Protocol:`,Fpe=((e={},t={})=>(t.locale??$())===`fr`?Npe(e):Ppe(e)),Ipe=()=>`inconnue`,Lpe=()=>`unknown`,Rpe=((e={},t={})=>(t.locale??$())===`fr`?Ipe(e):Lpe(e)),zpe=()=>`Dernier sondage en échec — affichage du dernier relevé valide.`,Bpe=()=>`Last poll failed — showing the last good reading.`,Vpe=((e={},t={})=>(t.locale??$())===`fr`?zpe(e):Bpe(e)),Hpe=()=>`Ce bridge ne publie pas de manifeste de compatibilité (version antérieure) — politique héritée : seuls le modèle et la réflexion sont proposés.`,Upe=()=>`This bridge does not publish a compatibility manifest (older version) — legacy policy: only model and reasoning are offered.`,Wpe=((e={},t={})=>(t.locale??$())===`fr`?Hpe(e):Upe(e)),Gpe=()=>`OpenClaw supporté :`,Kpe=()=>`OpenClaw supported:`,qpe=((e={},t={})=>(t.locale??$())===`fr`?Gpe(e):Kpe(e)),Jpe=e=>`de ${e?.min} à ${e?.max} (validé)`,Ype=e=>`from ${e?.min} to ${e?.max} (validated)`,Xpe=((e,t={})=>(t.locale??$())===`fr`?Jpe(e):Ype(e)),Zpe=()=>`1 version validée`,Qpe=()=>`1 validated version`,$pe=((e={},t={})=>(t.locale??$())===`fr`?Zpe(e):Qpe(e)),eme=e=>`${e?.count} versions validées`,tme=e=>`${e?.count} validated versions`,nme=((e,t={})=>(t.locale??$())===`fr`?eme(e):tme(e)),rme=()=>`Validées au banc`,ime=()=>`Bench-validated`,ame=((e={},t={})=>(t.locale??$())===`fr`?rme(e):ime(e)),ome=()=>`Aucune connexion connue du relevé de compatibilité.`,sme=()=>`No connection known to the compatibility reading.`,cme=((e={},t={})=>(t.locale??$())===`fr`?ome(e):sme(e)),lme=()=>`✓ dans le support`,ume=()=>`✓ within support`,dme=((e={},t={})=>(t.locale??$())===`fr`?lme(e):ume(e)),fme=()=>`⚠ au-delà du validé`,pme=()=>`⚠ beyond validated`,mme=((e={},t={})=>(t.locale??$())===`fr`?fme(e):pme(e)),hme=()=>`? inconnue`,gme=()=>`? unknown`,_me=((e={},t={})=>(t.locale??$())===`fr`?hme(e):gme(e)),vme=()=>`Hermes : adaptateur à venir.`,yme=()=>`Hermes: adapter coming.`,bme=((e={},t={})=>(t.locale??$())===`fr`?vme(e):yme(e)),xme=e=>`Non supporté par cette instance (version gateway ${e?.version}).`,Sme=e=>`Not supported by this instance (gateway version ${e?.version}).`,Cme=((e,t={})=>(t.locale??$())===`fr`?xme(e):Sme(e)),wme=()=>`Non supporté par cette instance (version gateway inconnue).`,Tme=()=>`Not supported by this instance (unknown gateway version).`,Eme=((e={},t={})=>(t.locale??$())===`fr`?wme(e):Tme(e)),Dme=e=>`${e?.count} sous-agent`,Ome=e=>`${e?.count} sub-agent`,kme=((e,t={})=>(t.locale??$())===`fr`?Dme(e):Ome(e)),Ame=e=>`${e?.count} sous-agents`,jme=e=>`${e?.count} sub-agents`,Mme=((e,t={})=>(t.locale??$())===`fr`?Ame(e):jme(e)),Nme=()=>`en cours`,Pme=()=>`running`,Fme=((e={},t={})=>(t.locale??$())===`fr`?Nme(e):Pme(e)),Ime=()=>`terminé`,Lme=()=>`done`,Rme=((e={},t={})=>(t.locale??$())===`fr`?Ime(e):Lme(e)),zme=()=>`en échec`,Bme=()=>`failed`,Vme=((e={},t={})=>(t.locale??$())===`fr`?zme(e):Bme(e)),Hme=()=>`Le sous-agent a échoué (aucune raison rapportée).`,Ume=()=>`The sub-agent failed (no reason reported).`,Wme=((e={},t={})=>(t.locale??$())===`fr`?Hme(e):Ume(e)),Gme=()=>`Sous-agent`,Kme=()=>`Sub-agent`,qme=((e={},t={})=>(t.locale??$())===`fr`?Gme(e):Kme(e)),Jme=()=>`Sous-agent`,Yme=()=>`Sub-agent`,Xme=((e={},t={})=>(t.locale??$())===`fr`?Jme(e):Yme(e)),Zme=()=>`Ouvrir le sous-agent`,Qme=()=>`Open the sub-agent`,$me=((e={},t={})=>(t.locale??$())===`fr`?Zme(e):Qme(e)),ehe=()=>`Fermer`,the=()=>`Close`,nhe=((e={},t={})=>(t.locale??$())===`fr`?ehe(e):the(e)),rhe=()=>`Chargement…`,ihe=()=>`Loading…`,ahe=((e={},t={})=>(t.locale??$())===`fr`?rhe(e):ihe(e)),ohe=()=>`Outils`,she=()=>`Tools`,che=((e={},t={})=>(t.locale??$())===`fr`?ohe(e):she(e)),lhe=()=>`Erreur`,uhe=()=>`Error`,dhe=((e={},t={})=>(t.locale??$())===`fr`?lhe(e):uhe(e)),fhe=()=>`Résultat`,phe=()=>`Result`,mhe=((e={},t={})=>(t.locale??$())===`fr`?fhe(e):phe(e)),hhe=()=>`Le sous-agent travaille…`,ghe=()=>`The sub-agent is working…`,_he=((e={},t={})=>(t.locale??$())===`fr`?hhe(e):ghe(e)),vhe=()=>`Remonter au message`,yhe=()=>`Jump to the message`,bhe=((e={},t={})=>(t.locale??$())===`fr`?vhe(e):yhe(e)),xhe=()=>`Aller au message de l’agent principal qui a lancé ce sous-agent`,She=()=>`Go to the main agent's message that spawned this sub-agent`,Che=((e={},t={})=>(t.locale??$())===`fr`?xhe(e):She(e)),whe=()=>`Afficher le prompt complet`,The=()=>`Show the full prompt`,Ehe=((e={},t={})=>(t.locale??$())===`fr`?whe(e):The(e)),Dhe=()=>`Signaler une anomalie`,Ohe=()=>`Report an issue`,khe=((e={},t={})=>(t.locale??$())===`fr`?Dhe(e):Ohe(e)),Ahe=()=>`Exporter`,jhe=()=>`Export`,Mhe=((e={},t={})=>(t.locale??$())===`fr`?Ahe(e):jhe(e)),Nhe=()=>`Télécharger la conversation du sous-agent (Markdown)`,Phe=()=>`Download the sub-agent's conversation (Markdown)`,Fhe=((e={},t={})=>(t.locale??$())===`fr`?Nhe(e):Phe(e)),Ihe=()=>`Modèle`,Lhe=()=>`Model`,Rhe=((e={},t={})=>(t.locale??$())===`fr`?Ihe(e):Lhe(e)),zhe=()=>`Fournisseur`,Bhe=()=>`Provider`,Vhe=((e={},t={})=>(t.locale??$())===`fr`?zhe(e):Bhe(e)),Hhe=()=>`Réflexion`,Uhe=()=>`Reasoning`,Whe=((e={},t={})=>(t.locale??$())===`fr`?Hhe(e):Uhe(e)),Ghe=()=>`Vitesse`,Khe=()=>`Speed`,qhe=((e={},t={})=>(t.locale??$())===`fr`?Ghe(e):Khe(e)),Jhe=()=>`Rapide`,Yhe=()=>`Fast`,Xhe=((e={},t={})=>(t.locale??$())===`fr`?Jhe(e):Yhe(e)),Zhe=()=>`Standard`,Qhe=()=>`Standard`,$he=((e={},t={})=>(t.locale??$())===`fr`?Zhe(e):Qhe(e)),ege=()=>`Portée`,tge=()=>`Scope`,nge=((e={},t={})=>(t.locale??$())===`fr`?ege(e):tge(e)),rge=()=>`Rôle`,ige=()=>`Role`,age=((e={},t={})=>(t.locale??$())===`fr`?rge(e):ige(e)),oge=()=>`Profondeur`,sge=()=>`Depth`,cge=((e={},t={})=>(t.locale??$())===`fr`?oge(e):sge(e)),lge=()=>`Agent parent`,uge=()=>`Parent agent`,dge=((e={},t={})=>(t.locale??$())===`fr`?lge(e):uge(e)),fge=()=>`Avancé`,pge=()=>`Advanced`,mge=((e={},t={})=>(t.locale??$())===`fr`?fge(e):pge(e)),hge=()=>`Contexte`,gge=()=>`Context`,_ge=((e={},t={})=>(t.locale??$())===`fr`?hge(e):gge(e)),vge=()=>`Contexte « fork » : le transcript de l’agent parent a été branché dans le sous-agent`,yge=()=>`"fork" context: the parent agent's transcript was branched into the sub-agent`,bge=((e={},t={})=>(t.locale??$())===`fr`?vge(e):yge(e)),xge=()=>`Runtime`,Sge=()=>`Runtime`,Cge=((e={},t={})=>(t.locale??$())===`fr`?xge(e):Sge(e)),wge=()=>`Mode`,Tge=()=>`Mode`,Ege=((e={},t={})=>(t.locale??$())===`fr`?wge(e):Tge(e)),Dge=()=>`Nettoyage`,Oge=()=>`Cleanup`,kge=((e={},t={})=>(t.locale??$())===`fr`?Dge(e):Oge(e)),Age=()=>`Sandbox`,jge=()=>`Sandbox`,Mge=((e={},t={})=>(t.locale??$())===`fr`?Age(e):jge(e)),Nge=()=>`Passerelle`,Pge=()=>`Gateway`,Fge=((e={},t={})=>(t.locale??$())===`fr`?Nge(e):Pge(e)),Ige=()=>`Capacité`,Lge=()=>`Capability`,Rge=((e={},t={})=>(t.locale??$())===`fr`?Ige(e):Lge(e)),zge=()=>`Agent`,Bge=()=>`Agent`,Vge=((e={},t={})=>(t.locale??$())===`fr`?zge(e):Bge(e)),Hge=()=>`Étiquette`,Uge=()=>`Label`,Wge=((e={},t={})=>(t.locale??$())===`fr`?Hge(e):Uge(e)),Gge=()=>`Contexte léger`,Kge=()=>`Light context`,qge=((e={},t={})=>(t.locale??$())===`fr`?Gge(e):Kge(e)),Jge=()=>`activé`,Yge=()=>`enabled`,Xge=((e={},t={})=>(t.locale??$())===`fr`?Jge(e):Yge(e)),Zge=()=>`désactivé`,Qge=()=>`disabled`,$ge=((e={},t={})=>(t.locale??$())===`fr`?Zge(e):Qge(e)),e_e=()=>`Répertoire de travail`,t_e=()=>`Working directory`,n_e=((e={},t={})=>(t.locale??$())===`fr`?e_e(e):t_e(e)),r_e=()=>`Session`,i_e=()=>`Session`,a_e=((e={},t={})=>(t.locale??$())===`fr`?r_e(e):i_e(e)),o_e=()=>`Durée`,s_e=()=>`Runtime`,c_e=((e={},t={})=>(t.locale??$())===`fr`?o_e(e):s_e(e)),l_e=()=>`Jetons`,u_e=()=>`Tokens`,d_e=((e={},t={})=>(t.locale??$())===`fr`?l_e(e):u_e(e)),f_e=()=>`Coût estimé`,p_e=()=>`Estimated cost`,m_e=((e={},t={})=>(t.locale??$())===`fr`?f_e(e):p_e(e)),h_e=()=>`Session archivée après la réponse (nettoyage « delete ») — interaction impossible`,g_e=()=>`Session archived after its reply (cleanup "delete") — interaction unavailable`,__e=((e={},t={})=>(t.locale??$())===`fr`?h_e(e):g_e(e)),v_e=()=>`Ne peut pas déléguer (feuille)`,y_e=()=>`Cannot delegate (leaf)`,b_e=((e={},t={})=>(t.locale??$())===`fr`?v_e(e):y_e(e)),x_e=()=>`Peut déléguer (orchestrateur)`,S_e=()=>`Can delegate (orchestrator)`,C_e=((e={},t={})=>(t.locale??$())===`fr`?x_e(e):S_e(e)),w_e=()=>`Échanges`,T_e=()=>`Conversation`,E_e=((e={},t={})=>(t.locale??$())===`fr`?w_e(e):T_e(e)),D_e=()=>`Le sous-agent répond…`,O_e=()=>`The sub-agent is replying…`,k_e=((e={},t={})=>(t.locale??$())===`fr`?D_e(e):O_e(e)),A_e=()=>`Échec de l’envoi au sous-agent`,j_e=()=>`Failed to reach the sub-agent`,M_e=((e={},t={})=>(t.locale??$())===`fr`?A_e(e):j_e(e)),N_e=()=>`Attendez la fin du sous-agent`,P_e=()=>`Wait for the sub-agent to finish`,F_e=((e={},t={})=>(t.locale??$())===`fr`?N_e(e):P_e(e)),I_e=()=>`Réponse en attente…`,L_e=()=>`Waiting for the reply…`,R_e=((e={},t={})=>(t.locale??$())===`fr`?I_e(e):L_e(e)),z_e=()=>`Joindre un fichier`,B_e=()=>`Attach a file`,V_e=((e={},t={})=>(t.locale??$())===`fr`?z_e(e):B_e(e)),H_e=()=>`Afficher / masquer les outils`,U_e=()=>`Show / hide the tools`,W_e=((e={},t={})=>(t.locale??$())===`fr`?H_e(e):U_e(e)),G_e=()=>`Retirer le fichier`,K_e=()=>`Remove the file`,q_e=((e={},t={})=>(t.locale??$())===`fr`?G_e(e):K_e(e)),J_e=()=>`Interagir avec le sous-agent`,Y_e=()=>`Interact with the sub-agent`,X_e=((e={},t={})=>(t.locale??$())===`fr`?J_e(e):Y_e(e)),Z_e=()=>`Message au sous-agent…`,Q_e=()=>`Message the sub-agent…`,$_e=((e={},t={})=>(t.locale??$())===`fr`?Z_e(e):Q_e(e)),eve=()=>`Envoyer`,tve=()=>`Send`,nve=((e={},t={})=>(t.locale??$())===`fr`?eve(e):tve(e)),rve=()=>`L’agent a délégué à un sous-agent — en attente de son retour…`,ive=()=>`The agent delegated to a sub-agent — waiting for its result…`,ave=((e={},t={})=>(t.locale??$())===`fr`?rve(e):ive(e)),ove=e=>`L’agent a délégué à un sous-agent (« ${e?.task} ») — en attente de son retour…`,sve=e=>`The agent delegated to a sub-agent ("${e?.task}") — waiting for its result…`,cve=((e,t={})=>(t.locale??$())===`fr`?ove(e):sve(e)),lve=e=>`L’agent a délégué à un sous-agent qui a échoué : ${e?.reason}`,uve=e=>`The agent delegated to a sub-agent that failed: ${e?.reason}`,dve=((e,t={})=>(t.locale??$())===`fr`?lve(e):uve(e)),fve=e=>`L’agent a délégué à un sous-agent (« ${e?.task} ») qui a échoué : ${e?.reason}`,pve=e=>`The agent delegated to a sub-agent ("${e?.task}") that failed: ${e?.reason}`,mve=((e,t={})=>(t.locale??$())===`fr`?fve(e):pve(e)),hve=()=>`L’agent a effectué des actions mais n’a pas renvoyé de réponse.`,gve=()=>`The agent performed some actions but did not return a response.`,_ve=((e={},t={})=>(t.locale??$())===`fr`?hve(e):gve(e)),vve=()=>`Endpoint manquant`,yve=()=>`Endpoint missing`,bve=((e={},t={})=>(t.locale??$())===`fr`?vve(e):yve(e)),xve=()=>`Exportez les traces d'Atrium vers n'importe quel backend OpenTelemetry/OTLP (Grafana Tempo, Jaeger, Datadog, un collecteur OTEL). Tout se configure ici — aucune variable d'environnement.`,Sve=()=>`Export Atrium's traces to any OpenTelemetry/OTLP backend (Grafana Tempo, Jaeger, Datadog, an OTEL collector). Everything is configured here — no env vars.`,Cve=((e={},t={})=>(t.locale??$())===`fr`?xve(e):Sve(e)),wve=()=>`Endpoint OTLP/HTTP (traces)`,Tve=()=>`OTLP/HTTP endpoint (traces)`,Eve=((e={},t={})=>(t.locale??$())===`fr`?wve(e):Tve(e)),Dve=()=>`En-têtes d'authentification (JSON)`,Ove=()=>`Auth headers (JSON)`,kve=((e={},t={})=>(t.locale??$())===`fr`?Dve(e):Ove(e)),Ave=()=>`Configurés (chiffrés) — laisser vide pour conserver`,jve=()=>`Set (encrypted) — leave blank to keep`,Mve=((e={},t={})=>(t.locale??$())===`fr`?Ave(e):jve(e)),Nve=()=>`Objet JSON, ex. Authorization = Bearer ...`,Pve=()=>`JSON object, e.g. Authorization = Bearer ...`,Fve=((e={},t={})=>(t.locale??$())===`fr`?Nve(e):Pve(e)),Ive=()=>`Enregistrer les en-têtes`,Lve=()=>`Save headers`,Rve=((e={},t={})=>(t.locale??$())===`fr`?Ive(e):Lve(e)),zve=()=>`Effacer`,Bve=()=>`Clear`,Vve=((e={},t={})=>(t.locale??$())===`fr`?zve(e):Bve(e)),Hve=()=>`L'authentification va dans les en-têtes, jamais dans l'URL. Les en-têtes sont chiffrés au repos.`,Uve=()=>`Auth goes in the headers, never in the URL. Headers are encrypted at rest.`,Wve=((e={},t={})=>(t.locale??$())===`fr`?Hve(e):Uve(e)),Gve=()=>`Rapports sous-agents`,Kve=()=>`Sub-agent reports`,qve=((e={},t={})=>(t.locale??$())===`fr`?Gve(e):Kve(e)),Jve=()=>`Échec signalé`,Yve=()=>`Failure reported`,Xve=((e={},t={})=>(t.locale??$())===`fr`?Jve(e):Yve(e)),Zve=()=>`Signaler un échec de sous-agent`,Qve=()=>`Report a sub-agent failure`,$ve=((e={},t={})=>(t.locale??$())===`fr`?Zve(e):Qve(e)),eye=e=>`Fige un instantané de « ${e?.label} » et de son contexte pour qu'un administrateur puisse analyser ce qui a échoué.`,tye=e=>`Freeze a snapshot of "${e?.label}" and its context so an administrator can analyze what went wrong.`,nye=((e,t={})=>(t.locale??$())===`fr`?eye(e):tye(e)),rye=()=>`Votre signalement a été envoyé.`,iye=()=>`Your report has been sent.`,aye=((e={},t={})=>(t.locale??$())===`fr`?rye(e):iye(e)),oye=()=>`Instantané figé — un administrateur peut désormais analyser cet échec.`,sye=()=>`Snapshot frozen — an administrator can now analyze this failure.`,cye=((e={},t={})=>(t.locale??$())===`fr`?oye(e):sye(e)),lye=()=>`Qu'est-ce qui a échoué ?`,uye=()=>`What went wrong?`,dye=((e={},t={})=>(t.locale??$())===`fr`?lye(e):uye(e)),fye=()=>`Choisir une raison (facultatif)`,pye=()=>`Pick a reason (optional)`,mye=((e={},t={})=>(t.locale??$())===`fr`?fye(e):pye(e)),hye=()=>`Il est resté bloqué / n'a jamais terminé`,gye=()=>`It hung / never finished`,_ye=((e={},t={})=>(t.locale??$())===`fr`?hye(e):gye(e)),vye=()=>`Il a terminé mais le résultat était faux`,yye=()=>`It finished but the result was wrong`,bye=((e={},t={})=>(t.locale??$())===`fr`?vye(e):yye(e)),xye=()=>`Il a échoué avec une erreur`,Sye=()=>`It failed with an error`,Cye=((e={},t={})=>(t.locale??$())===`fr`?xye(e):Sye(e)),wye=()=>`Autre`,Tye=()=>`Other`,Eye=((e={},t={})=>(t.locale??$())===`fr`?wye(e):Tye(e)),Dye=()=>`Commentaire (facultatif)`,Oye=()=>`Comment (optional)`,kye=((e={},t={})=>(t.locale??$())===`fr`?Dye(e):Oye(e)),Aye=()=>`Ajoutez tout détail utile au diagnostic…`,jye=()=>`Add any detail that could help debug this…`,Mye=((e={},t={})=>(t.locale??$())===`fr`?Aye(e):jye(e)),Nye=()=>`Annuler`,Pye=()=>`Cancel`,Fye=((e={},t={})=>(t.locale??$())===`fr`?Nye(e):Pye(e)),Iye=()=>`Envoyer le signalement`,Lye=()=>`Send report`,Rye=((e={},t={})=>(t.locale??$())===`fr`?Iye(e):Lye(e)),zye=()=>`Envoi…`,Bye=()=>`Sending…`,Vye=((e={},t={})=>(t.locale??$())===`fr`?zye(e):Bye(e)),Hye=()=>`Fermer`,Uye=()=>`Close`,Wye=((e={},t={})=>(t.locale??$())===`fr`?Hye(e):Uye(e)),Gye=()=>`Signalements d'échecs de sous-agents`,Kye=()=>`Sub-agent failure reports`,qye=((e={},t={})=>(t.locale??$())===`fr`?Gye(e):Kye(e)),Jye=()=>`Aucun signalement d'échec de sous-agent.`,Yye=()=>`No sub-agent failure reports.`,Xye=((e={},t={})=>(t.locale??$())===`fr`?Jye(e):Yye(e)),Zye=()=>`La liste n'affiche que des métadonnées. Ouvrir le détail d'un signalement lit l'instantané figé et est`,Qye=()=>`The list shows metadata only. Opening a report's detail reads the frozen snapshot and is`,$ye=((e={},t={})=>(t.locale??$())===`fr`?Zye(e):Qye(e)),ebe=()=>`audité`,tbe=()=>`audited`,nbe=((e={},t={})=>(t.locale??$())===`fr`?ebe(e):tbe(e)),rbe=()=>`comme un accès au contenu d'un autre utilisateur. La contrepartie sans contenu de chaque signalement est dans l'onglet Anomalies.`,ibe=()=>`as a cross-user content access. The content-free counterpart of each report is in the Anomalies tab.`,abe=((e={},t={})=>(t.locale??$())===`fr`?rbe(e):ibe(e)),obe=()=>`Quand`,sbe=()=>`When`,cbe=((e={},t={})=>(t.locale??$())===`fr`?obe(e):sbe(e)),lbe=()=>`Raison`,ube=()=>`Reason`,dbe=((e={},t={})=>(t.locale??$())===`fr`?lbe(e):ube(e)),fbe=()=>`En échec`,pbe=()=>`Failed`,mbe=((e={},t={})=>(t.locale??$())===`fr`?fbe(e):pbe(e)),hbe=()=>`Auteur`,gbe=()=>`Reporter`,_be=((e={},t={})=>(t.locale??$())===`fr`?hbe(e):gbe(e)),vbe=()=>`Note`,ybe=()=>`Note`,bbe=((e={},t={})=>(t.locale??$())===`fr`?vbe(e):ybe(e)),xbe=()=>`Statut`,Sbe=()=>`Status`,Cbe=((e={},t={})=>(t.locale??$())===`fr`?xbe(e):Sbe(e)),wbe=e=>`(via ${e?.operator})`,Tbe=e=>`(via ${e?.operator})`,Ebe=((e,t={})=>(t.locale??$())===`fr`?wbe(e):Tbe(e)),Dbe=()=>`Répondu`,Obe=()=>`Answered`,kbe=((e={},t={})=>(t.locale??$())===`fr`?Dbe(e):Obe(e)),Abe=()=>`En attente`,jbe=()=>`Pending`,Mbe=((e={},t={})=>(t.locale??$())===`fr`?Abe(e):jbe(e)),Nbe=()=>`Voir le détail`,Pbe=()=>`View detail`,Fbe=((e={},t={})=>(t.locale??$())===`fr`?Nbe(e):Pbe(e)),Ibe=()=>`Masquer le détail`,Lbe=()=>`Hide detail`,Rbe=((e={},t={})=>(t.locale??$())===`fr`?Ibe(e):Lbe(e)),zbe=()=>`Supprimer`,Bbe=()=>`Delete`,Vbe=((e={},t={})=>(t.locale??$())===`fr`?zbe(e):Bbe(e)),Hbe=()=>`Bloqué / jamais terminé`,Ube=()=>`Hung / never finished`,Wbe=((e={},t={})=>(t.locale??$())===`fr`?Hbe(e):Ube(e)),Gbe=()=>`Résultat faux`,Kbe=()=>`Wrong result`,qbe=((e={},t={})=>(t.locale??$())===`fr`?Gbe(e):Kbe(e)),Jbe=()=>`Échec avec erreur`,Ybe=()=>`Failed with an error`,Xbe=((e={},t={})=>(t.locale??$())===`fr`?Jbe(e):Ybe(e)),Zbe=()=>`Autre`,Qbe=()=>`Other`,$be=((e={},t={})=>(t.locale??$())===`fr`?Zbe(e):Qbe(e)),exe=e=>`${e?.failed}/${e?.total} en échec`,txe=e=>`${e?.failed}/${e?.total} failed`,nxe=((e,t={})=>(t.locale??$())===`fr`?exe(e):txe(e)),rxe=()=>`Commentaire de l'auteur`,ixe=()=>`Reporter comment`,axe=((e={},t={})=>(t.locale??$())===`fr`?rxe(e):ixe(e)),oxe=()=>`Échange`,sxe=()=>`Exchange`,cxe=((e={},t={})=>(t.locale??$())===`fr`?oxe(e):sxe(e)),lxe=()=>`Administrateur`,uxe=()=>`Administrator`,dxe=((e={},t={})=>(t.locale??$())===`fr`?lxe(e):uxe(e)),fxe=()=>`Utilisateur`,pxe=()=>`User`,mxe=((e={},t={})=>(t.locale??$())===`fr`?fxe(e):pxe(e)),hxe=()=>`Aucune réponse envoyée pour l'instant.`,gxe=()=>`No reply sent yet.`,_xe=((e={},t={})=>(t.locale??$())===`fr`?hxe(e):gxe(e)),vxe=()=>`Répondre à l'auteur…`,yxe=()=>`Reply to the reporter…`,bxe=((e={},t={})=>(t.locale??$())===`fr`?vxe(e):yxe(e)),xxe=()=>`Répondre`,Sxe=()=>`Reply`,Cxe=((e={},t={})=>(t.locale??$())===`fr`?xxe(e):Sxe(e)),wxe=()=>`Envoi…`,Txe=()=>`Sending…`,Exe=((e={},t={})=>(t.locale??$())===`fr`?wxe(e):Txe(e)),Dxe=e=>`Sous-agents capturés (${e?.count})`,Oxe=e=>`Captured sub-agents (${e?.count})`,kxe=((e,t={})=>(t.locale??$())===`fr`?Dxe(e):Oxe(e)),Axe=()=>`(tronqué)`,jxe=()=>`(truncated)`,Mxe=((e={},t={})=>(t.locale??$())===`fr`?Axe(e):jxe(e)),Nxe=()=>`(texte tronqué pour tenir)`,Pxe=()=>`(text clipped to fit)`,Fxe=((e={},t={})=>(t.locale??$())===`fr`?Nxe(e):Pxe(e)),Ixe=()=>`signalé`,Lxe=()=>`flagged`,Rxe=((e={},t={})=>(t.locale??$())===`fr`?Ixe(e):Lxe(e)),zxe=()=>`Tour de lancement`,Bxe=()=>`Spawning turn`,Vxe=((e={},t={})=>(t.locale??$())===`fr`?zxe(e):Bxe(e)),Hxe=()=>`Contexte`,Uxe=()=>`Context`,Wxe=((e={},t={})=>(t.locale??$())===`fr`?Hxe(e):Uxe(e)),Gxe=()=>`Supprimer ce signalement ?`,Kxe=()=>`Delete this report?`,qxe=((e={},t={})=>(t.locale??$())===`fr`?Gxe(e):Kxe(e)),Jxe=()=>`L'instantané figé sera supprimé définitivement. Cette action est irréversible.`,Yxe=()=>`The frozen snapshot will be permanently removed. This cannot be undone.`,Xxe=((e={},t={})=>(t.locale??$())===`fr`?Jxe(e):Yxe(e)),Zxe=()=>`Supprimer`,Qxe=()=>`Delete`,$xe=((e={},t={})=>(t.locale??$())===`fr`?Zxe(e):Qxe(e)),eSe=()=>`Exporter la charte (.json)`,tSe=()=>`Export chart (.json)`,nSe=((e={},t={})=>(t.locale??$())===`fr`?eSe(e):tSe(e)),rSe=()=>`Pulsations cardiaques (BPM)`,iSe=()=>`Heartbeat — pulse (BPM)`,aSe=((e={},t={})=>(t.locale??$())===`fr`?rSe(e):iSe(e)),oSe=()=>`Statique`,sSe=()=>`Static`,cSe=((e={},t={})=>(t.locale??$())===`fr`?oSe(e):sSe(e)),lSe=()=>`0 = aucun mouvement. Sinon l'aura ambiante de la charte bat à ce rythme (effets ambiants requis).`,uSe=()=>`0 = no motion. Otherwise the chart's ambient aura beats at this tempo (requires ambient effects on).`,dSe=((e={},t={})=>(t.locale??$())===`fr`?lSe(e):uSe(e));function fSe(...e){return a(r(e))}var Q9=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,$9=r,pSe=(e,t)=>n=>{if(t?.variants==null)return $9(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Q9(t)||Q9(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return $9(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};export{Cye as $,ym as $C,Ir as $E,y_ as $S,vc as $T,yM as $_,Cie as $a,yC as $b,v6 as $c,vX as $d,yq as $f,yF as $g,yR as $h,Cse as $i,v2 as $l,yV as $m,Cpe as $n,Cte as $o,yW as $p,Cue as $r,v7 as $s,Cge as $t,v$ as $u,yk as $v,vd as $w,yb as $x,yE as $y,Rbe as A,Ph as AC,Fe as AD,No as AE,Pv as AS,Nl as AT,PN as A_,Rae as Aa,Pw as Ab,N8 as Ac,NZ as Ad,PJ as Af,PI as Ag,Pz as Ah,Rce as Ai,N4 as Al,PH as Am,Rme as An,Rne as Ao,PG as Ap,Rde as Ar,N9 as As,R_e as At,N1 as Au,PA as Av,Pf as Aw,Px as Ax,PD as Ay,cbe as B,ih as BC,no as BE,iv as BS,rl as BT,iN as B_,cae as Ba,iw as Bb,r8 as Bc,rZ as Bd,iJ as Bf,iI as Bg,iz as Bh,cce as Bi,r4 as Bl,iH as Bm,cme as Bn,cne as Bo,iG as Bp,cde as Br,r9 as Bs,c_e as Bt,r1 as Bu,iA as Bv,rf as Bw,ix as Bx,iD as By,axe as C,tg as CC,En as CD,es as CE,ty as CS,eu as CT,tP as C_,aoe as Ca,tT as Cb,e5 as Cc,eQ as Cd,tY as Cf,tL as Cg,tB as Ch,ale as Ci,e3 as Cl,tU as Cm,ahe as Cn,are as Co,tK as Cp,afe as Cr,aee as Cs,ave as Ct,e0 as Cu,tj as Cv,tp as Cw,tS as Cx,tO as Cy,qbe as D,Uh as DC,Qe as DD,Ho as DE,Uv as DS,Hl as DT,UN as D_,qae as Da,Uw as Db,H8 as Dc,HZ as Dd,UJ as Df,UI as Dg,Uz as Dh,qce as Di,H4 as Dl,UH as Dm,qme as Dn,qne as Do,UG as Dp,qde as Dr,H9 as Ds,q_e as Dt,H1 as Du,UA as Dv,Uf as Dw,Ux as Dx,UD as Dy,Xbe as E,Kh as EC,Ze as ED,Go as EE,Kv as ES,Gl as ET,KN as E_,Xae as Ea,Kw as Eb,G8 as Ec,GZ as Ed,KJ as Ef,KI as Eg,Kz as Eh,Xce as Ei,G4 as El,KH as Em,Xme as En,Xne as Eo,KG as Ep,Xde as Er,G9 as Es,X_e as Et,G1 as Eu,KA as Ev,Kf as Ew,Kx as Ex,KD as Ey,Cbe as F,yh as FC,vo as FE,yv as FS,vl as FT,yN as F_,Cae as Fa,yw as Fb,v8 as Fc,vZ as Fd,yJ as Ff,yI as Fg,yz as Fh,Cce as Fi,v4 as Fl,yH as Fm,Cme as Fn,Cne as Fo,yG as Fp,Cde as Fr,v9 as Fs,C_e as Ft,v1 as Fu,yA as Fv,yf as Fw,yx as Fx,yD as Fy,qye as G,Um as GC,$ as GE,U_ as GS,Hc as GT,UM as G_,qie as Ga,UC as Gb,H6 as Gc,HX as Gd,Uq as Gf,UF as Gg,UR as Gh,qse as Gi,H2 as Gl,UV as Gm,qpe as Gn,qte as Go,UW as Gp,que as Gr,H7 as Gs,qge as Gt,H$ as Gu,Uk as Gv,Hd as Gw,Ub as Gx,UE as Gy,nbe as H,Qm as HC,Xa as HE,Q_ as HS,Zc as HT,QM as H_,nae as Ha,QC as Hb,Z6 as Hc,ZX as Hd,Qq as Hf,QF as Hg,QR as Hh,nce as Hi,Z2 as Hl,QV as Hm,nme as Hn,nne as Ho,QW as Hp,nde as Hr,Z7 as Hs,n_e as Ht,Z$ as Hu,Qk as Hv,Zd as Hw,Qb as Hx,QE as Hy,bbe as I,gh as IC,ho as IE,gv as IS,hl as IT,gN as I_,bae as Ia,gw as Ib,h8 as Ic,hZ as Id,gJ as If,gI as Ig,gz as Ih,bce as Ii,h4 as Il,gH as Im,bme as In,bne as Io,gG as Ip,bde as Ir,h9 as Is,b_e as It,h1 as Iu,gA as Iv,gf as Iw,gx as Ix,gD as Iy,Rye as J,Pm as JC,Sa as JE,P_ as JS,Nc as JT,PM as J_,Rie as Ja,PC as Jb,N6 as Jc,NX as Jd,Pq as Jf,PF as Jg,PR as Jh,Rse as Ji,N2 as Jl,PV as Jm,Rpe as Jn,Rte as Jo,PW as Jp,Rue as Jr,N7 as Js,Rge as Jt,N$ as Ju,Pk as Jv,Nd as Jw,Pb as Jx,PE as Jy,Wye as K,Bm as KC,La as KE,B_ as KS,zc as KT,BM as K_,Wie as Ka,BC as Kb,z6 as Kc,zX as Kd,Bq as Kf,BF as Kg,BR as Kh,Wse as Ki,z2 as Kl,BV as Km,Wpe as Kn,Wte as Ko,BW as Kp,Wue as Kr,z7 as Ks,Wge as Kt,z$ as Ku,Bk as Kv,zd as Kw,Bb as Kx,BE as Ky,_be as L,ph as LC,fo as LE,pv as LS,fl as LT,pN as L_,_ae as La,pw as Lb,f8 as Lc,fZ as Ld,pJ as Lf,pI as Lg,pz as Lh,_ce as Li,f4 as Ll,pH as Lm,_me as Ln,_ne as Lo,pG as Lp,_de as Lr,f9 as Ls,__e as Lt,f1 as Lu,pA as Lv,pf as Lw,px as Lx,pD as Ly,Mbe as M,Oh as MC,x as MD,Do as ME,Ov as MS,Dl as MT,ON as M_,Mae as Ma,Ow as Mb,D8 as Mc,DZ as Md,OJ as Mf,OI as Mg,Oz as Mh,Mce as Mi,D4 as Ml,OH as Mm,Mme as Mn,Mne as Mo,OG as Mp,Mde as Mr,D9 as Ms,M_e as Mt,D1 as Mu,OA as Mv,Of as Mw,Ox as Mx,OD as My,kbe as N,Th as NC,v as ND,wo as NE,Tv as NS,wl as NT,TN as N_,kae as Na,Tw as Nb,w8 as Nc,wZ as Nd,TJ as Nf,TI as Ng,Tz as Nh,kce as Ni,w4 as Nl,TH as Nm,kme as Nn,kne as No,TG as Np,kde as Nr,w9 as Ns,k_e as Nt,w1 as Nu,TA as Nv,Tf as Nw,Tx as Nx,TD as Ny,Wbe as O,Bh as OC,Ue as OD,zo as OE,Bv as OS,zl as OT,BN as O_,Wae as Oa,Bw as Ob,z8 as Oc,zZ as Od,BJ as Of,BI as Og,Bz as Oh,Wce as Oi,z4 as Ol,BH as Om,Wme as On,Wne as Oo,BG as Op,Wde as Or,z9 as Os,W_e as Ot,z1 as Ou,BA as Ov,Bf as Ow,Bx as Ox,BD as Oy,Ebe as P,Sh as PC,ee as PD,xo as PE,Sv as PS,xl as PT,SN as P_,Eae as Pa,Sw as Pb,x8 as Pc,xZ as Pd,SJ as Pf,SI as Pg,Sz as Ph,Ece as Pi,x4 as Pl,SH as Pm,Eme as Pn,Ene as Po,SG as Pp,Ede as Pr,x9 as Ps,E_e as Pt,x1 as Pu,SA as Pv,Sf as Pw,Sx as Px,SD as Py,Eye as Q,Sm as QC,qr as QE,S_ as QS,xc as QT,SM as Q_,Eie as Qa,SC as Qb,x6 as Qc,xX as Qd,Sq as Qf,SF as Qg,SR as Qh,Ese as Qi,x2 as Ql,SV as Qm,Epe as Qn,Ete as Qo,SW as Qp,Eue as Qr,x7 as Qs,Ege as Qt,x$ as Qu,Sk as Qv,xd as Qw,Sb as Qx,SE as Qy,mbe as R,uh as RC,co as RE,uv as RS,ll as RT,uN as R_,mae as Ra,uw as Rb,l8 as Rc,lZ as Rd,uJ as Rf,uI as Rg,uz as Rh,mce as Ri,l4 as Rl,uH as Rm,mme as Rn,mne as Ro,uG as Rp,mde as Rr,l9 as Rs,m_e as Rt,l1 as Ru,uA as Rv,uf as Rw,ux as Rx,uD as Ry,cxe as S,ig as SC,Dn as SD,rs as SE,iy as SS,ru as ST,iP as S_,coe as Sa,iT as Sb,r5 as Sc,rQ as Sd,iY as Sf,iL as Sg,iB as Sh,cle as Si,r3 as Sl,iU as Sm,che as Sn,cre as So,iK as Sp,cfe as Sr,cee as Ss,cve as St,r0 as Su,ij as Sv,ip as Sw,iS as Sx,iO as Sy,$be as T,Yh as TC,Xe as TD,Jo as TE,Yv as TS,Jl as TT,YN as T_,$ae as Ta,Yw as Tb,J8 as Tc,JZ as Td,YJ as Tf,YI as Tg,Yz as Th,$ce as Ti,J4 as Tl,YH as Tm,$me as Tn,$ne as To,YG as Tp,$de as Tr,J9 as Ts,$_e as Tt,J1 as Tu,YA as Tv,Yf as Tw,Yx as Tx,YD as Ty,$ye as U,Ym as UC,qa as UE,Y_ as US,Jc as UT,YM as U_,$ie as Ua,YC as Ub,J6 as Uc,JX as Ud,Yq as Uf,YF as Ug,YR as Uh,$se as Ui,J2 as Ul,YV as Um,$pe as Un,$te as Uo,YW as Up,$ue as Ur,J7 as Us,$ge as Ut,J$ as Uu,Yk as Uv,Jd as Uw,Yb as Ux,YE as Uy,abe as V,th as VC,$a as VE,tv as VS,el as VT,tN as V_,aae as Va,tw as Vb,e8 as Vc,eZ as Vd,tJ as Vf,tI as Vg,tz as Vh,ace as Vi,e4 as Vl,tH as Vm,ame as Vn,ane as Vo,tG as Vp,ade as Vr,e9 as Vs,a_e as Vt,e1 as Vu,tA as Vv,ef as Vw,tx as Vx,tD as Vy,Xye as W,Km as WC,Wa as WE,K_ as WS,Gc as WT,KM as W_,Xie as Wa,KC as Wb,G6 as Wc,GX as Wd,Kq as Wf,KF as Wg,KR as Wh,Xse as Wi,G2 as Wl,KV as Wm,Xpe as Wn,Xte as Wo,KW as Wp,Xue as Wr,G7 as Ws,Xge as Wt,G$ as Wu,Kk as Wv,Gd as Ww,Kb as Wx,KE as Wy,Mye as X,Om as XC,ci as XE,O_ as XS,Dc as XT,OM as X_,Mie as Xa,OC as Xb,D6 as Xc,DX as Xd,Oq as Xf,OF as Xg,OR as Xh,Mse as Xi,D2 as Xl,OV as Xm,Mpe as Xn,Mte as Xo,OW as Xp,Mue as Xr,D7 as Xs,Mge as Xt,D$ as Xu,Ok as Xv,Dd as Xw,Ob as Xx,OE as Xy,Fye as Y,jm as YC,ma as YE,j_ as YS,Ac as YT,jM as Y_,Fie as Ya,jC as Yb,A6 as Yc,AX as Yd,jq as Yf,jF as Yg,jR as Yh,Fse as Yi,A2 as Yl,jV as Ym,Fpe as Yn,Fte as Yo,jW as Yp,Fue as Yr,A7 as Ys,Fge as Yt,A$ as Yu,jk as Yv,Ad as Yw,jb as Yx,jE as Yy,kye as Z,Tm as ZC,ai as ZE,T_ as ZS,wc as ZT,TM as Z_,kie as Za,TC as Zb,w6 as Zc,wX as Zd,Tq as Zf,TF as Zg,TR as Zh,kse as Zi,w2 as Zl,TV as Zm,kpe as Zn,kte as Zo,TW as Zp,kue as Zr,w7 as Zs,kge as Zt,w$ as Zu,Tk as Zv,wd as Zw,Tb as Zx,TE as Zy,Cxe as _,yg as _C,Un as _D,vs as _E,yy as _S,vu as _T,yP as __,Coe as _a,yT as _b,v5 as _c,vQ as _d,yY as _f,yL as _g,yB as _h,Cle as _i,v3 as _l,yU as _m,Che as _n,Cre as _o,yK as _p,Cfe as _r,Cee as _s,Cve as _t,v0 as _u,yj as _v,yp as _w,yS as _x,yO as _y,aSe as a,t_ as aC,mr as aD,ec as aE,tb as aS,ed as aT,tF as a_,ase as aa,tE as ab,e7 as ac,e$ as ad,tX as af,tR as ag,tV as ah,aue as ai,e6 as al,tW as am,age as an,aie as ao,tq as ap,ape as ar,ate as as,aye as at,e2 as au,tM as av,tm as aw,tC as ax,tk as ay,mxe as b,ug as bC,On as bD,ls as bE,uy as bS,lu as bT,uP as b_,moe as ba,uT as bb,l5 as bc,lQ as bd,uY as bf,uL as bg,uB as bh,mle as bi,l3 as bl,uU as bm,mhe as bn,mre as bo,uK as bp,mfe as br,mee as bs,mve as bt,l0 as bu,uj as bv,up as bw,uS as bx,uO as by,Xxe as c,Kg as cC,dr as cD,Gs as cE,Ky as cS,Gu as cT,KP as c_,Xoe as ca,KT as cb,G5 as cc,GQ as cd,KY as cf,KL as cg,KB as ch,Xle as ci,G3 as cl,KU as cm,Xhe as cn,Xre as co,KK as cp,Xfe as cr,Xee as cs,Xve as ct,G0 as cu,Kj as cv,Kp as cw,KS as cx,KO as cy,Vxe as d,Lg as dC,Zn as dD,Is as dE,Ly as dS,Iu as dT,LP as d_,Voe as da,LT as db,I5 as dc,IQ as dd,LY as df,LL as dg,LB as dh,Vle as di,I3 as dl,LU as dm,Vhe as dn,Vre as do,LK as dp,Vfe as dr,Vee as ds,Vve as dt,I0 as du,Lj as dv,Lp as dw,LS as dx,LO as dy,g_ as eC,kr as eD,hc as eE,gb as eS,hd as eT,gF as e_,bse as ea,gE as eb,h7 as ec,h$ as ed,hX as ef,gR as eg,gV as eh,bue as ei,h6 as el,gW as em,bge as en,bie as eo,gq as ep,bpe as er,bte as es,bye as et,h2 as eu,gM as ev,gm as ew,gC as ex,gk as ey,Rxe as f,Pg as fC,Xn as fD,Ns as fE,Py as fS,Nu as fT,PP as f_,Roe as fa,PT as fb,N5 as fc,NQ as fd,PY as ff,PL as fg,PB as fh,Rle as fi,N3 as fl,PU as fm,Rhe as fn,Rre as fo,PK as fp,Rfe as fr,Ree as fs,Rve as ft,N0 as fu,Pj as fv,Pp as fw,PS as fx,PO as fy,Exe as g,Sg as gC,Kn as gD,xs as gE,Sy as gS,xu as gT,SP as g_,Eoe as ga,ST as gb,x5 as gc,xQ as gd,SY as gf,SL as gg,SB as gh,Ele as gi,x3 as gl,SU as gm,Ehe as gn,Ere as go,SK as gp,Efe as gr,Eee as gs,Eve as gt,x0 as gu,Sj as gv,Sp as gw,SS as gx,SO as gy,kxe as h,Tg as hC,U as hD,ws as hE,Ty as hS,wu as hT,TP as h_,koe as ha,TT as hb,w5 as hc,wQ as hd,TY as hf,TL as hg,TB as hh,kle as hi,w3 as hl,TU as hm,khe as hn,kre as ho,TK as hp,kfe as hr,kee as hs,kve as ht,w0 as hu,Tj as hv,Tp as hw,TS as hx,TO as hy,cSe as i,i_ as iC,pr as iD,rc as iE,ib as iS,rd as iT,iF as i_,cse as ia,iE as ib,r7 as ic,r$ as id,iX as if,iR as ig,iV as ih,cue as ii,r6 as il,iW as im,cge as in,cie as io,iq as ip,cpe as ir,cte as is,cye as it,r2 as iu,iM as iv,im as iw,iC as ix,ik as iy,Fbe as j,jh as jC,C as jD,Ao as jE,jv as jS,Al as jT,jN as j_,Fae as ja,jw as jb,A8 as jc,AZ as jd,jJ as jf,jI as jg,jz as jh,Fce as ji,A4 as jl,jH as jm,Fme as jn,Fne as jo,jG as jp,Fde as jr,A9 as js,F_e as jt,A1 as ju,jA as jv,jf as jw,jx,jD as jy,Vbe as k,Lh as kC,He as kD,Io as kE,Lv as kS,Il as kT,LN as k_,Vae as ka,Lw as kb,I8 as kc,IZ as kd,LJ as kf,LI as kg,Lz as kh,Vce as ki,I4 as kl,LH as km,Vme as kn,Vne as ko,LG as kp,Vde as kr,I9 as ks,V_e as kt,I1 as ku,LA as kv,Lf as kw,Lx as kx,LD as ky,qxe as l,Ug as lC,W as lD,Hs as lE,Uy as lS,Hu as lT,UP as l_,qoe as la,UT as lb,H5 as lc,HQ as ld,UY as lf,UL as lg,UB as lh,qle as li,H3 as ll,UU as lm,qhe as ln,qre as lo,UK as lp,qfe as lr,qee as ls,qve as lt,H0 as lu,Uj as lv,Up as lw,US as lx,UO as ly,Mxe as m,Og as mC,Yn as mD,Ds as mE,Oy as mS,Du as mT,OP as m_,Moe as ma,OT as mb,D5 as mc,DQ as md,OY as mf,OL as mg,OB as mh,Mle as mi,D3 as ml,OU as mm,Mhe as mn,Mre as mo,OK as mp,Mfe as mr,Mee as ms,Mve as mt,D0 as mu,Oj as mv,Op as mw,OS as mx,OO as my,fSe as n,u_ as nC,_r as nD,lc as nE,ub as nS,ld as nT,uF as n_,mse as na,uE as nb,l7 as nc,l$ as nd,lX as nf,uR as ng,uV as nh,mue as ni,l6 as nl,uW as nm,mge as nn,mie as no,uq as np,mpe as nr,mte as ns,mye as nt,l2 as nu,uM as nv,um as nw,uC as nx,uk as ny,nSe as o,Qg as oC,fr as oD,Zs as oE,Qy as oS,Zu as oT,QP as o_,nse as oa,QT as ob,Z5 as oc,ZQ as od,QY as of,QL as og,QB as oh,nue as oi,Z3 as ol,QU as om,nge as on,nie as oo,QK as op,npe as or,nte as os,nye as ot,Z0 as ou,Qj as ov,Qp as ow,QS as ox,QO as oy,Fxe as p,jg as pC,$n as pD,As as pE,jy as pS,Au as pT,jP as p_,Foe as pa,jT as pb,A5 as pc,AQ as pd,jY as pf,jL as pg,jB as ph,Fle as pi,A3 as pl,jU as pm,Fhe as pn,Fre as po,jK as pp,Ffe as pr,Fee as ps,Fve as pt,A0 as pu,jj as pv,jp as pw,jS as px,jO as py,Vye as q,Lm as qC,Ca as qE,L_ as qS,Ic as qT,LM as q_,Vie as qa,LC as qb,I6 as qc,IX as qd,Lq as qf,LF as qg,LR as qh,Vse as qi,I2 as ql,LV as qm,Vpe as qn,Vte as qo,LW as qp,Vue as qr,I7 as qs,Vge as qt,I$ as qu,Lk as qv,Id as qw,Lb as qx,LE as qy,dSe as r,s_ as rC,K as rD,oc as rE,sb as rS,od as rT,sF as r_,dse as ra,sE as rb,o7 as rc,o$ as rd,nee as rf,sR as rg,sV as rh,due as ri,o6 as rl,sW as rm,dge as rn,die as ro,sq as rp,dpe as rr,dte as rs,dye as rt,o2 as ru,sM as rv,sm as rw,sC as rx,sk as ry,$xe as s,Yg as sC,G as sD,Js as sE,Yy as sS,Ju as sT,YP as s_,$oe as sa,YT as sb,J5 as sc,JQ as sd,YY as sf,YL as sg,YB as sh,$le as si,J3 as sl,YU as sm,$he as sn,$re as so,YK as sp,$fe as sr,$ee as ss,$ve as st,J0 as su,Yj as sv,Yp as sw,YS as sx,YO as sy,pSe as t,p_ as tC,xr as tD,fc as tE,pb as tS,fd as tT,pF as t_,_se as ta,pE as tb,f7 as tc,f$ as td,fX as tf,pR as tg,pV as th,_ue as ti,f6 as tl,pW as tm,_ge as tn,_ie as to,pq as tp,_pe as tr,_te as ts,_ye as tt,f2 as tu,pM as tv,pm as tw,pC as tx,pk as ty,Wxe as u,Bg as uC,ur as uD,zs as uE,By as uS,zu as uT,BP as u_,Woe as ua,BT as ub,z5 as uc,zQ as ud,BY as uf,BL as ug,BB as uh,Wle as ui,z3 as ul,BU as um,Whe as un,Wre as uo,BK as up,Wfe as ur,Wee as us,Wve as ut,z0 as uu,Bj as uv,Bp as uw,BS as ux,BO as uy,bxe as v,gg as vC,Tn as vD,hs as vE,gy as vS,hu as vT,gP as v_,boe as va,gT as vb,h5 as vc,hQ as vd,gY as vf,gL as vg,gB as vh,ble as vi,h3 as vl,gU as vm,bhe as vn,bre as vo,gK as vp,bfe as vr,bee as vs,bve as vt,h0 as vu,gj as vv,gp as vw,gS as vx,gO as vy,nxe as w,Qh as wC,N as wD,Zo as wE,Qv as wS,Zl as wT,QN as w_,noe as wa,Qw as wb,Z8 as wc,ZZ as wd,QJ as wf,QI as wg,Qz as wh,nle as wi,Z4 as wl,QH as wm,nhe as wn,nre as wo,QG as wp,nfe as wr,Z9 as ws,nve as wt,Z1 as wu,QA as wv,Qf as ww,Qx as wx,QD as wy,dxe as x,sg as xC,wn as xD,os as xE,sy as xS,ou as xT,sP as x_,doe as xa,sT as xb,o5 as xc,oQ as xd,sY as xf,sL as xg,sB as xh,dle as xi,o3 as xl,sU as xm,dhe as xn,dre as xo,sK as xp,dfe as xr,dee as xs,dve as xt,o0 as xu,sj as xv,sp as xw,sS as xx,sO as xy,_xe as y,pg as yC,Sn as yD,fs as yE,py as yS,fu as yT,pP as y_,_oe as ya,pT as yb,f5 as yc,fQ as yd,pY as yf,pL as yg,pB as yh,_le as yi,f3 as yl,pU as ym,_he as yn,_re as yo,pK as yp,_fe as yr,_ee as ys,_ve as yt,f0 as yu,pj as yv,pp as yw,pS as yx,pO as yy,dbe as z,sh as zC,ao as zE,sv as zS,ol as zT,sN as z_,dae as za,sw as zb,o8 as zc,oZ as zd,sJ as zf,sI as zg,sz as zh,dce as zi,o4 as zl,sH as zm,dme as zn,dne as zo,sG as zp,dde as zr,o9 as zs,d_e as zt,o1 as zu,sA as zv,sf as zw,sx as zx,sD as zy};
|