@mondaydotcomorg/agent-toolkit 5.5.0 → 5.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core/index.js +6 -6
- package/dist/cjs/core/index.js.map +1 -1
- package/dist/cjs/mcp/index.js +6 -6
- package/dist/cjs/mcp/index.js.map +1 -1
- package/dist/cjs/openai/index.js +6 -6
- package/dist/cjs/openai/index.js.map +1 -1
- package/dist/esm/core/index.js +6 -6
- package/dist/esm/core/index.js.map +1 -1
- package/dist/esm/mcp/index.js +6 -6
- package/dist/esm/mcp/index.js.map +1 -1
- package/dist/esm/openai/index.js +6 -6
- package/dist/esm/openai/index.js.map +1 -1
- package/package.json +2 -2
package/dist/cjs/mcp/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("zod"),t=require("zod-to-json-schema"),a=require("@mondaydotcomorg/api"),r=require("axios"),i=require("crypto"),o=require("https"),n=require("jsonwebtoken"),s=require("stream"),d=require("http"),p=require("url"),l=require("punycode"),m=require("zlib"),c=require("mammoth"),u=require("xlsx"),h=require("unpdf");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function v(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var g=f(r),_=v(i),y=v(o),b=f(o),w=f(n),I=f(s),T=f(d),E=f(p),S=f(l),D=f(m),N=f(c),A=v(u);const k="2025-06-18",O=[k,"2025-03-26","2024-11-05","2024-10-07"],$="2.0",R=e.z.union([e.z.string(),e.z.number().int()]),P=e.z.string(),C=e.z.object({progressToken:e.z.optional(R)}).passthrough(),x=e.z.object({_meta:e.z.optional(C)}).passthrough(),F=e.z.object({method:e.z.string(),params:e.z.optional(x)}),z=e.z.object({_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),L=e.z.object({method:e.z.string(),params:e.z.optional(z)}),V=e.z.object({_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),U=e.z.union([e.z.string(),e.z.number().int()]),j=e.z.object({jsonrpc:e.z.literal($),id:U}).merge(F).strict(),M=e.z.object({jsonrpc:e.z.literal($)}).merge(L).strict(),q=e.z.object({jsonrpc:e.z.literal($),id:U,result:V}).strict(),B=e=>q.safeParse(e).success;var H;!function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError"}(H||(H={}));const G=e.z.object({jsonrpc:e.z.literal($),id:U,error:e.z.object({code:e.z.number().int(),message:e.z.string(),data:e.z.optional(e.z.unknown())})}).strict();e.z.union([j,M,q,G]);const W=V.strict(),Q=L.extend({method:e.z.literal("notifications/cancelled"),params:z.extend({requestId:U,reason:e.z.string().optional()})}),Y=e.z.object({name:e.z.string(),title:e.z.optional(e.z.string())}).passthrough(),K=Y.extend({version:e.z.string()}),J=e.z.object({experimental:e.z.optional(e.z.object({}).passthrough()),sampling:e.z.optional(e.z.object({}).passthrough()),elicitation:e.z.optional(e.z.object({}).passthrough()),roots:e.z.optional(e.z.object({listChanged:e.z.optional(e.z.boolean())}).passthrough())}).passthrough(),X=F.extend({method:e.z.literal("initialize"),params:x.extend({protocolVersion:e.z.string(),capabilities:J,clientInfo:K})}),Z=e.z.object({experimental:e.z.optional(e.z.object({}).passthrough()),logging:e.z.optional(e.z.object({}).passthrough()),completions:e.z.optional(e.z.object({}).passthrough()),prompts:e.z.optional(e.z.object({listChanged:e.z.optional(e.z.boolean())}).passthrough()),resources:e.z.optional(e.z.object({subscribe:e.z.optional(e.z.boolean()),listChanged:e.z.optional(e.z.boolean())}).passthrough()),tools:e.z.optional(e.z.object({listChanged:e.z.optional(e.z.boolean())}).passthrough())}).passthrough(),ee=V.extend({protocolVersion:e.z.string(),capabilities:Z,serverInfo:K,instructions:e.z.optional(e.z.string())}),te=L.extend({method:e.z.literal("notifications/initialized")}),ae=F.extend({method:e.z.literal("ping")}),re=e.z.object({progress:e.z.number(),total:e.z.optional(e.z.number()),message:e.z.optional(e.z.string())}).passthrough(),ie=L.extend({method:e.z.literal("notifications/progress"),params:z.merge(re).extend({progressToken:R})}),oe=F.extend({params:x.extend({cursor:e.z.optional(P)}).optional()}),ne=V.extend({nextCursor:e.z.optional(P)}),se=e.z.object({uri:e.z.string(),mimeType:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),de=se.extend({text:e.z.string()}),pe=se.extend({blob:e.z.string().base64()}),le=Y.extend({uri:e.z.string(),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}),me=Y.extend({uriTemplate:e.z.string(),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}),ce=oe.extend({method:e.z.literal("resources/list")}),ue=ne.extend({resources:e.z.array(le)}),he=oe.extend({method:e.z.literal("resources/templates/list")}),fe=ne.extend({resourceTemplates:e.z.array(me)}),ve=F.extend({method:e.z.literal("resources/read"),params:x.extend({uri:e.z.string()})}),ge=V.extend({contents:e.z.array(e.z.union([de,pe]))}),_e=L.extend({method:e.z.literal("notifications/resources/list_changed")}),ye=F.extend({method:e.z.literal("resources/subscribe"),params:x.extend({uri:e.z.string()})}),be=F.extend({method:e.z.literal("resources/unsubscribe"),params:x.extend({uri:e.z.string()})}),we=L.extend({method:e.z.literal("notifications/resources/updated"),params:z.extend({uri:e.z.string()})}),Ie=e.z.object({name:e.z.string(),description:e.z.optional(e.z.string()),required:e.z.optional(e.z.boolean())}).passthrough(),Te=Y.extend({description:e.z.optional(e.z.string()),arguments:e.z.optional(e.z.array(Ie)),_meta:e.z.optional(e.z.object({}).passthrough())}),Ee=oe.extend({method:e.z.literal("prompts/list")}),Se=ne.extend({prompts:e.z.array(Te)}),De=F.extend({method:e.z.literal("prompts/get"),params:x.extend({name:e.z.string(),arguments:e.z.optional(e.z.record(e.z.string()))})}),Ne=e.z.object({type:e.z.literal("text"),text:e.z.string(),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),Ae=e.z.object({type:e.z.literal("image"),data:e.z.string().base64(),mimeType:e.z.string(),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),ke=e.z.object({type:e.z.literal("audio"),data:e.z.string().base64(),mimeType:e.z.string(),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),Oe=e.z.object({type:e.z.literal("resource"),resource:e.z.union([de,pe]),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),$e=le.extend({type:e.z.literal("resource_link")}),Re=e.z.union([Ne,Ae,ke,$e,Oe]),Pe=e.z.object({role:e.z.enum(["user","assistant"]),content:Re}).passthrough(),Ce=V.extend({description:e.z.optional(e.z.string()),messages:e.z.array(Pe)}),xe=L.extend({method:e.z.literal("notifications/prompts/list_changed")}),Fe=e.z.object({title:e.z.optional(e.z.string()),readOnlyHint:e.z.optional(e.z.boolean()),destructiveHint:e.z.optional(e.z.boolean()),idempotentHint:e.z.optional(e.z.boolean()),openWorldHint:e.z.optional(e.z.boolean())}).passthrough(),ze=Y.extend({description:e.z.optional(e.z.string()),inputSchema:e.z.object({type:e.z.literal("object"),properties:e.z.optional(e.z.object({}).passthrough()),required:e.z.optional(e.z.array(e.z.string()))}).passthrough(),outputSchema:e.z.optional(e.z.object({type:e.z.literal("object"),properties:e.z.optional(e.z.object({}).passthrough()),required:e.z.optional(e.z.array(e.z.string()))}).passthrough()),annotations:e.z.optional(Fe),_meta:e.z.optional(e.z.object({}).passthrough())}),Le=oe.extend({method:e.z.literal("tools/list")}),Ve=ne.extend({tools:e.z.array(ze)}),Ue=V.extend({content:e.z.array(Re).default([]),structuredContent:e.z.object({}).passthrough().optional(),isError:e.z.optional(e.z.boolean())});Ue.or(V.extend({toolResult:e.z.unknown()}));const je=F.extend({method:e.z.literal("tools/call"),params:x.extend({name:e.z.string(),arguments:e.z.optional(e.z.record(e.z.unknown()))})}),Me=L.extend({method:e.z.literal("notifications/tools/list_changed")}),qe=e.z.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),Be=F.extend({method:e.z.literal("logging/setLevel"),params:x.extend({level:qe})}),He=L.extend({method:e.z.literal("notifications/message"),params:z.extend({level:qe,logger:e.z.optional(e.z.string()),data:e.z.unknown()})}),Ge=e.z.object({name:e.z.string().optional()}).passthrough(),We=e.z.object({hints:e.z.optional(e.z.array(Ge)),costPriority:e.z.optional(e.z.number().min(0).max(1)),speedPriority:e.z.optional(e.z.number().min(0).max(1)),intelligencePriority:e.z.optional(e.z.number().min(0).max(1))}).passthrough(),Qe=e.z.object({role:e.z.enum(["user","assistant"]),content:e.z.union([Ne,Ae,ke])}).passthrough(),Ye=F.extend({method:e.z.literal("sampling/createMessage"),params:x.extend({messages:e.z.array(Qe),systemPrompt:e.z.optional(e.z.string()),includeContext:e.z.optional(e.z.enum(["none","thisServer","allServers"])),temperature:e.z.optional(e.z.number()),maxTokens:e.z.number().int(),stopSequences:e.z.optional(e.z.array(e.z.string())),metadata:e.z.optional(e.z.object({}).passthrough()),modelPreferences:e.z.optional(We)})}),Ke=V.extend({model:e.z.string(),stopReason:e.z.optional(e.z.enum(["endTurn","stopSequence","maxTokens"]).or(e.z.string())),role:e.z.enum(["user","assistant"]),content:e.z.discriminatedUnion("type",[Ne,Ae,ke])}),Je=e.z.object({type:e.z.literal("boolean"),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),default:e.z.optional(e.z.boolean())}).passthrough(),Xe=e.z.object({type:e.z.literal("string"),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),minLength:e.z.optional(e.z.number()),maxLength:e.z.optional(e.z.number()),format:e.z.optional(e.z.enum(["email","uri","date","date-time"]))}).passthrough(),Ze=e.z.object({type:e.z.enum(["number","integer"]),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),minimum:e.z.optional(e.z.number()),maximum:e.z.optional(e.z.number())}).passthrough(),et=e.z.object({type:e.z.literal("string"),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),enum:e.z.array(e.z.string()),enumNames:e.z.optional(e.z.array(e.z.string()))}).passthrough(),tt=e.z.union([Je,Xe,Ze,et]),at=F.extend({method:e.z.literal("elicitation/create"),params:x.extend({message:e.z.string(),requestedSchema:e.z.object({type:e.z.literal("object"),properties:e.z.record(e.z.string(),tt),required:e.z.optional(e.z.array(e.z.string()))}).passthrough()})}),rt=V.extend({action:e.z.enum(["accept","reject","cancel"]),content:e.z.optional(e.z.record(e.z.string(),e.z.unknown()))}),it=e.z.object({type:e.z.literal("ref/resource"),uri:e.z.string()}).passthrough(),ot=e.z.object({type:e.z.literal("ref/prompt"),name:e.z.string()}).passthrough(),nt=F.extend({method:e.z.literal("completion/complete"),params:x.extend({ref:e.z.union([ot,it]),argument:e.z.object({name:e.z.string(),value:e.z.string()}).passthrough(),context:e.z.optional(e.z.object({arguments:e.z.optional(e.z.record(e.z.string(),e.z.string()))}))})}),st=V.extend({completion:e.z.object({values:e.z.array(e.z.string()).max(100),total:e.z.optional(e.z.number().int()),hasMore:e.z.optional(e.z.boolean())}).passthrough()}),dt=e.z.object({uri:e.z.string().startsWith("file://"),name:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),pt=F.extend({method:e.z.literal("roots/list")}),lt=V.extend({roots:e.z.array(dt)}),mt=L.extend({method:e.z.literal("notifications/roots/list_changed")});e.z.union([ae,X,nt,Be,De,Ee,ce,he,ve,ye,be,je,Le]),e.z.union([Q,ie,te,mt]),e.z.union([W,Ke,rt,lt]),e.z.union([ae,Ye,at,pt]),e.z.union([Q,ie,He,we,_e,Me,xe]),e.z.union([W,ee,st,Ce,Se,ue,fe,ge,Ue,Ve]);class ct extends Error{constructor(e,t,a){super(`MCP error ${e}: ${t}`),this.code=e,this.data=a,this.name="McpError"}}class ut{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this.setNotificationHandler(Q,(e=>{const t=this._requestHandlerAbortControllers.get(e.params.requestId);null==t||t.abort(e.params.reason)})),this.setNotificationHandler(ie,(e=>{this._onprogress(e)})),this.setRequestHandler(ae,(e=>({})))}_setupTimeout(e,t,a,r,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:a,resetTimeoutOnProgress:i,onTimeout:r})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const a=Date.now()-t.startTime;if(t.maxTotalTimeout&&a>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),new ct(H.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:a});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var t,a,r;this._transport=e;const i=null===(t=this.transport)||void 0===t?void 0:t.onclose;this._transport.onclose=()=>{null==i||i(),this._onclose()};const o=null===(a=this.transport)||void 0===a?void 0:a.onerror;this._transport.onerror=e=>{null==o||o(e),this._onerror(e)};const n=null===(r=this._transport)||void 0===r?void 0:r.onmessage;this._transport.onmessage=(e,t)=>{var a;null==n||n(e,t),B(e)||(a=e,G.safeParse(a).success)?this._onresponse(e):(e=>j.safeParse(e).success)(e)?this._onrequest(e,t):(e=>M.safeParse(e).success)(e)?this._onnotification(e):this._onerror(new Error(`Unknown message type: ${JSON.stringify(e)}`))},await this._transport.start()}_onclose(){var e;const t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._transport=void 0,null===(e=this.onclose)||void 0===e||e.call(this);const a=new ct(H.ConnectionClosed,"Connection closed");for(const e of t.values())e(a)}_onerror(e){var t;null===(t=this.onerror)||void 0===t||t.call(this,e)}_onnotification(e){var t;const a=null!==(t=this._notificationHandlers.get(e.method))&&void 0!==t?t:this.fallbackNotificationHandler;void 0!==a&&Promise.resolve().then((()=>a(e))).catch((e=>this._onerror(new Error(`Uncaught error in notification handler: ${e}`))))}_onrequest(e,t){var a,r,i,o;const n=null!==(a=this._requestHandlers.get(e.method))&&void 0!==a?a:this.fallbackRequestHandler;if(void 0===n)return void(null===(r=this._transport)||void 0===r||r.send({jsonrpc:"2.0",id:e.id,error:{code:H.MethodNotFound,message:"Method not found"}}).catch((e=>this._onerror(new Error(`Failed to send an error response: ${e}`)))));const s=new AbortController;this._requestHandlerAbortControllers.set(e.id,s);const d={signal:s.signal,sessionId:null===(i=this._transport)||void 0===i?void 0:i.sessionId,_meta:null===(o=e.params)||void 0===o?void 0:o._meta,sendNotification:t=>this.notification(t,{relatedRequestId:e.id}),sendRequest:(t,a,r)=>this.request(t,a,{...r,relatedRequestId:e.id}),authInfo:null==t?void 0:t.authInfo,requestId:e.id,requestInfo:null==t?void 0:t.requestInfo};Promise.resolve().then((()=>n(e,d))).then((t=>{var a;if(!s.signal.aborted)return null===(a=this._transport)||void 0===a?void 0:a.send({result:t,jsonrpc:"2.0",id:e.id})}),(t=>{var a,r;if(!s.signal.aborted)return null===(a=this._transport)||void 0===a?void 0:a.send({jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(t.code)?t.code:H.InternalError,message:null!==(r=t.message)&&void 0!==r?r:"Internal error"}})})).catch((e=>this._onerror(new Error(`Failed to send response: ${e}`)))).finally((()=>{this._requestHandlerAbortControllers.delete(e.id)}))}_onprogress(e){const{progressToken:t,...a}=e.params,r=Number(t),i=this._progressHandlers.get(r);if(!i)return void this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));const o=this._responseHandlers.get(r),n=this._timeoutInfo.get(r);if(n&&o&&n.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(e){return void o(e)}i(a)}_onresponse(e){const t=Number(e.id),a=this._responseHandlers.get(t);if(void 0!==a)if(this._responseHandlers.delete(t),this._progressHandlers.delete(t),this._cleanupTimeout(t),B(e))a(e);else{a(new ct(e.error.code,e.error.message,e.error.data))}else this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`))}get transport(){return this._transport}async close(){var e;await(null===(e=this._transport)||void 0===e?void 0:e.close())}request(e,t,a){const{relatedRequestId:r,resumptionToken:i,onresumptiontoken:o}=null!=a?a:{};return new Promise(((n,s)=>{var d,p,l,m,c,u;if(!this._transport)return void s(new Error("Not connected"));!0===(null===(d=this._options)||void 0===d?void 0:d.enforceStrictCapabilities)&&this.assertCapabilityForMethod(e.method),null===(p=null==a?void 0:a.signal)||void 0===p||p.throwIfAborted();const h=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:h};(null==a?void 0:a.onprogress)&&(this._progressHandlers.set(h,a.onprogress),f.params={...e.params,_meta:{...(null===(l=e.params)||void 0===l?void 0:l._meta)||{},progressToken:h}});const v=e=>{var t;this._responseHandlers.delete(h),this._progressHandlers.delete(h),this._cleanupTimeout(h),null===(t=this._transport)||void 0===t||t.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:h,reason:String(e)}},{relatedRequestId:r,resumptionToken:i,onresumptiontoken:o}).catch((e=>this._onerror(new Error(`Failed to send cancellation: ${e}`)))),s(e)};this._responseHandlers.set(h,(e=>{var r;if(!(null===(r=null==a?void 0:a.signal)||void 0===r?void 0:r.aborted)){if(e instanceof Error)return s(e);try{const a=t.parse(e.result);n(a)}catch(e){s(e)}}})),null===(m=null==a?void 0:a.signal)||void 0===m||m.addEventListener("abort",(()=>{var e;v(null===(e=null==a?void 0:a.signal)||void 0===e?void 0:e.reason)}));const g=null!==(c=null==a?void 0:a.timeout)&&void 0!==c?c:6e4;this._setupTimeout(h,g,null==a?void 0:a.maxTotalTimeout,(()=>v(new ct(H.RequestTimeout,"Request timed out",{timeout:g}))),null!==(u=null==a?void 0:a.resetTimeoutOnProgress)&&void 0!==u&&u),this._transport.send(f,{relatedRequestId:r,resumptionToken:i,onresumptiontoken:o}).catch((e=>{this._cleanupTimeout(h),s(e)}))}))}async notification(e,t){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);const a={...e,jsonrpc:"2.0"};await this._transport.send(a,t)}setRequestHandler(e,t){const a=e.shape.method.value;this.assertRequestHandlerCapability(a),this._requestHandlers.set(a,((a,r)=>Promise.resolve(t(e.parse(a),r))))}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){this._notificationHandlers.set(e.shape.method.value,(a=>Promise.resolve(t(e.parse(a)))))}removeNotificationHandler(e){this._notificationHandlers.delete(e)}}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function ht(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ft(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var a=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};a.prototype=t.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),a}var vt={exports:{}};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("zod"),t=require("zod-to-json-schema"),a=require("@mondaydotcomorg/api"),r=require("axios"),i=require("crypto"),o=require("https"),n=require("jsonwebtoken"),s=require("stream"),d=require("http"),p=require("url"),l=require("punycode"),m=require("zlib"),c=require("mammoth"),u=require("exceljs"),h=require("unpdf");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function v(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var g=f(r),_=v(i),y=v(o),b=f(o),w=f(n),I=f(s),T=f(d),E=f(p),S=f(l),D=f(m),N=f(c),A=f(u);const k="2025-06-18",O=[k,"2025-03-26","2024-11-05","2024-10-07"],$="2.0",R=e.z.union([e.z.string(),e.z.number().int()]),P=e.z.string(),C=e.z.object({progressToken:e.z.optional(R)}).passthrough(),x=e.z.object({_meta:e.z.optional(C)}).passthrough(),F=e.z.object({method:e.z.string(),params:e.z.optional(x)}),z=e.z.object({_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),L=e.z.object({method:e.z.string(),params:e.z.optional(z)}),V=e.z.object({_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),U=e.z.union([e.z.string(),e.z.number().int()]),j=e.z.object({jsonrpc:e.z.literal($),id:U}).merge(F).strict(),M=e.z.object({jsonrpc:e.z.literal($)}).merge(L).strict(),q=e.z.object({jsonrpc:e.z.literal($),id:U,result:V}).strict(),B=e=>q.safeParse(e).success;var H;!function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError"}(H||(H={}));const G=e.z.object({jsonrpc:e.z.literal($),id:U,error:e.z.object({code:e.z.number().int(),message:e.z.string(),data:e.z.optional(e.z.unknown())})}).strict();e.z.union([j,M,q,G]);const W=V.strict(),Q=L.extend({method:e.z.literal("notifications/cancelled"),params:z.extend({requestId:U,reason:e.z.string().optional()})}),Y=e.z.object({name:e.z.string(),title:e.z.optional(e.z.string())}).passthrough(),K=Y.extend({version:e.z.string()}),J=e.z.object({experimental:e.z.optional(e.z.object({}).passthrough()),sampling:e.z.optional(e.z.object({}).passthrough()),elicitation:e.z.optional(e.z.object({}).passthrough()),roots:e.z.optional(e.z.object({listChanged:e.z.optional(e.z.boolean())}).passthrough())}).passthrough(),X=F.extend({method:e.z.literal("initialize"),params:x.extend({protocolVersion:e.z.string(),capabilities:J,clientInfo:K})}),Z=e.z.object({experimental:e.z.optional(e.z.object({}).passthrough()),logging:e.z.optional(e.z.object({}).passthrough()),completions:e.z.optional(e.z.object({}).passthrough()),prompts:e.z.optional(e.z.object({listChanged:e.z.optional(e.z.boolean())}).passthrough()),resources:e.z.optional(e.z.object({subscribe:e.z.optional(e.z.boolean()),listChanged:e.z.optional(e.z.boolean())}).passthrough()),tools:e.z.optional(e.z.object({listChanged:e.z.optional(e.z.boolean())}).passthrough())}).passthrough(),ee=V.extend({protocolVersion:e.z.string(),capabilities:Z,serverInfo:K,instructions:e.z.optional(e.z.string())}),te=L.extend({method:e.z.literal("notifications/initialized")}),ae=F.extend({method:e.z.literal("ping")}),re=e.z.object({progress:e.z.number(),total:e.z.optional(e.z.number()),message:e.z.optional(e.z.string())}).passthrough(),ie=L.extend({method:e.z.literal("notifications/progress"),params:z.merge(re).extend({progressToken:R})}),oe=F.extend({params:x.extend({cursor:e.z.optional(P)}).optional()}),ne=V.extend({nextCursor:e.z.optional(P)}),se=e.z.object({uri:e.z.string(),mimeType:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),de=se.extend({text:e.z.string()}),pe=se.extend({blob:e.z.string().base64()}),le=Y.extend({uri:e.z.string(),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}),me=Y.extend({uriTemplate:e.z.string(),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}),ce=oe.extend({method:e.z.literal("resources/list")}),ue=ne.extend({resources:e.z.array(le)}),he=oe.extend({method:e.z.literal("resources/templates/list")}),fe=ne.extend({resourceTemplates:e.z.array(me)}),ve=F.extend({method:e.z.literal("resources/read"),params:x.extend({uri:e.z.string()})}),ge=V.extend({contents:e.z.array(e.z.union([de,pe]))}),_e=L.extend({method:e.z.literal("notifications/resources/list_changed")}),ye=F.extend({method:e.z.literal("resources/subscribe"),params:x.extend({uri:e.z.string()})}),be=F.extend({method:e.z.literal("resources/unsubscribe"),params:x.extend({uri:e.z.string()})}),we=L.extend({method:e.z.literal("notifications/resources/updated"),params:z.extend({uri:e.z.string()})}),Ie=e.z.object({name:e.z.string(),description:e.z.optional(e.z.string()),required:e.z.optional(e.z.boolean())}).passthrough(),Te=Y.extend({description:e.z.optional(e.z.string()),arguments:e.z.optional(e.z.array(Ie)),_meta:e.z.optional(e.z.object({}).passthrough())}),Ee=oe.extend({method:e.z.literal("prompts/list")}),Se=ne.extend({prompts:e.z.array(Te)}),De=F.extend({method:e.z.literal("prompts/get"),params:x.extend({name:e.z.string(),arguments:e.z.optional(e.z.record(e.z.string()))})}),Ne=e.z.object({type:e.z.literal("text"),text:e.z.string(),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),Ae=e.z.object({type:e.z.literal("image"),data:e.z.string().base64(),mimeType:e.z.string(),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),ke=e.z.object({type:e.z.literal("audio"),data:e.z.string().base64(),mimeType:e.z.string(),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),Oe=e.z.object({type:e.z.literal("resource"),resource:e.z.union([de,pe]),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),$e=le.extend({type:e.z.literal("resource_link")}),Re=e.z.union([Ne,Ae,ke,$e,Oe]),Pe=e.z.object({role:e.z.enum(["user","assistant"]),content:Re}).passthrough(),Ce=V.extend({description:e.z.optional(e.z.string()),messages:e.z.array(Pe)}),xe=L.extend({method:e.z.literal("notifications/prompts/list_changed")}),Fe=e.z.object({title:e.z.optional(e.z.string()),readOnlyHint:e.z.optional(e.z.boolean()),destructiveHint:e.z.optional(e.z.boolean()),idempotentHint:e.z.optional(e.z.boolean()),openWorldHint:e.z.optional(e.z.boolean())}).passthrough(),ze=Y.extend({description:e.z.optional(e.z.string()),inputSchema:e.z.object({type:e.z.literal("object"),properties:e.z.optional(e.z.object({}).passthrough()),required:e.z.optional(e.z.array(e.z.string()))}).passthrough(),outputSchema:e.z.optional(e.z.object({type:e.z.literal("object"),properties:e.z.optional(e.z.object({}).passthrough()),required:e.z.optional(e.z.array(e.z.string()))}).passthrough()),annotations:e.z.optional(Fe),_meta:e.z.optional(e.z.object({}).passthrough())}),Le=oe.extend({method:e.z.literal("tools/list")}),Ve=ne.extend({tools:e.z.array(ze)}),Ue=V.extend({content:e.z.array(Re).default([]),structuredContent:e.z.object({}).passthrough().optional(),isError:e.z.optional(e.z.boolean())});Ue.or(V.extend({toolResult:e.z.unknown()}));const je=F.extend({method:e.z.literal("tools/call"),params:x.extend({name:e.z.string(),arguments:e.z.optional(e.z.record(e.z.unknown()))})}),Me=L.extend({method:e.z.literal("notifications/tools/list_changed")}),qe=e.z.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),Be=F.extend({method:e.z.literal("logging/setLevel"),params:x.extend({level:qe})}),He=L.extend({method:e.z.literal("notifications/message"),params:z.extend({level:qe,logger:e.z.optional(e.z.string()),data:e.z.unknown()})}),Ge=e.z.object({name:e.z.string().optional()}).passthrough(),We=e.z.object({hints:e.z.optional(e.z.array(Ge)),costPriority:e.z.optional(e.z.number().min(0).max(1)),speedPriority:e.z.optional(e.z.number().min(0).max(1)),intelligencePriority:e.z.optional(e.z.number().min(0).max(1))}).passthrough(),Qe=e.z.object({role:e.z.enum(["user","assistant"]),content:e.z.union([Ne,Ae,ke])}).passthrough(),Ye=F.extend({method:e.z.literal("sampling/createMessage"),params:x.extend({messages:e.z.array(Qe),systemPrompt:e.z.optional(e.z.string()),includeContext:e.z.optional(e.z.enum(["none","thisServer","allServers"])),temperature:e.z.optional(e.z.number()),maxTokens:e.z.number().int(),stopSequences:e.z.optional(e.z.array(e.z.string())),metadata:e.z.optional(e.z.object({}).passthrough()),modelPreferences:e.z.optional(We)})}),Ke=V.extend({model:e.z.string(),stopReason:e.z.optional(e.z.enum(["endTurn","stopSequence","maxTokens"]).or(e.z.string())),role:e.z.enum(["user","assistant"]),content:e.z.discriminatedUnion("type",[Ne,Ae,ke])}),Je=e.z.object({type:e.z.literal("boolean"),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),default:e.z.optional(e.z.boolean())}).passthrough(),Xe=e.z.object({type:e.z.literal("string"),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),minLength:e.z.optional(e.z.number()),maxLength:e.z.optional(e.z.number()),format:e.z.optional(e.z.enum(["email","uri","date","date-time"]))}).passthrough(),Ze=e.z.object({type:e.z.enum(["number","integer"]),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),minimum:e.z.optional(e.z.number()),maximum:e.z.optional(e.z.number())}).passthrough(),et=e.z.object({type:e.z.literal("string"),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),enum:e.z.array(e.z.string()),enumNames:e.z.optional(e.z.array(e.z.string()))}).passthrough(),tt=e.z.union([Je,Xe,Ze,et]),at=F.extend({method:e.z.literal("elicitation/create"),params:x.extend({message:e.z.string(),requestedSchema:e.z.object({type:e.z.literal("object"),properties:e.z.record(e.z.string(),tt),required:e.z.optional(e.z.array(e.z.string()))}).passthrough()})}),rt=V.extend({action:e.z.enum(["accept","reject","cancel"]),content:e.z.optional(e.z.record(e.z.string(),e.z.unknown()))}),it=e.z.object({type:e.z.literal("ref/resource"),uri:e.z.string()}).passthrough(),ot=e.z.object({type:e.z.literal("ref/prompt"),name:e.z.string()}).passthrough(),nt=F.extend({method:e.z.literal("completion/complete"),params:x.extend({ref:e.z.union([ot,it]),argument:e.z.object({name:e.z.string(),value:e.z.string()}).passthrough(),context:e.z.optional(e.z.object({arguments:e.z.optional(e.z.record(e.z.string(),e.z.string()))}))})}),st=V.extend({completion:e.z.object({values:e.z.array(e.z.string()).max(100),total:e.z.optional(e.z.number().int()),hasMore:e.z.optional(e.z.boolean())}).passthrough()}),dt=e.z.object({uri:e.z.string().startsWith("file://"),name:e.z.optional(e.z.string()),_meta:e.z.optional(e.z.object({}).passthrough())}).passthrough(),pt=F.extend({method:e.z.literal("roots/list")}),lt=V.extend({roots:e.z.array(dt)}),mt=L.extend({method:e.z.literal("notifications/roots/list_changed")});e.z.union([ae,X,nt,Be,De,Ee,ce,he,ve,ye,be,je,Le]),e.z.union([Q,ie,te,mt]),e.z.union([W,Ke,rt,lt]),e.z.union([ae,Ye,at,pt]),e.z.union([Q,ie,He,we,_e,Me,xe]),e.z.union([W,ee,st,Ce,Se,ue,fe,ge,Ue,Ve]);class ct extends Error{constructor(e,t,a){super(`MCP error ${e}: ${t}`),this.code=e,this.data=a,this.name="McpError"}}class ut{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this.setNotificationHandler(Q,(e=>{const t=this._requestHandlerAbortControllers.get(e.params.requestId);null==t||t.abort(e.params.reason)})),this.setNotificationHandler(ie,(e=>{this._onprogress(e)})),this.setRequestHandler(ae,(e=>({})))}_setupTimeout(e,t,a,r,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:a,resetTimeoutOnProgress:i,onTimeout:r})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const a=Date.now()-t.startTime;if(t.maxTotalTimeout&&a>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),new ct(H.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:a});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var t,a,r;this._transport=e;const i=null===(t=this.transport)||void 0===t?void 0:t.onclose;this._transport.onclose=()=>{null==i||i(),this._onclose()};const o=null===(a=this.transport)||void 0===a?void 0:a.onerror;this._transport.onerror=e=>{null==o||o(e),this._onerror(e)};const n=null===(r=this._transport)||void 0===r?void 0:r.onmessage;this._transport.onmessage=(e,t)=>{var a;null==n||n(e,t),B(e)||(a=e,G.safeParse(a).success)?this._onresponse(e):(e=>j.safeParse(e).success)(e)?this._onrequest(e,t):(e=>M.safeParse(e).success)(e)?this._onnotification(e):this._onerror(new Error(`Unknown message type: ${JSON.stringify(e)}`))},await this._transport.start()}_onclose(){var e;const t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._transport=void 0,null===(e=this.onclose)||void 0===e||e.call(this);const a=new ct(H.ConnectionClosed,"Connection closed");for(const e of t.values())e(a)}_onerror(e){var t;null===(t=this.onerror)||void 0===t||t.call(this,e)}_onnotification(e){var t;const a=null!==(t=this._notificationHandlers.get(e.method))&&void 0!==t?t:this.fallbackNotificationHandler;void 0!==a&&Promise.resolve().then((()=>a(e))).catch((e=>this._onerror(new Error(`Uncaught error in notification handler: ${e}`))))}_onrequest(e,t){var a,r,i,o;const n=null!==(a=this._requestHandlers.get(e.method))&&void 0!==a?a:this.fallbackRequestHandler;if(void 0===n)return void(null===(r=this._transport)||void 0===r||r.send({jsonrpc:"2.0",id:e.id,error:{code:H.MethodNotFound,message:"Method not found"}}).catch((e=>this._onerror(new Error(`Failed to send an error response: ${e}`)))));const s=new AbortController;this._requestHandlerAbortControllers.set(e.id,s);const d={signal:s.signal,sessionId:null===(i=this._transport)||void 0===i?void 0:i.sessionId,_meta:null===(o=e.params)||void 0===o?void 0:o._meta,sendNotification:t=>this.notification(t,{relatedRequestId:e.id}),sendRequest:(t,a,r)=>this.request(t,a,{...r,relatedRequestId:e.id}),authInfo:null==t?void 0:t.authInfo,requestId:e.id,requestInfo:null==t?void 0:t.requestInfo};Promise.resolve().then((()=>n(e,d))).then((t=>{var a;if(!s.signal.aborted)return null===(a=this._transport)||void 0===a?void 0:a.send({result:t,jsonrpc:"2.0",id:e.id})}),(t=>{var a,r;if(!s.signal.aborted)return null===(a=this._transport)||void 0===a?void 0:a.send({jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(t.code)?t.code:H.InternalError,message:null!==(r=t.message)&&void 0!==r?r:"Internal error"}})})).catch((e=>this._onerror(new Error(`Failed to send response: ${e}`)))).finally((()=>{this._requestHandlerAbortControllers.delete(e.id)}))}_onprogress(e){const{progressToken:t,...a}=e.params,r=Number(t),i=this._progressHandlers.get(r);if(!i)return void this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));const o=this._responseHandlers.get(r),n=this._timeoutInfo.get(r);if(n&&o&&n.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(e){return void o(e)}i(a)}_onresponse(e){const t=Number(e.id),a=this._responseHandlers.get(t);if(void 0!==a)if(this._responseHandlers.delete(t),this._progressHandlers.delete(t),this._cleanupTimeout(t),B(e))a(e);else{a(new ct(e.error.code,e.error.message,e.error.data))}else this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`))}get transport(){return this._transport}async close(){var e;await(null===(e=this._transport)||void 0===e?void 0:e.close())}request(e,t,a){const{relatedRequestId:r,resumptionToken:i,onresumptiontoken:o}=null!=a?a:{};return new Promise(((n,s)=>{var d,p,l,m,c,u;if(!this._transport)return void s(new Error("Not connected"));!0===(null===(d=this._options)||void 0===d?void 0:d.enforceStrictCapabilities)&&this.assertCapabilityForMethod(e.method),null===(p=null==a?void 0:a.signal)||void 0===p||p.throwIfAborted();const h=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:h};(null==a?void 0:a.onprogress)&&(this._progressHandlers.set(h,a.onprogress),f.params={...e.params,_meta:{...(null===(l=e.params)||void 0===l?void 0:l._meta)||{},progressToken:h}});const v=e=>{var t;this._responseHandlers.delete(h),this._progressHandlers.delete(h),this._cleanupTimeout(h),null===(t=this._transport)||void 0===t||t.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:h,reason:String(e)}},{relatedRequestId:r,resumptionToken:i,onresumptiontoken:o}).catch((e=>this._onerror(new Error(`Failed to send cancellation: ${e}`)))),s(e)};this._responseHandlers.set(h,(e=>{var r;if(!(null===(r=null==a?void 0:a.signal)||void 0===r?void 0:r.aborted)){if(e instanceof Error)return s(e);try{const a=t.parse(e.result);n(a)}catch(e){s(e)}}})),null===(m=null==a?void 0:a.signal)||void 0===m||m.addEventListener("abort",(()=>{var e;v(null===(e=null==a?void 0:a.signal)||void 0===e?void 0:e.reason)}));const g=null!==(c=null==a?void 0:a.timeout)&&void 0!==c?c:6e4;this._setupTimeout(h,g,null==a?void 0:a.maxTotalTimeout,(()=>v(new ct(H.RequestTimeout,"Request timed out",{timeout:g}))),null!==(u=null==a?void 0:a.resetTimeoutOnProgress)&&void 0!==u&&u),this._transport.send(f,{relatedRequestId:r,resumptionToken:i,onresumptiontoken:o}).catch((e=>{this._cleanupTimeout(h),s(e)}))}))}async notification(e,t){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);const a={...e,jsonrpc:"2.0"};await this._transport.send(a,t)}setRequestHandler(e,t){const a=e.shape.method.value;this.assertRequestHandlerCapability(a),this._requestHandlers.set(a,((a,r)=>Promise.resolve(t(e.parse(a),r))))}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){this._notificationHandlers.set(e.shape.method.value,(a=>Promise.resolve(t(e.parse(a)))))}removeNotificationHandler(e){this._notificationHandlers.delete(e)}}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function ht(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ft(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var a=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};a.prototype=t.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),a}var vt={exports:{}};
|
|
2
2
|
/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */!function(e){function t(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];if(t.length>1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,i=1;i<r;++i)t[i]=t[i].slice(1,-1);return t[r]=t[r].slice(1),t.join("")}return t[0]}function a(e){return"(?:"+e+")"}function r(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function i(e){return e.toUpperCase()}function o(e){return null!=e?e instanceof Array?e:"number"!=typeof e.length||e.split||e.setInterval||e.call?[e]:Array.prototype.slice.call(e):[]}function n(e,t){var a=e;if(t)for(var r in t)a[r]=t[r];return a}function s(e){var r="[A-Za-z]",i="[0-9]",o=t(i,"[A-Fa-f]"),n=a(a("%[EFef]"+o+"%"+o+o+"%"+o+o)+"|"+a("%[89A-Fa-f]"+o+"%"+o+o)+"|"+a("%"+o+o)),s="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",d=t("[\\:\\/\\?\\#\\[\\]\\@]",s),p=e?"[\\uE000-\\uF8FF]":"[]",l=t(r,i,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]");a(r+t(r,i,"[\\+\\-\\.]")+"*"),a(a(n+"|"+t(l,s,"[\\:]"))+"*");var m=a(a("25[0-5]")+"|"+a("2[0-4]"+i)+"|"+a("1"+i+i)+"|"+a("0?[1-9]"+i)+"|0?0?"+i),c=a(m+"\\."+m+"\\."+m+"\\."+m),u=a(o+"{1,4}"),h=a(a(u+"\\:"+u)+"|"+c),f=a(a(u+"\\:")+"{6}"+h),v=a("\\:\\:"+a(u+"\\:")+"{5}"+h),g=a(a(u)+"?\\:\\:"+a(u+"\\:")+"{4}"+h),_=a(a(a(u+"\\:")+"{0,1}"+u)+"?\\:\\:"+a(u+"\\:")+"{3}"+h),y=a(a(a(u+"\\:")+"{0,2}"+u)+"?\\:\\:"+a(u+"\\:")+"{2}"+h),b=a(a(a(u+"\\:")+"{0,3}"+u)+"?\\:\\:"+u+"\\:"+h),w=a(a(a(u+"\\:")+"{0,4}"+u)+"?\\:\\:"+h),I=a(a(a(u+"\\:")+"{0,5}"+u)+"?\\:\\:"+u),T=a(a(a(u+"\\:")+"{0,6}"+u)+"?\\:\\:"),E=a([f,v,g,_,y,b,w,I,T].join("|")),S=a(a(l+"|"+n)+"+");a("[vV]"+o+"+\\."+t(l,s,"[\\:]")+"+"),a(a(n+"|"+t(l,s))+"*");var D=a(n+"|"+t(l,s,"[\\:\\@]"));return a(a(n+"|"+t(l,s,"[\\@]"))+"+"),a(a(D+"|"+t("[\\/\\?]",p))+"*"),{NOT_SCHEME:new RegExp(t("[^]",r,i,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",l,s),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",l,s),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",l,s),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",l,s),"g"),NOT_QUERY:new RegExp(t("[^\\%]",l,s,"[\\:\\@\\/\\?]",p),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",l,s,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",l,s),"g"),UNRESERVED:new RegExp(l,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",l,d),"g"),PCT_ENCODED:new RegExp(n,"g"),IPV4ADDRESS:new RegExp("^("+c+")$"),IPV6ADDRESS:new RegExp("^\\[?("+E+")"+a(a("\\%25|\\%(?!"+o+"{2})")+"("+S+")")+"?\\]?$")}}var d=s(!1),p=s(!0),l=function(){function e(e,t){var a=[],r=!0,i=!1,o=void 0;try{for(var n,s=e[Symbol.iterator]();!(r=(n=s.next()).done)&&(a.push(n.value),!t||a.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return a}return function(t,a){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,a);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),m=function(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)},c=2147483647,u=36,h=1,f=26,v=38,g=700,_=72,y=128,b="-",w=/^xn--/,I=/[^\0-\x7E]/,T=/[\x2E\u3002\uFF0E\uFF61]/g,E={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},S=u-h,D=Math.floor,N=String.fromCharCode;function A(e){throw new RangeError(E[e])}function k(e,t){for(var a=[],r=e.length;r--;)a[r]=t(e[r]);return a}function O(e,t){var a=e.split("@"),r="";return a.length>1&&(r=a[0]+"@",e=a[1]),r+k((e=e.replace(T,".")).split("."),t).join(".")}function $(e){for(var t=[],a=0,r=e.length;a<r;){var i=e.charCodeAt(a++);if(i>=55296&&i<=56319&&a<r){var o=e.charCodeAt(a++);56320==(64512&o)?t.push(((1023&i)<<10)+(1023&o)+65536):(t.push(i),a--)}else t.push(i)}return t}var R=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:u},P=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},C=function(e,t,a){var r=0;for(e=a?D(e/g):e>>1,e+=D(e/t);e>S*f>>1;r+=u)e=D(e/S);return D(r+(S+1)*e/(e+v))},x=function(e){var t=[],a=e.length,r=0,i=y,o=_,n=e.lastIndexOf(b);n<0&&(n=0);for(var s=0;s<n;++s)e.charCodeAt(s)>=128&&A("not-basic"),t.push(e.charCodeAt(s));for(var d=n>0?n+1:0;d<a;){for(var p=r,l=1,m=u;;m+=u){d>=a&&A("invalid-input");var v=R(e.charCodeAt(d++));(v>=u||v>D((c-r)/l))&&A("overflow"),r+=v*l;var g=m<=o?h:m>=o+f?f:m-o;if(v<g)break;var w=u-g;l>D(c/w)&&A("overflow"),l*=w}var I=t.length+1;o=C(r-p,I,0==p),D(r/I)>c-i&&A("overflow"),i+=D(r/I),r%=I,t.splice(r++,0,i)}return String.fromCodePoint.apply(String,t)},F=function(e){var t=[],a=(e=$(e)).length,r=y,i=0,o=_,n=!0,s=!1,d=void 0;try{for(var p,l=e[Symbol.iterator]();!(n=(p=l.next()).done);n=!0){var m=p.value;m<128&&t.push(N(m))}}catch(e){s=!0,d=e}finally{try{!n&&l.return&&l.return()}finally{if(s)throw d}}var v=t.length,g=v;for(v&&t.push(b);g<a;){var w=c,I=!0,T=!1,E=void 0;try{for(var S,k=e[Symbol.iterator]();!(I=(S=k.next()).done);I=!0){var O=S.value;O>=r&&O<w&&(w=O)}}catch(e){T=!0,E=e}finally{try{!I&&k.return&&k.return()}finally{if(T)throw E}}var R=g+1;w-r>D((c-i)/R)&&A("overflow"),i+=(w-r)*R,r=w;var x=!0,F=!1,z=void 0;try{for(var L,V=e[Symbol.iterator]();!(x=(L=V.next()).done);x=!0){var U=L.value;if(U<r&&++i>c&&A("overflow"),U==r){for(var j=i,M=u;;M+=u){var q=M<=o?h:M>=o+f?f:M-o;if(j<q)break;var B=j-q,H=u-q;t.push(N(P(q+B%H,0))),j=D(B/H)}t.push(N(P(j,0))),o=C(i,R,g==v),i=0,++g}}}catch(e){F=!0,z=e}finally{try{!x&&V.return&&V.return()}finally{if(F)throw z}}++i,++r}return t.join("")},z=function(e){return O(e,(function(e){return w.test(e)?x(e.slice(4).toLowerCase()):e}))},L=function(e){return O(e,(function(e){return I.test(e)?"xn--"+F(e):e}))},V={version:"2.1.0",ucs2:{decode:$,encode:function(e){return String.fromCodePoint.apply(String,m(e))}},decode:x,encode:F,toASCII:L,toUnicode:z},U={};function j(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function M(e){for(var t="",a=0,r=e.length;a<r;){var i=parseInt(e.substr(a+1,2),16);if(i<128)t+=String.fromCharCode(i),a+=3;else if(i>=194&&i<224){if(r-a>=6){var o=parseInt(e.substr(a+4,2),16);t+=String.fromCharCode((31&i)<<6|63&o)}else t+=e.substr(a,6);a+=6}else if(i>=224){if(r-a>=9){var n=parseInt(e.substr(a+4,2),16),s=parseInt(e.substr(a+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&n)<<6|63&s)}else t+=e.substr(a,9);a+=9}else t+=e.substr(a,3),a+=3}return t}function q(e,t){function a(e){var a=M(e);return a.match(t.UNRESERVED)?a:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,a).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,a).replace(t.NOT_USERINFO,j).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,a).toLowerCase().replace(t.NOT_HOST,j).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,a).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,j).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,a).replace(t.NOT_QUERY,j).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,a).replace(t.NOT_FRAGMENT,j).replace(t.PCT_ENCODED,i)),e}function B(e){return e.replace(/^0*(.*)/,"$1")||"0"}function H(e,t){var a=e.match(t.IPV4ADDRESS)||[],r=l(a,2)[1];return r?r.split(".").map(B).join("."):e}function G(e,t){var a=e.match(t.IPV6ADDRESS)||[],r=l(a,3),i=r[1],o=r[2];if(i){for(var n=i.toLowerCase().split("::").reverse(),s=l(n,2),d=s[0],p=s[1],m=p?p.split(":").map(B):[],c=d.split(":").map(B),u=t.IPV4ADDRESS.test(c[c.length-1]),h=u?7:8,f=c.length-h,v=Array(h),g=0;g<h;++g)v[g]=m[g]||c[f+g]||"";u&&(v[h-1]=H(v[h-1],t));var _=v.reduce((function(e,t,a){if(!t||"0"===t){var r=e[e.length-1];r&&r.index+r.length===a?r.length++:e.push({index:a,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],y=void 0;if(_&&_.length>1){var b=v.slice(0,_.index),w=v.slice(_.index+_.length);y=b.join(":")+"::"+w.join(":")}else y=v.join(":");return o&&(y+="%"+o),y}return e}var W=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,Q=void 0==="".match(/(){0}/)[1];function Y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a={},r=!1!==t.iri?p:d;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(W);if(i){Q?(a.scheme=i[1],a.userinfo=i[3],a.host=i[4],a.port=parseInt(i[5],10),a.path=i[6]||"",a.query=i[7],a.fragment=i[8],isNaN(a.port)&&(a.port=i[5])):(a.scheme=i[1]||void 0,a.userinfo=-1!==e.indexOf("@")?i[3]:void 0,a.host=-1!==e.indexOf("//")?i[4]:void 0,a.port=parseInt(i[5],10),a.path=i[6]||"",a.query=-1!==e.indexOf("?")?i[7]:void 0,a.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(a.port)&&(a.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),a.host&&(a.host=G(H(a.host,r),r)),void 0!==a.scheme||void 0!==a.userinfo||void 0!==a.host||void 0!==a.port||a.path||void 0!==a.query?void 0===a.scheme?a.reference="relative":void 0===a.fragment?a.reference="absolute":a.reference="uri":a.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==a.reference&&(a.error=a.error||"URI is not a "+t.reference+" reference.");var o=U[(t.scheme||a.scheme||"").toLowerCase()];if(t.unicodeSupport||o&&o.unicodeSupport)q(a,r);else{if(a.host&&(t.domainHost||o&&o.domainHost))try{a.host=V.toASCII(a.host.replace(r.PCT_ENCODED,M).toLowerCase())}catch(e){a.error=a.error||"Host's domain name can not be converted to ASCII via punycode: "+e}q(a,d)}o&&o.parse&&o.parse(a,t)}else a.error=a.error||"URI can not be parsed.";return a}function K(e,t){var a=!1!==t.iri?p:d,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(G(H(String(e.host),a),a).replace(a.IPV6ADDRESS,(function(e,t,a){return"["+t+(a?"%25"+a:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}var J=/^\.\.?\//,X=/^\/\.(\/|$)/,Z=/^\/\.\.(\/|$)/,ee=/^\/?(?:.|\n)*?(?=\/|$)/;function te(e){for(var t=[];e.length;)if(e.match(J))e=e.replace(J,"");else if(e.match(X))e=e.replace(X,"/");else if(e.match(Z))e=e.replace(Z,"/"),t.pop();else if("."===e||".."===e)e="";else{var a=e.match(ee);if(!a)throw new Error("Unexpected dot segment condition");var r=a[0];e=e.slice(r.length),t.push(r)}return t.join("")}function ae(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.iri?p:d,r=[],i=U[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(a.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?V.toUnicode(e.host):V.toASCII(e.host.replace(a.PCT_ENCODED,M).toLowerCase())}catch(a){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+a}q(e,a),"suffix"!==t.reference&&e.scheme&&(r.push(e.scheme),r.push(":"));var o=K(e,t);if(void 0!==o&&("suffix"!==t.reference&&r.push("//"),r.push(o),e.path&&"/"!==e.path.charAt(0)&&r.push("/")),void 0!==e.path){var n=e.path;t.absolutePath||i&&i.absolutePath||(n=te(n)),void 0===o&&(n=n.replace(/^\/\//,"/%2F")),r.push(n)}return void 0!==e.query&&(r.push("?"),r.push(e.query)),void 0!==e.fragment&&(r.push("#"),r.push(e.fragment)),r.join("")}function re(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={};return arguments[3]||(e=Y(ae(e,a),a),t=Y(ae(t,a),a)),!(a=a||{}).tolerant&&t.scheme?(r.scheme=t.scheme,r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=te(t.path||""),r.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=te(t.path||""),r.query=t.query):(t.path?("/"===t.path.charAt(0)?r.path=te(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?r.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:r.path=t.path:r.path="/"+t.path,r.path=te(r.path)),r.query=t.query):(r.path=e.path,void 0!==t.query?r.query=t.query:r.query=e.query),r.userinfo=e.userinfo,r.host=e.host,r.port=e.port),r.scheme=e.scheme),r.fragment=t.fragment,r}function ie(e,t,a){var r=n({scheme:"null"},a);return ae(re(Y(e,r),Y(t,r),r,!0),r)}function oe(e,t){return"string"==typeof e?e=ae(Y(e,t),t):"object"===r(e)&&(e=Y(ae(e,t),t)),e}function ne(e,t,a){return"string"==typeof e?e=ae(Y(e,a),a):"object"===r(e)&&(e=ae(e,a)),"string"==typeof t?t=ae(Y(t,a),a):"object"===r(t)&&(t=ae(t,a)),e===t}function se(e,t){return e&&e.toString().replace(t&&t.iri?p.ESCAPE:d.ESCAPE,j)}function de(e,t){return e&&e.toString().replace(t&&t.iri?p.PCT_ENCODED:d.PCT_ENCODED,M)}var pe={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var a="https"===String(e.scheme).toLowerCase();return e.port!==(a?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},le={scheme:"https",domainHost:pe.domainHost,parse:pe.parse,serialize:pe.serialize};function me(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var ce={scheme:"ws",domainHost:!0,parse:function(e,t){var a=e;return a.secure=me(a),a.resourceName=(a.path||"/")+(a.query?"?"+a.query:""),a.path=void 0,a.query=void 0,a},serialize:function(e,t){if(e.port!==(me(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var a=e.resourceName.split("?"),r=l(a,2),i=r[0],o=r[1];e.path=i&&"/"!==i?i:void 0,e.query=o,e.resourceName=void 0}return e.fragment=void 0,e}},ue={scheme:"wss",domainHost:ce.domainHost,parse:ce.parse,serialize:ce.serialize},he={},fe="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",ve="[0-9A-Fa-f]",ge=a(a("%[EFef]"+ve+"%"+ve+ve+"%"+ve+ve)+"|"+a("%[89A-Fa-f]"+ve+"%"+ve+ve)+"|"+a("%"+ve+ve)),_e="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",ye=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),be="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",we=new RegExp(fe,"g"),Ie=new RegExp(ge,"g"),Te=new RegExp(t("[^]",_e,"[\\.]",'[\\"]',ye),"g"),Ee=new RegExp(t("[^]",fe,be),"g"),Se=Ee;function De(e){var t=M(e);return t.match(we)?t:e}var Ne={scheme:"mailto",parse:function(e,t){var a=e,r=a.to=a.path?a.path.split(","):[];if(a.path=void 0,a.query){for(var i=!1,o={},n=a.query.split("&"),s=0,d=n.length;s<d;++s){var p=n[s].split("=");switch(p[0]){case"to":for(var l=p[1].split(","),m=0,c=l.length;m<c;++m)r.push(l[m]);break;case"subject":a.subject=de(p[1],t);break;case"body":a.body=de(p[1],t);break;default:i=!0,o[de(p[0],t)]=de(p[1],t)}}i&&(a.headers=o)}a.query=void 0;for(var u=0,h=r.length;u<h;++u){var f=r[u].split("@");if(f[0]=de(f[0]),t.unicodeSupport)f[1]=de(f[1],t).toLowerCase();else try{f[1]=V.toASCII(de(f[1],t).toLowerCase())}catch(e){a.error=a.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}r[u]=f.join("@")}return a},serialize:function(e,t){var a=e,r=o(e.to);if(r){for(var n=0,s=r.length;n<s;++n){var d=String(r[n]),p=d.lastIndexOf("@"),l=d.slice(0,p).replace(Ie,De).replace(Ie,i).replace(Te,j),m=d.slice(p+1);try{m=t.iri?V.toUnicode(m):V.toASCII(de(m,t).toLowerCase())}catch(e){a.error=a.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}r[n]=l+"@"+m}a.path=r.join(",")}var c=e.headers=e.headers||{};e.subject&&(c.subject=e.subject),e.body&&(c.body=e.body);var u=[];for(var h in c)c[h]!==he[h]&&u.push(h.replace(Ie,De).replace(Ie,i).replace(Ee,j)+"="+c[h].replace(Ie,De).replace(Ie,i).replace(Se,j));return u.length&&(a.query=u.join("&")),a}},Ae=/^([^\:]+)\:(.*)/,ke={scheme:"urn",parse:function(e,t){var a=e.path&&e.path.match(Ae),r=e;if(a){var i=t.scheme||r.scheme||"urn",o=a[1].toLowerCase(),n=a[2],s=i+":"+(t.nid||o),d=U[s];r.nid=o,r.nss=n,r.path=void 0,d&&(r=d.parse(r,t))}else r.error=r.error||"URN can not be parsed.";return r},serialize:function(e,t){var a=t.scheme||e.scheme||"urn",r=e.nid,i=a+":"+(t.nid||r),o=U[i];o&&(e=o.serialize(e,t));var n=e,s=e.nss;return n.path=(r||t.nid)+":"+s,n}},Oe=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,$e={scheme:"urn:uuid",parse:function(e,t){var a=e;return a.uuid=a.nss,a.nss=void 0,t.tolerant||a.uuid&&a.uuid.match(Oe)||(a.error=a.error||"UUID is not valid."),a},serialize:function(e,t){var a=e;return a.nss=(e.uuid||"").toLowerCase(),a}};U[pe.scheme]=pe,U[le.scheme]=le,U[ce.scheme]=ce,U[ue.scheme]=ue,U[Ne.scheme]=Ne,U[ke.scheme]=ke,U[$e.scheme]=$e,e.SCHEMES=U,e.pctEncChar=j,e.pctDecChars=M,e.parse=Y,e.removeDotSegments=te,e.serialize=ae,e.resolveComponents=re,e.resolve=ie,e.normalize=oe,e.equal=ne,e.escapeComponent=se,e.unescapeComponent=de,Object.defineProperty(e,"__esModule",{value:!0})}(vt.exports);var gt=vt.exports,_t=function e(t,a){if(t===a)return!0;if(t&&a&&"object"==typeof t&&"object"==typeof a){if(t.constructor!==a.constructor)return!1;var r,i,o;if(Array.isArray(t)){if((r=t.length)!=a.length)return!1;for(i=r;0!=i--;)if(!e(t[i],a[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===a.source&&t.flags===a.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===a.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===a.toString();if((r=(o=Object.keys(t)).length)!==Object.keys(a).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(a,o[i]))return!1;for(i=r;0!=i--;){var n=o[i];if(!e(t[n],a[n]))return!1}return!0}return t!=t&&a!=a},yt={copy:function(e,t){for(var a in t=t||{},e)t[a]=e[a];return t},checkDataType:bt,checkDataTypes:function(e,t,a){if(1===e.length)return bt(e[0],t,a,!0);var r="",i=It(e);for(var o in i.array&&i.object&&(r=i.null?"(":"(!"+t+" || ",r+="typeof "+t+' !== "object")',delete i.null,delete i.array,delete i.object),i.number&&delete i.integer,i)r+=(r?" && ":"")+bt(o,t,a,!0);return r},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var a=[],r=0;r<t.length;r++){var i=t[r];(wt[i]||"array"===e&&"array"===i)&&(a[a.length]=i)}if(a.length)return a}else{if(wt[t])return[t];if("array"===e&&"array"===t)return["array"]}},toHash:It,getProperty:St,escapeQuotes:Dt,equal:_t,ucs2length:function(e){for(var t,a=0,r=e.length,i=0;i<r;)a++,(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<r&&56320==(64512&(t=e.charCodeAt(i)))&&i++;return a},varOccurences:function(e,t){t+="[^0-9]";var a=e.match(new RegExp(t,"g"));return a?a.length:0},varReplace:function(e,t,a){return t+="([^0-9])",a=a.replace(/\$/g,"$$$$"),e.replace(new RegExp(t,"g"),a+"$1")},schemaHasRules:function(e,t){if("boolean"==typeof e)return!e;for(var a in e)if(t[a])return!0},schemaHasRulesExcept:function(e,t,a){if("boolean"==typeof e)return!e&&"not"!=a;for(var r in e)if(r!=a&&t[r])return!0},schemaUnknownRules:function(e,t){if("boolean"==typeof e)return;for(var a in e)if(!t[a])return a},toQuotedString:Nt,getPathExpr:function(e,t,a,r){return Ot(e,a?"'/' + "+t+(r?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):r?"'[' + "+t+" + ']'":"'[\\'' + "+t+" + '\\']'")},getPath:function(e,t,a){var r=Nt(a?"/"+$t(t):St(t));return Ot(e,r)},getData:function(e,t,a){var r,i,o,n;if(""===e)return"rootData";if("/"==e[0]){if(!At.test(e))throw new Error("Invalid JSON-pointer: "+e);i=e,o="rootData"}else{if(!(n=e.match(kt)))throw new Error("Invalid JSON-pointer: "+e);if(r=+n[1],"#"==(i=n[2])){if(r>=t)throw new Error("Cannot access property/index "+r+" levels up, current level is "+t);return a[t-r]}if(r>t)throw new Error("Cannot access data "+r+" levels up, current level is "+t);if(o="data"+(t-r||""),!i)return o}for(var s=o,d=i.split("/"),p=0;p<d.length;p++){var l=d[p];l&&(s+=" && "+(o+=St(Rt(l))))}return s},unescapeFragment:function(e){return Rt(decodeURIComponent(e))},unescapeJsonPointer:Rt,escapeFragment:function(e){return encodeURIComponent($t(e))},escapeJsonPointer:$t};function bt(e,t,a,r){var i=r?" !== ":" === ",o=r?" || ":" && ",n=r?"!":"",s=r?"":"!";switch(e){case"null":return t+i+"null";case"array":return n+"Array.isArray("+t+")";case"object":return"("+n+t+o+"typeof "+t+i+'"object"'+o+s+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+i+'"number"'+o+s+"("+t+" % 1)"+o+t+i+t+(a?o+n+"isFinite("+t+")":"")+")";case"number":return"(typeof "+t+i+'"'+e+'"'+(a?o+n+"isFinite("+t+")":"")+")";default:return"typeof "+t+i+'"'+e+'"'}}var wt=It(["string","number","integer","boolean","null"]);function It(e){for(var t={},a=0;a<e.length;a++)t[e[a]]=!0;return t}var Tt=/^[a-z$_][a-z$_0-9]*$/i,Et=/'|\\/g;function St(e){return"number"==typeof e?"["+e+"]":Tt.test(e)?"."+e:"['"+Dt(e)+"']"}function Dt(e){return e.replace(Et,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}function Nt(e){return"'"+Dt(e)+"'"}var At=/^\/(?:[^~]|~0|~1)*$/,kt=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ot(e,t){return'""'==e?t:(e+" + "+t).replace(/([^\\])' \+ '/g,"$1")}function $t(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Rt(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}var Pt=yt,Ct=function(e){Pt.copy(e,this)};var xt={exports:{}},Ft=xt.exports=function(e,t,a){"function"==typeof t&&(a=t,t={}),zt(t,"function"==typeof(a=t.cb||a)?a:a.pre||function(){},a.post||function(){},e,"",e)};function zt(e,t,a,r,i,o,n,s,d,p){if(r&&"object"==typeof r&&!Array.isArray(r)){for(var l in t(r,i,o,n,s,d,p),r){var m=r[l];if(Array.isArray(m)){if(l in Ft.arrayKeywords)for(var c=0;c<m.length;c++)zt(e,t,a,m[c],i+"/"+l+"/"+c,o,i,l,r,c)}else if(l in Ft.propsKeywords){if(m&&"object"==typeof m)for(var u in m)zt(e,t,a,m[u],i+"/"+l+"/"+u.replace(/~/g,"~0").replace(/\//g,"~1"),o,i,l,r,u)}else(l in Ft.keywords||e.allKeys&&!(l in Ft.skipKeywords))&&zt(e,t,a,m,i+"/"+l,o,i,l,r)}a(r,i,o,n,s,d,p)}}Ft.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},Ft.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},Ft.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},Ft.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};var Lt=xt.exports,Vt=gt,Ut=_t,jt=yt,Mt=Ct,qt=Lt,Bt=Ht;function Ht(e,t,a){var r=this._refs[a];if("string"==typeof r){if(!this._refs[r])return Ht.call(this,e,t,r);r=this._refs[r]}if((r=r||this._schemas[a])instanceof Mt)return Jt(r.schema,this._opts.inlineRefs)?r.schema:r.validate||this._compile(r);var i,o,n,s=Gt.call(this,t,a);return s&&(i=s.schema,t=s.root,n=s.baseId),i instanceof Mt?o=i.validate||e.call(this,i.schema,t,void 0,n):void 0!==i&&(o=Jt(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,n)),o}function Gt(e,t){var a=Vt.parse(t),r=ta(a),i=ea(this._getId(e.schema));if(0===Object.keys(e.schema).length||r!==i){var o=ra(r),n=this._refs[o];if("string"==typeof n)return Wt.call(this,e,n,a);if(n instanceof Mt)n.validate||this._compile(n),e=n;else{if(!((n=this._schemas[o])instanceof Mt))return;if(n.validate||this._compile(n),o==ra(t))return{schema:n,root:e,baseId:i};e=n}if(!e.schema)return;i=ea(this._getId(e.schema))}return Yt.call(this,a,i,e.schema,e)}function Wt(e,t,a){var r=Gt.call(this,e,t);if(r){var i=r.schema,o=r.baseId;e=r.root;var n=this._getId(i);return n&&(o=ia(o,n)),Yt.call(this,a,o,i,e)}}Ht.normalizeId=ra,Ht.fullPath=ea,Ht.url=ia,Ht.ids=function(e){var t=ra(this._getId(e)),a={"":t},r={"":ea(t,!1)},i={},o=this;return qt(e,{allKeys:!0},(function(e,t,n,s,d,p,l){if(""!==t){var m=o._getId(e),c=a[s],u=r[s]+"/"+d;if(void 0!==l&&(u+="/"+("number"==typeof l?l:jt.escapeFragment(l))),"string"==typeof m){m=c=ra(c?Vt.resolve(c,m):m);var h=o._refs[m];if("string"==typeof h&&(h=o._refs[h]),h&&h.schema){if(!Ut(e,h.schema))throw new Error('id "'+m+'" resolves to more than one schema')}else if(m!=ra(u))if("#"==m[0]){if(i[m]&&!Ut(e,i[m]))throw new Error('id "'+m+'" resolves to more than one schema');i[m]=e}else o._refs[m]=u}a[t]=c,r[t]=u}})),i},Ht.inlineRef=Jt,Ht.schema=Gt;var Qt=jt.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function Yt(e,t,a,r){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),o=1;o<i.length;o++){var n=i[o];if(n){if(void 0===(a=a[n=jt.unescapeFragment(n)]))break;var s;if(!Qt[n]&&((s=this._getId(a))&&(t=ia(t,s)),a.$ref)){var d=ia(t,a.$ref),p=Gt.call(this,r,d);p&&(a=p.schema,r=p.root,t=p.baseId)}}}return void 0!==a&&a!==r.schema?{schema:a,root:r,baseId:t}:void 0}}var Kt=jt.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function Jt(e,t){return!1!==t&&(void 0===t||!0===t?Xt(e):t?Zt(e)<=t:void 0)}function Xt(e){var t;if(Array.isArray(e)){for(var a=0;a<e.length;a++)if("object"==typeof(t=e[a])&&!Xt(t))return!1}else for(var r in e){if("$ref"==r)return!1;if("object"==typeof(t=e[r])&&!Xt(t))return!1}return!0}function Zt(e){var t,a=0;if(Array.isArray(e)){for(var r=0;r<e.length;r++)if("object"==typeof(t=e[r])&&(a+=Zt(t)),a==1/0)return 1/0}else for(var i in e){if("$ref"==i)return 1/0;if(Kt[i])a++;else if("object"==typeof(t=e[i])&&(a+=Zt(t)+1),a==1/0)return 1/0}return a}function ea(e,t){return!1!==t&&(e=ra(e)),ta(Vt.parse(e))}function ta(e){return Vt.serialize(e).split("#")[0]+"#"}var aa=/#\/?$/;function ra(e){return e?e.replace(aa,""):""}function ia(e,t){return t=ra(t),Vt.resolve(e,t)}var oa=Bt,na={Validation:da((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:da(sa)};function sa(e,t,a){this.message=a||sa.message(e,t),this.missingRef=oa.url(e,t),this.missingSchema=oa.normalizeId(oa.fullPath(this.missingRef))}function da(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}sa.message=function(e,t){return"can't resolve reference "+t+" from id "+e};var pa=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var a,r="boolean"==typeof t.cycles&&t.cycles,i=t.cmp&&(a=t.cmp,function(e){return function(t,r){var i={key:t,value:e[t]},o={key:r,value:e[r]};return a(i,o)}}),o=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var a,n;if(Array.isArray(t)){for(n="[",a=0;a<t.length;a++)a&&(n+=","),n+=e(t[a])||"null";return n+"]"}if(null===t)return"null";if(-1!==o.indexOf(t)){if(r)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var s=o.push(t)-1,d=Object.keys(t).sort(i&&i(t));for(n="",a=0;a<d.length;a++){var p=d[a],l=e(t[p]);l&&(n&&(n+=","),n+=JSON.stringify(p)+":"+l)}return o.splice(s,1),"{"+n+"}"}}(e)},la=function(e,t,a){var r="",i=!0===e.schema.$async,o=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),n=e.self._getId(e.schema);if(e.opts.strictKeywords){var s=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(s){var d="unknown keyword: "+s;if("log"!==e.opts.strictKeywords)throw new Error(d);e.logger.warn(d)}}if(e.isTop&&(r+=" var validate = ",i&&(e.async=!0,r+="async "),r+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",n&&(e.opts.sourceCode||e.opts.processCode)&&(r+=" /*# sourceURL="+n+" */ ")),"boolean"==typeof e.schema||!o&&!e.schema.$ref){t="false schema";var p=e.level,l=e.dataLevel,m=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,f="data"+(l||""),v="valid"+p;if(!1===e.schema){e.isTop?h=!0:r+=" var "+v+" = false; ",(K=K||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'boolean schema is false' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),r+=" } "):r+=" {} ";var g=r;r=K.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+g+"]); ":r+=" validate.errors = ["+g+"]; return false; ":r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?r+=i?" return data; ":" validate.errors = null; return true; ":r+=" var "+v+" = true; ";return e.isTop&&(r+=" }; return validate; "),r}if(e.isTop){var _=e.isTop;p=e.level=0,l=e.dataLevel=0,f="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[""],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var y="default is ignored in the schema root";if("log"!==e.opts.strictDefaults)throw new Error(y);e.logger.warn(y)}r+=" var vErrors = null; ",r+=" var errors = 0; ",r+=" if (rootData === undefined) rootData = data; "}else{p=e.level,f="data"+((l=e.dataLevel)||"");if(n&&(e.baseId=e.resolve.url(e.baseId,n)),i&&!e.async)throw new Error("async schema in sync schema");r+=" var errs_"+p+" = errors;"}v="valid"+p,h=!e.opts.allErrors;var b="",w="",I=e.schema.type,T=Array.isArray(I);if(I&&e.opts.nullable&&!0===e.schema.nullable&&(T?-1==I.indexOf("null")&&(I=I.concat("null")):"null"!=I&&(I=[I,"null"],T=!0)),T&&1==I.length&&(I=I[0],T=!1),e.schema.$ref&&o){if("fail"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');!0!==e.opts.extendRefs&&(o=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(r+=" "+e.RULES.all.$comment.code(e,"$comment")),I){if(e.opts.coerceTypes)var E=e.util.coerceToTypes(e.opts.coerceTypes,I);var S=e.RULES.types[I];if(E||T||!0===S||S&&!J(S)){c=e.schemaPath+".type",u=e.errSchemaPath+"/type",c=e.schemaPath+".type",u=e.errSchemaPath+"/type";var D=T?"checkDataTypes":"checkDataType";if(r+=" if ("+e.util[D](I,f,e.opts.strictNumbers,!0)+") { ",E){var N="dataType"+p,A="coerced"+p;r+=" var "+N+" = typeof "+f+"; var "+A+" = undefined; ","array"==e.opts.coerceTypes&&(r+=" if ("+N+" == 'object' && Array.isArray("+f+") && "+f+".length == 1) { "+f+" = "+f+"[0]; "+N+" = typeof "+f+"; if ("+e.util.checkDataType(e.schema.type,f,e.opts.strictNumbers)+") "+A+" = "+f+"; } "),r+=" if ("+A+" !== undefined) ; ";var k=E;if(k)for(var O,$=-1,R=k.length-1;$<R;)"string"==(O=k[$+=1])?r+=" else if ("+N+" == 'number' || "+N+" == 'boolean') "+A+" = '' + "+f+"; else if ("+f+" === null) "+A+" = ''; ":"number"==O||"integer"==O?(r+=" else if ("+N+" == 'boolean' || "+f+" === null || ("+N+" == 'string' && "+f+" && "+f+" == +"+f+" ","integer"==O&&(r+=" && !("+f+" % 1)"),r+=")) "+A+" = +"+f+"; "):"boolean"==O?r+=" else if ("+f+" === 'false' || "+f+" === 0 || "+f+" === null) "+A+" = false; else if ("+f+" === 'true' || "+f+" === 1) "+A+" = true; ":"null"==O?r+=" else if ("+f+" === '' || "+f+" === 0 || "+f+" === false) "+A+" = null; ":"array"==e.opts.coerceTypes&&"array"==O&&(r+=" else if ("+N+" == 'string' || "+N+" == 'number' || "+N+" == 'boolean' || "+f+" == null) "+A+" = ["+f+"]; ");r+=" else { ",(K=K||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { type: '",r+=T?""+I.join(","):""+I,r+="' } ",!1!==e.opts.messages&&(r+=" , message: 'should be ",r+=T?""+I.join(","):""+I,r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),r+=" } "):r+=" {} ";g=r;r=K.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+g+"]); ":r+=" validate.errors = ["+g+"]; return false; ":r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } if ("+A+" !== undefined) { ";var P=l?"data"+(l-1||""):"parentData";r+=" "+f+" = "+A+"; ",l||(r+="if ("+P+" !== undefined)"),r+=" "+P+"["+(l?e.dataPathArr[l]:"parentDataProperty")+"] = "+A+"; } "}else{(K=K||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { type: '",r+=T?""+I.join(","):""+I,r+="' } ",!1!==e.opts.messages&&(r+=" , message: 'should be ",r+=T?""+I.join(","):""+I,r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),r+=" } "):r+=" {} ";g=r;r=K.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+g+"]); ":r+=" validate.errors = ["+g+"]; return false; ":r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } "}}if(e.schema.$ref&&!o)r+=" "+e.RULES.all.$ref.code(e,"$ref")+" ",h&&(r+=" } if (errors === ",r+=_?"0":"errs_"+p,r+=") { ",w+="}");else{var C=e.RULES;if(C)for(var x=-1,F=C.length-1;x<F;)if(J(S=C[x+=1])){if(S.type&&(r+=" if ("+e.util.checkDataType(S.type,f,e.opts.strictNumbers)+") { "),e.opts.useDefaults)if("object"==S.type&&e.schema.properties){m=e.schema.properties;var z=Object.keys(m);if(z)for(var L,V=-1,U=z.length-1;V<U;){if(void 0!==(q=m[L=z[V+=1]]).default){var j=f+e.util.getProperty(L);if(e.compositeRule){if(e.opts.strictDefaults){y="default is ignored for: "+j;if("log"!==e.opts.strictDefaults)throw new Error(y);e.logger.warn(y)}}else r+=" if ("+j+" === undefined ","empty"==e.opts.useDefaults&&(r+=" || "+j+" === null || "+j+" === '' "),r+=" ) "+j+" = ","shared"==e.opts.useDefaults?r+=" "+e.useDefault(q.default)+" ":r+=" "+JSON.stringify(q.default)+" ",r+="; "}}}else if("array"==S.type&&Array.isArray(e.schema.items)){var M=e.schema.items;if(M){$=-1;for(var q,B=M.length-1;$<B;)if(void 0!==(q=M[$+=1]).default){j=f+"["+$+"]";if(e.compositeRule){if(e.opts.strictDefaults){y="default is ignored for: "+j;if("log"!==e.opts.strictDefaults)throw new Error(y);e.logger.warn(y)}}else r+=" if ("+j+" === undefined ","empty"==e.opts.useDefaults&&(r+=" || "+j+" === null || "+j+" === '' "),r+=" ) "+j+" = ","shared"==e.opts.useDefaults?r+=" "+e.useDefault(q.default)+" ":r+=" "+JSON.stringify(q.default)+" ",r+="; "}}}var H=S.rules;if(H)for(var G,W=-1,Q=H.length-1;W<Q;)if(X(G=H[W+=1])){var Y=G.code(e,G.keyword,S.type);Y&&(r+=" "+Y+" ",h&&(b+="}"))}if(h&&(r+=" "+b+" ",b=""),S.type&&(r+=" } ",I&&I===S.type&&!E)){r+=" else { ";var K;c=e.schemaPath+".type",u=e.errSchemaPath+"/type";(K=K||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { type: '",r+=T?""+I.join(","):""+I,r+="' } ",!1!==e.opts.messages&&(r+=" , message: 'should be ",r+=T?""+I.join(","):""+I,r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),r+=" } "):r+=" {} ";g=r;r=K.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+g+"]); ":r+=" validate.errors = ["+g+"]; return false; ":r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } "}h&&(r+=" if (errors === ",r+=_?"0":"errs_"+p,r+=") { ",w+="}")}}function J(e){for(var t=e.rules,a=0;a<t.length;a++)if(X(t[a]))return!0}function X(t){return void 0!==e.schema[t.keyword]||t.implements&&function(t){for(var a=t.implements,r=0;r<a.length;r++)if(void 0!==e.schema[a[r]])return!0}(t)}return h&&(r+=" "+w+" "),_?(i?(r+=" if (errors === 0) return data; ",r+=" else throw new ValidationError(vErrors); "):(r+=" validate.errors = vErrors; ",r+=" return errors === 0; "),r+=" }; return validate;"):r+=" var "+v+" = errors === errs_"+p+";",r},ma=Bt,ca=yt,ua=na,ha=pa,fa=la,va=ca.ucs2length,ga=_t,_a=ua.Validation,ya=function e(t,a,r,i){var o=this,n=this._opts,s=[void 0],d={},p=[],l={},m=[],c={},u=[];a=a||{schema:t,refVal:s,refs:d};var h=ba.call(this,t,a,i),f=this._compilations[h.index];if(h.compiling)return f.callValidate=function e(){var t=f.validate,a=t.apply(this,arguments);return e.errors=t.errors,a};var v=this._formats,g=this.RULES;try{var _=b(t,a,r,i);f.validate=_;var y=f.callValidate;return y&&(y.schema=_.schema,y.errors=null,y.refs=_.refs,y.refVal=_.refVal,y.root=_.root,y.$async=_.$async,n.sourceCode&&(y.source=_.source)),_}finally{wa.call(this,t,a,i)}function b(t,r,i,l){var c=!r||r&&r.schema==t;if(r.schema!=a.schema)return e.call(o,t,r,i,l);var h,f=!0===t.$async,_=fa({isTop:!0,schema:t,isRoot:c,baseId:l,root:r,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:ua.MissingRef,RULES:g,validate:fa,util:ca,resolve:ma,resolveRef:w,usePattern:E,useDefault:S,useCustomRule:D,opts:n,formats:v,logger:o.logger,self:o});_=Na(s,Sa)+Na(p,Ta)+Na(m,Ea)+Na(u,Da)+_,n.processCode&&(_=n.processCode(_,t));try{h=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",_)(o,g,v,a,s,m,u,ga,va,_a),s[0]=h}catch(e){throw o.logger.error("Error compiling schema, function code:",_),e}return h.schema=t,h.errors=null,h.refs=d,h.refVal=s,h.root=c?h:r,f&&(h.$async=!0),!0===n.sourceCode&&(h.source={code:_,patterns:p,defaults:m}),h}function w(t,i,p){i=ma.url(t,i);var l,m,c=d[i];if(void 0!==c)return T(l=s[c],m="refVal["+c+"]");if(!p&&a.refs){var u=a.refs[i];if(void 0!==u)return T(l=a.refVal[u],m=I(i,l))}m=I(i);var h=ma.call(o,b,a,i);if(void 0===h){var f=r&&r[i];f&&(h=ma.inlineRef(f,n.inlineRefs)?f:e.call(o,f,a,r,t))}if(void 0!==h)return function(e,t){var a=d[e];s[a]=t}(i,h),T(h,m);!function(e){delete d[e]}(i)}function I(e,t){var a=s.length;return s[a]=t,d[e]=a,"refVal"+a}function T(e,t){return"object"==typeof e||"boolean"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function E(e){var t=l[e];return void 0===t&&(t=l[e]=p.length,p[t]=e),"pattern"+t}function S(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return ca.toQuotedString(e);case"object":if(null===e)return"null";var t=ha(e),a=c[t];return void 0===a&&(a=c[t]=m.length,m[a]=e),"default"+a}}function D(e,t,a,r){if(!1!==o._opts.validateSchema){var i=e.definition.dependencies;if(i&&!i.every((function(e){return Object.prototype.hasOwnProperty.call(a,e)})))throw new Error("parent schema must have all required keywords: "+i.join(","));var s=e.definition.validateSchema;if(s)if(!s(t)){var d="keyword schema is invalid: "+o.errorsText(s.errors);if("log"!=o._opts.validateSchema)throw new Error(d);o.logger.error(d)}}var p,l=e.definition.compile,m=e.definition.inline,c=e.definition.macro;if(l)p=l.call(o,t,a,r);else if(c)p=c.call(o,t,a,r),!1!==n.validateSchema&&o.validateSchema(p,!0);else if(m)p=m.call(o,r,e.keyword,t,a);else if(!(p=e.definition.validate))return;if(void 0===p)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=u.length;return u[h]=p,{code:"customRule"+h,validate:p}}};function ba(e,t,a){var r=Ia.call(this,e,t,a);return r>=0?{index:r,compiling:!0}:(r=this._compilations.length,this._compilations[r]={schema:e,root:t,baseId:a},{index:r,compiling:!1})}function wa(e,t,a){var r=Ia.call(this,e,t,a);r>=0&&this._compilations.splice(r,1)}function Ia(e,t,a){for(var r=0;r<this._compilations.length;r++){var i=this._compilations[r];if(i.schema==e&&i.root==t&&i.baseId==a)return r}return-1}function Ta(e,t){return"var pattern"+e+" = new RegExp("+ca.toQuotedString(t[e])+");"}function Ea(e){return"var default"+e+" = defaults["+e+"];"}function Sa(e,t){return void 0===t[e]?"":"var refVal"+e+" = refVal["+e+"];"}function Da(e){return"var customRule"+e+" = customRules["+e+"];"}function Na(e,t){if(!e.length)return"";for(var a="",r=0;r<e.length;r++)a+=t(r,e);return a}var Aa={exports:{}},ka=Aa.exports=function(){this._cache={}};ka.prototype.put=function(e,t){this._cache[e]=t},ka.prototype.get=function(e){return this._cache[e]},ka.prototype.del=function(e){delete this._cache[e]},ka.prototype.clear=function(){this._cache={}};var Oa=Aa.exports,$a=yt,Ra=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Pa=[0,31,28,31,30,31,30,31,31,30,31,30,31],Ca=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,xa=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,Fa=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,za=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,La=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,Va=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Ua=/^(?:\/(?:[^~/]|~0|~1)*)*$/,ja=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Ma=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,qa=Ba;function Ba(e){return e="full"==e?"full":"fast",$a.copy(Ba[e])}function Ha(e){var t=e.match(Ra);if(!t)return!1;var a=+t[1],r=+t[2],i=+t[3];return r>=1&&r<=12&&i>=1&&i<=(2==r&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(a)?29:Pa[r])}function Ga(e,t){var a=e.match(Ca);if(!a)return!1;var r=a[1],i=a[2],o=a[3],n=a[5];return(r<=23&&i<=59&&o<=59||23==r&&59==i&&60==o)&&(!t||n)}Ba.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":za,url:La,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:xa,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:Ka,uuid:Va,"json-pointer":Ua,"json-pointer-uri-fragment":ja,"relative-json-pointer":Ma},Ba.full={date:Ha,time:Ga,"date-time":function(e){var t=e.split(Wa);return 2==t.length&&Ha(t[0])&&Ga(t[1],!0)},uri:function(e){return Qa.test(e)&&Fa.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":za,url:La,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:xa,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:Ka,uuid:Va,"json-pointer":Ua,"json-pointer-uri-fragment":ja,"relative-json-pointer":Ma};var Wa=/t|\s/i;var Qa=/\/|:/;var Ya=/[^\\]\\Z/;function Ka(e){if(Ya.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}var Ja=function(e,t,a){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],d=e.schemaPath+e.util.getProperty(t),p=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,m="data"+(n||""),c=e.opts.$data&&s&&s.$data;c?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s;var u="maximum"==t,h=u?"exclusiveMaximum":"exclusiveMinimum",f=e.schema[h],v=e.opts.$data&&f&&f.$data,g=u?"<":">",_=u?">":"<",y=void 0;if(!c&&"number"!=typeof s&&void 0!==s)throw new Error(t+" must be number");if(!v&&void 0!==f&&"number"!=typeof f&&"boolean"!=typeof f)throw new Error(h+" must be number or boolean");if(v){var b=e.util.getData(f.$data,n,e.dataPathArr),w="exclusive"+o,I="exclType"+o,T="exclIsNumber"+o,E="' + "+(N="op"+o)+" + '";i+=" var schemaExcl"+o+" = "+b+"; ",i+=" var "+w+"; var "+I+" = typeof "+(b="schemaExcl"+o)+"; if ("+I+" != 'boolean' && "+I+" != 'undefined' && "+I+" != 'number') { ";var S;y=h;(S=S||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(y||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+h+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+d+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var D=i;i=S.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+D+"]); ":i+=" validate.errors = ["+D+"]; return false; ":i+=" var err = "+D+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",c&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+I+" == 'number' ? ( ("+w+" = "+r+" === undefined || "+b+" "+g+"= "+r+") ? "+m+" "+_+"= "+b+" : "+m+" "+_+" "+r+" ) : ( ("+w+" = "+b+" === true) ? "+m+" "+_+"= "+r+" : "+m+" "+_+" "+r+" ) || "+m+" !== "+m+") { var op"+o+" = "+w+" ? '"+g+"' : '"+g+"='; ",void 0===s&&(y=h,p=e.errSchemaPath+"/"+h,r=b,c=v)}else{E=g;if((T="number"==typeof f)&&c){var N="'"+E+"'";i+=" if ( ",c&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" ( "+r+" === undefined || "+f+" "+g+"= "+r+" ? "+m+" "+_+"= "+f+" : "+m+" "+_+" "+r+" ) || "+m+" !== "+m+") { "}else{T&&void 0===s?(w=!0,y=h,p=e.errSchemaPath+"/"+h,r=f,_+="="):(T&&(r=Math[u?"min":"max"](f,s)),f===(!T||r)?(w=!0,y=h,p=e.errSchemaPath+"/"+h,_+="="):(w=!1,E+="="));N="'"+E+"'";i+=" if ( ",c&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+m+" "+_+" "+r+" || "+m+" !== "+m+") { "}}y=y||t,(S=S||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(y||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { comparison: "+N+", limit: "+r+", exclusive: "+w+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+E+" ",i+=c?"' + "+r:r+"'"),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+d:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";D=i;return i=S.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+D+"]); ":i+=" validate.errors = ["+D+"]; return false; ":i+=" var err = "+D+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",l&&(i+=" else { "),i},Xa=function(e,t,a){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],d=e.schemaPath+e.util.getProperty(t),p=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,m="data"+(n||""),c=e.opts.$data&&s&&s.$data;if(c?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,!c&&"number"!=typeof s)throw new Error(t+" must be number");i+="if ( ",c&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+m+".length "+("maxItems"==t?">":"<")+" "+r+") { ";var u=t,h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(u||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==t?"more":"fewer",i+=" than ",i+=c?"' + "+r+" + '":""+s,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+d:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var f=i;return i=h.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i},Za=function(e,t,a){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],d=e.schemaPath+e.util.getProperty(t),p=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,m="data"+(n||""),c=e.opts.$data&&s&&s.$data;if(c?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,!c&&"number"!=typeof s)throw new Error(t+" must be number");var u="maxLength"==t?">":"<";i+="if ( ",c&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),!1===e.opts.unicode?i+=" "+m+".length ":i+=" ucs2length("+m+") ",i+=" "+u+" "+r+") { ";var h=t,f=f||[];f.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==t?"longer":"shorter",i+=" than ",i+=c?"' + "+r+" + '":""+s,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+d:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var v=i;return i=f.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+v+"]); ":i+=" validate.errors = ["+v+"]; return false; ":i+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i},er=function(e,t,a){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],d=e.schemaPath+e.util.getProperty(t),p=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,m="data"+(n||""),c=e.opts.$data&&s&&s.$data;if(c?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,!c&&"number"!=typeof s)throw new Error(t+" must be number");i+="if ( ",c&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" Object.keys("+m+").length "+("maxProperties"==t?">":"<")+" "+r+") { ";var u=t,h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(u||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==t?"more":"fewer",i+=" than ",i+=c?"' + "+r+" + '":""+s,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+d:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var f=i;return i=h.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i},tr={$ref:function(e,t,a){var r,i,o=" ",n=e.level,s=e.dataLevel,d=e.schema[t],p=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,m="data"+(s||""),c="valid"+n;if("#"==d||"#/"==d)e.isRoot?(r=e.async,i="validate"):(r=!0===e.root.schema.$async,i="root.refVal[0]");else{var u=e.resolveRef(e.baseId,d,e.isRoot);if(void 0===u){var h=e.MissingRefError.message(e.baseId,d);if("fail"==e.opts.missingRefs){e.logger.error(h),(_=_||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { ref: '"+e.util.escapeQuotes(d)+"' } ",!1!==e.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(d)+"' "),e.opts.verbose&&(o+=" , schema: "+e.util.toQuotedString(d)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),o+=" } "):o+=" {} ";var f=o;o=_.pop(),!e.compositeRule&&l?e.async?o+=" throw new ValidationError(["+f+"]); ":o+=" validate.errors = ["+f+"]; return false; ":o+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l&&(o+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,d,h);e.logger.warn(h),l&&(o+=" if (true) { ")}}else if(u.inline){var v=e.util.copy(e);v.level++;var g="valid"+v.level;v.schema=u.schema,v.schemaPath="",v.errSchemaPath=d,o+=" "+e.validate(v).replace(/validate\.schema/g,u.code)+" ",l&&(o+=" if ("+g+") { ")}else r=!0===u.$async||e.async&&!1!==u.$async,i=u.code}if(i){var _;(_=_||[]).push(o),o="",e.opts.passContext?o+=" "+i+".call(this, ":o+=" "+i+"( ",o+=" "+m+", (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var y=o+=" , "+(s?"data"+(s-1||""):"parentData")+" , "+(s?e.dataPathArr[s]:"parentDataProperty")+", rootData) ";if(o=_.pop(),r){if(!e.async)throw new Error("async schema referenced by sync schema");l&&(o+=" var "+c+"; "),o+=" try { await "+y+"; ",l&&(o+=" "+c+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",l&&(o+=" "+c+" = false; "),o+=" } ",l&&(o+=" if ("+c+") { ")}else o+=" if (!"+y+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",l&&(o+=" else { ")}return o},allOf:function(e,t,a){var r=" ",i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),n=e.errSchemaPath+"/"+t,s=!e.opts.allErrors,d=e.util.copy(e),p="";d.level++;var l="valid"+d.level,m=d.baseId,c=!0,u=i;if(u)for(var h,f=-1,v=u.length-1;f<v;)h=u[f+=1],(e.opts.strictKeywords?"object"==typeof h&&Object.keys(h).length>0||!1===h:e.util.schemaHasRules(h,e.RULES.all))&&(c=!1,d.schema=h,d.schemaPath=o+"["+f+"]",d.errSchemaPath=n+"/"+f,r+=" "+e.validate(d)+" ",d.baseId=m,s&&(r+=" if ("+l+") { ",p+="}"));return s&&(r+=c?" if (true) { ":" "+p.slice(0,-1)+" "),r},anyOf:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="valid"+i,c="errs__"+i,u=e.util.copy(e),h="";u.level++;var f="valid"+u.level,v=n.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0||!1===t:e.util.schemaHasRules(t,e.RULES.all)}));if(v){var g=u.baseId;r+=" var "+c+" = errors; var "+m+" = false; ";var _=e.compositeRule;e.compositeRule=u.compositeRule=!0;var y=n;if(y)for(var b,w=-1,I=y.length-1;w<I;)b=y[w+=1],u.schema=b,u.schemaPath=s+"["+w+"]",u.errSchemaPath=d+"/"+w,r+=" "+e.validate(u)+" ",u.baseId=g,r+=" "+m+" = "+m+" || "+f+"; if (!"+m+") { ",h+="}";e.compositeRule=u.compositeRule=_,r+=" "+h+" if (!"+m+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } else { errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else p&&(r+=" if (true) { ");return r},$comment:function(e,t,a){var r=" ",i=e.schema[t],o=e.errSchemaPath+"/"+t;e.opts.allErrors;var n=e.util.toQuotedString(i);return!0===e.opts.$comment?r+=" console.log("+n+");":"function"==typeof e.opts.$comment&&(r+=" self._opts.$comment("+n+", "+e.util.toQuotedString(o)+", validate.root.schema);"),r},const:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="valid"+i,c=e.opts.$data&&n&&n.$data;c&&(r+=" var schema"+i+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; "),c||(r+=" var schema"+i+" = validate.schema"+s+";"),r+="var "+m+" = equal("+l+", schema"+i+"); if (!"+m+") { ";var u=u||[];u.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { allowedValue: schema"+i+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to constant' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var h=r;return r=u.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+h+"]); ":r+=" validate.errors = ["+h+"]; return false; ":r+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",p&&(r+=" else { "),r},contains:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="valid"+i,c="errs__"+i,u=e.util.copy(e);u.level++;var h="valid"+u.level,f="i"+i,v=u.dataLevel=e.dataLevel+1,g="data"+v,_=e.baseId,y=e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all);if(r+="var "+c+" = errors;var "+m+";",y){var b=e.compositeRule;e.compositeRule=u.compositeRule=!0,u.schema=n,u.schemaPath=s,u.errSchemaPath=d,r+=" var "+h+" = false; for (var "+f+" = 0; "+f+" < "+l+".length; "+f+"++) { ",u.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);var w=l+"["+f+"]";u.dataPathArr[v]=f;var I=e.validate(u);u.baseId=_,e.util.varOccurences(I,g)<2?r+=" "+e.util.varReplace(I,g,w)+" ":r+=" var "+g+" = "+w+"; "+I+" ",r+=" if ("+h+") break; } ",e.compositeRule=u.compositeRule=b,r+=" if (!"+h+") {"}else r+=" if ("+l+".length == 0) {";var T=T||[];T.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should contain a valid item' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var E=r;return r=T.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+E+"]); ":r+=" validate.errors = ["+E+"]; return false; ":r+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { ",y&&(r+=" errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } "),e.opts.allErrors&&(r+=" } "),r},dependencies:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="errs__"+i,c=e.util.copy(e),u="";c.level++;var h="valid"+c.level,f={},v={},g=e.opts.ownProperties;for(w in n)if("__proto__"!=w){var _=n[w],y=Array.isArray(_)?v:f;y[w]=_}r+="var "+m+" = errors;";var b=e.errorPath;for(var w in r+="var missing"+i+";",v)if((y=v[w]).length){if(r+=" if ( "+l+e.util.getProperty(w)+" !== undefined ",g&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(w)+"') "),p){r+=" && ( ";var I=y;if(I)for(var T=-1,E=I.length-1;T<E;){O=I[T+=1],T&&(r+=" || "),r+=" ( ( "+(C=l+(P=e.util.getProperty(O)))+" === undefined ",g&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(O)+"') "),r+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?O:P)+") ) "}r+=")) { ";var S="missing"+i,D="' + "+S+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,S,!0):b+" + "+S);var N=N||[];N.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+D+"', depsCount: "+y.length+", deps: '"+e.util.escapeQuotes(1==y.length?y[0]:y.join(", "))+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should have ",1==y.length?r+="property "+e.util.escapeQuotes(y[0]):r+="properties "+e.util.escapeQuotes(y.join(", ")),r+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var A=r;r=N.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+A+"]); ":r+=" validate.errors = ["+A+"]; return false; ":r+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{r+=" ) { ";var k=y;if(k)for(var O,$=-1,R=k.length-1;$<R;){O=k[$+=1];var P=e.util.getProperty(O),C=(D=e.util.escapeQuotes(O),l+P);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,O,e.opts.jsonPointers)),r+=" if ( "+C+" === undefined ",g&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(O)+"') "),r+=") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+D+"', depsCount: "+y.length+", deps: '"+e.util.escapeQuotes(1==y.length?y[0]:y.join(", "))+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should have ",1==y.length?r+="property "+e.util.escapeQuotes(y[0]):r+="properties "+e.util.escapeQuotes(y.join(", ")),r+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}r+=" } ",p&&(u+="}",r+=" else { ")}e.errorPath=b;var x=c.baseId;for(var w in f){_=f[w];(e.opts.strictKeywords?"object"==typeof _&&Object.keys(_).length>0||!1===_:e.util.schemaHasRules(_,e.RULES.all))&&(r+=" "+h+" = true; if ( "+l+e.util.getProperty(w)+" !== undefined ",g&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(w)+"') "),r+=") { ",c.schema=_,c.schemaPath=s+e.util.getProperty(w),c.errSchemaPath=d+"/"+e.util.escapeFragment(w),r+=" "+e.validate(c)+" ",c.baseId=x,r+=" } ",p&&(r+=" if ("+h+") { ",u+="}"))}return p&&(r+=" "+u+" if ("+m+" == errors) {"),r},enum:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="valid"+i,c=e.opts.$data&&n&&n.$data;c&&(r+=" var schema"+i+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ");var u="i"+i,h="schema"+i;c||(r+=" var "+h+" = validate.schema"+s+";"),r+="var "+m+";",c&&(r+=" if (schema"+i+" === undefined) "+m+" = true; else if (!Array.isArray(schema"+i+")) "+m+" = false; else {"),r+=m+" = false;for (var "+u+"=0; "+u+"<"+h+".length; "+u+"++) if (equal("+l+", "+h+"["+u+"])) { "+m+" = true; break; }",c&&(r+=" } "),r+=" if (!"+m+") { ";var f=f||[];f.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var v=r;return r=f.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+v+"]); ":r+=" validate.errors = ["+v+"]; return false; ":r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",p&&(r+=" else { "),r},format:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||"");if(!1===e.opts.format)return p&&(r+=" if (true) { "),r;var m,c=e.opts.$data&&n&&n.$data;c?(r+=" var schema"+i+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",m="schema"+i):m=n;var u=e.opts.unknownFormats,h=Array.isArray(u);if(c){r+=" var "+(f="format"+i)+" = formats["+m+"]; var "+(v="isObject"+i)+" = typeof "+f+" == 'object' && !("+f+" instanceof RegExp) && "+f+".validate; var "+(g="formatType"+i)+" = "+v+" && "+f+".type || 'string'; if ("+v+") { ",e.async&&(r+=" var async"+i+" = "+f+".async; "),r+=" "+f+" = "+f+".validate; } if ( ",c&&(r+=" ("+m+" !== undefined && typeof "+m+" != 'string') || "),r+=" (","ignore"!=u&&(r+=" ("+m+" && !"+f+" ",h&&(r+=" && self._opts.unknownFormats.indexOf("+m+") == -1 "),r+=") || "),r+=" ("+f+" && "+g+" == '"+a+"' && !(typeof "+f+" == 'function' ? ",e.async?r+=" (async"+i+" ? await "+f+"("+l+") : "+f+"("+l+")) ":r+=" "+f+"("+l+") ",r+=" : "+f+".test("+l+"))))) {"}else{var f;if(!(f=e.formats[n])){if("ignore"==u)return e.logger.warn('unknown format "'+n+'" ignored in schema at path "'+e.errSchemaPath+'"'),p&&(r+=" if (true) { "),r;if(h&&u.indexOf(n)>=0)return p&&(r+=" if (true) { "),r;throw new Error('unknown format "'+n+'" is used in schema at path "'+e.errSchemaPath+'"')}var v,g=(v="object"==typeof f&&!(f instanceof RegExp)&&f.validate)&&f.type||"string";if(v){var _=!0===f.async;f=f.validate}if(g!=a)return p&&(r+=" if (true) { "),r;if(_){if(!e.async)throw new Error("async format in sync schema");r+=" if (!(await "+(y="formats"+e.util.getProperty(n)+".validate")+"("+l+"))) { "}else{r+=" if (! ";var y="formats"+e.util.getProperty(n);v&&(y+=".validate"),r+="function"==typeof f?" "+y+"("+l+") ":" "+y+".test("+l+") ",r+=") { "}}var b=b||[];b.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { format: ",r+=c?""+m:""+e.util.toQuotedString(n),r+=" } ",!1!==e.opts.messages&&(r+=" , message: 'should match format \"",r+=c?"' + "+m+" + '":""+e.util.escapeQuotes(n),r+="\"' "),e.opts.verbose&&(r+=" , schema: ",r+=c?"validate.schema"+s:""+e.util.toQuotedString(n),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var w=r;return r=b.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+w+"]); ":r+=" validate.errors = ["+w+"]; return false; ":r+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",p&&(r+=" else { "),r},if:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="valid"+i,c="errs__"+i,u=e.util.copy(e);u.level++;var h="valid"+u.level,f=e.schema.then,v=e.schema.else,g=void 0!==f&&(e.opts.strictKeywords?"object"==typeof f&&Object.keys(f).length>0||!1===f:e.util.schemaHasRules(f,e.RULES.all)),_=void 0!==v&&(e.opts.strictKeywords?"object"==typeof v&&Object.keys(v).length>0||!1===v:e.util.schemaHasRules(v,e.RULES.all)),y=u.baseId;if(g||_){var b;u.createErrors=!1,u.schema=n,u.schemaPath=s,u.errSchemaPath=d,r+=" var "+c+" = errors; var "+m+" = true; ";var w=e.compositeRule;e.compositeRule=u.compositeRule=!0,r+=" "+e.validate(u)+" ",u.baseId=y,u.createErrors=!0,r+=" errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } ",e.compositeRule=u.compositeRule=w,g?(r+=" if ("+h+") { ",u.schema=e.schema.then,u.schemaPath=e.schemaPath+".then",u.errSchemaPath=e.errSchemaPath+"/then",r+=" "+e.validate(u)+" ",u.baseId=y,r+=" "+m+" = "+h+"; ",g&&_?r+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",r+=" } ",_&&(r+=" else { ")):r+=" if (!"+h+") { ",_&&(u.schema=e.schema.else,u.schemaPath=e.schemaPath+".else",u.errSchemaPath=e.errSchemaPath+"/else",r+=" "+e.validate(u)+" ",u.baseId=y,r+=" "+m+" = "+h+"; ",g&&_?r+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",r+=" } "),r+=" if (!"+m+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",p&&(r+=" else { ")}else p&&(r+=" if (true) { ");return r},items:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="valid"+i,c="errs__"+i,u=e.util.copy(e),h="";u.level++;var f="valid"+u.level,v="i"+i,g=u.dataLevel=e.dataLevel+1,_="data"+g,y=e.baseId;if(r+="var "+c+" = errors;var "+m+";",Array.isArray(n)){var b=e.schema.additionalItems;if(!1===b){r+=" "+m+" = "+l+".length <= "+n.length+"; ";var w=d;d=e.errSchemaPath+"/additionalItems",r+=" if (!"+m+") { ";var I=I||[];I.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+n.length+" } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have more than "+n.length+" items' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var T=r;r=I.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+T+"]); ":r+=" validate.errors = ["+T+"]; return false; ":r+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",d=w,p&&(h+="}",r+=" else { ")}var E=n;if(E)for(var S,D=-1,N=E.length-1;D<N;)if(S=E[D+=1],e.opts.strictKeywords?"object"==typeof S&&Object.keys(S).length>0||!1===S:e.util.schemaHasRules(S,e.RULES.all)){r+=" "+f+" = true; if ("+l+".length > "+D+") { ";var A=l+"["+D+"]";u.schema=S,u.schemaPath=s+"["+D+"]",u.errSchemaPath=d+"/"+D,u.errorPath=e.util.getPathExpr(e.errorPath,D,e.opts.jsonPointers,!0),u.dataPathArr[g]=D;var k=e.validate(u);u.baseId=y,e.util.varOccurences(k,_)<2?r+=" "+e.util.varReplace(k,_,A)+" ":r+=" var "+_+" = "+A+"; "+k+" ",r+=" } ",p&&(r+=" if ("+f+") { ",h+="}")}if("object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0||!1===b:e.util.schemaHasRules(b,e.RULES.all))){u.schema=b,u.schemaPath=e.schemaPath+".additionalItems",u.errSchemaPath=e.errSchemaPath+"/additionalItems",r+=" "+f+" = true; if ("+l+".length > "+n.length+") { for (var "+v+" = "+n.length+"; "+v+" < "+l+".length; "+v+"++) { ",u.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);A=l+"["+v+"]";u.dataPathArr[g]=v;k=e.validate(u);u.baseId=y,e.util.varOccurences(k,_)<2?r+=" "+e.util.varReplace(k,_,A)+" ":r+=" var "+_+" = "+A+"; "+k+" ",p&&(r+=" if (!"+f+") break; "),r+=" } } ",p&&(r+=" if ("+f+") { ",h+="}")}}else if(e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all)){u.schema=n,u.schemaPath=s,u.errSchemaPath=d,r+=" for (var "+v+" = 0; "+v+" < "+l+".length; "+v+"++) { ",u.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);A=l+"["+v+"]";u.dataPathArr[g]=v;k=e.validate(u);u.baseId=y,e.util.varOccurences(k,_)<2?r+=" "+e.util.varReplace(k,_,A)+" ":r+=" var "+_+" = "+A+"; "+k+" ",p&&(r+=" if (!"+f+") break; "),r+=" }"}return p&&(r+=" "+h+" if ("+c+" == errors) {"),r},maximum:Ja,minimum:Ja,maxItems:Xa,minItems:Xa,maxLength:Za,minLength:Za,maxProperties:er,minProperties:er,multipleOf:function(e,t,a){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],d=e.schemaPath+e.util.getProperty(t),p=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,m="data"+(n||""),c=e.opts.$data&&s&&s.$data;if(c?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,!c&&"number"!=typeof s)throw new Error(t+" must be number");i+="var division"+o+";if (",c&&(i+=" "+r+" !== undefined && ( typeof "+r+" != 'number' || "),i+=" (division"+o+" = "+m+" / "+r+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+o+") - division"+o+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+o+" !== parseInt(division"+o+") ",i+=" ) ",c&&(i+=" ) "),i+=" ) { ";var u=u||[];u.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { multipleOf: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=c?"' + "+r:r+"'"),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+d:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var h=i;return i=u.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i},not:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="errs__"+i,c=e.util.copy(e);c.level++;var u="valid"+c.level;if(e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all)){c.schema=n,c.schemaPath=s,c.errSchemaPath=d,r+=" var "+m+" = errors; ";var h,f=e.compositeRule;e.compositeRule=c.compositeRule=!0,c.createErrors=!1,c.opts.allErrors&&(h=c.opts.allErrors,c.opts.allErrors=!1),r+=" "+e.validate(c)+" ",c.createErrors=!0,h&&(c.opts.allErrors=h),e.compositeRule=c.compositeRule=f,r+=" if ("+u+") { ";var v=v||[];v.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var g=r;r=v.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+g+"]); ":r+=" validate.errors = ["+g+"]; return false; ":r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else r+=" var err = ",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",p&&(r+=" if (false) { ");return r},oneOf:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="valid"+i,c="errs__"+i,u=e.util.copy(e),h="";u.level++;var f="valid"+u.level,v=u.baseId,g="prevValid"+i,_="passingSchemas"+i;r+="var "+c+" = errors , "+g+" = false , "+m+" = false , "+_+" = null; ";var y=e.compositeRule;e.compositeRule=u.compositeRule=!0;var b=n;if(b)for(var w,I=-1,T=b.length-1;I<T;)w=b[I+=1],(e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0||!1===w:e.util.schemaHasRules(w,e.RULES.all))?(u.schema=w,u.schemaPath=s+"["+I+"]",u.errSchemaPath=d+"/"+I,r+=" "+e.validate(u)+" ",u.baseId=v):r+=" var "+f+" = true; ",I&&(r+=" if ("+f+" && "+g+") { "+m+" = false; "+_+" = ["+_+", "+I+"]; } else { ",h+="}"),r+=" if ("+f+") { "+m+" = "+g+" = true; "+_+" = "+I+"; }";return e.compositeRule=u.compositeRule=y,r+=h+"if (!"+m+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { passingSchemas: "+_+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+="} else { errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; }",e.opts.allErrors&&(r+=" } "),r},pattern:function(e,t,a){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],d=e.schemaPath+e.util.getProperty(t),p=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,m="data"+(n||""),c=e.opts.$data&&s&&s.$data;c?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,i+="if ( ",c&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'string') || "),i+=" !"+(c?"(new RegExp("+r+"))":e.usePattern(s))+".test("+m+") ) { ";var u=u||[];u.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { pattern: ",i+=c?""+r:""+e.util.toQuotedString(s),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=c?"' + "+r+" + '":""+e.util.escapeQuotes(s),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+d:""+e.util.toQuotedString(s),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var h=i;return i=u.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i},properties:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="errs__"+i,c=e.util.copy(e),u="";c.level++;var h="valid"+c.level,f="key"+i,v="idx"+i,g=c.dataLevel=e.dataLevel+1,_="data"+g,y="dataProperties"+i,b=Object.keys(n||{}).filter(P),w=e.schema.patternProperties||{},I=Object.keys(w).filter(P),T=e.schema.additionalProperties,E=b.length||I.length,S=!1===T,D="object"==typeof T&&Object.keys(T).length,N=e.opts.removeAdditional,A=S||D||N,k=e.opts.ownProperties,O=e.baseId,$=e.schema.required;if($&&(!e.opts.$data||!$.$data)&&$.length<e.opts.loopRequired)var R=e.util.toHash($);function P(e){return"__proto__"!==e}if(r+="var "+m+" = errors;var "+h+" = true;",k&&(r+=" var "+y+" = undefined;"),A){if(r+=k?" "+y+" = "+y+" || Object.keys("+l+"); for (var "+v+"=0; "+v+"<"+y+".length; "+v+"++) { var "+f+" = "+y+"["+v+"]; ":" for (var "+f+" in "+l+") { ",E){if(r+=" var isAdditional"+i+" = !(false ",b.length)if(b.length>8)r+=" || validate.schema"+s+".hasOwnProperty("+f+") ";else{var C=b;if(C)for(var x=-1,F=C.length-1;x<F;)Y=C[x+=1],r+=" || "+f+" == "+e.util.toQuotedString(Y)+" "}if(I.length){var z=I;if(z)for(var L=-1,V=z.length-1;L<V;)oe=z[L+=1],r+=" || "+e.usePattern(oe)+".test("+f+") "}r+=" ); if (isAdditional"+i+") { "}if("all"==N)r+=" delete "+l+"["+f+"]; ";else{var U=e.errorPath,j="' + "+f+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers)),S)if(N)r+=" delete "+l+"["+f+"]; ";else{r+=" "+h+" = false; ";var M=d;d=e.errSchemaPath+"/additionalProperties",(ae=ae||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { additionalProperty: '"+j+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is an invalid additional property":r+="should NOT have additional properties",r+="' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var q=r;r=ae.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+q+"]); ":r+=" validate.errors = ["+q+"]; return false; ":r+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",d=M,p&&(r+=" break; ")}else if(D)if("failing"==N){r+=" var "+m+" = errors; ";var B=e.compositeRule;e.compositeRule=c.compositeRule=!0,c.schema=T,c.schemaPath=e.schemaPath+".additionalProperties",c.errSchemaPath=e.errSchemaPath+"/additionalProperties",c.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);var H=l+"["+f+"]";c.dataPathArr[g]=f;var G=e.validate(c);c.baseId=O,e.util.varOccurences(G,_)<2?r+=" "+e.util.varReplace(G,_,H)+" ":r+=" var "+_+" = "+H+"; "+G+" ",r+=" if (!"+h+") { errors = "+m+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+l+"["+f+"]; } ",e.compositeRule=c.compositeRule=B}else{c.schema=T,c.schemaPath=e.schemaPath+".additionalProperties",c.errSchemaPath=e.errSchemaPath+"/additionalProperties",c.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);H=l+"["+f+"]";c.dataPathArr[g]=f;G=e.validate(c);c.baseId=O,e.util.varOccurences(G,_)<2?r+=" "+e.util.varReplace(G,_,H)+" ":r+=" var "+_+" = "+H+"; "+G+" ",p&&(r+=" if (!"+h+") break; ")}e.errorPath=U}E&&(r+=" } "),r+=" } ",p&&(r+=" if ("+h+") { ",u+="}")}var W=e.opts.useDefaults&&!e.compositeRule;if(b.length){var Q=b;if(Q)for(var Y,K=-1,J=Q.length-1;K<J;){var X=n[Y=Q[K+=1]];if(e.opts.strictKeywords?"object"==typeof X&&Object.keys(X).length>0||!1===X:e.util.schemaHasRules(X,e.RULES.all)){var Z=e.util.getProperty(Y),ee=(H=l+Z,W&&void 0!==X.default);c.schema=X,c.schemaPath=s+Z,c.errSchemaPath=d+"/"+e.util.escapeFragment(Y),c.errorPath=e.util.getPath(e.errorPath,Y,e.opts.jsonPointers),c.dataPathArr[g]=e.util.toQuotedString(Y);G=e.validate(c);if(c.baseId=O,e.util.varOccurences(G,_)<2){G=e.util.varReplace(G,_,H);var te=H}else{te=_;r+=" var "+_+" = "+H+"; "}if(ee)r+=" "+G+" ";else{if(R&&R[Y]){r+=" if ( "+te+" === undefined ",k&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(Y)+"') "),r+=") { "+h+" = false; ";U=e.errorPath,M=d;var ae,re=e.util.escapeQuotes(Y);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(U,Y,e.opts.jsonPointers)),d=e.errSchemaPath+"/required",(ae=ae||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+re+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";q=r;r=ae.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+q+"]); ":r+=" validate.errors = ["+q+"]; return false; ":r+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",d=M,e.errorPath=U,r+=" } else { "}else p?(r+=" if ( "+te+" === undefined ",k&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(Y)+"') "),r+=") { "+h+" = true; } else { "):(r+=" if ("+te+" !== undefined ",k&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(Y)+"') "),r+=" ) { ");r+=" "+G+" } "}}p&&(r+=" if ("+h+") { ",u+="}")}}if(I.length){var ie=I;if(ie)for(var oe,ne=-1,se=ie.length-1;ne<se;){X=w[oe=ie[ne+=1]];if(e.opts.strictKeywords?"object"==typeof X&&Object.keys(X).length>0||!1===X:e.util.schemaHasRules(X,e.RULES.all)){c.schema=X,c.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(oe),c.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(oe),r+=k?" "+y+" = "+y+" || Object.keys("+l+"); for (var "+v+"=0; "+v+"<"+y+".length; "+v+"++) { var "+f+" = "+y+"["+v+"]; ":" for (var "+f+" in "+l+") { ",r+=" if ("+e.usePattern(oe)+".test("+f+")) { ",c.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);H=l+"["+f+"]";c.dataPathArr[g]=f;G=e.validate(c);c.baseId=O,e.util.varOccurences(G,_)<2?r+=" "+e.util.varReplace(G,_,H)+" ":r+=" var "+_+" = "+H+"; "+G+" ",p&&(r+=" if (!"+h+") break; "),r+=" } ",p&&(r+=" else "+h+" = true; "),r+=" } ",p&&(r+=" if ("+h+") { ",u+="}")}}}return p&&(r+=" "+u+" if ("+m+" == errors) {"),r},propertyNames:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="errs__"+i,c=e.util.copy(e);c.level++;var u="valid"+c.level;if(r+="var "+m+" = errors;",e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all)){c.schema=n,c.schemaPath=s,c.errSchemaPath=d;var h="key"+i,f="idx"+i,v="i"+i,g="' + "+h+" + '",_="data"+(c.dataLevel=e.dataLevel+1),y="dataProperties"+i,b=e.opts.ownProperties,w=e.baseId;b&&(r+=" var "+y+" = undefined; "),r+=b?" "+y+" = "+y+" || Object.keys("+l+"); for (var "+f+"=0; "+f+"<"+y+".length; "+f+"++) { var "+h+" = "+y+"["+f+"]; ":" for (var "+h+" in "+l+") { ",r+=" var startErrs"+i+" = errors; ";var I=h,T=e.compositeRule;e.compositeRule=c.compositeRule=!0;var E=e.validate(c);c.baseId=w,e.util.varOccurences(E,_)<2?r+=" "+e.util.varReplace(E,_,I)+" ":r+=" var "+_+" = "+I+"; "+E+" ",e.compositeRule=c.compositeRule=T,r+=" if (!"+u+") { for (var "+v+"=startErrs"+i+"; "+v+"<errors; "+v+"++) { vErrors["+v+"].propertyName = "+h+"; } var err = ",!1!==e.createErrors?(r+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { propertyName: '"+g+"' } ",!1!==e.opts.messages&&(r+=" , message: 'property name \\'"+g+"\\' is invalid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),p&&(r+=" break; "),r+=" } }"}return p&&(r+=" if ("+m+" == errors) {"),r},required:function(e,t,a){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,l="data"+(o||""),m="valid"+i,c=e.opts.$data&&n&&n.$data;c&&(r+=" var schema"+i+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ");var u="schema"+i;if(!c)if(n.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var h=[],f=n;if(f)for(var v,g=-1,_=f.length-1;g<_;){v=f[g+=1];var y=e.schema.properties[v];y&&(e.opts.strictKeywords?"object"==typeof y&&Object.keys(y).length>0||!1===y:e.util.schemaHasRules(y,e.RULES.all))||(h[h.length]=v)}}else h=n;if(c||h.length){var b=e.errorPath,w=c||h.length>=e.opts.loopRequired,I=e.opts.ownProperties;if(p)if(r+=" var missing"+i+"; ",w){c||(r+=" var "+u+" = validate.schema"+s+"; ");var T="' + "+(k="schema"+i+"["+(D="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,k,e.opts.jsonPointers)),r+=" var "+m+" = true; ",c&&(r+=" if (schema"+i+" === undefined) "+m+" = true; else if (!Array.isArray(schema"+i+")) "+m+" = false; else {"),r+=" for (var "+D+" = 0; "+D+" < "+u+".length; "+D+"++) { "+m+" = "+l+"["+u+"["+D+"]] !== undefined ",I&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", "+u+"["+D+"]) "),r+="; if (!"+m+") break; } ",c&&(r+=" } "),r+=" if (!"+m+") { ",(A=A||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { missingProperty: '"+T+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+T+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var E=r;r=A.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+E+"]); ":r+=" validate.errors = ["+E+"]; return false; ":r+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else{r+=" if ( ";var S=h;if(S)for(var D=-1,N=S.length-1;D<N;){$=S[D+=1],D&&(r+=" || "),r+=" ( ( "+(x=l+(C=e.util.getProperty($)))+" === undefined ",I&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes($)+"') "),r+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?$:C)+") ) "}r+=") { ";var A;T="' + "+(k="missing"+i)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,k,!0):b+" + "+k),(A=A||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { missingProperty: '"+T+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+T+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";E=r;r=A.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+E+"]); ":r+=" validate.errors = ["+E+"]; return false; ":r+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else if(w){c||(r+=" var "+u+" = validate.schema"+s+"; ");var k;T="' + "+(k="schema"+i+"["+(D="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,k,e.opts.jsonPointers)),c&&(r+=" if ("+u+" && !Array.isArray("+u+")) { var err = ",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { missingProperty: '"+T+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+T+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+u+" !== undefined) { "),r+=" for (var "+D+" = 0; "+D+" < "+u+".length; "+D+"++) { if ("+l+"["+u+"["+D+"]] === undefined ",I&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", "+u+"["+D+"]) "),r+=") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { missingProperty: '"+T+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+T+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",c&&(r+=" } ")}else{var O=h;if(O)for(var $,R=-1,P=O.length-1;R<P;){$=O[R+=1];var C=e.util.getProperty($),x=(T=e.util.escapeQuotes($),l+C);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,$,e.opts.jsonPointers)),r+=" if ( "+x+" === undefined ",I&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes($)+"') "),r+=") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { missingProperty: '"+T+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+T+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=b}else p&&(r+=" if (true) {");return r},uniqueItems:function(e,t,a){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[t],d=e.schemaPath+e.util.getProperty(t),p=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,m="data"+(n||""),c="valid"+o,u=e.opts.$data&&s&&s.$data;if(u?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,(s||u)&&!1!==e.opts.uniqueItems){u&&(i+=" var "+c+"; if ("+r+" === false || "+r+" === undefined) "+c+" = true; else if (typeof "+r+" != 'boolean') "+c+" = false; else { "),i+=" var i = "+m+".length , "+c+" = true , j; if (i > 1) { ";var h=e.schema.items&&e.schema.items.type,f=Array.isArray(h);if(!h||"object"==h||"array"==h||f&&(h.indexOf("object")>=0||h.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+m+"[i], "+m+"[j])) { "+c+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+m+"[i]; ";var v="checkDataType"+(f?"s":"");i+=" if ("+e.util[v](h,"item",e.opts.strictNumbers,!0)+") continue; ",f&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+c+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",u&&(i+=" } "),i+=" if (!"+c+") { ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=u?"validate.schema"+d:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),i+=" } "):i+=" {} ";var _=i;i=g.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+_+"]); ":i+=" validate.errors = ["+_+"]; return false; ":i+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",l&&(i+=" else { ")}else l&&(i+=" if (true) { ");return i},validate:la},ar=tr,rr=yt.toHash,ir=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"],or=na.MissingRef,nr=function e(t,a,r){var i=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof a&&(r=a,a=void 0);var o=n(t).then((function(){var e=i._addSchema(t,void 0,a);return e.validate||s(e)}));r&&o.then((function(e){r(null,e)}),r);return o;function n(t){var a=t.$schema;return a&&!i.getSchema(a)?e.call(i,{$ref:a},!0):Promise.resolve()}function s(e){try{return i._compile(e)}catch(t){if(t instanceof or)return function(t){var r=t.missingSchema;if(p(r))throw new Error("Schema "+r+" is loaded but "+t.missingRef+" cannot be resolved");var o=i._loadingSchemas[r];o||(o=i._loadingSchemas[r]=i._opts.loadSchema(r)).then(d,d);return o.then((function(e){if(!p(r))return n(e).then((function(){p(r)||i.addSchema(e,r,void 0,a)}))})).then((function(){return s(e)}));function d(){delete i._loadingSchemas[r]}function p(e){return i._refs[e]||i._schemas[e]}}(t);throw t}}};var sr={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0},dr=sr,pr={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:dr.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:dr.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}},lr=/^[a-z_$][a-z0-9_$-]*$/i,mr=function(e,t,a){var r,i,o=" ",n=e.level,s=e.dataLevel,d=e.schema[t],p=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,m=!e.opts.allErrors,c="data"+(s||""),u="valid"+n,h="errs__"+n,f=e.opts.$data&&d&&d.$data;f?(o+=" var schema"+n+" = "+e.util.getData(d.$data,s,e.dataPathArr)+"; ",i="schema"+n):i=d;var v,g,_,y,b,w=this,I="definition"+n,T=w.definition,E="";if(f&&T.$data){b="keywordValidate"+n;var S=T.validateSchema;o+=" var "+I+" = RULES.custom['"+t+"'].definition; var "+b+" = "+I+".validate;"}else{if(!(y=e.useCustomRule(w,d,e.schema,e)))return;i="validate.schema"+p,b=y.code,v=T.compile,g=T.inline,_=T.macro}var D=b+".errors",N="i"+n,A="ruleErr"+n,k=T.async;if(k&&!e.async)throw new Error("async keyword in sync schema");if(g||_||(o+=D+" = null;"),o+="var "+h+" = errors;var "+u+";",f&&T.$data&&(E+="}",o+=" if ("+i+" === undefined) { "+u+" = true; } else { ",S&&(E+="}",o+=" "+u+" = "+I+".validateSchema("+i+"); if ("+u+") { ")),g)T.statements?o+=" "+y.validate+" ":o+=" "+u+" = "+y.validate+"; ";else if(_){var O=e.util.copy(e);E="";O.level++;var $="valid"+O.level;O.schema=y.validate,O.schemaPath="";var R=e.compositeRule;e.compositeRule=O.compositeRule=!0;var P=e.validate(O).replace(/validate\.schema/g,b);e.compositeRule=O.compositeRule=R,o+=" "+P}else{(z=z||[]).push(o),o="",o+=" "+b+".call( ",e.opts.passContext?o+="this":o+="self",v||!1===T.schema?o+=" , "+c+" ":o+=" , "+i+" , "+c+" , validate.schema"+e.schemaPath+" ",o+=" , (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var C=s?"data"+(s-1||""):"parentData",x=s?e.dataPathArr[s]:"parentDataProperty",F=o+=" , "+C+" , "+x+" , rootData ) ";o=z.pop(),!1===T.errors?(o+=" "+u+" = ",k&&(o+="await "),o+=F+"; "):o+=k?" var "+(D="customErrors"+n)+" = null; try { "+u+" = await "+F+"; } catch (e) { "+u+" = false; if (e instanceof ValidationError) "+D+" = e.errors; else throw e; } ":" "+D+" = null; "+u+" = "+F+"; "}if(T.modifying&&(o+=" if ("+C+") "+c+" = "+C+"["+x+"];"),o+=""+E,T.valid)m&&(o+=" if (true) { ");else{var z;o+=" if ( ",void 0===T.valid?(o+=" !",o+=_?""+$:""+u):o+=" "+!T.valid+" ",o+=") { ",r=w.keyword,(z=z||[]).push(o),o="",(z=z||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '"+(r||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),o+=" } "):o+=" {} ";var L=o;o=z.pop(),!e.compositeRule&&m?e.async?o+=" throw new ValidationError(["+L+"]); ":o+=" validate.errors = ["+L+"]; return false; ":o+=" var err = "+L+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var V=o;o=z.pop(),g?T.errors?"full"!=T.errors&&(o+=" for (var "+N+"="+h+"; "+N+"<errors; "+N+"++) { var "+A+" = vErrors["+N+"]; if ("+A+".dataPath === undefined) "+A+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+A+".schemaPath === undefined) { "+A+'.schemaPath = "'+l+'"; } ',e.opts.verbose&&(o+=" "+A+".schema = "+i+"; "+A+".data = "+c+"; "),o+=" } "):!1===T.errors?o+=" "+V+" ":(o+=" if ("+h+" == errors) { "+V+" } else { for (var "+N+"="+h+"; "+N+"<errors; "+N+"++) { var "+A+" = vErrors["+N+"]; if ("+A+".dataPath === undefined) "+A+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+A+".schemaPath === undefined) { "+A+'.schemaPath = "'+l+'"; } ',e.opts.verbose&&(o+=" "+A+".schema = "+i+"; "+A+".data = "+c+"; "),o+=" } } "):_?(o+=" var err = ",!1!==e.createErrors?(o+=" { keyword: '"+(r||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),o+=" } "):o+=" {} ",o+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&m&&(e.async?o+=" throw new ValidationError(vErrors); ":o+=" validate.errors = vErrors; return false; ")):!1===T.errors?o+=" "+V+" ":(o+=" if (Array.isArray("+D+")) { if (vErrors === null) vErrors = "+D+"; else vErrors = vErrors.concat("+D+"); errors = vErrors.length; for (var "+N+"="+h+"; "+N+"<errors; "+N+"++) { var "+A+" = vErrors["+N+"]; if ("+A+".dataPath === undefined) "+A+".dataPath = (dataPath || '') + "+e.errorPath+"; "+A+'.schemaPath = "'+l+'"; ',e.opts.verbose&&(o+=" "+A+".schema = "+i+"; "+A+".data = "+c+"; "),o+=" } } else { "+V+" } "),o+=" } ",m&&(o+=" else { ")}return o},cr=pr,ur={add:function(e,t){var a=this.RULES;if(a.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!lr.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var r=t.type;if(Array.isArray(r))for(var i=0;i<r.length;i++)n(e,r[i],t);else n(e,r,t);var o=t.metaSchema;o&&(t.$data&&this._opts.$data&&(o={anyOf:[o,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]}),t.validateSchema=this.compile(o,!0))}function n(e,t,r){for(var i,o=0;o<a.length;o++){var n=a[o];if(n.type==t){i=n;break}}i||(i={type:t,rules:[]},a.push(i));var s={keyword:e,definition:r,custom:!0,code:mr,implements:r.implements};i.rules.push(s),a.custom[e]=s}return a.keywords[e]=a.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var a=0;a<t.length;a++)for(var r=t[a].rules,i=0;i<r.length;i++)if(r[i].keyword==e){r.splice(i,1);break}return this},validate:function e(t,a){e.errors=null;var r=this._validateKeyword=this._validateKeyword||this.compile(cr,!0);if(r(t))return!0;if(e.errors=r.errors,a)throw new Error("custom keyword definition is invalid: "+this.errorsText(r.errors));return!1}};var hr={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1},fr=ya,vr=Bt,gr=Oa,_r=Ct,yr=pa,br=qa,wr=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=rr(t),e.types=rr(["number","integer","string","array","object","boolean","null"]),e.forEach((function(a){a.rules=a.rules.map((function(a){var r;if("object"==typeof a){var i=Object.keys(a)[0];r=a[i],a=i,r.forEach((function(a){t.push(a),e.all[a]=!0}))}return t.push(a),e.all[a]={keyword:a,code:ar[a],implements:r}})),e.all.$comment={keyword:"$comment",code:ar.$comment},a.type&&(e.types[a.type]=a)})),e.keywords=rr(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e},Ir=function(e,t){for(var a=0;a<t.length;a++){e=JSON.parse(JSON.stringify(e));var r,i=t[a].split("/"),o=e;for(r=1;r<i.length;r++)o=o[i[r]];for(r=0;r<ir.length;r++){var n=ir[r],s=o[n];s&&(o[n]={anyOf:[s,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]})}}return e},Tr=yt,Er=Or;Or.prototype.validate=function(e,t){var a;if("string"==typeof e){if(!(a=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var r=this._addSchema(e);a=r.validate||this._compile(r)}var i=a(t);!0!==a.$async&&(this.errors=a.errors);return i},Or.prototype.compile=function(e,t){var a=this._addSchema(e,void 0,t);return a.validate||this._compile(a)},Or.prototype.addSchema=function(e,t,a,r){if(Array.isArray(e)){for(var i=0;i<e.length;i++)this.addSchema(e[i],void 0,a,r);return this}var o=this._getId(e);if(void 0!==o&&"string"!=typeof o)throw new Error("schema id must be string");return Fr(this,t=vr.normalizeId(t||o)),this._schemas[t]=this._addSchema(e,a,r,!0),this},Or.prototype.addMetaSchema=function(e,t,a){return this.addSchema(e,t,a,!0),this},Or.prototype.validateSchema=function(e,t){var a=e.$schema;if(void 0!==a&&"string"!=typeof a)throw new Error("$schema must be a string");if(a=a||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(Nr)?Nr:void 0,e._opts.defaultMeta}(this),!a)return this.logger.warn("meta-schema not available"),this.errors=null,!0;var r=this.validate(a,e);if(!r&&t){var i="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(i);this.logger.error(i)}return r},Or.prototype.getSchema=function(e){var t=$r(this,e);switch(typeof t){case"object":return t.validate||this._compile(t);case"string":return this.getSchema(t);case"undefined":return function(e,t){var a=vr.schema.call(e,{schema:{}},t);if(a){var r=a.schema,i=a.root,o=a.baseId,n=fr.call(e,r,i,void 0,o);return e._fragments[t]=new _r({ref:t,fragment:!0,schema:r,root:i,baseId:o,validate:n}),n}}(this,e)}},Or.prototype.removeSchema=function(e){if(e instanceof RegExp)return Rr(this,this._schemas,e),Rr(this,this._refs,e),this;switch(typeof e){case"undefined":return Rr(this,this._schemas),Rr(this,this._refs),this._cache.clear(),this;case"string":var t=$r(this,e);return t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var a=this._opts.serialize,r=a?a(e):e;this._cache.del(r);var i=this._getId(e);i&&(i=vr.normalizeId(i),delete this._schemas[i],delete this._refs[i])}return this},Or.prototype.addFormat=function(e,t){"string"==typeof t&&(t=new RegExp(t));return this._formats[e]=t,this},Or.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return"No errors";for(var a=void 0===(t=t||{}).separator?", ":t.separator,r=void 0===t.dataVar?"data":t.dataVar,i="",o=0;o<e.length;o++){var n=e[o];n&&(i+=r+n.dataPath+" "+n.message+a)}return i.slice(0,-a.length)},Or.prototype._addSchema=function(e,t,a,r){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var i=this._opts.serialize,o=i?i(e):e,n=this._cache.get(o);if(n)return n;r=r||!1!==this._opts.addUsedSchema;var s=vr.normalizeId(this._getId(e));s&&r&&Fr(this,s);var d,p=!1!==this._opts.validateSchema&&!t;p&&!(d=s&&s==vr.normalizeId(e.$schema))&&this.validateSchema(e,!0);var l=vr.ids.call(this,e),m=new _r({id:s,schema:e,localRefs:l,cacheKey:o,meta:a});"#"!=s[0]&&r&&(this._refs[s]=m);this._cache.put(o,m),p&&d&&this.validateSchema(e,!0);return m},Or.prototype._compile=function(e,t){if(e.compiling)return e.validate=i,i.schema=e.schema,i.errors=null,i.root=t||i,!0===e.schema.$async&&(i.$async=!0),i;var a,r;e.compiling=!0,e.meta&&(a=this._opts,this._opts=this._metaOpts);try{r=fr.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=a)}return e.validate=r,e.refs=r.refs,e.refVal=r.refVal,e.root=r.root,r;function i(){var t=e.validate,a=t.apply(this,arguments);return i.errors=t.errors,a}},Or.prototype.compileAsync=nr;var Sr=ur;Or.prototype.addKeyword=Sr.add,Or.prototype.getKeyword=Sr.get,Or.prototype.removeKeyword=Sr.remove,Or.prototype.validateKeyword=Sr.validate;var Dr=na;Or.ValidationError=Dr.Validation,Or.MissingRefError=Dr.MissingRef,Or.$dataMetaSchema=Ir;var Nr="http://json-schema.org/draft-07/schema",Ar=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],kr=["/properties"];function Or(e){if(!(this instanceof Or))return new Or(e);e=this._opts=Tr.copy(e)||{},function(e){var t=e._opts.logger;if(!1===t)e.logger={log:zr,warn:zr,error:zr};else{if(void 0===t&&(t=console),!("object"==typeof t&&t.log&&t.warn&&t.error))throw new Error("logger must implement log, warn and error methods");e.logger=t}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=br(e.format),this._cache=e.cache||new gr,this._loadingSchemas={},this._compilations=[],this.RULES=wr(),this._getId=function(e){switch(e.schemaId){case"auto":return xr;case"id":return Pr;default:return Cr}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=yr),this._metaOpts=function(e){for(var t=Tr.copy(e._opts),a=0;a<Ar.length;a++)delete t[Ar[a]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var a=e._opts.formats[t];e.addFormat(t,a)}}(this),e.keywords&&function(e){for(var t in e._opts.keywords){var a=e._opts.keywords[t];e.addKeyword(t,a)}}(this),function(e){var t;e._opts.$data&&(t=hr,e.addMetaSchema(t,t.$id,!0));if(!1===e._opts.meta)return;var a=sr;e._opts.$data&&(a=Ir(a,kr));e.addMetaSchema(a,Nr,!0),e._refs["http://json-schema.org/schema"]=Nr}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var t=e._opts.schemas;if(!t)return;if(Array.isArray(t))e.addSchema(t);else for(var a in t)e.addSchema(t[a],a)}(this)}function $r(e,t){return t=vr.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function Rr(e,t,a){for(var r in t){var i=t[r];i.meta||a&&!a.test(r)||(e._cache.del(i.cacheKey),delete t[r])}}function Pr(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function Cr(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function xr(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function Fr(e,t){if(e._schemas[t]||e._refs[t])throw new Error('schema with key or id "'+t+'" already exists')}function zr(){}var Lr,Vr=ht(Er);class Ur extends ut{constructor(e,t){var a;super(t),this._serverInfo=e,this._capabilities=null!==(a=null==t?void 0:t.capabilities)&&void 0!==a?a:{},this._instructions=null==t?void 0:t.instructions,this.setRequestHandler(X,(e=>this._oninitialize(e))),this.setNotificationHandler(te,(()=>{var e;return null===(e=this.oninitialized)||void 0===e?void 0:e.call(this)}))}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");var t,a;this._capabilities=(t=this._capabilities,a=e,Object.entries(a).reduce(((e,[t,a])=>(e[t]=a&&"object"==typeof a&&e[t]?{...e[t],...a}:a,e)),{...t}))}assertCapabilityForMethod(e){var t,a,r;switch(e){case"sampling/createMessage":if(!(null===(t=this._clientCapabilities)||void 0===t?void 0:t.sampling))throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!(null===(a=this._clientCapabilities)||void 0===a?void 0:a.elicitation))throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!(null===(r=this._clientCapabilities)||void 0===r?void 0:r.roots))throw new Error(`Client does not support listing roots (required for ${e})`)}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`)}}assertRequestHandlerCapability(e){switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Server does not support sampling (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`)}}async _oninitialize(e){const t=e.params.protocolVersion;this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo;return{protocolVersion:O.includes(t)?t:k,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},W)}async createMessage(e,t){return this.request({method:"sampling/createMessage",params:e},Ke,t)}async elicitInput(e,t){const a=await this.request({method:"elicitation/create",params:e},rt,t);if("accept"===a.action&&a.content)try{const t=new Vr,r=t.compile(e.requestedSchema);if(!r(a.content))throw new ct(H.InvalidParams,`Elicitation response content does not match requested schema: ${t.errorsText(r.errors)}`)}catch(e){if(e instanceof ct)throw e;throw new ct(H.InternalError,`Error validating elicitation response: ${e}`)}return a}async listRoots(e,t){return this.request({method:"roots/list",params:e},lt,t)}async sendLoggingMessage(e){return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}!function(e){e.Completable="McpCompletable"}(Lr||(Lr={}));class jr extends e.ZodType{_parse(e){const{ctx:t}=this._processInputParams(e),a=t.data;return this._def.type._parse({data:a,path:t.path,parent:t})}unwrap(){return this._def.type}}function Mr(e){if(!e)return{};const{errorMap:t,invalid_type_error:a,required_error:r,description:i}=e;if(t&&(a||r))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(t,i)=>{var o,n;const{message:s}=e;return"invalid_enum_value"===t.code?{message:null!=s?s:i.defaultError}:void 0===i.data?{message:null!==(o=null!=s?s:r)&&void 0!==o?o:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(n=null!=s?s:a)&&void 0!==n?n:i.defaultError}},description:i}}jr.create=(e,t)=>new jr({type:e,typeName:Lr.Completable,complete:t.complete,...Mr(t)});class qr{constructor(e,t){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Ur(e,t)}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(Le.shape.method.value),this.server.assertCanSetRequestHandler(je.shape.method.value),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Le,(()=>({tools:Object.entries(this._registeredTools).filter((([,e])=>e.enabled)).map((([e,a])=>{const r={name:e,title:a.title,description:a.description,inputSchema:a.inputSchema?t.zodToJsonSchema(a.inputSchema,{strictUnions:!0}):Br,annotations:a.annotations};return a.outputSchema&&(r.outputSchema=t.zodToJsonSchema(a.outputSchema,{strictUnions:!0})),r}))}))),this.server.setRequestHandler(je,(async(e,t)=>{const a=this._registeredTools[e.params.name];if(!a)throw new ct(H.InvalidParams,`Tool ${e.params.name} not found`);if(!a.enabled)throw new ct(H.InvalidParams,`Tool ${e.params.name} disabled`);let r;if(a.inputSchema){const i=await a.inputSchema.safeParseAsync(e.params.arguments);if(!i.success)throw new ct(H.InvalidParams,`Invalid arguments for tool ${e.params.name}: ${i.error.message}`);const o=i.data,n=a.callback;try{r=await Promise.resolve(n(o,t))}catch(e){r={content:[{type:"text",text:e instanceof Error?e.message:String(e)}],isError:!0}}}else{const e=a.callback;try{r=await Promise.resolve(e(t))}catch(e){r={content:[{type:"text",text:e instanceof Error?e.message:String(e)}],isError:!0}}}if(a.outputSchema&&!r.isError){if(!r.structuredContent)throw new ct(H.InvalidParams,`Tool ${e.params.name} has an output schema but no structured content was provided`);const t=await a.outputSchema.safeParseAsync(r.structuredContent);if(!t.success)throw new ct(H.InvalidParams,`Invalid structured content for tool ${e.params.name}: ${t.error.message}`)}return r})),this._toolHandlersInitialized=!0)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(nt.shape.method.value),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(nt,(async e=>{switch(e.params.ref.type){case"ref/prompt":return this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return this.handleResourceCompletion(e,e.params.ref);default:throw new ct(H.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}})),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,t){const a=this._registeredPrompts[t.name];if(!a)throw new ct(H.InvalidParams,`Prompt ${t.name} not found`);if(!a.enabled)throw new ct(H.InvalidParams,`Prompt ${t.name} disabled`);if(!a.argsSchema)return Qr;const r=a.argsSchema.shape[e.params.argument.name];if(!(r instanceof jr))return Qr;const i=r._def;return Wr(await i.complete(e.params.argument.value,e.params.context))}async handleResourceCompletion(e,t){const a=Object.values(this._registeredResourceTemplates).find((e=>e.resourceTemplate.uriTemplate.toString()===t.uri));if(!a){if(this._registeredResources[t.uri])return Qr;throw new ct(H.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}const r=a.resourceTemplate.completeCallback(e.params.argument.name);if(!r)return Qr;return Wr(await r(e.params.argument.value,e.params.context))}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(ce.shape.method.value),this.server.assertCanSetRequestHandler(he.shape.method.value),this.server.assertCanSetRequestHandler(ve.shape.method.value),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(ce,(async(e,t)=>{const a=Object.entries(this._registeredResources).filter((([e,t])=>t.enabled)).map((([e,t])=>({uri:e,name:t.name,...t.metadata}))),r=[];for(const e of Object.values(this._registeredResourceTemplates)){if(!e.resourceTemplate.listCallback)continue;const a=await e.resourceTemplate.listCallback(t);for(const t of a.resources)r.push({...e.metadata,...t})}return{resources:[...a,...r]}})),this.server.setRequestHandler(he,(async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map((([e,t])=>({name:e,uriTemplate:t.resourceTemplate.uriTemplate.toString(),...t.metadata})))}))),this.server.setRequestHandler(ve,(async(e,t)=>{const a=new URL(e.params.uri),r=this._registeredResources[a.toString()];if(r){if(!r.enabled)throw new ct(H.InvalidParams,`Resource ${a} disabled`);return r.readCallback(a,t)}for(const e of Object.values(this._registeredResourceTemplates)){const r=e.resourceTemplate.uriTemplate.match(a.toString());if(r)return e.readCallback(a,r,t)}throw new ct(H.InvalidParams,`Resource ${a} not found`)})),this.setCompletionRequestHandler(),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(Ee.shape.method.value),this.server.assertCanSetRequestHandler(De.shape.method.value),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Ee,(()=>({prompts:Object.entries(this._registeredPrompts).filter((([,e])=>e.enabled)).map((([e,t])=>{return{name:e,title:t.title,description:t.description,arguments:t.argsSchema?(a=t.argsSchema,Object.entries(a.shape).map((([e,t])=>({name:e,description:t.description,required:!t.isOptional()})))):void 0};var a}))}))),this.server.setRequestHandler(De,(async(e,t)=>{const a=this._registeredPrompts[e.params.name];if(!a)throw new ct(H.InvalidParams,`Prompt ${e.params.name} not found`);if(!a.enabled)throw new ct(H.InvalidParams,`Prompt ${e.params.name} disabled`);if(a.argsSchema){const r=await a.argsSchema.safeParseAsync(e.params.arguments);if(!r.success)throw new ct(H.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${r.error.message}`);const i=r.data,o=a.callback;return await Promise.resolve(o(i,t))}{const e=a.callback;return await Promise.resolve(e(t))}})),this.setCompletionRequestHandler(),this._promptHandlersInitialized=!0)}resource(e,t,...a){let r;"object"==typeof a[0]&&(r=a.shift());const i=a[0];if("string"==typeof t){if(this._registeredResources[t])throw new Error(`Resource ${t} is already registered`);const a=this._createRegisteredResource(e,void 0,t,r,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);const a=this._createRegisteredResourceTemplate(e,void 0,t,r,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}}registerResource(e,t,a,r){if("string"==typeof t){if(this._registeredResources[t])throw new Error(`Resource ${t} is already registered`);const i=this._createRegisteredResource(e,a.title,t,a,r);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);const i=this._createRegisteredResourceTemplate(e,a.title,t,a,r);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}_createRegisteredResource(e,t,a,r,i){const o={name:e,title:t,metadata:r,readCallback:i,enabled:!0,disable:()=>o.update({enabled:!1}),enable:()=>o.update({enabled:!0}),remove:()=>o.update({uri:null}),update:e=>{void 0!==e.uri&&e.uri!==a&&(delete this._registeredResources[a],e.uri&&(this._registeredResources[e.uri]=o)),void 0!==e.name&&(o.name=e.name),void 0!==e.title&&(o.title=e.title),void 0!==e.metadata&&(o.metadata=e.metadata),void 0!==e.callback&&(o.readCallback=e.callback),void 0!==e.enabled&&(o.enabled=e.enabled),this.sendResourceListChanged()}};return this._registeredResources[a]=o,o}_createRegisteredResourceTemplate(e,t,a,r,i){const o={resourceTemplate:a,title:t,metadata:r,readCallback:i,enabled:!0,disable:()=>o.update({enabled:!1}),enable:()=>o.update({enabled:!0}),remove:()=>o.update({name:null}),update:t=>{void 0!==t.name&&t.name!==e&&(delete this._registeredResourceTemplates[e],t.name&&(this._registeredResourceTemplates[t.name]=o)),void 0!==t.title&&(o.title=t.title),void 0!==t.template&&(o.resourceTemplate=t.template),void 0!==t.metadata&&(o.metadata=t.metadata),void 0!==t.callback&&(o.readCallback=t.callback),void 0!==t.enabled&&(o.enabled=t.enabled),this.sendResourceListChanged()}};return this._registeredResourceTemplates[e]=o,o}_createRegisteredPrompt(t,a,r,i,o){const n={title:a,description:r,argsSchema:void 0===i?void 0:e.z.object(i),callback:o,enabled:!0,disable:()=>n.update({enabled:!1}),enable:()=>n.update({enabled:!0}),remove:()=>n.update({name:null}),update:a=>{void 0!==a.name&&a.name!==t&&(delete this._registeredPrompts[t],a.name&&(this._registeredPrompts[a.name]=n)),void 0!==a.title&&(n.title=a.title),void 0!==a.description&&(n.description=a.description),void 0!==a.argsSchema&&(n.argsSchema=e.z.object(a.argsSchema)),void 0!==a.callback&&(n.callback=a.callback),void 0!==a.enabled&&(n.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[t]=n,n}_createRegisteredTool(t,a,r,i,o,n,s){const d={title:a,description:r,inputSchema:void 0===i?void 0:e.z.object(i),outputSchema:void 0===o?void 0:e.z.object(o),annotations:n,callback:s,enabled:!0,disable:()=>d.update({enabled:!1}),enable:()=>d.update({enabled:!0}),remove:()=>d.update({name:null}),update:a=>{void 0!==a.name&&a.name!==t&&(delete this._registeredTools[t],a.name&&(this._registeredTools[a.name]=d)),void 0!==a.title&&(d.title=a.title),void 0!==a.description&&(d.description=a.description),void 0!==a.paramsSchema&&(d.inputSchema=e.z.object(a.paramsSchema)),void 0!==a.callback&&(d.callback=a.callback),void 0!==a.annotations&&(d.annotations=a.annotations),void 0!==a.enabled&&(d.enabled=a.enabled),this.sendToolListChanged()}};return this._registeredTools[t]=d,this.setToolRequestHandlers(),this.sendToolListChanged(),d}tool(e,...t){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let a,r,i;if("string"==typeof t[0]&&(a=t.shift()),t.length>1){const e=t[0];Hr(e)?(r=t.shift(),t.length>1&&"object"==typeof t[0]&&null!==t[0]&&!Hr(t[0])&&(i=t.shift())):"object"==typeof e&&null!==e&&(i=t.shift())}const o=t[0];return this._createRegisteredTool(e,void 0,a,r,undefined,i,o)}registerTool(e,t,a){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);const{title:r,description:i,inputSchema:o,outputSchema:n,annotations:s}=t;return this._createRegisteredTool(e,r,i,o,n,s,a)}prompt(e,...t){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let a,r;"string"==typeof t[0]&&(a=t.shift()),t.length>1&&(r=t.shift());const i=t[0],o=this._createRegisteredPrompt(e,void 0,a,r,i);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),o}registerPrompt(e,t,a){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);const{title:r,description:i,argsSchema:o}=t,n=this._createRegisteredPrompt(e,r,i,o,a);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),n}isConnected(){return void 0!==this.server.transport}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}}const Br={type:"object"};function Hr(e){if("object"!=typeof e||null===e)return!1;return 0===Object.keys(e).length||Object.values(e).some(Gr)}function Gr(e){return null!==e&&"object"==typeof e&&"parse"in e&&"function"==typeof e.parse&&"safeParse"in e&&"function"==typeof e.safeParse}function Wr(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}const Qr={completion:{values:[],hasMore:!1}};var Yr,Kr,Jr,Xr;!function(e){e.READ="read",e.WRITE="write",e.ALL_API="all_api"}(Yr||(Yr={})),function(e){e.AppFeatureStatusColumn="AppFeatureStatusColumn",e.AppFeatureAccountSettingsView="AppFeatureAccountSettingsView",e.AppFeatureBoardColumnExtension="AppFeatureBoardColumnExtension",e.AppFeatureGroupMenuAction="AppFeatureGroupMenuAction",e.AppFeatureProductView="AppFeatureProductView",e.AppFeatureWorkspaceView="AppFeatureWorkspaceView",e.AppFeatureSurfaceView="AppFeatureSurfaceView",e.AppFeatureModal="AppFeatureModal",e.AppFeatureDialog="AppFeatureDialog",e.AppFeatureAdminView="AppFeatureAdminView",e.AppFeatureDropdownColumn="AppFeatureDropdownColumn",e.AppFeatureDocActions="AppFeatureDocActions",e.AppFeatureItemMenuAction="AppFeatureItemMenuAction",e.AppFeatureItemBatchAction="AppFeatureItemBatchAction",e.AppFeatureItemView="AppFeatureItemView",e.AppFeatureBoardView="AppFeatureBoardView",e.AppFeatureDashboardWidget="AppFeatureDashboardWidget"}(Kr||(Kr={})),function(e){e.APP="app",e.APP_VERSION="app_version",e.APP_FEATURE="app_feature",e.STORAGE="storage",e.MONDAY_CODE="monday_code",e.APP_DEVELOPMENT_ASSISTANT="app_development_assistant"}(Jr||(Jr={})),function(e){e.GET="GET",e.POST="POST",e.PUT="PUT",e.DELETE="DELETE"}(Xr||(Xr={}));const Zr="https://monday-apps-ms.monday.com",ei="/api",ti=`${Zr}${`${ei}/apps`}`,ai=`${Zr}${`${ei}/app-versions`}`,ri=`${Zr}${`${ei}/code`}`,ii=`${Zr}${`${ei}/storage`}`,oi={APPS:{GET_ALL:ti,CREATE:ti,CREATE_FROM_MANIFEST:`${ti}/manifest`,PROMOTE:e=>`${ti}/${e}/promote`},APP_VERSIONS:{GET_ALL:e=>`${ti}/${e}/versions`,GET_BY_ID:e=>`${ai}/${e}`},APP_FEATURES:{GET_ALL:e=>`${ai}/${e}/app-features`,CREATE:(e,t)=>`${ti}/${e}/app-versions/${t}/app-features`},STORAGE:{GET_BY_TERM:(e,t,a)=>`${ii}/app/${e}/account/${t}/records?term=${encodeURI(a)}`,EXPORT_DATA:(e,t)=>`${ii}/app/${e}/account/${t}/records/export`},CODE:{GET_DEPLOYMENT_STATUS:e=>`${ri}/${e}/deployments`,GET_DEPLOYMENT_SIGNED_URL:e=>`${ri}/${e}/deployments/signed-url`,GET_ENV_KEYS:e=>`${ri}/${e}/env-keys`,MANAGE_ENV:(e,t)=>`${ri}/${e}/env/${t}`},PLATFORM_BUILDING_BLOCKS_SCHEMAS:{GET_ALL:`${Zr}/apps_ms/public/platform-building-blocks-schemas`},GRAPHQL:`${Zr}/graphql`,MONDAY_API_GRAPHQL:"https://api.monday.com/v2"},ni=3e4,si=e=>{const t=(e=>e.trim().replace(/^Bearer\s+/i,""))(e),a=(e=>{try{return w.default.decode(e)}catch(e){return null}})(t);return a?{tid:a.tid,aai:a.aai,uid:a.uid,actid:a.actid,rgn:a.rgn,per:a.per}:{}},di="2026-07";function pi(e){return{openWorldHint:!0,...e}}class li{constructor(e){this.mondayApiToken=e}async execute(e){const t=Date.now();let a=!1;try{return await this.executeInternal(e)}catch(e){throw a=!0,e}finally{const e=Date.now()-t;this.trackToolExecution(this.name,e,a)}}async executeApiRequest(e,t,a={}){if(!this.mondayApiToken)throw new Error("Monday API token is required to execute monday.com API requests");const{data:r,query:i,headers:o={},timeout:n=ni}=a,s={...o,Authorization:`${this.mondayApiToken}`,"Content-Type":"application/json"};try{const a={method:e,url:t,data:r,headers:s,params:i,timeout:n,httpsAgent:new y.Agent({secureOptions:_.constants.SSL_OP_LEGACY_SERVER_CONNECT,rejectUnauthorized:!1})},o=await g.default.request(a);return{...o.data,statusCode:o.status,headers:o.headers}}catch(e){if(g.default.isAxiosError(e)){const t=e.response?.status||500,a=e.response?.data||{message:e.message};throw new Error(`monday.com API request failed with status ${t}: ${"object"==typeof a?JSON.stringify(a):a}`)}throw new Error(`Failed to execute monday.com API request: ${e.message}`)}}async executeGraphQLQuery(e,t){if(!this.mondayApiToken)throw new Error("Monday API token is required to execute GraphQL queries");try{const a=new y.Agent({secureOptions:_.constants.SSL_OP_LEGACY_SERVER_CONNECT,rejectUnauthorized:!1}),r=await g.default.post(oi.MONDAY_API_GRAPHQL,{query:e,variables:t},{headers:{Authorization:`${this.mondayApiToken}`,"Content-Type":"application/json","API-Version":di},timeout:ni,httpsAgent:a});if(r.data.errors&&r.data.errors.length>0){const e=r.data.errors.map((e=>e.message)).join(", ");throw new Error(`GraphQL query failed: ${e}`)}if(!r.data.data)throw new Error("No data returned from GraphQL query");return r.data.data}catch(e){if(g.default.isAxiosError(e)){const t=e.response?.status||500,a=e.response?.data||{message:e.message};throw new Error(`GraphQL request failed with status ${t}: ${"object"==typeof a?JSON.stringify(a):a}`)}throw new Error(`Failed to execute GraphQL query: ${e.message}`)}}trackToolExecution(e,t,a,r){(({name:e,data:t})=>{g.default.post("https://track.bigbrain.me/prod/event",{name:e,data:t},{headers:{"Content-Type":"application/json","User-Agent":"dapulse"}}).catch((()=>{}))})({name:"monday_apps_mcp_tool_execution",data:{toolName:e,executionTimeMs:t,isError:a,params:r,toolType:"monday_apps_tool",...this.mondayApiToken?si(this.mondayApiToken):{}}})}}const mi=e.z.object({appId:e.z.number().describe("The unique identifier of the app whose storage you want to search. Get this from get_all_apps"),accountId:e.z.number().describe("The monday.com account ID to search storage within. Storage is isolated per account. Get this from the monday.com platform API"),term:e.z.string().describe("The search term to query against storage record keys and values. Supports partial matching to help find relevant records"),cursor:e.z.string().optional().describe("Pagination cursor returned from a previous search. Use this to fetch the next page of results when there are many matching records")}),ci=e.z.object({appId:e.z.number().describe("The unique identifier of the app whose storage data you want to export. Get this from get_all_apps"),accountId:e.z.number().describe("The monday.com account ID to export storage from. Each account has isolated storage data"),fileFormat:e.z.enum(["JSON","CSV"]).optional().describe("The desired export format. JSON preserves data structure and is best for re-importing. CSV is easier to view in spreadsheet applications. Defaults to JSON if not specified")});const ui=[class extends li{constructor(){super(...arguments),this.name="monday_apps_search_storage_records",this.category=Jr.STORAGE,this.type=Yr.READ,this.annotations=pi({readOnlyHint:!0,title:"Search Storage Records"})}getDescription(){return"Search for storage records in a monday.com app by search term. This allows you to query the app's storage data for a specific account. Supports pagination via cursor. Use this to find and inspect data stored by your app in monday.com's apps framework storage service"}getInputSchema(){return mi.shape}async executeInternal(e){try{const{appId:t,accountId:a,term:r,cursor:i}=e,o={term:r};i&&(o.cursor=i);const n=await this.executeApiRequest(Xr.GET,oi.STORAGE.GET_BY_TERM(t,a,r),{query:o});return{content:`Found ${n.records.length} storage records matching term '${r}' for app ID ${t}, account ID ${a}.`,metadata:n}}catch(t){const a=t instanceof Error?t.message:String(t);return{content:`Failed to search storage records: ${a}`,metadata:{statusCode:500,error:a,term:e.term,records:[]}}}}},class extends li{constructor(){super(...arguments),this.name="monday_apps_export_storage_data",this.category=Jr.STORAGE,this.type=Yr.READ,this.annotations=pi({readOnlyHint:!0,title:"Export Storage Data"})}getDescription(){return"Export all storage data from a monday.com app for a specific account. You can choose the export format (JSON or CSV). Returns a download URL to retrieve the exported data. Use this for data backup, migration, or analysis purposes."}getInputSchema(){return ci.shape}async executeInternal(e){try{const{appId:t,accountId:a,fileFormat:r}=e,i={};r&&(i.fileFormat=r);const o=await this.executeApiRequest(Xr.GET,oi.STORAGE.EXPORT_DATA(t,a),{query:i});return{content:`Successfully exported storage data for app ID ${t}, account ID ${a}.${o.downloadUrl?` Download URL: ${o.downloadUrl}`:""}`,metadata:o}}catch(e){const t=e instanceof Error?e.message:String(e);return{content:`Failed to export storage data: ${t}`,metadata:{statusCode:500,error:t}}}}}];const hi=e.z.object({appId:e.z.number().describe("The unique identifier of the app to promote. You can get this from the get_all_apps tool"),versionId:e.z.number().optional().describe("The specific version ID to promote to live/production. If not provided, the latest draft version will be automatically promoted. Use get_app_versions to find available version IDs")}),fi=e.z.object({name:e.z.string().describe("The display name for your app. This will be visible to users in the monday.com marketplace and UI. Should be clear and descriptive"),description:e.z.string().optional().describe("An optional detailed description of what your app does and its main features. This helps users understand the app's purpose")});const vi=[class extends li{constructor(){super(...arguments),this.name="monday_apps_get_all_apps",this.category=Jr.APP,this.type=Yr.READ,this.annotations=pi({readOnlyHint:!0,title:"Get All Apps"})}getDescription(){return"Retrieve all the development apps that the user has collaboration permissions for. Returns a list of apps with their IDs, names, and multi-region configuration. Use this to discover available apps before performing other operations that require an app ID"}getInputSchema(){}async executeInternal(e){try{const e=await this.executeApiRequest(Xr.GET,oi.APPS.GET_ALL),t=e.apps.map((e=>{const t=e.mondayCodeConfig?.isMultiRegion?" (Multi-Region)":"";return`- ID: ${e.id}, Name: ${e.name}${t}`})).join("\n");return{content:`Retrieved ${e.apps.length} apps:\n${t}`,metadata:e}}catch(e){const t=e instanceof Error?e.message:String(e);return{content:`Failed to retrieve apps: ${t}`,metadata:{statusCode:500,error:t,apps:[]}}}}},class extends li{constructor(){super(...arguments),this.name="monday_apps_promote_app",this.category=Jr.APP,this.type=Yr.WRITE,this.annotations=pi({destructiveHint:!0,title:"Promote App"})}getDescription(){return"Promote a specific app version to live/production status. This makes the app version available to end users if the app is published. You can specify a version ID to promote, or if omitted, the latest draft version will be promoted. This is a critical operation that deploys your app changes."}getInputSchema(){return hi.shape}async executeInternal(e){try{const{appId:t,versionId:a}=e,r=a?{versionId:a}:void 0;return{content:`Successfully started promotion for app ID ${t}${a?` and version ID ${a}`:""}.`,metadata:await this.executeApiRequest(Xr.POST,oi.APPS.PROMOTE(t),{data:r})}}catch(t){const a=t instanceof Error?t.message:String(t);return{content:`Failed to promote app: ${a}`,metadata:{statusCode:500,error:a,appId:e.appId}}}}},class extends li{constructor(){super(...arguments),this.name="monday_apps_create_app",this.category=Jr.APP,this.type=Yr.WRITE,this.annotations=pi({title:"Create App"})}getDescription(){return"Create a new monday.com app with basic information (name and optional description). This creates both a new app and its initial draft version. Use this when starting development of a new app from scratch."}getInputSchema(){return fi.shape}async executeInternal(e){try{const t=await this.executeApiRequest(Xr.POST,oi.APPS.CREATE,{data:{name:e.name,description:e.description||""}});return{content:`Created app "${e.name}" (ID: ${t.app.id}, Version: ${t.app_version.id})`,metadata:t}}catch(e){const t=e instanceof Error?e.message:String(e);return{content:`Failed to create app: ${t}`,metadata:{statusCode:500,error:t,app:{id:0,name:""},app_version:{id:0,name:""}}}}}}],gi=e.z.object({appId:e.z.number().describe("The unique identifier of the app to retrieve version history for. Each app can have multiple versions (draft, live, deprecated). Get app IDs from get_all_apps")}),_i=e.z.object({versionId:e.z.number().describe("The unique identifier of the specific app version to retrieve. Version IDs are returned from get_app_versions and represent individual snapshots of your app configuration")});const yi=[class extends li{constructor(){super(...arguments),this.name="monday_apps_get_app_versions",this.category=Jr.APP_VERSION,this.type=Yr.READ,this.annotations=pi({readOnlyHint:!0})}getDescription(){return"Retrieve all versions of a specific app. Returns detailed information including version numbers, IDs, names, and status (draft, live, etc.) for each version. Use this to view the version history and current state of your app."}getInputSchema(){return gi.shape}async executeInternal(e){try{const{appId:t}=e,a=await this.executeApiRequest(Xr.GET,oi.APP_VERSIONS.GET_ALL(t)),r=a.appVersions.map((e=>[`- Version ${e.versionNumber} (ID: ${e.id})`,` Name: ${e.name}`,` Status: ${e.status}`].join("\n"))).join("\n");return{content:`Successfully retrieved ${a.appVersions.length} versions for app ID ${t}:\n\n${r}`,metadata:a}}catch(e){const t=e instanceof Error?e.message:String(e);return{content:`Failed to retrieve app versions: ${t}`,metadata:{statusCode:500,error:t,appVersions:[]}}}}},class extends li{constructor(){super(...arguments),this.name="monday_apps_get_app_version",this.category=Jr.APP_VERSION,this.type=Yr.READ,this.annotations=pi({readOnlyHint:!0})}getDescription(){return"Retrieve detailed data for a specific app version by version ID. Returns comprehensive information including the version name, number, status, associated app ID, and configuration details. Use this to inspect a particular version's configuration."}getInputSchema(){return _i.shape}async executeInternal(e){try{const{versionId:t}=e,a=await this.executeApiRequest(Xr.GET,oi.APP_VERSIONS.GET_BY_ID(t));return{content:`Successfully retrieved details for app version ID ${t}:\nName: ${a.appVersion.name}\nApp ID: ${a.appVersion.appId}\nVersion Number: ${a.appVersion.versionNumber}\nStatus: ${a.appVersion.status}`,metadata:a}}catch(t){return{content:`Failed to retrieve app version: ${t instanceof Error?t.message:String(t)}`,metadata:{appVersion:{id:e.versionId,name:"",appId:0,versionNumber:"",status:"",mondayCodeConfig:{isMultiRegion:!1}}}}}}}],bi=e.z.object({appVersionId:e.z.number().describe("The unique identifier of the app version to retrieve features from. Features are version-specific. Get version IDs from get_app_versions"),type:e.z.union([e.z.nativeEnum(Kr),e.z.string()]).optional().describe("Optional filter to retrieve only features of a specific type. Examples: AppFeatureStatusColumn, AppFeatureBoardView, AppFeatureItemView, AppFeatureDashboardWidget, AppFeatureObject. Leave empty to get all features")}),wi=e.z.object({appId:e.z.number().describe("The unique identifier of the app to add the feature to. Get from get_all_apps"),appVersionId:e.z.number().describe("The specific version ID to add the feature to (typically a draft version). Features are tied to specific versions. Get from get_app_versions"),name:e.z.string().describe("A descriptive name for this feature instance. This helps identify the feature in your app configuration and management UI"),type:e.z.union([e.z.nativeEnum(Kr),e.z.string()]).describe("The feature type that determines how it integrates with monday.com. Examples: AppFeatureStatusColumn (custom status column), AppFeatureBoardView (board view), AppFeatureItemView (item view), AppFeatureDashboardWidget (widget)"),data:e.z.record(e.z.any()).optional().describe("Feature-specific configuration data as a JSON object. The structure depends on the feature type")});class Ii{constructor(){this.schemas=new Map,this.SCHEMA_ENDPOINT=oi.PLATFORM_BUILDING_BLOCKS_SCHEMAS.GET_ALL}static getInstance(){return Ii.instance||(Ii.instance=new Ii),Ii.instance}async initialize(){if(this.fetchPromise)return this.fetchPromise;if(this.isInitializedAndNotExpired())return Promise.resolve();this.fetchPromise=this.fetchSchemas();try{await this.fetchPromise}finally{this.fetchPromise=void 0}}async fetchSchemas(){try{const e=new y.Agent({secureOptions:_.constants.SSL_OP_LEGACY_SERVER_CONNECT,rejectUnauthorized:!1}),t=await g.default.get(this.SCHEMA_ENDPOINT,{timeout:5e3,headers:{Accept:"application/json"},httpsAgent:e});this.schemas.clear(),this.fetchError=void 0;const a=Array.isArray(t.data)?t.data:[];for(const e of a)e.name&&"ACTIVE"===e.status&&this.schemas.set(e.name,e);this.lastFetchedAt=new Date}catch(e){const t=e instanceof Error?e.message:String(e);this.fetchError=t,console.error(`Failed to fetch app feature schemas: ${t}`)}}getSchema(e){return this.schemas.get(e)}getAllSchemas(){return{schemas:Array.from(this.schemas.values()),lastFetchedAt:this.lastFetchedAt||new Date,fetchError:this.fetchError}}getFetchError(){return this.fetchError}getAvailableFeatureTypes(){return Array.from(this.schemas.keys()).sort()}isInitializedAndNotExpired(){return this.schemas.size>0&&void 0!==this.lastFetchedAt&&this.lastFetchedAt.getTime()+72e5>Date.now()}getDataSchema(e){const t=this.schemas.get(e);return t?.dataSchema}async refresh(){this.schemas.clear(),this.lastFetchedAt=void 0,this.fetchPromise=void 0,this.fetchError=void 0,await this.initialize()}}const Ti=Ii.getInstance(),Ei=e.z.object({featureType:e.z.string().optional().describe("The app feature type to get the schema for (e.g., AppFeatureStatusColumn, AppFeatureBoardView). If omitted, returns all available schemas.")});const Si=[class extends li{constructor(){super(...arguments),this.name="monday_apps_get_app_features",this.category=Jr.APP_FEATURE,this.type=Yr.READ,this.annotations=pi({readOnlyHint:!0})}getDescription(){return"Retrieve all features (views, columns, integrations, etc.) for a specific app version. Optionally filter by feature type (e.g., AppFeatureStatusColumn, AppFeatureBoardView, AppFeatureItemView). Returns feature names, IDs, types, and states. Use this to inspect what features are configured in an app version."}getInputSchema(){return bi.shape}async executeInternal(e){try{const{appVersionId:t,type:a}=e,r={};a&&(r.type=a);const i=await this.executeApiRequest(Xr.GET,oi.APP_FEATURES.GET_ALL(t),{query:r}),o=i.appFeatures||[],n=o.length;return{content:`Successfully retrieved ${n} app features for app version ID ${t}${a?` of type ${a}`:""}.\nFeatures: ${o.map((e=>`${e.name} (ID: ${e.id}, Type: ${e.type}, State: ${e.state})`)).join(", ")||"No features found"}`,metadata:{...i,statusCode:i.statusCode,headers:i.headers}}}catch(e){const t=e instanceof Error?e.message:String(e);return{content:`Failed to retrieve app features: ${t}`,metadata:{statusCode:500,error:t,appFeatures:[]}}}}},class extends li{constructor(){super(...arguments),this.name="monday_apps_create_app_feature",this.category=Jr.APP_FEATURE,this.type=Yr.WRITE,this.annotations=pi({title:"Create App Feature"})}getDescription(){return'Create a new feature for a specific app version. Features include custom columns, board views, item views, dashboard widgets, integrations, and more. Requires app ID, version ID, feature name, type, and optional feature-specific data configuration. Use this to add functionality to your app.\n\nIMPORTANT: Before calling this tool, you MUST first call monday_apps_get_app_feature_schema with the featureType parameter to retrieve the schema for the specific feature type you want to create. This will show you the required and optional fields for the "data" parameter. Structure your "data" parameter according to the schema returned by monday_apps_get_app_feature_schema.'}getInputSchema(){return wi.shape}async executeInternal(e){try{const{appId:t,appVersionId:a,name:r,type:i,data:o}=e,n={name:r,type:i,data:o||{}},s=await this.executeApiRequest(Xr.POST,oi.APP_FEATURES.CREATE(t,a),{data:n}),{app_feature:d}=s;return{content:`Successfully created app feature '${d.name}' (ID: ${d.id}) of type ${d.type} for app ID ${d.app_id}, version ID ${d.app_version_id}. Feature state: ${d.state}`,metadata:s}}catch(t){const a=t instanceof Error?t.message:String(t);return{content:`Failed to create app feature: ${a}`,metadata:{statusCode:500,error:a,app_feature:{id:0,app_id:e.appId,app_version_id:e.appVersionId,app_feature_reference_id:0,source_app_feature_id:null,name:e.name,type:e.type,state:"error",user_id:0,data:e.data||{},schema:null,status:null,client_instance_token:"",created_at:(new Date).toISOString(),updated_at:(new Date).toISOString(),current_release:null,configured_secret_names:[]},app_feature_reference:{id:0,created_at:(new Date).toISOString(),updated_at:(new Date).toISOString(),live_app_feature_id:0,app_feature_reference_id:0}}}}}},class extends li{constructor(){super(...arguments),this.name="monday_apps_get_app_feature_schema",this.category=Jr.APP_FEATURE,this.type=Yr.READ,this.annotations=pi({title:"Get App Feature Schema"})}getDescription(){return'Retrieve the data schema for app feature types. Use this to understand what fields are required/available in the "data" parameter when creating an app feature. If no featureType is specified, returns a list of all available feature types and their schemas.'}getInputSchema(){return Ei.shape}async executeInternal(e){try{Ti.isInitializedAndNotExpired()||await Ti.initialize();const{featureType:t}=e||{},a=Ti.getFetchError();if(a)return{content:`Warning: Failed to fetch app feature schemas from the remote endpoint.\nError: ${a}\n\nThe monday.com schema endpoint may be temporarily unavailable or there may be a network connectivity issue.\n\nYou can still create app features, but schema validation and hints will not be available.`,metadata:{statusCode:503,message:"Schema fetch failed",fetchError:a}};if(t){const e=Ti.getSchema(t);if(!e){const e=Ti.getAvailableFeatureTypes();return{content:`Schema not found for feature type: ${t}\n\nAvailable feature types:\n${e.join("\n")}`,metadata:{statusCode:404,featureType:t,availableTypes:e,message:"Schema not found"}}}return{content:this.formatSchemaResponse(t,e),metadata:{statusCode:200,featureType:t,schema:e,message:"Schema retrieved successfully"}}}const r=Ti.getAvailableFeatureTypes(),i=Ti.getAllSchemas();return{content:this.formatAllSchemasResponse(r,i.schemas,i.fetchError),metadata:{statusCode:200,availableTypes:r,allSchemas:i.schemas,fetchError:i.fetchError,message:`Found ${r.length} available feature types`}}}catch(e){const t=e instanceof Error?e.message:String(e);return{content:`Failed to retrieve app feature schema: ${t}`,metadata:{statusCode:500,message:t}}}}formatSchemaResponse(e,t){const a=[`App Feature Schema: ${e}`,`Version: ${t.version}`,`Status: ${t.status}`,""];return t.dataSchema&&(a.push("Data Schema (JSON):"),a.push(JSON.stringify(t.dataSchema,null,2)),a.push("")),a.push("Usage:"),a.push(`Call monday_apps_create_app_feature or monday_apps_update_app_feature with type="${e}" and structure the "data" parameter according to the schema above.`),a.join("\n")}formatAllSchemasResponse(e,t,a){const r=[];if(a)return r.push("⚠️ WARNING: Failed to fetch schemas from remote endpoint"),r.push(`Error: ${a}`),r.push(""),r.push("Schema validation and hints are not available."),r.push("You can still create app features without schema validation."),r.push(""),r.join("\n");r.push(`Found ${e.length} available app feature types:`),r.push("");const i={};return e.forEach((e=>{const a=t.find((t=>t.name===e)),r=a?.settings?.family||"other";i[r]||(i[r]=[]),i[r].push(e)})),r.push(JSON.stringify(i,null,2)),r.push("To get the detailed schema for a specific feature type, call this tool again with the featureType parameter."),r.push('Example: monday_apps_get_app_feature_schema featureType="AppFeatureStatusColumn"'),r.join("\n")}}],Di=e.z.object({appVersionId:e.z.number().describe("The unique identifier of the app version to check deployment status for. Use this after running mapps code:push to monitor the deployment progress and verify it completed successfully")}),Ni=e.z.object({appId:e.z.number().describe("The unique identifier of the app to manage environment variables for. Environment variables are app-level settings available to all versions"),key:e.z.string().describe("The environment variable key/name (e.g., API_KEY, DATABASE_URL, DEBUG_MODE). Use uppercase with underscores by convention"),value:e.z.string().describe("The value to set for this environment variable. Can be any string (API keys, URLs, configuration values, etc.). Values are stored securely and available at runtime")}),Ai=e.z.object({appId:e.z.number().describe("The unique identifier of the app to list environment variable keys for. Returns only the keys (not values) for security. Get app IDs from get_all_apps")});const ki=[class extends li{constructor(){super(...arguments),this.name="monday_apps_get_deployment_status",this.category=Jr.MONDAY_CODE,this.type=Yr.READ,this.annotations=pi({readOnlyHint:!0})}getDescription(){return"Get the deployment status for a specific app version in monday-code (serverless backend). Returns status, start time, end time, any errors, and deployment logs. Use this to monitor the progress and outcome of app deployments, especially after pushing code with mapps code:push"}getInputSchema(){return Di.shape}async executeInternal(e){try{const{appVersionId:t}=e,a=await this.executeApiRequest(Xr.GET,oi.CODE.GET_DEPLOYMENT_STATUS(t));return{content:`Deployment status for app version ID ${t}:\n${[`Status: ${a.status||"Unknown"}`,a.startTime?`Started: ${new Date(a.startTime).toLocaleString()}`:null,a.endTime?`Completed: ${new Date(a.endTime).toLocaleString()}`:null,a.error?`Error: ${a.error}`:null,a.logs?`Logs: ${a.logs}`:null].filter(Boolean).join("\n")}`,metadata:a}}catch(e){const t=e instanceof Error?e.message:String(e);return{content:`Failed to get deployment status: ${t}`,metadata:{statusCode:500,error:t}}}}},class extends li{constructor(){super(...arguments),this.name="monday_apps_set_environment_variable",this.category=Jr.MONDAY_CODE,this.type=Yr.WRITE,this.annotations=pi({title:"Set Environment Variable",destructiveHint:!0})}getDescription(){return"Set or update an environment variable for an app's monday-code backend. Environment variables are used to configure your app's runtime behavior (API keys, configuration values, etc.). The variable will be available to all versions of the app. Use this to manage app configuration securely."}getInputSchema(){return Ni.shape}async executeInternal(e){try{const{appId:t,key:a,value:r}=e;return{content:`Successfully set environment variable '${a}' for app ID ${t}.`,metadata:await this.executeApiRequest(Xr.PUT,oi.CODE.MANAGE_ENV(t,a),{data:{value:r}})}}catch(e){const t=e instanceof Error?e.message:String(e);return{content:`Failed to set environment variable: ${t}`,metadata:{statusCode:500,error:t}}}}},class extends li{constructor(){super(...arguments),this.name="monday_apps_list_environment_variable_keys",this.category=Jr.MONDAY_CODE,this.type=Yr.READ,this.annotations=pi({readOnlyHint:!0,title:"List Environment Variable Keys"})}getDescription(){return"List all environment variable keys configured for an app's monday-code backend. Returns only the keys (not values) for security reasons. Use this to see what environment variables are currently configured for your app before adding or updating them."}getInputSchema(){return Ai.shape}async executeInternal(e){try{const{appId:t}=e,a=await this.executeApiRequest(Xr.GET,oi.CODE.GET_ENV_KEYS(t));return{content:`Found ${a.keys.length} environment variable keys for app ID ${t}.`,metadata:a}}catch(e){const t=e instanceof Error?e.message:String(e);return{content:`Failed to list environment variable keys: ${t}`,metadata:{statusCode:500,error:t,keys:[]}}}}}],Oi=e.z.object({query:e.z.string().describe('The question or topic to search in the monday.com apps documentation. Be specific for better results. Examples: "How do I create a board view?", "What OAuth scopes do I need for reading boards?", "How to deploy to monday-code?"')});const $i=[class extends li{constructor(){super(...arguments),this.name="monday_apps_get_development_context",this.category=Jr.APP_DEVELOPMENT_ASSISTANT,this.type=Yr.READ,this.annotations=pi({title:"Get App Development Context",readOnlyHint:!0})}getDescription(){return"Your primary source of truth for building apps on top of monday.com. Call this tool whenever you need guidance on app development — from understanding the platform and its capabilities, to writing code, deploying, configuring permissions, and following best practices.\n\n[REQUIRED]: Call this tool BEFORE implementing any monday.com app feature or performing any app-related action.\n\nThis tool returns development guidelines and dynamic documentation answers from the official monday.com apps knowledge base. It covers everything you need to build, deploy, and manage monday.com apps — including SDK usage, CLI commands, feature types, deployment procedures, OAuth scopes, manifest configuration, and troubleshooting.\n\nProvide a clear question or topic in the query parameter for best results."}getInputSchema(){return Oi.shape}async executeInternal(e){if(!e?.query)throw new Error("Query parameter is required. Please provide a specific question or topic to search.");try{const t={query:e.query},a=(await this.executeGraphQLQuery("\n query AskDeveloperDocs($query: String!) {\n ask_developer_docs(query: $query) {\n id\n question\n answer\n conversation_id\n }\n }\n",t)).ask_developer_docs;if(!a)throw new Error("No data returned from documentation search. Please try rephrasing your question.");if(!a.answer||0===a.answer.trim().length)throw new Error("No relevant documentation found for your query. Please try rephrasing or being more specific.");return{content:this.buildStructuredResponse(a),metadata:{statusCode:200,queryId:a.id,conversationId:a.conversation_id}}}catch(e){const t=e instanceof Error?e.message:String(e);return{content:`Failed to search documentation: ${t}`,metadata:{statusCode:500,error:t}}}}buildStructuredResponse(e){const t=[];t.push("# monday.com App Development Assistant\n\nYou are an expert monday.com app development assistant. Your role is to help developers build, deploy, and manage apps on the monday.com platform. Be action-oriented — write code, run CLI commands, and use the available MCP tools to accomplish tasks.\n\nThis tool is connected to the official monday.com developer documentation. For any specific implementation details — SDK methods, CLI commands, API usage, feature configuration, or code examples — query this tool with a clear question. The documentation is the source of truth and will always return the most up-to-date information.\n\n## What is a monday.com App?\n\nA monday.com app extends the platform's functionality through app features — modular components that define where your app appears and how users interact with it. Apps are managed through the Developer Center and deployed using the CLI or MCP tools.\n\n## App Types\n\n**Client-side (frontend) apps** — UI features rendered inside the monday.com platform in the user's browser. Built with React, the monday.com client-side SDK for platform communication, and the Vibe Design System for UI components. The SDK provides seamless authentication using the user's existing session.\n\n**Server-side (backend) apps** — Backend logic hosted on monday-code (monday.com's serverless infrastructure) or on your own external server. Used for integrations, workflow automations, and data processing. Uses the server-side SDK with explicit credentials.\n\n**Full-stack apps** — Apps that have both frontend and backend code working together.\n\n## App Features\n\nApp features define where your app appears in the monday.com UI. There are many types of features spanning boards, dashboards, docs, workspaces, integrations, AI capabilities, and admin settings. When you need to build a specific feature type, query this tool to understand its configuration, requirements, and implementation patterns.\n\n## App Development Lifecycle\n\nFollow this ordered workflow. For the specific commands and implementation details of each step, query this tool.\n\n## ⛔ Actions Requiring User Approval\n\nThe following actions are **irreversible or high-impact**. You MUST NOT perform them automatically. Instead, stop and explicitly ask the user for confirmation before proceeding. Describe what you are about to do, why, and wait for the user to approve.\n\n- **Promote to live / production** — NEVER call `monday_apps_promote_app` or promote a draft version to live without the user's explicit approval. Always present a summary of what will go live (features, scopes, code changes) and wait for confirmation.\n\nFor all other actions (writing code, creating apps, creating features, deploying to draft, configuring manifests, setting environment variables, etc.) — proceed autonomously as part of the normal development workflow.\n\n**CRITICAL RULES — these must always be followed:**\n- ALL development must be done on a **draft version**. NEVER deploy to a live version. NEVER use force flags. If no draft exists, create one first.\n- **Client-side only apps** (with NO backend) must be deployed to the **CDN** using the client-side deployment method. Do NOT deploy frontend-only apps to monday-code. Query this tool for the exact deployment commands.\n- **Full-stack apps** can be deployed to monday-code, which handles both frontend and backend code.\n- After deploying code AND creating app features, you MUST **connect each feature to the deployed code** by creating a feature build. Without this step, the feature will not load any code. Query this tool for the exact command to create a feature build.\n- The **CLI uses the same API token** configured for this MCP server. Use it to authenticate CLI commands. Query this tool for the exact authentication command.\n- **Never hardcode secrets** — always use environment variables.\n- The **app manifest** is the source of truth for app configuration — use it to manage OAuth scopes, feature definitions, and build references.\n\n## ⚠️ MANDATORY: OAuth Permissions / Scopes Configuration\n\n**This step is REQUIRED. The app WILL NOT FUNCTION without it — API calls will fail with permission errors.**\n\nAfter writing the code and BEFORE considering the app complete, you MUST configure OAuth scopes:\n\n1. **Analyze your code** — Review every monday.com API call and SDK method used in the app. Each API operation requires specific OAuth scopes to work.\n2. **Query this tool** — Ask which OAuth scopes are needed for the specific API operations your code uses (e.g., `boards:read`, `boards:write`, `users:read`, etc.).\n3. **Export the app manifest** — Use the CLI or MCP tools to export the current manifest.\n4. **Add the required scopes** — Edit the manifest to include all necessary OAuth scopes.\n5. **Import the updated manifest** — Use the CLI or MCP tools to import the manifest back to the draft version.\n\n**DO NOT skip this step. DO NOT deploy without configuring scopes. If you are unsure which scopes are needed, query this tool with your specific API calls to get the exact scopes required.**\n\n**Lifecycle steps:**\n1. **Understand the requirement** — Identify which feature type(s) are needed and whether the app is client-side, server-side, or full-stack.\n2. **Query documentation** — Use this tool to get guidance on the specific feature type, SDK methods, deployment approach, or patterns needed.\n3. **Write the code** — Use the monday SDK for client-side platform communication and the Vibe Design System for UI components. Query this tool for SDK methods, usage patterns, and code examples.\n4. **Create the app on monday.com** — Use the available MCP tools or CLI. This creates both the app and an initial draft version.\n5. **Create app features** — Use the MCP tools to get the feature schema first, then create the features on the draft version.\n6. **[MANDATORY] Configure OAuth permissions and manifest** — This step is REQUIRED or the app will not work. Export the manifest, analyze your code to identify every API call, query this tool to determine the required OAuth scopes, add them to the manifest, and import the updated manifest. DO NOT proceed to deployment without completing this step.\n7. **Deploy the code** — Deploy to the draft version using the correct method for your app type. Query this tool for the exact deployment commands.\n8. **Connect features to deployed code** — Create a feature build to link each feature to the deployed code. Query this tool for the exact command.\n9. **Set environment variables** — Use MCP tools or CLI for API keys and secrets.\n10. **Test** — Use the CLI to expose local code for testing. Query this tool for the exact command.\n11. **Monitor deployment** — Use MCP tools or CLI to verify deployment succeeded.\n12. **Pre-release checklist** — Before promoting, verify: (a) OAuth scopes are configured in the manifest for ALL API operations used in the code, (b) features are connected to deployed code via feature builds, (c) environment variables are set.\n13. **Promote to production (REQUIRES USER APPROVAL)** — STOP here and ask the user for explicit confirmation before promoting. Present a summary of what will go live. NEVER promote automatically.\n\n## Available MCP Tools\n\n**App Management:** `monday_apps_get_all_apps`, `monday_apps_create_app`, `monday_apps_promote_app`\n**Version Management:** `monday_apps_get_app_versions`, `monday_apps_get_app_version`\n**Feature Management:** `monday_apps_get_app_features`, `monday_apps_create_app_feature`, `monday_apps_get_app_feature_schema`\n**monday-code:** `monday_apps_get_deployment_status`, `monday_apps_set_environment_variable`, `monday_apps_list_environment_variable_keys`\n**Storage:** `monday_apps_search_storage_records`, `monday_apps_export_storage_data`\n**Documentation:** `monday_apps_get_development_context` — Query this for any implementation details, SDK usage, CLI commands, or troubleshooting.\n\n## Key Guidelines\n\n- **Always query this tool** for specific implementation details — SDK methods, CLI commands, feature configuration, deployment procedures, and OAuth scopes. Do not guess or assume.\n- **Use the Vibe Design System** for all UI components — never build custom UI primitives.\n- **Use the monday SDK** for all client-side platform communication. Query this tool for the available methods and their usage.\n- **Handle errors gracefully** — provide clear feedback to users and log errors for debugging.\n- **Follow the lifecycle** — Do not skip steps. Every step exists for a reason."),t.push("---");const a=e.question?`## ${e.question}`:"## Documentation Response";return t.push(`${a}\n\n${e.answer}`),t.join("\n\n")}}];Jr.STORAGE,Jr.APP,Jr.APP_VERSION,Jr.APP_FEATURE,Jr.MONDAY_CODE,Jr.APP_DEVELOPMENT_ASSISTANT;const Ri=[...ui,...vi,...yi,...Si,...ki,...$i];function Pi(e){return{openWorldHint:!0,...e}}class Ci{constructor(e,t){this.mondayApi=e,this.context=t,this.sessionContext={}}async execute(e,t){return this.sessionContext=t||{},this.executeInternal(e)}}function xi(e,t){if(!Boolean(e))throw new Error(t)}function Fi(e){return"object"==typeof e&&null!==e}function zi(e,t){if(!Boolean(e))throw new Error(null!=t?t:"Unexpected invariant triggered.")}const Li=/\r\n|[\n\r]/g;function Vi(e,t){let a=0,r=1;for(const i of e.body.matchAll(Li)){if("number"==typeof i.index||zi(!1),i.index>=t)break;a=i.index+i[0].length,r+=1}return{line:r,column:t+1-a}}function Ui(e,t){const a=e.locationOffset.column-1,r="".padStart(a)+e.body,i=t.line-1,o=e.locationOffset.line-1,n=t.line+o,s=1===t.line?a:0,d=t.column+s,p=`${e.name}:${n}:${d}\n`,l=r.split(/\r\n|[\n\r]/g),m=l[i];if(m.length>120){const e=Math.floor(d/80),t=d%80,a=[];for(let e=0;e<m.length;e+=80)a.push(m.slice(e,e+80));return p+ji([[`${n} |`,a[0]],...a.slice(1,e+1).map((e=>["|",e])),["|","^".padStart(t)],["|",a[e+1]]])}return p+ji([[n-1+" |",l[i-1]],[`${n} |`,m],["|","^".padStart(d)],[`${n+1} |`,l[i+1]]])}function ji(e){const t=e.filter((([e,t])=>void 0!==t)),a=Math.max(...t.map((([e])=>e.length)));return t.map((([e,t])=>e.padStart(a)+(t?" "+t:""))).join("\n")}class Mi extends Error{constructor(e,...t){var a,r,i;const{nodes:o,source:n,positions:s,path:d,originalError:p,extensions:l}=function(e){const t=e[0];return null==t||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}(t);super(e),this.name="GraphQLError",this.path=null!=d?d:void 0,this.originalError=null!=p?p:void 0,this.nodes=qi(Array.isArray(o)?o:o?[o]:void 0);const m=qi(null===(a=this.nodes)||void 0===a?void 0:a.map((e=>e.loc)).filter((e=>null!=e)));this.source=null!=n?n:null==m||null===(r=m[0])||void 0===r?void 0:r.source,this.positions=null!=s?s:null==m?void 0:m.map((e=>e.start)),this.locations=s&&n?s.map((e=>Vi(n,e))):null==m?void 0:m.map((e=>Vi(e.source,e.start)));const c=Fi(null==p?void 0:p.extensions)?null==p?void 0:p.extensions:void 0;this.extensions=null!==(i=null!=l?l:c)&&void 0!==i?i:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=p&&p.stack?Object.defineProperty(this,"stack",{value:p.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,Mi):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(const a of this.nodes)a.loc&&(e+="\n\n"+Ui((t=a.loc).source,Vi(t.source,t.start)));else if(this.source&&this.locations)for(const t of this.locations)e+="\n\n"+Ui(this.source,t);var t;return e}toJSON(){const e={message:this.message};return null!=this.locations&&(e.locations=this.locations),null!=this.path&&(e.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}}function qi(e){return void 0===e||0===e.length?void 0:e}function Bi(e,t,a){return new Mi(`Syntax Error: ${a}`,{source:e,positions:[t]})}class Hi{constructor(e,t,a){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=a}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class Gi{constructor(e,t,a,r,i,o){this.kind=e,this.start=t,this.end=a,this.line=r,this.column=i,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const Wi={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},Qi=new Set(Object.keys(Wi));function Yi(e){const t=null==e?void 0:e.kind;return"string"==typeof t&&Qi.has(t)}var Ki,Ji,Xi,Zi;function eo(e){return 9===e||32===e}function to(e){return e>=48&&e<=57}function ao(e){return e>=97&&e<=122||e>=65&&e<=90}function ro(e){return ao(e)||95===e}function io(e){return ao(e)||to(e)||95===e}function oo(e){var t;let a=Number.MAX_SAFE_INTEGER,r=null,i=-1;for(let t=0;t<e.length;++t){var o;const n=e[t],s=no(n);s!==n.length&&(r=null!==(o=r)&&void 0!==o?o:t,i=t,0!==t&&s<a&&(a=s))}return e.map(((e,t)=>0===t?e:e.slice(a))).slice(null!==(t=r)&&void 0!==t?t:0,i+1)}function no(e){let t=0;for(;t<e.length&&eo(e.charCodeAt(t));)++t;return t}!function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"}(Ki||(Ki={})),function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"}(Ji||(Ji={})),function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"}(Xi||(Xi={})),function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"}(Zi||(Zi={}));class so{constructor(e){const t=new Gi(Zi.SOF,0,0,0,0);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){this.lastToken=this.token;return this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==Zi.EOF)do{if(e.next)e=e.next;else{const t=fo(this,e.end);e.next=t,t.prev=e,e=t}}while(e.kind===Zi.COMMENT);return e}}function po(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function lo(e,t){return mo(e.charCodeAt(t))&&co(e.charCodeAt(t+1))}function mo(e){return e>=55296&&e<=56319}function co(e){return e>=56320&&e<=57343}function uo(e,t){const a=e.source.body.codePointAt(t);if(void 0===a)return Zi.EOF;if(a>=32&&a<=126){const e=String.fromCodePoint(a);return'"'===e?"'\"'":`"${e}"`}return"U+"+a.toString(16).toUpperCase().padStart(4,"0")}function ho(e,t,a,r,i){const o=e.line,n=1+a-e.lineStart;return new Gi(t,a,r,o,n,i)}function fo(e,t){const a=e.source.body,r=a.length;let i=t;for(;i<r;){const t=a.charCodeAt(i);switch(t){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:10===a.charCodeAt(i+1)?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return vo(e,i);case 33:return ho(e,Zi.BANG,i,i+1);case 36:return ho(e,Zi.DOLLAR,i,i+1);case 38:return ho(e,Zi.AMP,i,i+1);case 40:return ho(e,Zi.PAREN_L,i,i+1);case 41:return ho(e,Zi.PAREN_R,i,i+1);case 46:if(46===a.charCodeAt(i+1)&&46===a.charCodeAt(i+2))return ho(e,Zi.SPREAD,i,i+3);break;case 58:return ho(e,Zi.COLON,i,i+1);case 61:return ho(e,Zi.EQUALS,i,i+1);case 64:return ho(e,Zi.AT,i,i+1);case 91:return ho(e,Zi.BRACKET_L,i,i+1);case 93:return ho(e,Zi.BRACKET_R,i,i+1);case 123:return ho(e,Zi.BRACE_L,i,i+1);case 124:return ho(e,Zi.PIPE,i,i+1);case 125:return ho(e,Zi.BRACE_R,i,i+1);case 34:return 34===a.charCodeAt(i+1)&&34===a.charCodeAt(i+2)?So(e,i):yo(e,i)}if(to(t)||45===t)return go(e,i,t);if(ro(t))return Do(e,i);throw Bi(e.source,i,39===t?"Unexpected single quote character ('), did you mean to use a double quote (\")?":po(t)||lo(a,i)?`Unexpected character: ${uo(e,i)}.`:`Invalid character: ${uo(e,i)}.`)}return ho(e,Zi.EOF,r,r)}function vo(e,t){const a=e.source.body,r=a.length;let i=t+1;for(;i<r;){const e=a.charCodeAt(i);if(10===e||13===e)break;if(po(e))++i;else{if(!lo(a,i))break;i+=2}}return ho(e,Zi.COMMENT,t,i,a.slice(t+1,i))}function go(e,t,a){const r=e.source.body;let i=t,o=a,n=!1;if(45===o&&(o=r.charCodeAt(++i)),48===o){if(o=r.charCodeAt(++i),to(o))throw Bi(e.source,i,`Invalid number, unexpected digit after 0: ${uo(e,i)}.`)}else i=_o(e,i,o),o=r.charCodeAt(i);if(46===o&&(n=!0,o=r.charCodeAt(++i),i=_o(e,i,o),o=r.charCodeAt(i)),69!==o&&101!==o||(n=!0,o=r.charCodeAt(++i),43!==o&&45!==o||(o=r.charCodeAt(++i)),i=_o(e,i,o),o=r.charCodeAt(i)),46===o||ro(o))throw Bi(e.source,i,`Invalid number, expected digit but got: ${uo(e,i)}.`);return ho(e,n?Zi.FLOAT:Zi.INT,t,i,r.slice(t,i))}function _o(e,t,a){if(!to(a))throw Bi(e.source,t,`Invalid number, expected digit but got: ${uo(e,t)}.`);const r=e.source.body;let i=t+1;for(;to(r.charCodeAt(i));)++i;return i}function yo(e,t){const a=e.source.body,r=a.length;let i=t+1,o=i,n="";for(;i<r;){const r=a.charCodeAt(i);if(34===r)return n+=a.slice(o,i),ho(e,Zi.STRING,t,i+1,n);if(92!==r){if(10===r||13===r)break;if(po(r))++i;else{if(!lo(a,i))throw Bi(e.source,i,`Invalid character within String: ${uo(e,i)}.`);i+=2}}else{n+=a.slice(o,i);const t=117===a.charCodeAt(i+1)?123===a.charCodeAt(i+2)?bo(e,i):wo(e,i):Eo(e,i);n+=t.value,i+=t.size,o=i}}throw Bi(e.source,i,"Unterminated string.")}function bo(e,t){const a=e.source.body;let r=0,i=3;for(;i<12;){const e=a.charCodeAt(t+i++);if(125===e){if(i<5||!po(r))break;return{value:String.fromCodePoint(r),size:i}}if(r=r<<4|To(e),r<0)break}throw Bi(e.source,t,`Invalid Unicode escape sequence: "${a.slice(t,t+i)}".`)}function wo(e,t){const a=e.source.body,r=Io(a,t+2);if(po(r))return{value:String.fromCodePoint(r),size:6};if(mo(r)&&92===a.charCodeAt(t+6)&&117===a.charCodeAt(t+7)){const e=Io(a,t+8);if(co(e))return{value:String.fromCodePoint(r,e),size:12}}throw Bi(e.source,t,`Invalid Unicode escape sequence: "${a.slice(t,t+6)}".`)}function Io(e,t){return To(e.charCodeAt(t))<<12|To(e.charCodeAt(t+1))<<8|To(e.charCodeAt(t+2))<<4|To(e.charCodeAt(t+3))}function To(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function Eo(e,t){const a=e.source.body;switch(a.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:"\t",size:2}}throw Bi(e.source,t,`Invalid character escape sequence: "${a.slice(t,t+2)}".`)}function So(e,t){const a=e.source.body,r=a.length;let i=e.lineStart,o=t+3,n=o,s="";const d=[];for(;o<r;){const r=a.charCodeAt(o);if(34===r&&34===a.charCodeAt(o+1)&&34===a.charCodeAt(o+2)){s+=a.slice(n,o),d.push(s);const r=ho(e,Zi.BLOCK_STRING,t,o+3,oo(d).join("\n"));return e.line+=d.length-1,e.lineStart=i,r}if(92!==r||34!==a.charCodeAt(o+1)||34!==a.charCodeAt(o+2)||34!==a.charCodeAt(o+3))if(10!==r&&13!==r)if(po(r))++o;else{if(!lo(a,o))throw Bi(e.source,o,`Invalid character within String: ${uo(e,o)}.`);o+=2}else s+=a.slice(n,o),d.push(s),13===r&&10===a.charCodeAt(o+1)?o+=2:++o,s="",n=o,i=o;else s+=a.slice(n,o),n=o+1,o+=4}throw Bi(e.source,o,"Unterminated string.")}function Do(e,t){const a=e.source.body,r=a.length;let i=t+1;for(;i<r;){if(!io(a.charCodeAt(i)))break;++i}return ho(e,Zi.NAME,t,i,a.slice(t,i))}function No(e){return Ao(e,[])}function Ao(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return function(e,t){if(null===e)return"null";if(t.includes(e))return"[Circular]";const a=[...t,e];if(function(e){return"function"==typeof e.toJSON}(e)){const t=e.toJSON();if(t!==e)return"string"==typeof t?t:Ao(t,a)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>2)return"[Array]";const a=Math.min(10,e.length),r=e.length-a,i=[];for(let r=0;r<a;++r)i.push(Ao(e[r],t));1===r?i.push("... 1 more item"):r>1&&i.push(`... ${r} more items`);return"["+i.join(", ")+"]"}(e,a);return function(e,t){const a=Object.entries(e);if(0===a.length)return"{}";if(t.length>2)return"["+function(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){const t=e.constructor.name;if("string"==typeof t&&""!==t)return t}return t}(e)+"]";const r=a.map((([e,a])=>e+": "+Ao(a,t)));return"{ "+r.join(", ")+" }"}(e,a)}(e,t);default:return String(e)}}const ko=globalThis.process&&"production"===process.env.NODE_ENV?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;if("object"==typeof e&&null!==e){var a;const r=t.prototype[Symbol.toStringTag];if(r===(Symbol.toStringTag in e?e[Symbol.toStringTag]:null===(a=e.constructor)||void 0===a?void 0:a.name)){const t=No(e);throw new Error(`Cannot use ${r} "${t}" from another module or realm.\n\nEnsure that there is only one instance of "graphql" in the node_modules\ndirectory. If different versions of "graphql" are the dependencies of other\nrelied on modules, use "resolutions" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate "graphql" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`)}}return!1};class Oo{constructor(e,t="GraphQL request",a={line:1,column:1}){"string"==typeof e||xi(!1,`Body must be a string. Received: ${No(e)}.`),this.body=e,this.name=t,this.locationOffset=a,this.locationOffset.line>0||xi(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||xi(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}class $o{constructor(e,t={}){const a=function(e){return ko(e,Oo)}(e)?e:new Oo(e);this._lexer=new so(a),this._options=t,this._tokenCounter=0}parseName(){const e=this.expectToken(Zi.NAME);return this.node(e,{kind:Xi.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:Xi.DOCUMENT,definitions:this.many(Zi.SOF,this.parseDefinition,Zi.EOF)})}parseDefinition(){if(this.peek(Zi.BRACE_L))return this.parseOperationDefinition();const e=this.peekDescription(),t=e?this._lexer.lookahead():this._lexer.token;if(t.kind===Zi.NAME){switch(t.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(e)throw Bi(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(t.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(t)}parseOperationDefinition(){const e=this._lexer.token;if(this.peek(Zi.BRACE_L))return this.node(e,{kind:Xi.OPERATION_DEFINITION,operation:Ki.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const t=this.parseOperationType();let a;return this.peek(Zi.NAME)&&(a=this.parseName()),this.node(e,{kind:Xi.OPERATION_DEFINITION,operation:t,name:a,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const e=this.expectToken(Zi.NAME);switch(e.value){case"query":return Ki.QUERY;case"mutation":return Ki.MUTATION;case"subscription":return Ki.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(Zi.PAREN_L,this.parseVariableDefinition,Zi.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:Xi.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(Zi.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(Zi.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const e=this._lexer.token;return this.expectToken(Zi.DOLLAR),this.node(e,{kind:Xi.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:Xi.SELECTION_SET,selections:this.many(Zi.BRACE_L,this.parseSelection,Zi.BRACE_R)})}parseSelection(){return this.peek(Zi.SPREAD)?this.parseFragment():this.parseField()}parseField(){const e=this._lexer.token,t=this.parseName();let a,r;return this.expectOptionalToken(Zi.COLON)?(a=t,r=this.parseName()):r=t,this.node(e,{kind:Xi.FIELD,alias:a,name:r,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(Zi.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){const t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(Zi.PAREN_L,t,Zi.PAREN_R)}parseArgument(e=!1){const t=this._lexer.token,a=this.parseName();return this.expectToken(Zi.COLON),this.node(t,{kind:Xi.ARGUMENT,name:a,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const e=this._lexer.token;this.expectToken(Zi.SPREAD);const t=this.expectOptionalKeyword("on");return!t&&this.peek(Zi.NAME)?this.node(e,{kind:Xi.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:Xi.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const e=this._lexer.token;return this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables?this.node(e,{kind:Xi.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:Xi.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(e){const t=this._lexer.token;switch(t.kind){case Zi.BRACKET_L:return this.parseList(e);case Zi.BRACE_L:return this.parseObject(e);case Zi.INT:return this.advanceLexer(),this.node(t,{kind:Xi.INT,value:t.value});case Zi.FLOAT:return this.advanceLexer(),this.node(t,{kind:Xi.FLOAT,value:t.value});case Zi.STRING:case Zi.BLOCK_STRING:return this.parseStringLiteral();case Zi.NAME:switch(this.advanceLexer(),t.value){case"true":return this.node(t,{kind:Xi.BOOLEAN,value:!0});case"false":return this.node(t,{kind:Xi.BOOLEAN,value:!1});case"null":return this.node(t,{kind:Xi.NULL});default:return this.node(t,{kind:Xi.ENUM,value:t.value})}case Zi.DOLLAR:if(e){if(this.expectToken(Zi.DOLLAR),this._lexer.token.kind===Zi.NAME){const e=this._lexer.token.value;throw Bi(this._lexer.source,t.start,`Unexpected variable "$${e}" in constant value.`)}throw this.unexpected(t)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:Xi.STRING,value:e.value,block:e.kind===Zi.BLOCK_STRING})}parseList(e){return this.node(this._lexer.token,{kind:Xi.LIST,values:this.any(Zi.BRACKET_L,(()=>this.parseValueLiteral(e)),Zi.BRACKET_R)})}parseObject(e){return this.node(this._lexer.token,{kind:Xi.OBJECT,fields:this.any(Zi.BRACE_L,(()=>this.parseObjectField(e)),Zi.BRACE_R)})}parseObjectField(e){const t=this._lexer.token,a=this.parseName();return this.expectToken(Zi.COLON),this.node(t,{kind:Xi.OBJECT_FIELD,name:a,value:this.parseValueLiteral(e)})}parseDirectives(e){const t=[];for(;this.peek(Zi.AT);)t.push(this.parseDirective(e));return t}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){const t=this._lexer.token;return this.expectToken(Zi.AT),this.node(t,{kind:Xi.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){const e=this._lexer.token;let t;if(this.expectOptionalToken(Zi.BRACKET_L)){const a=this.parseTypeReference();this.expectToken(Zi.BRACKET_R),t=this.node(e,{kind:Xi.LIST_TYPE,type:a})}else t=this.parseNamedType();return this.expectOptionalToken(Zi.BANG)?this.node(e,{kind:Xi.NON_NULL_TYPE,type:t}):t}parseNamedType(){return this.node(this._lexer.token,{kind:Xi.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(Zi.STRING)||this.peek(Zi.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");const a=this.parseConstDirectives(),r=this.many(Zi.BRACE_L,this.parseOperationTypeDefinition,Zi.BRACE_R);return this.node(e,{kind:Xi.SCHEMA_DEFINITION,description:t,directives:a,operationTypes:r})}parseOperationTypeDefinition(){const e=this._lexer.token,t=this.parseOperationType();this.expectToken(Zi.COLON);const a=this.parseNamedType();return this.node(e,{kind:Xi.OPERATION_TYPE_DEFINITION,operation:t,type:a})}parseScalarTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");const a=this.parseName(),r=this.parseConstDirectives();return this.node(e,{kind:Xi.SCALAR_TYPE_DEFINITION,description:t,name:a,directives:r})}parseObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");const a=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(e,{kind:Xi.OBJECT_TYPE_DEFINITION,description:t,name:a,interfaces:r,directives:i,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(Zi.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(Zi.BRACE_L,this.parseFieldDefinition,Zi.BRACE_R)}parseFieldDefinition(){const e=this._lexer.token,t=this.parseDescription(),a=this.parseName(),r=this.parseArgumentDefs();this.expectToken(Zi.COLON);const i=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(e,{kind:Xi.FIELD_DEFINITION,description:t,name:a,arguments:r,type:i,directives:o})}parseArgumentDefs(){return this.optionalMany(Zi.PAREN_L,this.parseInputValueDef,Zi.PAREN_R)}parseInputValueDef(){const e=this._lexer.token,t=this.parseDescription(),a=this.parseName();this.expectToken(Zi.COLON);const r=this.parseTypeReference();let i;this.expectOptionalToken(Zi.EQUALS)&&(i=this.parseConstValueLiteral());const o=this.parseConstDirectives();return this.node(e,{kind:Xi.INPUT_VALUE_DEFINITION,description:t,name:a,type:r,defaultValue:i,directives:o})}parseInterfaceTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");const a=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(e,{kind:Xi.INTERFACE_TYPE_DEFINITION,description:t,name:a,interfaces:r,directives:i,fields:o})}parseUnionTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");const a=this.parseName(),r=this.parseConstDirectives(),i=this.parseUnionMemberTypes();return this.node(e,{kind:Xi.UNION_TYPE_DEFINITION,description:t,name:a,directives:r,types:i})}parseUnionMemberTypes(){return this.expectOptionalToken(Zi.EQUALS)?this.delimitedMany(Zi.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");const a=this.parseName(),r=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();return this.node(e,{kind:Xi.ENUM_TYPE_DEFINITION,description:t,name:a,directives:r,values:i})}parseEnumValuesDefinition(){return this.optionalMany(Zi.BRACE_L,this.parseEnumValueDefinition,Zi.BRACE_R)}parseEnumValueDefinition(){const e=this._lexer.token,t=this.parseDescription(),a=this.parseEnumValueName(),r=this.parseConstDirectives();return this.node(e,{kind:Xi.ENUM_VALUE_DEFINITION,description:t,name:a,directives:r})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw Bi(this._lexer.source,this._lexer.token.start,`${Ro(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");const a=this.parseName(),r=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();return this.node(e,{kind:Xi.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:a,directives:r,fields:i})}parseInputFieldsDefinition(){return this.optionalMany(Zi.BRACE_L,this.parseInputValueDef,Zi.BRACE_R)}parseTypeSystemExtension(){const e=this._lexer.lookahead();if(e.kind===Zi.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)}parseSchemaExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const t=this.parseConstDirectives(),a=this.optionalMany(Zi.BRACE_L,this.parseOperationTypeDefinition,Zi.BRACE_R);if(0===t.length&&0===a.length)throw this.unexpected();return this.node(e,{kind:Xi.SCHEMA_EXTENSION,directives:t,operationTypes:a})}parseScalarTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const t=this.parseName(),a=this.parseConstDirectives();if(0===a.length)throw this.unexpected();return this.node(e,{kind:Xi.SCALAR_TYPE_EXTENSION,name:t,directives:a})}parseObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const t=this.parseName(),a=this.parseImplementsInterfaces(),r=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(0===a.length&&0===r.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:Xi.OBJECT_TYPE_EXTENSION,name:t,interfaces:a,directives:r,fields:i})}parseInterfaceTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const t=this.parseName(),a=this.parseImplementsInterfaces(),r=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(0===a.length&&0===r.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:Xi.INTERFACE_TYPE_EXTENSION,name:t,interfaces:a,directives:r,fields:i})}parseUnionTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const t=this.parseName(),a=this.parseConstDirectives(),r=this.parseUnionMemberTypes();if(0===a.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:Xi.UNION_TYPE_EXTENSION,name:t,directives:a,types:r})}parseEnumTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const t=this.parseName(),a=this.parseConstDirectives(),r=this.parseEnumValuesDefinition();if(0===a.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:Xi.ENUM_TYPE_EXTENSION,name:t,directives:a,values:r})}parseInputObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const t=this.parseName(),a=this.parseConstDirectives(),r=this.parseInputFieldsDefinition();if(0===a.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:Xi.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:a,fields:r})}parseDirectiveDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(Zi.AT);const a=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const o=this.parseDirectiveLocations();return this.node(e,{kind:Xi.DIRECTIVE_DEFINITION,description:t,name:a,arguments:r,repeatable:i,locations:o})}parseDirectiveLocations(){return this.delimitedMany(Zi.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const e=this._lexer.token,t=this.parseName();if(Object.prototype.hasOwnProperty.call(Ji,t.value))return t;throw this.unexpected(e)}node(e,t){return!0!==this._options.noLocation&&(t.loc=new Hi(e,this._lexer.lastToken,this._lexer.source)),t}peek(e){return this._lexer.token.kind===e}expectToken(e){const t=this._lexer.token;if(t.kind===e)return this.advanceLexer(),t;throw Bi(this._lexer.source,t.start,`Expected ${Po(e)}, found ${Ro(t)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e&&(this.advanceLexer(),!0)}expectKeyword(e){const t=this._lexer.token;if(t.kind!==Zi.NAME||t.value!==e)throw Bi(this._lexer.source,t.start,`Expected "${e}", found ${Ro(t)}.`);this.advanceLexer()}expectOptionalKeyword(e){const t=this._lexer.token;return t.kind===Zi.NAME&&t.value===e&&(this.advanceLexer(),!0)}unexpected(e){const t=null!=e?e:this._lexer.token;return Bi(this._lexer.source,t.start,`Unexpected ${Ro(t)}.`)}any(e,t,a){this.expectToken(e);const r=[];for(;!this.expectOptionalToken(a);)r.push(t.call(this));return r}optionalMany(e,t,a){if(this.expectOptionalToken(e)){const e=[];do{e.push(t.call(this))}while(!this.expectOptionalToken(a));return e}return[]}many(e,t,a){this.expectToken(e);const r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(a));return r}delimitedMany(e,t){this.expectOptionalToken(e);const a=[];do{a.push(t.call(this))}while(this.expectOptionalToken(e));return a}advanceLexer(){const{maxTokens:e}=this._options,t=this._lexer.advance();if(void 0!==e&&t.kind!==Zi.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw Bi(this._lexer.source,t.start,`Document contains more that ${e} tokens. Parsing aborted.`)}}function Ro(e){const t=e.value;return Po(e.kind)+(null!=t?` "${t}"`:"")}function Po(e){return function(e){return e===Zi.BANG||e===Zi.DOLLAR||e===Zi.AMP||e===Zi.PAREN_L||e===Zi.PAREN_R||e===Zi.SPREAD||e===Zi.COLON||e===Zi.EQUALS||e===Zi.AT||e===Zi.BRACKET_L||e===Zi.BRACKET_R||e===Zi.BRACE_L||e===Zi.PIPE||e===Zi.BRACE_R}(e)?`"${e}"`:e}function Co(e,t){const[a,r]=t?[e,t]:[void 0,e];let i=" Did you mean ";a&&(i+=a+" ");const o=r.map((e=>`"${e}"`));switch(o.length){case 0:return"";case 1:return i+o[0]+"?";case 2:return i+o[0]+" or "+o[1]+"?"}const n=o.slice(0,5),s=n.pop();return i+n.join(", ")+", or "+s+"?"}function xo(e){return e}function Fo(e,t){const a=Object.create(null);for(const r of e)a[t(r)]=r;return a}function zo(e,t,a){const r=Object.create(null);for(const i of e)r[t(i)]=a(i);return r}function Lo(e,t){const a=Object.create(null);for(const r of Object.keys(e))a[r]=t(e[r],r);return a}function Vo(e,t){let a=0,r=0;for(;a<e.length&&r<t.length;){let i=e.charCodeAt(a),o=t.charCodeAt(r);if(Mo(i)&&Mo(o)){let n=0;do{++a,n=10*n+i-Uo,i=e.charCodeAt(a)}while(Mo(i)&&n>0);let s=0;do{++r,s=10*s+o-Uo,o=t.charCodeAt(r)}while(Mo(o)&&s>0);if(n<s)return-1;if(n>s)return 1}else{if(i<o)return-1;if(i>o)return 1;++a,++r}}return e.length-t.length}const Uo=48,jo=57;function Mo(e){return!isNaN(e)&&Uo<=e&&e<=jo}function qo(e,t){const a=Object.create(null),r=new Bo(e),i=Math.floor(.4*e.length)+1;for(const e of t){const t=r.measure(e,i);void 0!==t&&(a[e]=t)}return Object.keys(a).sort(((e,t)=>{const r=a[e]-a[t];return 0!==r?r:Vo(e,t)}))}class Bo{constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=Ho(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,t){if(this._input===e)return 0;const a=e.toLowerCase();if(this._inputLowerCase===a)return 1;let r=Ho(a),i=this._inputArray;if(r.length<i.length){const e=r;r=i,i=e}const o=r.length,n=i.length;if(o-n>t)return;const s=this._rows;for(let e=0;e<=n;e++)s[0][e]=e;for(let e=1;e<=o;e++){const a=s[(e-1)%3],o=s[e%3];let d=o[0]=e;for(let t=1;t<=n;t++){const n=r[e-1]===i[t-1]?0:1;let p=Math.min(a[t]+1,o[t-1]+1,a[t-1]+n);if(e>1&&t>1&&r[e-1]===i[t-2]&&r[e-2]===i[t-1]){const a=s[(e-2)%3][t-2];p=Math.min(p,a+1)}p<d&&(d=p),o[t]=p}if(d>t)return}const d=s[o%3][n];return d<=t?d:void 0}}function Ho(e){const t=e.length,a=new Array(t);for(let r=0;r<t;++r)a[r]=e.charCodeAt(r);return a}function Go(e){if(null==e)return Object.create(null);if(null===Object.getPrototypeOf(e))return e;const t=Object.create(null);for(const[a,r]of Object.entries(e))t[a]=r;return t}const Wo=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Qo(e){return Yo[e.charCodeAt(0)]}const Yo=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"],Ko=Object.freeze({});function Jo(e,t,a=Wi){const r=new Map;for(const e of Object.values(Xi))r.set(e,Xo(t,e));let i,o,n,s=Array.isArray(e),d=[e],p=-1,l=[],m=e;const c=[],u=[];do{p++;const e=p===d.length,g=e&&0!==l.length;if(e){if(o=0===u.length?void 0:c[c.length-1],m=n,n=u.pop(),g)if(s){m=m.slice();let e=0;for(const[t,a]of l){const r=t-e;null===a?(m.splice(r,1),e++):m[r]=a}}else{m=Object.defineProperties({},Object.getOwnPropertyDescriptors(m));for(const[e,t]of l)m[e]=t}p=i.index,d=i.keys,l=i.edits,s=i.inArray,i=i.prev}else if(n){if(o=s?p:d[p],m=n[o],null==m)continue;c.push(o)}let _;if(!Array.isArray(m)){var h,f;Yi(m)||xi(!1,`Invalid AST Node: ${No(m)}.`);const a=e?null===(h=r.get(m.kind))||void 0===h?void 0:h.leave:null===(f=r.get(m.kind))||void 0===f?void 0:f.enter;if(_=null==a?void 0:a.call(t,m,o,n,c,u),_===Ko)break;if(!1===_){if(!e){c.pop();continue}}else if(void 0!==_&&(l.push([o,_]),!e)){if(!Yi(_)){c.pop();continue}m=_}}var v;if(void 0===_&&g&&l.push([o,m]),e)c.pop();else i={inArray:s,index:p,keys:d,edits:l,prev:i},s=Array.isArray(m),d=s?m:null!==(v=a[m.kind])&&void 0!==v?v:[],p=-1,l=[],n&&u.push(n),n=m}while(void 0!==i);return 0!==l.length?l[l.length-1][1]:e}function Xo(e,t){const a=e[t];return"object"==typeof a?a:"function"==typeof a?{enter:a,leave:void 0}:{enter:e.enter,leave:e.leave}}function Zo(e){return Jo(e,en)}const en={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>tn(e.definitions,"\n\n")},OperationDefinition:{leave(e){const t=rn("(",tn(e.variableDefinitions,", "),")"),a=tn([e.operation,tn([e.name,t]),tn(e.directives," ")]," ");return("query"===a?"":a+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:a,directives:r})=>e+": "+t+rn(" = ",a)+rn(" ",tn(r," "))},SelectionSet:{leave:({selections:e})=>an(e)},Field:{leave({alias:e,name:t,arguments:a,directives:r,selectionSet:i}){const o=rn("",e,": ")+t;let n=o+rn("(",tn(a,", "),")");return n.length>80&&(n=o+rn("(\n",on(tn(a,"\n")),"\n)")),tn([n,tn(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+rn(" ",tn(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:a})=>tn(["...",rn("on ",e),tn(t," "),a]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:a,directives:r,selectionSet:i})=>`fragment ${e}${rn("(",tn(a,", "),")")} on ${t} ${rn("",tn(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?function(e,t){const a=e.replace(/"""/g,'\\"""'),r=a.split(/\r\n|[\n\r]/g),i=1===r.length,o=r.length>1&&r.slice(1).every((e=>0===e.length||eo(e.charCodeAt(0)))),n=a.endsWith('\\"""'),s=e.endsWith('"')&&!n,d=e.endsWith("\\"),p=s||d,l=!(null!=t&&t.minimize)&&(!i||e.length>70||p||o||n);let m="";const c=i&&eo(e.charCodeAt(0));return(l&&!c||o)&&(m+="\n"),m+=a,(l||p)&&(m+="\n"),'"""'+m+'"""'}(e):`"${e.replace(Wo,Qo)}"`},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+tn(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+tn(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+rn("(",tn(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:a})=>rn("",e,"\n")+tn(["schema",tn(t," "),an(a)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:a})=>rn("",e,"\n")+tn(["scalar",t,tn(a," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:a,directives:r,fields:i})=>rn("",e,"\n")+tn(["type",t,rn("implements ",tn(a," & ")),tn(r," "),an(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:a,type:r,directives:i})=>rn("",e,"\n")+t+(nn(a)?rn("(\n",on(tn(a,"\n")),"\n)"):rn("(",tn(a,", "),")"))+": "+r+rn(" ",tn(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:a,defaultValue:r,directives:i})=>rn("",e,"\n")+tn([t+": "+a,rn("= ",r),tn(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:a,directives:r,fields:i})=>rn("",e,"\n")+tn(["interface",t,rn("implements ",tn(a," & ")),tn(r," "),an(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:a,types:r})=>rn("",e,"\n")+tn(["union",t,tn(a," "),rn("= ",tn(r," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:a,values:r})=>rn("",e,"\n")+tn(["enum",t,tn(a," "),an(r)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:a})=>rn("",e,"\n")+tn([t,tn(a," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:a,fields:r})=>rn("",e,"\n")+tn(["input",t,tn(a," "),an(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:a,repeatable:r,locations:i})=>rn("",e,"\n")+"directive @"+t+(nn(a)?rn("(\n",on(tn(a,"\n")),"\n)"):rn("(",tn(a,", "),")"))+(r?" repeatable":"")+" on "+tn(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>tn(["extend schema",tn(e," "),an(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>tn(["extend scalar",e,tn(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:a,fields:r})=>tn(["extend type",e,rn("implements ",tn(t," & ")),tn(a," "),an(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:a,fields:r})=>tn(["extend interface",e,rn("implements ",tn(t," & ")),tn(a," "),an(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:a})=>tn(["extend union",e,tn(t," "),rn("= ",tn(a," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:a})=>tn(["extend enum",e,tn(t," "),an(a)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:a})=>tn(["extend input",e,tn(t," "),an(a)]," ")}};function tn(e,t=""){var a;return null!==(a=null==e?void 0:e.filter((e=>e)).join(t))&&void 0!==a?a:""}function an(e){return rn("{\n",on(tn(e,"\n")),"\n}")}function rn(e,t,a=""){return null!=t&&""!==t?e+t+a:""}function on(e){return rn(" ",e.replace(/\n/g,"\n "))}function nn(e){var t;return null!==(t=null==e?void 0:e.some((e=>e.includes("\n"))))&&void 0!==t&&t}function sn(e,t){switch(e.kind){case Xi.NULL:return null;case Xi.INT:return parseInt(e.value,10);case Xi.FLOAT:return parseFloat(e.value);case Xi.STRING:case Xi.ENUM:case Xi.BOOLEAN:return e.value;case Xi.LIST:return e.values.map((e=>sn(e,t)));case Xi.OBJECT:return zo(e.fields,(e=>e.name.value),(e=>sn(e.value,t)));case Xi.VARIABLE:return null==t?void 0:t[e.name.value]}}function dn(e){if(null!=e||xi(!1,"Must provide name."),"string"==typeof e||xi(!1,"Expected name to be a string."),0===e.length)throw new Mi("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!io(e.charCodeAt(t)))throw new Mi(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!ro(e.charCodeAt(0)))throw new Mi(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}function pn(e){if("true"===e||"false"===e||"null"===e)throw new Mi(`Enum values cannot be named: ${e}`);return dn(e)}function ln(e){return mn(e)||cn(e)||un(e)||hn(e)||fn(e)||vn(e)||gn(e)||_n(e)}function mn(e){return ko(e,Pn)}function cn(e){return ko(e,Cn)}function un(e){return ko(e,Mn)}function hn(e){return ko(e,qn)}function fn(e){return ko(e,Hn)}function vn(e){return ko(e,Wn)}function gn(e){return ko(e,En)}function _n(e){return ko(e,Sn)}function yn(e){return mn(e)||fn(e)||vn(e)||Dn(e)&&yn(e.ofType)}function bn(e){return mn(e)||cn(e)||un(e)||hn(e)||fn(e)||Dn(e)&&bn(e.ofType)}function wn(e){return mn(e)||fn(e)}function In(e){return cn(e)||un(e)||hn(e)}function Tn(e){return un(e)||hn(e)}class En{constructor(e){ln(e)||xi(!1,`Expected ${No(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}}class Sn{constructor(e){Nn(e)||xi(!1,`Expected ${No(e)} to be a GraphQL nullable type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}}function Dn(e){return gn(e)||_n(e)}function Nn(e){return ln(e)&&!_n(e)}function An(e){if(e)return _n(e)?e.ofType:e}function kn(e){return mn(e)||cn(e)||un(e)||hn(e)||fn(e)||vn(e)}function On(e){if(e){let t=e;for(;Dn(t);)t=t.ofType;return t}}function $n(e){return"function"==typeof e?e():e}function Rn(e){return"function"==typeof e?e():e}class Pn{constructor(e){var t,a,r,i;const o=null!==(t=e.parseValue)&&void 0!==t?t:xo;this.name=dn(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=null!==(a=e.serialize)&&void 0!==a?a:xo,this.parseValue=o,this.parseLiteral=null!==(r=e.parseLiteral)&&void 0!==r?r:(e,t)=>o(sn(e,t)),this.extensions=Go(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(i=e.extensionASTNodes)&&void 0!==i?i:[],null==e.specifiedByURL||"string"==typeof e.specifiedByURL||xi(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${No(e.specifiedByURL)}.`),null==e.serialize||"function"==typeof e.serialize||xi(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),e.parseLiteral&&("function"==typeof e.parseValue&&"function"==typeof e.parseLiteral||xi(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class Cn{constructor(e){var t;this.name=dn(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=Go(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._fields=()=>Fn(e),this._interfaces=()=>xn(e),null==e.isTypeOf||"function"==typeof e.isTypeOf||xi(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${No(e.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Vn(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function xn(e){var t;const a=$n(null!==(t=e.interfaces)&&void 0!==t?t:[]);return Array.isArray(a)||xi(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),a}function Fn(e){const t=Rn(e.fields);return Ln(t)||xi(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Lo(t,((t,a)=>{var r;Ln(t)||xi(!1,`${e.name}.${a} field config must be an object.`),null==t.resolve||"function"==typeof t.resolve||xi(!1,`${e.name}.${a} field resolver must be a function if provided, but got: ${No(t.resolve)}.`);const i=null!==(r=t.args)&&void 0!==r?r:{};return Ln(i)||xi(!1,`${e.name}.${a} args must be an object with argument names as keys.`),{name:dn(a),description:t.description,type:t.type,args:zn(i),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:Go(t.extensions),astNode:t.astNode}}))}function zn(e){return Object.entries(e).map((([e,t])=>({name:dn(e),description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:Go(t.extensions),astNode:t.astNode})))}function Ln(e){return Fi(e)&&!Array.isArray(e)}function Vn(e){return Lo(e,(e=>({description:e.description,type:e.type,args:Un(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})))}function Un(e){return zo(e,(e=>e.name),(e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})))}function jn(e){return _n(e.type)&&void 0===e.defaultValue}class Mn{constructor(e){var t;this.name=dn(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Go(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._fields=Fn.bind(void 0,e),this._interfaces=xn.bind(void 0,e),null==e.resolveType||"function"==typeof e.resolveType||xi(!1,`${this.name} must provide "resolveType" as a function, but got: ${No(e.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Vn(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class qn{constructor(e){var t;this.name=dn(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Go(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._types=Bn.bind(void 0,e),null==e.resolveType||"function"==typeof e.resolveType||xi(!1,`${this.name} must provide "resolveType" as a function, but got: ${No(e.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return"function"==typeof this._types&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Bn(e){const t=$n(e.types);return Array.isArray(t)||xi(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}class Hn{constructor(e){var t,a,r;this.name=dn(e.name),this.description=e.description,this.extensions=Go(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._values=(a=this.name,Ln(r=e.values)||xi(!1,`${a} values must be an object with value names as keys.`),Object.entries(r).map((([e,t])=>(Ln(t)||xi(!1,`${a}.${e} must refer to an object with a "value" key representing an internal value but got: ${No(t)}.`),{name:pn(e),description:t.description,value:void 0!==t.value?t.value:e,deprecationReason:t.deprecationReason,extensions:Go(t.extensions),astNode:t.astNode})))),this._valueLookup=new Map(this._values.map((e=>[e.value,e]))),this._nameLookup=Fo(this._values,(e=>e.name))}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(e){return this._nameLookup[e]}serialize(e){const t=this._valueLookup.get(e);if(void 0===t)throw new Mi(`Enum "${this.name}" cannot represent value: ${No(e)}`);return t.name}parseValue(e){if("string"!=typeof e){const t=No(e);throw new Mi(`Enum "${this.name}" cannot represent non-string value: ${t}.`+Gn(this,t))}const t=this.getValue(e);if(null==t)throw new Mi(`Value "${e}" does not exist in "${this.name}" enum.`+Gn(this,e));return t.value}parseLiteral(e,t){if(e.kind!==Xi.ENUM){const t=Zo(e);throw new Mi(`Enum "${this.name}" cannot represent non-enum value: ${t}.`+Gn(this,t),{nodes:e})}const a=this.getValue(e.value);if(null==a){const t=Zo(e);throw new Mi(`Value "${t}" does not exist in "${this.name}" enum.`+Gn(this,t),{nodes:e})}return a.value}toConfig(){const e=zo(this.getValues(),(e=>e.name),(e=>({description:e.description,value:e.value,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Gn(e,t){return Co("the enum value",qo(t,e.getValues().map((e=>e.name))))}class Wn{constructor(e){var t;this.name=dn(e.name),this.description=e.description,this.extensions=Go(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._fields=Qn.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}toConfig(){const e=Lo(this.getFields(),(e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Qn(e){const t=Rn(e.fields);return Ln(t)||xi(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Lo(t,((t,a)=>(!("resolve"in t)||xi(!1,`${e.name}.${a} field has a resolve property, but Input Types cannot define resolvers.`),{name:dn(a),description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:Go(t.extensions),astNode:t.astNode})))}function Yn(e){return _n(e.type)&&void 0===e.defaultValue}function Kn(e,t){return e===t||(_n(e)&&_n(t)||!(!gn(e)||!gn(t)))&&Kn(e.ofType,t.ofType)}function Jn(e,t,a){return t===a||(_n(a)?!!_n(t)&&Jn(e,t.ofType,a.ofType):_n(t)?Jn(e,t.ofType,a):gn(a)?!!gn(t)&&Jn(e,t.ofType,a.ofType):!gn(t)&&(Tn(a)&&(un(t)||cn(t))&&e.isSubType(a,t)))}function Xn(e,t,a){return t===a||(Tn(t)?Tn(a)?e.getPossibleTypes(t).some((t=>e.isSubType(a,t))):e.isSubType(t,a):!!Tn(a)&&e.isSubType(a,t))}const Zn=2147483647,es=-2147483648,ts=new Pn({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){const t=ss(e);if("boolean"==typeof t)return t?1:0;let a=t;if("string"==typeof t&&""!==t&&(a=Number(t)),"number"!=typeof a||!Number.isInteger(a))throw new Mi(`Int cannot represent non-integer value: ${No(t)}`);if(a>Zn||a<es)throw new Mi("Int cannot represent non 32-bit signed integer value: "+No(t));return a},parseValue(e){if("number"!=typeof e||!Number.isInteger(e))throw new Mi(`Int cannot represent non-integer value: ${No(e)}`);if(e>Zn||e<es)throw new Mi(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==Xi.INT)throw new Mi(`Int cannot represent non-integer value: ${Zo(e)}`,{nodes:e});const t=parseInt(e.value,10);if(t>Zn||t<es)throw new Mi(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),as=new Pn({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){const t=ss(e);if("boolean"==typeof t)return t?1:0;let a=t;if("string"==typeof t&&""!==t&&(a=Number(t)),"number"!=typeof a||!Number.isFinite(a))throw new Mi(`Float cannot represent non numeric value: ${No(t)}`);return a},parseValue(e){if("number"!=typeof e||!Number.isFinite(e))throw new Mi(`Float cannot represent non numeric value: ${No(e)}`);return e},parseLiteral(e){if(e.kind!==Xi.FLOAT&&e.kind!==Xi.INT)throw new Mi(`Float cannot represent non numeric value: ${Zo(e)}`,e);return parseFloat(e.value)}}),rs=new Pn({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){const t=ss(e);if("string"==typeof t)return t;if("boolean"==typeof t)return t?"true":"false";if("number"==typeof t&&Number.isFinite(t))return t.toString();throw new Mi(`String cannot represent value: ${No(e)}`)},parseValue(e){if("string"!=typeof e)throw new Mi(`String cannot represent a non string value: ${No(e)}`);return e},parseLiteral(e){if(e.kind!==Xi.STRING)throw new Mi(`String cannot represent a non string value: ${Zo(e)}`,{nodes:e});return e.value}}),is=new Pn({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){const t=ss(e);if("boolean"==typeof t)return t;if(Number.isFinite(t))return 0!==t;throw new Mi(`Boolean cannot represent a non boolean value: ${No(t)}`)},parseValue(e){if("boolean"!=typeof e)throw new Mi(`Boolean cannot represent a non boolean value: ${No(e)}`);return e},parseLiteral(e){if(e.kind!==Xi.BOOLEAN)throw new Mi(`Boolean cannot represent a non boolean value: ${Zo(e)}`,{nodes:e});return e.value}}),os=new Pn({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){const t=ss(e);if("string"==typeof t)return t;if(Number.isInteger(t))return String(t);throw new Mi(`ID cannot represent value: ${No(e)}`)},parseValue(e){if("string"==typeof e)return e;if("number"==typeof e&&Number.isInteger(e))return e.toString();throw new Mi(`ID cannot represent value: ${No(e)}`)},parseLiteral(e){if(e.kind!==Xi.STRING&&e.kind!==Xi.INT)throw new Mi("ID cannot represent a non-string and non-integer value: "+Zo(e),{nodes:e});return e.value}}),ns=Object.freeze([rs,ts,as,is,os]);function ss(e){if(Fi(e)){if("function"==typeof e.valueOf){const t=e.valueOf();if(!Fi(t))return t}if("function"==typeof e.toJSON)return e.toJSON()}return e}function ds(e){return ko(e,ps)}class ps{constructor(e){var t,a;this.name=dn(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=null!==(t=e.isRepeatable)&&void 0!==t&&t,this.extensions=Go(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||xi(!1,`@${e.name} locations must be an Array.`);const r=null!==(a=e.args)&&void 0!==a?a:{};Fi(r)&&!Array.isArray(r)||xi(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=zn(r)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Un(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}}const ls=new ps({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[Ji.FIELD,Ji.FRAGMENT_SPREAD,Ji.INLINE_FRAGMENT],args:{if:{type:new Sn(is),description:"Included when true."}}}),ms=new ps({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[Ji.FIELD,Ji.FRAGMENT_SPREAD,Ji.INLINE_FRAGMENT],args:{if:{type:new Sn(is),description:"Skipped when true."}}}),cs=new ps({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[Ji.FIELD_DEFINITION,Ji.ARGUMENT_DEFINITION,Ji.INPUT_FIELD_DEFINITION,Ji.ENUM_VALUE],args:{reason:{type:rs,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:"No longer supported"}}}),us=new ps({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[Ji.SCALAR],args:{url:{type:new Sn(rs),description:"The URL that specifies the behavior of this scalar."}}}),hs=Object.freeze([ls,ms,cs,us]);function fs(e,t){if(_n(t)){const a=fs(e,t.ofType);return(null==a?void 0:a.kind)===Xi.NULL?null:a}if(null===e)return{kind:Xi.NULL};if(void 0===e)return null;if(gn(t)){const r=t.ofType;if("object"==typeof(a=e)&&"function"==typeof(null==a?void 0:a[Symbol.iterator])){const t=[];for(const a of e){const e=fs(a,r);null!=e&&t.push(e)}return{kind:Xi.LIST,values:t}}return fs(e,r)}var a;if(vn(t)){if(!Fi(e))return null;const a=[];for(const r of Object.values(t.getFields())){const t=fs(e[r.name],r.type);t&&a.push({kind:Xi.OBJECT_FIELD,name:{kind:Xi.NAME,value:r.name},value:t})}return{kind:Xi.OBJECT,fields:a}}if(wn(t)){const a=t.serialize(e);if(null==a)return null;if("boolean"==typeof a)return{kind:Xi.BOOLEAN,value:a};if("number"==typeof a&&Number.isFinite(a)){const e=String(a);return vs.test(e)?{kind:Xi.INT,value:e}:{kind:Xi.FLOAT,value:e}}if("string"==typeof a)return fn(t)?{kind:Xi.ENUM,value:a}:t===os&&vs.test(a)?{kind:Xi.INT,value:a}:{kind:Xi.STRING,value:a};throw new TypeError(`Cannot convert value to AST: ${No(a)}.`)}zi(!1,"Unexpected input type: "+No(t))}const vs=/^-?(?:0|[1-9][0-9]*)$/,gs=new Cn({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:rs,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new Sn(new En(new Sn(bs))),resolve:e=>Object.values(e.getTypeMap())},queryType:{description:"The type that query operations will be rooted at.",type:new Sn(bs),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:bs,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:bs,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Sn(new En(new Sn(_s))),resolve:e=>e.getDirectives()}})}),_s=new Cn({name:"__Directive",description:"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",fields:()=>({name:{type:new Sn(rs),resolve:e=>e.name},description:{type:rs,resolve:e=>e.description},isRepeatable:{type:new Sn(is),resolve:e=>e.isRepeatable},locations:{type:new Sn(new En(new Sn(ys))),resolve:e=>e.locations},args:{type:new Sn(new En(new Sn(Is))),args:{includeDeprecated:{type:is,defaultValue:!1}},resolve:(e,{includeDeprecated:t})=>t?e.args:e.args.filter((e=>null==e.deprecationReason))}})}),ys=new Hn({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:Ji.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:Ji.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:Ji.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:Ji.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:Ji.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:Ji.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:Ji.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:Ji.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:Ji.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:Ji.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:Ji.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:Ji.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:Ji.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:Ji.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:Ji.UNION,description:"Location adjacent to a union definition."},ENUM:{value:Ji.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:Ji.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:Ji.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:Ji.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),bs=new Cn({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new Sn(Ss),resolve:e=>mn(e)?Es.SCALAR:cn(e)?Es.OBJECT:un(e)?Es.INTERFACE:hn(e)?Es.UNION:fn(e)?Es.ENUM:vn(e)?Es.INPUT_OBJECT:gn(e)?Es.LIST:_n(e)?Es.NON_NULL:void zi(!1,`Unexpected type: "${No(e)}".`)},name:{type:rs,resolve:e=>"name"in e?e.name:void 0},description:{type:rs,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:rs,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new En(new Sn(ws)),args:{includeDeprecated:{type:is,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(cn(e)||un(e)){const a=Object.values(e.getFields());return t?a:a.filter((e=>null==e.deprecationReason))}}},interfaces:{type:new En(new Sn(bs)),resolve(e){if(cn(e)||un(e))return e.getInterfaces()}},possibleTypes:{type:new En(new Sn(bs)),resolve(e,t,a,{schema:r}){if(Tn(e))return r.getPossibleTypes(e)}},enumValues:{type:new En(new Sn(Ts)),args:{includeDeprecated:{type:is,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(fn(e)){const a=e.getValues();return t?a:a.filter((e=>null==e.deprecationReason))}}},inputFields:{type:new En(new Sn(Is)),args:{includeDeprecated:{type:is,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(vn(e)){const a=Object.values(e.getFields());return t?a:a.filter((e=>null==e.deprecationReason))}}},ofType:{type:bs,resolve:e=>"ofType"in e?e.ofType:void 0}})}),ws=new Cn({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new Sn(rs),resolve:e=>e.name},description:{type:rs,resolve:e=>e.description},args:{type:new Sn(new En(new Sn(Is))),args:{includeDeprecated:{type:is,defaultValue:!1}},resolve:(e,{includeDeprecated:t})=>t?e.args:e.args.filter((e=>null==e.deprecationReason))},type:{type:new Sn(bs),resolve:e=>e.type},isDeprecated:{type:new Sn(is),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:rs,resolve:e=>e.deprecationReason}})}),Is=new Cn({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new Sn(rs),resolve:e=>e.name},description:{type:rs,resolve:e=>e.description},type:{type:new Sn(bs),resolve:e=>e.type},defaultValue:{type:rs,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){const{type:t,defaultValue:a}=e,r=fs(a,t);return r?Zo(r):null}},isDeprecated:{type:new Sn(is),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:rs,resolve:e=>e.deprecationReason}})}),Ts=new Cn({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new Sn(rs),resolve:e=>e.name},description:{type:rs,resolve:e=>e.description},isDeprecated:{type:new Sn(is),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:rs,resolve:e=>e.deprecationReason}})});var Es;!function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"}(Es||(Es={}));const Ss=new Hn({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:Es.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:Es.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:Es.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:Es.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:Es.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:Es.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:Es.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:Es.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Ds={name:"__schema",type:new Sn(gs),description:"Access the current type schema of this server.",args:[],resolve:(e,t,a,{schema:r})=>r,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Ns={name:"__type",type:bs,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Sn(rs),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},a,{schema:r})=>r.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},As={name:"__typename",type:new Sn(rs),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,a,{parentType:r})=>r.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},ks=Object.freeze([gs,_s,ys,bs,ws,Is,Ts,Ss]);function Os(e){return ks.some((({name:t})=>e.name===t))}function $s(e){if(!function(e){return ko(e,Rs)}(e))throw new Error(`Expected ${No(e)} to be a GraphQL schema.`);return e}class Rs{constructor(e){var t,a;this.__validationErrors=!0===e.assumeValid?[]:void 0,Fi(e)||xi(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||xi(!1,`"types" must be Array if provided but got: ${No(e.types)}.`),!e.directives||Array.isArray(e.directives)||xi(!1,`"directives" must be Array if provided but got: ${No(e.directives)}.`),this.description=e.description,this.extensions=Go(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=null!==(a=e.directives)&&void 0!==a?a:hs;const r=new Set(e.types);if(null!=e.types)for(const t of e.types)r.delete(t),Ps(t,r);null!=this._queryType&&Ps(this._queryType,r),null!=this._mutationType&&Ps(this._mutationType,r),null!=this._subscriptionType&&Ps(this._subscriptionType,r);for(const e of this._directives)if(ds(e))for(const t of e.args)Ps(t.type,r);Ps(gs,r),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(const e of r){if(null==e)continue;const t=e.name;if(t||xi(!1,"One of the provided types for building the Schema is missing a name."),void 0!==this._typeMap[t])throw new Error(`Schema must contain uniquely named types but contains multiple types named "${t}".`);if(this._typeMap[t]=e,un(e)){for(const t of e.getInterfaces())if(un(t)){let a=this._implementationsMap[t.name];void 0===a&&(a=this._implementationsMap[t.name]={objects:[],interfaces:[]}),a.interfaces.push(e)}}else if(cn(e))for(const t of e.getInterfaces())if(un(t)){let a=this._implementationsMap[t.name];void 0===a&&(a=this._implementationsMap[t.name]={objects:[],interfaces:[]}),a.objects.push(e)}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(e){switch(e){case Ki.QUERY:return this.getQueryType();case Ki.MUTATION:return this.getMutationType();case Ki.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return hn(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){const t=this._implementationsMap[e.name];return null!=t?t:{objects:[],interfaces:[]}}isSubType(e,t){let a=this._subTypeMap[e.name];if(void 0===a){if(a=Object.create(null),hn(e))for(const t of e.getTypes())a[t.name]=!0;else{const t=this.getImplementations(e);for(const e of t.objects)a[e.name]=!0;for(const e of t.interfaces)a[e.name]=!0}this._subTypeMap[e.name]=a}return void 0!==a[t.name]}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find((t=>t.name===e))}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:void 0!==this.__validationErrors}}}function Ps(e,t){const a=On(e);if(!t.has(a))if(t.add(a),hn(a))for(const e of a.getTypes())Ps(e,t);else if(cn(a)||un(a)){for(const e of a.getInterfaces())Ps(e,t);for(const e of Object.values(a.getFields())){Ps(e.type,t);for(const a of e.args)Ps(a.type,t)}}else if(vn(a))for(const e of Object.values(a.getFields()))Ps(e.type,t);return t}function Cs(e){if($s(e),e.__validationErrors)return e.__validationErrors;const t=new xs(e);!function(e){const t=e.schema,a=t.getQueryType();if(a){if(!cn(a)){var r;e.reportError(`Query root type must be Object type, it cannot be ${No(a)}.`,null!==(r=Fs(t,Ki.QUERY))&&void 0!==r?r:a.astNode)}}else e.reportError("Query root type must be provided.",t.astNode);const i=t.getMutationType();var o;i&&!cn(i)&&e.reportError(`Mutation root type must be Object type if provided, it cannot be ${No(i)}.`,null!==(o=Fs(t,Ki.MUTATION))&&void 0!==o?o:i.astNode);const n=t.getSubscriptionType();var s;n&&!cn(n)&&e.reportError(`Subscription root type must be Object type if provided, it cannot be ${No(n)}.`,null!==(s=Fs(t,Ki.SUBSCRIPTION))&&void 0!==s?s:n.astNode)}(t),function(e){for(const a of e.schema.getDirectives())if(ds(a)){zs(e,a);for(const r of a.args){var t;if(zs(e,r),yn(r.type)||e.reportError(`The type of @${a.name}(${r.name}:) must be Input Type but got: ${No(r.type)}.`,r.astNode),jn(r)&&null!=r.deprecationReason)e.reportError(`Required argument @${a.name}(${r.name}:) cannot be deprecated.`,[Ws(r.astNode),null===(t=r.astNode)||void 0===t?void 0:t.type])}}else e.reportError(`Expected directive but got: ${No(a)}.`,null==a?void 0:a.astNode)}(t),function(e){const t=function(e){const t=Object.create(null),a=[],r=Object.create(null);return i;function i(o){if(t[o.name])return;t[o.name]=!0,r[o.name]=a.length;const n=Object.values(o.getFields());for(const t of n)if(_n(t.type)&&vn(t.type.ofType)){const o=t.type.ofType,n=r[o.name];if(a.push(t),void 0===n)i(o);else{const t=a.slice(n),r=t.map((e=>e.name)).join(".");e.reportError(`Cannot reference Input Object "${o.name}" within itself through a series of non-null fields: "${r}".`,t.map((e=>e.astNode)))}a.pop()}r[o.name]=void 0}}(e),a=e.schema.getTypeMap();for(const r of Object.values(a))kn(r)?(Os(r)||zs(e,r),cn(r)||un(r)?(Ls(e,r),Vs(e,r)):hn(r)?Ms(e,r):fn(r)?qs(e,r):vn(r)&&(Bs(e,r),t(r))):e.reportError(`Expected GraphQL named type but got: ${No(r)}.`,r.astNode)}(t);const a=t.getErrors();return e.__validationErrors=a,a}class xs{constructor(e){this._errors=[],this.schema=e}reportError(e,t){const a=Array.isArray(t)?t.filter(Boolean):t;this._errors.push(new Mi(e,{nodes:a}))}getErrors(){return this._errors}}function Fs(e,t){var a;return null===(a=[e.astNode,...e.extensionASTNodes].flatMap((e=>{var t;return null!==(t=null==e?void 0:e.operationTypes)&&void 0!==t?t:[]})).find((e=>e.operation===t)))||void 0===a?void 0:a.type}function zs(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function Ls(e,t){const a=Object.values(t.getFields());0===a.length&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const n of a){var r;if(zs(e,n),!bn(n.type))e.reportError(`The type of ${t.name}.${n.name} must be Output Type but got: ${No(n.type)}.`,null===(r=n.astNode)||void 0===r?void 0:r.type);for(const a of n.args){const r=a.name;var i,o;if(zs(e,a),!yn(a.type))e.reportError(`The type of ${t.name}.${n.name}(${r}:) must be Input Type but got: ${No(a.type)}.`,null===(i=a.astNode)||void 0===i?void 0:i.type);if(jn(a)&&null!=a.deprecationReason)e.reportError(`Required argument ${t.name}.${n.name}(${r}:) cannot be deprecated.`,[Ws(a.astNode),null===(o=a.astNode)||void 0===o?void 0:o.type])}}}function Vs(e,t){const a=Object.create(null);for(const r of t.getInterfaces())un(r)?t!==r?a[r.name]?e.reportError(`Type ${t.name} can only implement ${r.name} once.`,Hs(t,r)):(a[r.name]=!0,js(e,t,r),Us(e,t,r)):e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,Hs(t,r)):e.reportError(`Type ${No(t)} must only implement Interface types, it cannot implement ${No(r)}.`,Hs(t,r))}function Us(e,t,a){const r=t.getFields();for(const d of Object.values(a.getFields())){const p=d.name,l=r[p];if(l){var i,o;if(!Jn(e.schema,l.type,d.type))e.reportError(`Interface field ${a.name}.${p} expects type ${No(d.type)} but ${t.name}.${p} is type ${No(l.type)}.`,[null===(i=d.astNode)||void 0===i?void 0:i.type,null===(o=l.astNode)||void 0===o?void 0:o.type]);for(const r of d.args){const i=r.name,o=l.args.find((e=>e.name===i));var n,s;if(o){if(!Kn(r.type,o.type))e.reportError(`Interface field argument ${a.name}.${p}(${i}:) expects type ${No(r.type)} but ${t.name}.${p}(${i}:) is type ${No(o.type)}.`,[null===(n=r.astNode)||void 0===n?void 0:n.type,null===(s=o.astNode)||void 0===s?void 0:s.type])}else e.reportError(`Interface field argument ${a.name}.${p}(${i}:) expected but ${t.name}.${p} does not provide it.`,[r.astNode,l.astNode])}for(const r of l.args){const i=r.name;!d.args.find((e=>e.name===i))&&jn(r)&&e.reportError(`Object field ${t.name}.${p} includes required argument ${i} that is missing from the Interface field ${a.name}.${p}.`,[r.astNode,d.astNode])}}else e.reportError(`Interface field ${a.name}.${p} expected but ${t.name} does not provide it.`,[d.astNode,t.astNode,...t.extensionASTNodes])}}function js(e,t,a){const r=t.getInterfaces();for(const i of a.getInterfaces())r.includes(i)||e.reportError(i===t?`Type ${t.name} cannot implement ${a.name} because it would create a circular reference.`:`Type ${t.name} must implement ${i.name} because it is implemented by ${a.name}.`,[...Hs(a,i),...Hs(t,a)])}function Ms(e,t){const a=t.getTypes();0===a.length&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);const r=Object.create(null);for(const i of a)r[i.name]?e.reportError(`Union type ${t.name} can only include type ${i.name} once.`,Gs(t,i.name)):(r[i.name]=!0,cn(i)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${No(i)}.`,Gs(t,String(i))))}function qs(e,t){const a=t.getValues();0===a.length&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(const t of a)zs(e,t)}function Bs(e,t){const a=Object.values(t.getFields());0===a.length&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const o of a){var r,i;if(zs(e,o),!yn(o.type))e.reportError(`The type of ${t.name}.${o.name} must be Input Type but got: ${No(o.type)}.`,null===(r=o.astNode)||void 0===r?void 0:r.type);if(Yn(o)&&null!=o.deprecationReason)e.reportError(`Required input field ${t.name}.${o.name} cannot be deprecated.`,[Ws(o.astNode),null===(i=o.astNode)||void 0===i?void 0:i.type])}}function Hs(e,t){const{astNode:a,extensionASTNodes:r}=e;return(null!=a?[a,...r]:r).flatMap((e=>{var t;return null!==(t=e.interfaces)&&void 0!==t?t:[]})).filter((e=>e.name.value===t.name))}function Gs(e,t){const{astNode:a,extensionASTNodes:r}=e;return(null!=a?[a,...r]:r).flatMap((e=>{var t;return null!==(t=e.types)&&void 0!==t?t:[]})).filter((e=>e.name.value===t))}function Ws(e){var t;return null==e||null===(t=e.directives)||void 0===t?void 0:t.find((e=>e.name.value===cs.name))}function Qs(e,t){switch(t.kind){case Xi.LIST_TYPE:{const a=Qs(e,t.type);return a&&new En(a)}case Xi.NON_NULL_TYPE:{const a=Qs(e,t.type);return a&&new Sn(a)}case Xi.NAMED_TYPE:return e.getType(t.name.value)}}class Ys{constructor(e,t,a){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=null!=a?a:Ks,t&&(yn(t)&&this._inputTypeStack.push(t),In(t)&&this._parentTypeStack.push(t),bn(t)&&this._typeStack.push(t))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(e){const t=this._schema;switch(e.kind){case Xi.SELECTION_SET:{const e=On(this.getType());this._parentTypeStack.push(In(e)?e:void 0);break}case Xi.FIELD:{const a=this.getParentType();let r,i;a&&(r=this._getFieldDef(t,a,e),r&&(i=r.type)),this._fieldDefStack.push(r),this._typeStack.push(bn(i)?i:void 0);break}case Xi.DIRECTIVE:this._directive=t.getDirective(e.name.value);break;case Xi.OPERATION_DEFINITION:{const a=t.getRootType(e.operation);this._typeStack.push(cn(a)?a:void 0);break}case Xi.INLINE_FRAGMENT:case Xi.FRAGMENT_DEFINITION:{const a=e.typeCondition,r=a?Qs(t,a):On(this.getType());this._typeStack.push(bn(r)?r:void 0);break}case Xi.VARIABLE_DEFINITION:{const a=Qs(t,e.type);this._inputTypeStack.push(yn(a)?a:void 0);break}case Xi.ARGUMENT:{var a;let t,r;const i=null!==(a=this.getDirective())&&void 0!==a?a:this.getFieldDef();i&&(t=i.args.find((t=>t.name===e.name.value)),t&&(r=t.type)),this._argument=t,this._defaultValueStack.push(t?t.defaultValue:void 0),this._inputTypeStack.push(yn(r)?r:void 0);break}case Xi.LIST:{const e=An(this.getInputType()),t=gn(e)?e.ofType:e;this._defaultValueStack.push(void 0),this._inputTypeStack.push(yn(t)?t:void 0);break}case Xi.OBJECT_FIELD:{const t=On(this.getInputType());let a,r;vn(t)&&(r=t.getFields()[e.name.value],r&&(a=r.type)),this._defaultValueStack.push(r?r.defaultValue:void 0),this._inputTypeStack.push(yn(a)?a:void 0);break}case Xi.ENUM:{const t=On(this.getInputType());let a;fn(t)&&(a=t.getValue(e.value)),this._enumValue=a;break}}}leave(e){switch(e.kind){case Xi.SELECTION_SET:this._parentTypeStack.pop();break;case Xi.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case Xi.DIRECTIVE:this._directive=null;break;case Xi.OPERATION_DEFINITION:case Xi.INLINE_FRAGMENT:case Xi.FRAGMENT_DEFINITION:this._typeStack.pop();break;case Xi.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case Xi.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case Xi.LIST:case Xi.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case Xi.ENUM:this._enumValue=null}}}function Ks(e,t,a){const r=a.name.value;return r===Ds.name&&e.getQueryType()===t?Ds:r===Ns.name&&e.getQueryType()===t?Ns:r===As.name&&In(t)?As:cn(t)||un(t)?t.getFields()[r]:void 0}function Js(e,t){return{enter(...a){const r=a[0];e.enter(r);const i=Xo(t,r.kind).enter;if(i){const o=i.apply(t,a);return void 0!==o&&(e.leave(r),Yi(o)&&e.enter(o)),o}},leave(...a){const r=a[0],i=Xo(t,r.kind).leave;let o;return i&&(o=i.apply(t,a)),e.leave(r),o}}}function Xs(e){return e.kind===Xi.OPERATION_DEFINITION||e.kind===Xi.FRAGMENT_DEFINITION}function Zs(e){return e.kind===Xi.SCALAR_TYPE_DEFINITION||e.kind===Xi.OBJECT_TYPE_DEFINITION||e.kind===Xi.INTERFACE_TYPE_DEFINITION||e.kind===Xi.UNION_TYPE_DEFINITION||e.kind===Xi.ENUM_TYPE_DEFINITION||e.kind===Xi.INPUT_OBJECT_TYPE_DEFINITION}function ed(e){return e.kind===Xi.SCALAR_TYPE_EXTENSION||e.kind===Xi.OBJECT_TYPE_EXTENSION||e.kind===Xi.INTERFACE_TYPE_EXTENSION||e.kind===Xi.UNION_TYPE_EXTENSION||e.kind===Xi.ENUM_TYPE_EXTENSION||e.kind===Xi.INPUT_OBJECT_TYPE_EXTENSION}function td(e){const t=Object.create(null),a=e.getSchema(),r=a?a.getDirectives():hs;for(const e of r)t[e.name]=e.args.map((e=>e.name));const i=e.getDocument().definitions;for(const e of i)if(e.kind===Xi.DIRECTIVE_DEFINITION){var o;const a=null!==(o=e.arguments)&&void 0!==o?o:[];t[e.name.value]=a.map((e=>e.name.value))}return{Directive(a){const r=a.name.value,i=t[r];if(a.arguments&&i)for(const t of a.arguments){const a=t.name.value;if(!i.includes(a)){const o=qo(a,i);e.reportError(new Mi(`Unknown argument "${a}" on directive "@${r}".`+Co(o),{nodes:t}))}}return!1}}}function ad(e){const t=Object.create(null),a=e.getSchema(),r=a?a.getDirectives():hs;for(const e of r)t[e.name]=e.locations;const i=e.getDocument().definitions;for(const e of i)e.kind===Xi.DIRECTIVE_DEFINITION&&(t[e.name.value]=e.locations.map((e=>e.value)));return{Directive(a,r,i,o,n){const s=a.name.value,d=t[s];if(!d)return void e.reportError(new Mi(`Unknown directive "@${s}".`,{nodes:a}));const p=function(e){const t=e[e.length-1];switch("kind"in t||zi(!1),t.kind){case Xi.OPERATION_DEFINITION:return function(e){switch(e){case Ki.QUERY:return Ji.QUERY;case Ki.MUTATION:return Ji.MUTATION;case Ki.SUBSCRIPTION:return Ji.SUBSCRIPTION}}(t.operation);case Xi.FIELD:return Ji.FIELD;case Xi.FRAGMENT_SPREAD:return Ji.FRAGMENT_SPREAD;case Xi.INLINE_FRAGMENT:return Ji.INLINE_FRAGMENT;case Xi.FRAGMENT_DEFINITION:return Ji.FRAGMENT_DEFINITION;case Xi.VARIABLE_DEFINITION:return Ji.VARIABLE_DEFINITION;case Xi.SCHEMA_DEFINITION:case Xi.SCHEMA_EXTENSION:return Ji.SCHEMA;case Xi.SCALAR_TYPE_DEFINITION:case Xi.SCALAR_TYPE_EXTENSION:return Ji.SCALAR;case Xi.OBJECT_TYPE_DEFINITION:case Xi.OBJECT_TYPE_EXTENSION:return Ji.OBJECT;case Xi.FIELD_DEFINITION:return Ji.FIELD_DEFINITION;case Xi.INTERFACE_TYPE_DEFINITION:case Xi.INTERFACE_TYPE_EXTENSION:return Ji.INTERFACE;case Xi.UNION_TYPE_DEFINITION:case Xi.UNION_TYPE_EXTENSION:return Ji.UNION;case Xi.ENUM_TYPE_DEFINITION:case Xi.ENUM_TYPE_EXTENSION:return Ji.ENUM;case Xi.ENUM_VALUE_DEFINITION:return Ji.ENUM_VALUE;case Xi.INPUT_OBJECT_TYPE_DEFINITION:case Xi.INPUT_OBJECT_TYPE_EXTENSION:return Ji.INPUT_OBJECT;case Xi.INPUT_VALUE_DEFINITION:{const t=e[e.length-3];return"kind"in t||zi(!1),t.kind===Xi.INPUT_OBJECT_TYPE_DEFINITION?Ji.INPUT_FIELD_DEFINITION:Ji.ARGUMENT_DEFINITION}default:zi(!1,"Unexpected kind: "+No(t.kind))}}(n);p&&!d.includes(p)&&e.reportError(new Mi(`Directive "@${s}" may not be used on ${p}.`,{nodes:a}))}}}function rd(e){const t=e.getSchema(),a=t?t.getTypeMap():Object.create(null),r=Object.create(null);for(const t of e.getDocument().definitions)Zs(t)&&(r[t.name.value]=!0);const i=[...Object.keys(a),...Object.keys(r)];return{NamedType(t,o,n,s,d){const p=t.name.value;if(!a[p]&&!r[p]){var l;const a=null!==(l=d[2])&&void 0!==l?l:n,r=null!=a&&("kind"in(m=a)&&(function(e){return e.kind===Xi.SCHEMA_DEFINITION||Zs(e)||e.kind===Xi.DIRECTIVE_DEFINITION}(m)||function(e){return e.kind===Xi.SCHEMA_EXTENSION||ed(e)}(m)));if(r&&id.includes(p))return;const o=qo(p,r?id.concat(i):i);e.reportError(new Mi(`Unknown type "${p}".`+Co(o),{nodes:t}))}var m}}}const id=[...ns,...ks].map((e=>e.name));function od(e){switch(e.kind){case Xi.OBJECT:return{...e,fields:(t=e.fields,t.map((e=>({...e,value:od(e.value)}))).sort(((e,t)=>Vo(e.name.value,t.name.value))))};case Xi.LIST:return{...e,values:e.values.map(od)};case Xi.INT:case Xi.FLOAT:case Xi.STRING:case Xi.BOOLEAN:case Xi.NULL:case Xi.ENUM:case Xi.VARIABLE:return e}var t}function nd(e){return Array.isArray(e)?e.map((([e,t])=>`subfields "${e}" conflict because `+nd(t))).join(" and "):e}function sd(e,t,a,r,i,o,n){const s=e.getFragment(n);if(!s)return;const[d,p]=hd(e,a,s);if(o!==d){pd(e,t,a,r,i,o,d);for(const s of p)r.has(s,n,i)||(r.add(s,n,i),sd(e,t,a,r,i,o,s))}}function dd(e,t,a,r,i,o,n){if(o===n)return;if(r.has(o,n,i))return;r.add(o,n,i);const s=e.getFragment(o),d=e.getFragment(n);if(!s||!d)return;const[p,l]=hd(e,a,s),[m,c]=hd(e,a,d);pd(e,t,a,r,i,p,m);for(const n of c)dd(e,t,a,r,i,o,n);for(const o of l)dd(e,t,a,r,i,o,n)}function pd(e,t,a,r,i,o,n){for(const[s,d]of Object.entries(o)){const o=n[s];if(o)for(const n of d)for(const d of o){const o=ld(e,a,r,i,s,n,d);o&&t.push(o)}}}function ld(e,t,a,r,i,o,n){const[s,d,p]=o,[l,m,c]=n,u=r||s!==l&&cn(s)&&cn(l);if(!u){const e=d.name.value,t=m.name.value;if(e!==t)return[[i,`"${e}" and "${t}" are different fields`],[d],[m]];if(!function(e,t){const a=e.arguments,r=t.arguments;if(void 0===a||0===a.length)return void 0===r||0===r.length;if(void 0===r||0===r.length)return!1;if(a.length!==r.length)return!1;const i=new Map(r.map((({name:e,value:t})=>[e.value,t])));return a.every((e=>{const t=e.value,a=i.get(e.name.value);return void 0!==a&&md(t)===md(a)}))}(d,m))return[[i,"they have differing arguments"],[d],[m]]}const h=null==p?void 0:p.type,f=null==c?void 0:c.type;if(h&&f&&cd(h,f))return[[i,`they return conflicting types "${No(h)}" and "${No(f)}"`],[d],[m]];const v=d.selectionSet,g=m.selectionSet;if(v&&g){const r=function(e,t,a,r,i,o,n,s){const d=[],[p,l]=ud(e,t,i,o),[m,c]=ud(e,t,n,s);pd(e,d,t,a,r,p,m);for(const i of c)sd(e,d,t,a,r,p,i);for(const i of l)sd(e,d,t,a,r,m,i);for(const i of l)for(const o of c)dd(e,d,t,a,r,i,o);return d}(e,t,a,u,On(h),v,On(f),g);return function(e,t,a,r){if(e.length>0)return[[t,e.map((([e])=>e))],[a,...e.map((([,e])=>e)).flat()],[r,...e.map((([,,e])=>e)).flat()]]}(r,i,d,m)}}function md(e){return Zo(od(e))}function cd(e,t){return gn(e)?!gn(t)||cd(e.ofType,t.ofType):!!gn(t)||(_n(e)?!_n(t)||cd(e.ofType,t.ofType):!!_n(t)||!(!wn(e)&&!wn(t))&&e!==t)}function ud(e,t,a,r){const i=t.get(r);if(i)return i;const o=Object.create(null),n=Object.create(null);fd(e,a,r,o,n);const s=[o,Object.keys(n)];return t.set(r,s),s}function hd(e,t,a){const r=t.get(a.selectionSet);if(r)return r;const i=Qs(e.getSchema(),a.typeCondition);return ud(e,t,i,a.selectionSet)}function fd(e,t,a,r,i){for(const o of a.selections)switch(o.kind){case Xi.FIELD:{const e=o.name.value;let a;(cn(t)||un(t))&&(a=t.getFields()[e]);const i=o.alias?o.alias.value:e;r[i]||(r[i]=[]),r[i].push([t,o,a]);break}case Xi.FRAGMENT_SPREAD:i[o.name.value]=!0;break;case Xi.INLINE_FRAGMENT:{const a=o.typeCondition,n=a?Qs(e.getSchema(),a):t;fd(e,n,o.selectionSet,r,i);break}}}class vd{constructor(){this._data=new Map}has(e,t,a){var r;const[i,o]=e<t?[e,t]:[t,e],n=null===(r=this._data.get(i))||void 0===r?void 0:r.get(o);return void 0!==n&&(!!a||a===n)}add(e,t,a){const[r,i]=e<t?[e,t]:[t,e],o=this._data.get(r);void 0===o?this._data.set(r,new Map([[i,a]])):o.set(i,a)}}const gd={[Xi.SCALAR_TYPE_DEFINITION]:Xi.SCALAR_TYPE_EXTENSION,[Xi.OBJECT_TYPE_DEFINITION]:Xi.OBJECT_TYPE_EXTENSION,[Xi.INTERFACE_TYPE_DEFINITION]:Xi.INTERFACE_TYPE_EXTENSION,[Xi.UNION_TYPE_DEFINITION]:Xi.UNION_TYPE_EXTENSION,[Xi.ENUM_TYPE_DEFINITION]:Xi.ENUM_TYPE_EXTENSION,[Xi.INPUT_OBJECT_TYPE_DEFINITION]:Xi.INPUT_OBJECT_TYPE_EXTENSION};function _d(e){var t;const a=Object.create(null),r=e.getSchema(),i=null!==(t=null==r?void 0:r.getDirectives())&&void 0!==t?t:hs;for(const e of i)a[e.name]=Fo(e.args.filter(jn),(e=>e.name));const o=e.getDocument().definitions;for(const e of o)if(e.kind===Xi.DIRECTIVE_DEFINITION){var n;const t=null!==(n=e.arguments)&&void 0!==n?n:[];a[e.name.value]=Fo(t.filter(yd),(e=>e.name.value))}return{Directive:{leave(t){const r=t.name.value,i=a[r];if(i){var o;const a=null!==(o=t.arguments)&&void 0!==o?o:[],n=new Set(a.map((e=>e.name.value)));for(const[a,o]of Object.entries(i))if(!n.has(a)){const i=ln(o.type)?No(o.type):Zo(o.type);e.reportError(new Mi(`Directive "@${r}" argument "${a}" of type "${i}" is required, but it was not provided.`,{nodes:t}))}}}}}}function yd(e){return e.type.kind===Xi.NON_NULL_TYPE&&null==e.defaultValue}function bd(e,t,a){if(e){if(e.kind===Xi.VARIABLE){const r=e.name.value;if(null==a||void 0===a[r])return;const i=a[r];if(null===i&&_n(t))return;return i}if(_n(t)){if(e.kind===Xi.NULL)return;return bd(e,t.ofType,a)}if(e.kind===Xi.NULL)return null;if(gn(t)){const r=t.ofType;if(e.kind===Xi.LIST){const t=[];for(const i of e.values)if(wd(i,a)){if(_n(r))return;t.push(null)}else{const e=bd(i,r,a);if(void 0===e)return;t.push(e)}return t}const i=bd(e,r,a);if(void 0===i)return;return[i]}if(vn(t)){if(e.kind!==Xi.OBJECT)return;const r=Object.create(null),i=Fo(e.fields,(e=>e.name.value));for(const e of Object.values(t.getFields())){const t=i[e.name];if(!t||wd(t.value,a)){if(void 0!==e.defaultValue)r[e.name]=e.defaultValue;else if(_n(e.type))return;continue}const o=bd(t.value,e.type,a);if(void 0===o)return;r[e.name]=o}return r}if(wn(t)){let r;try{r=t.parseLiteral(e,a)}catch(e){return}if(void 0===r)return;return r}zi(!1,"Unexpected input type: "+No(t))}}function wd(e,t){return e.kind===Xi.VARIABLE&&(null==t||void 0===t[e.name.value])}function Id(e,t,a){var r;const i=null===(r=t.directives)||void 0===r?void 0:r.find((t=>t.name.value===e.name));if(i)return function(e,t,a){var r;const i={},o=Fo(null!==(r=t.arguments)&&void 0!==r?r:[],(e=>e.name.value));for(const r of e.args){const e=r.name,d=r.type,p=o[e];if(!p){if(void 0!==r.defaultValue)i[e]=r.defaultValue;else if(_n(d))throw new Mi(`Argument "${e}" of required type "${No(d)}" was not provided.`,{nodes:t});continue}const l=p.value;let m=l.kind===Xi.NULL;if(l.kind===Xi.VARIABLE){const t=l.name.value;if(null==a||(n=a,s=t,!Object.prototype.hasOwnProperty.call(n,s))){if(void 0!==r.defaultValue)i[e]=r.defaultValue;else if(_n(d))throw new Mi(`Argument "${e}" of required type "${No(d)}" was provided the variable "$${t}" which was not provided a runtime value.`,{nodes:l});continue}m=null==a[t]}if(m&&_n(d))throw new Mi(`Argument "${e}" of non-null type "${No(d)}" must not be null.`,{nodes:l});const c=bd(l,d,a);if(void 0===c)throw new Mi(`Argument "${e}" has invalid value ${Zo(l)}.`,{nodes:l});i[e]=c}var n,s;return i}(e,i,a)}function Td(e,t,a,r,i){const o=new Map;return Ed(e,t,a,r,i,o,new Set),o}function Ed(e,t,a,r,i,o,n){for(const d of i.selections)switch(d.kind){case Xi.FIELD:{if(!Sd(a,d))continue;const e=(s=d).alias?s.alias.value:s.name.value,t=o.get(e);void 0!==t?t.push(d):o.set(e,[d]);break}case Xi.INLINE_FRAGMENT:if(!Sd(a,d)||!Dd(e,d,r))continue;Ed(e,t,a,r,d.selectionSet,o,n);break;case Xi.FRAGMENT_SPREAD:{const i=d.name.value;if(n.has(i)||!Sd(a,d))continue;n.add(i);const s=t[i];if(!s||!Dd(e,s,r))continue;Ed(e,t,a,r,s.selectionSet,o,n);break}}var s}function Sd(e,t){const a=Id(ms,t,e);if(!0===(null==a?void 0:a.if))return!1;const r=Id(ls,t,e);return!1!==(null==r?void 0:r.if)}function Dd(e,t,a){const r=t.typeCondition;if(!r)return!0;const i=Qs(e,r);return i===a||!!Tn(i)&&e.isSubType(i,a)}function Nd(e,t){const a=new Map;for(const r of e){const e=t(r),i=a.get(e);void 0===i?a.set(e,[r]):i.push(r)}return a}function Ad(e){return{Field:t,Directive:t};function t(t){var a;const r=Nd(null!==(a=t.arguments)&&void 0!==a?a:[],(e=>e.name.value));for(const[t,a]of r)a.length>1&&e.reportError(new Mi(`There can be only one argument named "${t}".`,{nodes:a.map((e=>e.name))}))}}function kd(e){const t=Object.create(null),a=e.getSchema(),r=a?a.getDirectives():hs;for(const e of r)t[e.name]=!e.isRepeatable;const i=e.getDocument().definitions;for(const e of i)e.kind===Xi.DIRECTIVE_DEFINITION&&(t[e.name.value]=!e.repeatable);const o=Object.create(null),n=Object.create(null);return{enter(a){if(!("directives"in a)||!a.directives)return;let r;if(a.kind===Xi.SCHEMA_DEFINITION||a.kind===Xi.SCHEMA_EXTENSION)r=o;else if(Zs(a)||ed(a)){const e=a.name.value;r=n[e],void 0===r&&(n[e]=r=Object.create(null))}else r=Object.create(null);for(const i of a.directives){const a=i.name.value;t[a]&&(r[a]?e.reportError(new Mi(`The directive "@${a}" can only be used once at this location.`,{nodes:[r[a],i]})):r[a]=i)}}}}function Od(e,t){return!!(cn(e)||un(e)||vn(e))&&null!=e.getFields()[t]}function $d(e){const t=[];let a=Object.create(null);return{ObjectValue:{enter(){t.push(a),a=Object.create(null)},leave(){const e=t.pop();e||zi(!1),a=e}},ObjectField(t){const r=t.name.value;a[r]?e.reportError(new Mi(`There can be only one input field named "${r}".`,{nodes:[a[r],t.name]})):a[r]=t.name}}}function Rd(e,t){const a=e.getInputType();if(!a)return;const r=On(a);if(wn(r))try{if(void 0===r.parseLiteral(t,void 0)){const r=No(a);e.reportError(new Mi(`Expected value of type "${r}", found ${Zo(t)}.`,{nodes:t}))}}catch(r){const i=No(a);r instanceof Mi?e.reportError(r):e.reportError(new Mi(`Expected value of type "${i}", found ${Zo(t)}; `+r.message,{nodes:t,originalError:r}))}else{const r=No(a);e.reportError(new Mi(`Expected value of type "${r}", found ${Zo(t)}.`,{nodes:t}))}}function Pd(e,t,a,r,i){if(_n(r)&&!_n(t)){if(!(null!=a&&a.kind!==Xi.NULL)&&!(void 0!==i))return!1;return Jn(e,t,r.ofType)}return Jn(e,t,r)}const Cd=Object.freeze([function(e){return{Document(t){for(const a of t.definitions)if(!Xs(a)){const t=a.kind===Xi.SCHEMA_DEFINITION||a.kind===Xi.SCHEMA_EXTENSION?"schema":'"'+a.name.value+'"';e.reportError(new Mi(`The ${t} definition is not executable.`,{nodes:a}))}return!1}}},function(e){const t=Object.create(null);return{OperationDefinition(a){const r=a.name;return r&&(t[r.value]?e.reportError(new Mi(`There can be only one operation named "${r.value}".`,{nodes:[t[r.value],r]})):t[r.value]=r),!1},FragmentDefinition:()=>!1}},function(e){let t=0;return{Document(e){t=e.definitions.filter((e=>e.kind===Xi.OPERATION_DEFINITION)).length},OperationDefinition(a){!a.name&&t>1&&e.reportError(new Mi("This anonymous operation must be the only defined operation.",{nodes:a}))}}},function(e){return{OperationDefinition(t){if("subscription"===t.operation){const a=e.getSchema(),r=a.getSubscriptionType();if(r){const i=t.name?t.name.value:null,o=Object.create(null),n=e.getDocument(),s=Object.create(null);for(const e of n.definitions)e.kind===Xi.FRAGMENT_DEFINITION&&(s[e.name.value]=e);const d=Td(a,s,o,r,t.selectionSet);if(d.size>1){const t=[...d.values()].slice(1).flat();e.reportError(new Mi(null!=i?`Subscription "${i}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:t}))}for(const t of d.values()){t[0].name.value.startsWith("__")&&e.reportError(new Mi(null!=i?`Subscription "${i}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:t}))}}}}}},rd,function(e){return{InlineFragment(t){const a=t.typeCondition;if(a){const t=Qs(e.getSchema(),a);if(t&&!In(t)){const t=Zo(a);e.reportError(new Mi(`Fragment cannot condition on non composite type "${t}".`,{nodes:a}))}}},FragmentDefinition(t){const a=Qs(e.getSchema(),t.typeCondition);if(a&&!In(a)){const a=Zo(t.typeCondition);e.reportError(new Mi(`Fragment "${t.name.value}" cannot condition on non composite type "${a}".`,{nodes:t.typeCondition}))}}}},function(e){return{VariableDefinition(t){const a=Qs(e.getSchema(),t.type);if(void 0!==a&&!yn(a)){const a=t.variable.name.value,r=Zo(t.type);e.reportError(new Mi(`Variable "$${a}" cannot be non-input type "${r}".`,{nodes:t.type}))}}}},function(e){return{Field(t){const a=e.getType(),r=t.selectionSet;if(a)if(wn(On(a))){if(r){const i=t.name.value,o=No(a);e.reportError(new Mi(`Field "${i}" must not have a selection since type "${o}" has no subfields.`,{nodes:r}))}}else if(!r){const r=t.name.value,i=No(a);e.reportError(new Mi(`Field "${r}" of type "${i}" must have a selection of subfields. Did you mean "${r} { ... }"?`,{nodes:t}))}}}},function(e){return{Field(t){const a=e.getParentType();if(a){if(!e.getFieldDef()){const r=e.getSchema(),i=t.name.value;let o=Co("to use an inline fragment on",function(e,t,a){if(!Tn(t))return[];const r=new Set,i=Object.create(null);for(const n of e.getPossibleTypes(t))if(n.getFields()[a]){r.add(n),i[n.name]=1;for(const e of n.getInterfaces()){var o;e.getFields()[a]&&(r.add(e),i[e.name]=(null!==(o=i[e.name])&&void 0!==o?o:0)+1)}}return[...r].sort(((t,a)=>{const r=i[a.name]-i[t.name];return 0!==r?r:un(t)&&e.isSubType(t,a)?-1:un(a)&&e.isSubType(a,t)?1:Vo(t.name,a.name)})).map((e=>e.name))}(r,a,i));""===o&&(o=Co(function(e,t){if(cn(e)||un(e)){return qo(t,Object.keys(e.getFields()))}return[]}(a,i))),e.reportError(new Mi(`Cannot query field "${i}" on type "${a.name}".`+o,{nodes:t}))}}}}},function(e){const t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(a){const r=a.name.value;return t[r]?e.reportError(new Mi(`There can be only one fragment named "${r}".`,{nodes:[t[r],a.name]})):t[r]=a.name,!1}}},function(e){return{FragmentSpread(t){const a=t.name.value;e.getFragment(a)||e.reportError(new Mi(`Unknown fragment "${a}".`,{nodes:t.name}))}}},function(e){const t=[],a=[];return{OperationDefinition:e=>(t.push(e),!1),FragmentDefinition:e=>(a.push(e),!1),Document:{leave(){const r=Object.create(null);for(const a of t)for(const t of e.getRecursivelyReferencedFragments(a))r[t.name.value]=!0;for(const t of a){const a=t.name.value;!0!==r[a]&&e.reportError(new Mi(`Fragment "${a}" is never used.`,{nodes:t}))}}}}},function(e){return{InlineFragment(t){const a=e.getType(),r=e.getParentType();if(In(a)&&In(r)&&!Xn(e.getSchema(),a,r)){const i=No(r),o=No(a);e.reportError(new Mi(`Fragment cannot be spread here as objects of type "${i}" can never be of type "${o}".`,{nodes:t}))}},FragmentSpread(t){const a=t.name.value,r=function(e,t){const a=e.getFragment(t);if(a){const t=Qs(e.getSchema(),a.typeCondition);if(In(t))return t}}(e,a),i=e.getParentType();if(r&&i&&!Xn(e.getSchema(),r,i)){const o=No(i),n=No(r);e.reportError(new Mi(`Fragment "${a}" cannot be spread here as objects of type "${o}" can never be of type "${n}".`,{nodes:t}))}}}},function(e){const t=Object.create(null),a=[],r=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition:e=>(i(e),!1)};function i(o){if(t[o.name.value])return;const n=o.name.value;t[n]=!0;const s=e.getFragmentSpreads(o.selectionSet);if(0!==s.length){r[n]=a.length;for(const t of s){const o=t.name.value,n=r[o];if(a.push(t),void 0===n){const t=e.getFragment(o);t&&i(t)}else{const t=a.slice(n),r=t.slice(0,-1).map((e=>'"'+e.name.value+'"')).join(", ");e.reportError(new Mi(`Cannot spread fragment "${o}" within itself`+(""!==r?` via ${r}.`:"."),{nodes:t}))}a.pop()}r[n]=void 0}}},function(e){return{OperationDefinition(t){var a;const r=Nd(null!==(a=t.variableDefinitions)&&void 0!==a?a:[],(e=>e.variable.name.value));for(const[t,a]of r)a.length>1&&e.reportError(new Mi(`There can be only one variable named "$${t}".`,{nodes:a.map((e=>e.variable.name))}))}}},function(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(a){const r=e.getRecursiveVariableUsages(a);for(const{node:i}of r){const r=i.name.value;!0!==t[r]&&e.reportError(new Mi(a.name?`Variable "$${r}" is not defined by operation "${a.name.value}".`:`Variable "$${r}" is not defined.`,{nodes:[i,a]}))}}},VariableDefinition(e){t[e.variable.name.value]=!0}}},function(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(a){const r=Object.create(null),i=e.getRecursiveVariableUsages(a);for(const{node:e}of i)r[e.name.value]=!0;for(const i of t){const t=i.variable.name.value;!0!==r[t]&&e.reportError(new Mi(a.name?`Variable "$${t}" is never used in operation "${a.name.value}".`:`Variable "$${t}" is never used.`,{nodes:i}))}}},VariableDefinition(e){t.push(e)}}},ad,kd,function(e){return{...td(e),Argument(t){const a=e.getArgument(),r=e.getFieldDef(),i=e.getParentType();if(!a&&r&&i){const a=t.name.value,o=qo(a,r.args.map((e=>e.name)));e.reportError(new Mi(`Unknown argument "${a}" on field "${i.name}.${r.name}".`+Co(o),{nodes:t}))}}}},Ad,function(e){return{ListValue(t){if(!gn(An(e.getParentInputType())))return Rd(e,t),!1},ObjectValue(t){const a=On(e.getInputType());if(!vn(a))return Rd(e,t),!1;const r=Fo(t.fields,(e=>e.name.value));for(const i of Object.values(a.getFields())){if(!r[i.name]&&Yn(i)){const r=No(i.type);e.reportError(new Mi(`Field "${a.name}.${i.name}" of required type "${r}" was not provided.`,{nodes:t}))}}},ObjectField(t){const a=On(e.getParentInputType());if(!e.getInputType()&&vn(a)){const r=qo(t.name.value,Object.keys(a.getFields()));e.reportError(new Mi(`Field "${t.name.value}" is not defined by type "${a.name}".`+Co(r),{nodes:t}))}},NullValue(t){const a=e.getInputType();_n(a)&&e.reportError(new Mi(`Expected value of type "${No(a)}", found ${Zo(t)}.`,{nodes:t}))},EnumValue:t=>Rd(e,t),IntValue:t=>Rd(e,t),FloatValue:t=>Rd(e,t),StringValue:t=>Rd(e,t),BooleanValue:t=>Rd(e,t)}},function(e){return{..._d(e),Field:{leave(t){var a;const r=e.getFieldDef();if(!r)return!1;const i=new Set(null===(a=t.arguments)||void 0===a?void 0:a.map((e=>e.name.value)));for(const a of r.args)if(!i.has(a.name)&&jn(a)){const i=No(a.type);e.reportError(new Mi(`Field "${r.name}" argument "${a.name}" of type "${i}" is required, but it was not provided.`,{nodes:t}))}}}}},function(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(a){const r=e.getRecursiveVariableUsages(a);for(const{node:a,type:i,defaultValue:o}of r){const r=a.name.value,n=t[r];if(n&&i){const t=e.getSchema(),s=Qs(t,n.type);if(s&&!Pd(t,s,n.defaultValue,i,o)){const t=No(s),o=No(i);e.reportError(new Mi(`Variable "$${r}" of type "${t}" used in position expecting type "${o}".`,{nodes:[n,a]}))}}}}},VariableDefinition(e){t[e.variable.name.value]=e}}},function(e){const t=new vd,a=new Map;return{SelectionSet(r){const i=function(e,t,a,r,i){const o=[],[n,s]=ud(e,t,r,i);if(function(e,t,a,r,i){for(const[o,n]of Object.entries(i))if(n.length>1)for(let i=0;i<n.length;i++)for(let s=i+1;s<n.length;s++){const d=ld(e,a,r,!1,o,n[i],n[s]);d&&t.push(d)}}(e,o,t,a,n),0!==s.length)for(let r=0;r<s.length;r++){sd(e,o,t,a,!1,n,s[r]);for(let i=r+1;i<s.length;i++)dd(e,o,t,a,!1,s[r],s[i])}return o}(e,a,t,e.getParentType(),r);for(const[[t,a],r,o]of i){const i=nd(a);e.reportError(new Mi(`Fields "${t}" conflict because ${i}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:r.concat(o)}))}}}},$d]);Object.freeze([function(e){var t,a,r;const i=e.getSchema(),o=null!==(t=null!==(a=null!==(r=null==i?void 0:i.astNode)&&void 0!==r?r:null==i?void 0:i.getQueryType())&&void 0!==a?a:null==i?void 0:i.getMutationType())&&void 0!==t?t:null==i?void 0:i.getSubscriptionType();let n=0;return{SchemaDefinition(t){o?e.reportError(new Mi("Cannot define a new schema within a schema extension.",{nodes:t})):(n>0&&e.reportError(new Mi("Must provide only one schema definition.",{nodes:t})),++n)}}},function(e){const t=e.getSchema(),a=Object.create(null),r=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:i,SchemaExtension:i};function i(t){var i;const o=null!==(i=t.operationTypes)&&void 0!==i?i:[];for(const t of o){const i=t.operation,o=a[i];r[i]?e.reportError(new Mi(`Type for ${i} already defined in the schema. It cannot be redefined.`,{nodes:t})):o?e.reportError(new Mi(`There can be only one ${i} type in schema.`,{nodes:[o,t]})):a[i]=t}return!1}},function(e){const t=Object.create(null),a=e.getSchema();return{ScalarTypeDefinition:r,ObjectTypeDefinition:r,InterfaceTypeDefinition:r,UnionTypeDefinition:r,EnumTypeDefinition:r,InputObjectTypeDefinition:r};function r(r){const i=r.name.value;if(null==a||!a.getType(i))return t[i]?e.reportError(new Mi(`There can be only one type named "${i}".`,{nodes:[t[i],r.name]})):t[i]=r.name,!1;e.reportError(new Mi(`Type "${i}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:r.name}))}},function(e){const t=e.getSchema(),a=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{EnumTypeDefinition:i,EnumTypeExtension:i};function i(t){var i;const o=t.name.value;r[o]||(r[o]=Object.create(null));const n=null!==(i=t.values)&&void 0!==i?i:[],s=r[o];for(const t of n){const r=t.name.value,i=a[o];fn(i)&&i.getValue(r)?e.reportError(new Mi(`Enum value "${o}.${r}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:t.name})):s[r]?e.reportError(new Mi(`Enum value "${o}.${r}" can only be defined once.`,{nodes:[s[r],t.name]})):s[r]=t.name}return!1}},function(e){const t=e.getSchema(),a=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{InputObjectTypeDefinition:i,InputObjectTypeExtension:i,InterfaceTypeDefinition:i,InterfaceTypeExtension:i,ObjectTypeDefinition:i,ObjectTypeExtension:i};function i(t){var i;const o=t.name.value;r[o]||(r[o]=Object.create(null));const n=null!==(i=t.fields)&&void 0!==i?i:[],s=r[o];for(const t of n){const r=t.name.value;Od(a[o],r)?e.reportError(new Mi(`Field "${o}.${r}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:t.name})):s[r]?e.reportError(new Mi(`Field "${o}.${r}" can only be defined once.`,{nodes:[s[r],t.name]})):s[r]=t.name}return!1}},function(e){return{DirectiveDefinition(e){var t;const r=null!==(t=e.arguments)&&void 0!==t?t:[];return a(`@${e.name.value}`,r)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(e){var t;const r=e.name.value,i=null!==(t=e.fields)&&void 0!==t?t:[];for(const e of i){var o;a(`${r}.${e.name.value}`,null!==(o=e.arguments)&&void 0!==o?o:[])}return!1}function a(t,a){const r=Nd(a,(e=>e.name.value));for(const[a,i]of r)i.length>1&&e.reportError(new Mi(`Argument "${t}(${a}:)" can only be defined once.`,{nodes:i.map((e=>e.name))}));return!1}},function(e){const t=Object.create(null),a=e.getSchema();return{DirectiveDefinition(r){const i=r.name.value;if(null==a||!a.getDirective(i))return t[i]?e.reportError(new Mi(`There can be only one directive named "@${i}".`,{nodes:[t[i],r.name]})):t[i]=r.name,!1;e.reportError(new Mi(`Directive "@${i}" already exists in the schema. It cannot be redefined.`,{nodes:r.name}))}}},rd,ad,kd,function(e){const t=e.getSchema(),a=Object.create(null);for(const t of e.getDocument().definitions)Zs(t)&&(a[t.name.value]=t);return{ScalarTypeExtension:r,ObjectTypeExtension:r,InterfaceTypeExtension:r,UnionTypeExtension:r,EnumTypeExtension:r,InputObjectTypeExtension:r};function r(r){const i=r.name.value,o=a[i],n=null==t?void 0:t.getType(i);let s;if(o?s=gd[o.kind]:n&&(s=function(e){if(mn(e))return Xi.SCALAR_TYPE_EXTENSION;if(cn(e))return Xi.OBJECT_TYPE_EXTENSION;if(un(e))return Xi.INTERFACE_TYPE_EXTENSION;if(hn(e))return Xi.UNION_TYPE_EXTENSION;if(fn(e))return Xi.ENUM_TYPE_EXTENSION;if(vn(e))return Xi.INPUT_OBJECT_TYPE_EXTENSION;zi(!1,"Unexpected type: "+No(e))}(n)),s){if(s!==r.kind){const t=function(e){switch(e){case Xi.SCALAR_TYPE_EXTENSION:return"scalar";case Xi.OBJECT_TYPE_EXTENSION:return"object";case Xi.INTERFACE_TYPE_EXTENSION:return"interface";case Xi.UNION_TYPE_EXTENSION:return"union";case Xi.ENUM_TYPE_EXTENSION:return"enum";case Xi.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:zi(!1,"Unexpected kind: "+No(e))}}(r.kind);e.reportError(new Mi(`Cannot extend non-${t} type "${i}".`,{nodes:o?[o,r]:r}))}}else{const o=qo(i,Object.keys({...a,...null==t?void 0:t.getTypeMap()}));e.reportError(new Mi(`Cannot extend type "${i}" because it is not defined.`+Co(o),{nodes:r.name}))}}},td,Ad,$d,_d]);class xd{constructor(e,t){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=t}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let t;if(this._fragments)t=this._fragments;else{t=Object.create(null);for(const e of this.getDocument().definitions)e.kind===Xi.FRAGMENT_DEFINITION&&(t[e.name.value]=e);this._fragments=t}return t[e]}getFragmentSpreads(e){let t=this._fragmentSpreads.get(e);if(!t){t=[];const a=[e];let r;for(;r=a.pop();)for(const e of r.selections)e.kind===Xi.FRAGMENT_SPREAD?t.push(e):e.selectionSet&&a.push(e.selectionSet);this._fragmentSpreads.set(e,t)}return t}getRecursivelyReferencedFragments(e){let t=this._recursivelyReferencedFragments.get(e);if(!t){t=[];const a=Object.create(null),r=[e.selectionSet];let i;for(;i=r.pop();)for(const e of this.getFragmentSpreads(i)){const i=e.name.value;if(!0!==a[i]){a[i]=!0;const e=this.getFragment(i);e&&(t.push(e),r.push(e.selectionSet))}}this._recursivelyReferencedFragments.set(e,t)}return t}}class Fd extends xd{constructor(e,t,a,r){super(t,r),this._schema=e,this._typeInfo=a,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(e){let t=this._variableUsages.get(e);if(!t){const a=[],r=new Ys(this._schema);Jo(e,Js(r,{VariableDefinition:()=>!1,Variable(e){a.push({node:e,type:r.getInputType(),defaultValue:r.getDefaultValue()})}})),t=a,this._variableUsages.set(e,t)}return t}getRecursiveVariableUsages(e){let t=this._recursiveVariableUsages.get(e);if(!t){t=this.getVariableUsages(e);for(const a of this.getRecursivelyReferencedFragments(e))t=t.concat(this.getVariableUsages(a));this._recursiveVariableUsages.set(e,t)}return t}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}function zd(e,t,a=Cd,r,i=new Ys(e)){var o;const n=null!==(o=null==r?void 0:r.maxErrors)&&void 0!==o?o:100;t||xi(!1,"Must provide document."),function(e){const t=Cs(e);if(0!==t.length)throw new Error(t.map((e=>e.message)).join("\n\n"))}(e);const s=Object.freeze({}),d=[],p=new Fd(e,t,i,(e=>{if(d.length>=n)throw d.push(new Mi("Too many validation errors, error limit reached. Validation aborted.")),s;d.push(e)})),l=function(e){const t=new Array(e.length).fill(null),a=Object.create(null);for(const r of Object.values(Xi)){let i=!1;const o=new Array(e.length).fill(void 0),n=new Array(e.length).fill(void 0);for(let t=0;t<e.length;++t){const{enter:a,leave:s}=Xo(e[t],r);i||(i=null!=a||null!=s),o[t]=a,n[t]=s}if(!i)continue;const s={enter(...a){const r=a[0];for(let n=0;n<e.length;n++)if(null===t[n]){var i;const s=null===(i=o[n])||void 0===i?void 0:i.apply(e[n],a);if(!1===s)t[n]=r;else if(s===Ko)t[n]=Ko;else if(void 0!==s)return s}},leave(...a){const r=a[0];for(let o=0;o<e.length;o++)if(null===t[o]){var i;const r=null===(i=n[o])||void 0===i?void 0:i.apply(e[o],a);if(r===Ko)t[o]=Ko;else if(void 0!==r&&!1!==r)return r}else t[o]===r&&(t[o]=null)}};a[r]=s}return a}(a.map((e=>e(p))));try{Jo(t,Js(i,l))}catch(e){if(e!==s)throw e}return d}function Ld(e,t){Fi(e)&&Fi(e.__schema)||xi(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${No(e)}.`);const a=e.__schema,r=zo(a.types,(e=>e.name),(e=>function(e){if(null!=e&&null!=e.name&&null!=e.kind)switch(e.kind){case Es.SCALAR:return new Pn({name:(r=e).name,description:r.description,specifiedByURL:r.specifiedByURL});case Es.OBJECT:return new Cn({name:(a=e).name,description:a.description,interfaces:()=>c(a),fields:()=>u(a)});case Es.INTERFACE:return new Mn({name:(t=e).name,description:t.description,interfaces:()=>c(t),fields:()=>u(t)});case Es.UNION:return function(e){if(!e.possibleTypes){const t=No(e);throw new Error(`Introspection result missing possibleTypes: ${t}.`)}return new qn({name:e.name,description:e.description,types:()=>e.possibleTypes.map(l)})}(e);case Es.ENUM:return function(e){if(!e.enumValues){const t=No(e);throw new Error(`Introspection result missing enumValues: ${t}.`)}return new Hn({name:e.name,description:e.description,values:zo(e.enumValues,(e=>e.name),(e=>({description:e.description,deprecationReason:e.deprecationReason})))})}(e);case Es.INPUT_OBJECT:return function(e){if(!e.inputFields){const t=No(e);throw new Error(`Introspection result missing inputFields: ${t}.`)}return new Wn({name:e.name,description:e.description,fields:()=>f(e.inputFields)})}(e)}var t;var a;var r;const i=No(e);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${i}.`)}(e)));for(const e of[...ns,...ks])r[e.name]&&(r[e.name]=e);const i=a.queryType?l(a.queryType):null,o=a.mutationType?l(a.mutationType):null,n=a.subscriptionType?l(a.subscriptionType):null,s=a.directives?a.directives.map((function(e){if(!e.args){const t=No(e);throw new Error(`Introspection result missing directive args: ${t}.`)}if(!e.locations){const t=No(e);throw new Error(`Introspection result missing directive locations: ${t}.`)}return new ps({name:e.name,description:e.description,isRepeatable:e.isRepeatable,locations:e.locations.slice(),args:f(e.args)})})):[];return new Rs({description:a.description,query:i,mutation:o,subscription:n,types:Object.values(r),directives:s,assumeValid:null==t?void 0:t.assumeValid});function d(e){if(e.kind===Es.LIST){const t=e.ofType;if(!t)throw new Error("Decorated type deeper than introspection query.");return new En(d(t))}if(e.kind===Es.NON_NULL){const t=e.ofType;if(!t)throw new Error("Decorated type deeper than introspection query.");const a=d(t);return new Sn(function(e){if(!Nn(e))throw new Error(`Expected ${No(e)} to be a GraphQL nullable type.`);return e}(a))}return p(e)}function p(e){const t=e.name;if(!t)throw new Error(`Unknown type reference: ${No(e)}.`);const a=r[t];if(!a)throw new Error(`Invalid or incomplete schema, unknown type: ${t}. Ensure that a full introspection query is used in order to build a client schema.`);return a}function l(e){return function(e){if(!cn(e))throw new Error(`Expected ${No(e)} to be a GraphQL Object type.`);return e}(p(e))}function m(e){return function(e){if(!un(e))throw new Error(`Expected ${No(e)} to be a GraphQL Interface type.`);return e}(p(e))}function c(e){if(null===e.interfaces&&e.kind===Es.INTERFACE)return[];if(!e.interfaces){const t=No(e);throw new Error(`Introspection result missing interfaces: ${t}.`)}return e.interfaces.map(m)}function u(e){if(!e.fields)throw new Error(`Introspection result missing fields: ${No(e)}.`);return zo(e.fields,(e=>e.name),h)}function h(e){const t=d(e.type);if(!bn(t)){const e=No(t);throw new Error(`Introspection must provide output type for fields, but received: ${e}.`)}if(!e.args){const t=No(e);throw new Error(`Introspection result missing field args: ${t}.`)}return{description:e.description,deprecationReason:e.deprecationReason,type:t,args:f(e.args)}}function f(e){return zo(e,(e=>e.name),v)}function v(e){const t=d(e.type);if(!yn(t)){const e=No(t);throw new Error(`Introspection must provide input type for arguments, but received: ${e}.`)}const a=null!=e.defaultValue?bd(function(e,t){const a=new $o(e,t);a.expectToken(Zi.SOF);const r=a.parseValueLiteral(!1);return a.expectToken(Zi.EOF),r}(e.defaultValue),t):void 0;return{description:e.description,type:t,defaultValue:a,deprecationReason:e.deprecationReason}}}var Vd,Ud,jd,Md,qd,Bd,Hd,Gd,Wd,Qd,Yd,Kd,Jd,Xd,Zd,ep,tp,ap,rp,ip,op,np,sp,dp,pp,lp,mp,cp,up,hp,fp,vp,gp,_p,yp,bp,wp,Ip,Tp,Ep,Sp,Dp,Np,Ap,kp,Op,$p,Rp,Pp,Cp,xp,Fp,zp,Lp,Vp,Up,jp,Mp,qp,Bp,Hp,Gp,Wp,Qp,Yp,Kp,Jp,Xp,Zp,el,tl,al,rl,il,ol,nl,sl,dl,pl,ll,ml,cl,ul,hl,fl,vl,gl,_l,yl,bl,wl,Il,Tl,El,Sl,Dl,Nl,Al,kl,Ol,$l,Rl,Pl,Cl,xl,Fl,zl,Ll,Vl,Ul,jl,Ml,ql,Bl,Hl,Gl,Wl,Ql,Yl,Kl,Jl,Xl,Zl,em,tm,am,rm,im,om,nm,sm,dm,pm,lm,mm,cm,um,hm;!function(e){e.CannotUpdateSelf="CANNOT_UPDATE_SELF",e.ExceedsBatchLimit="EXCEEDS_BATCH_LIMIT",e.Failed="FAILED",e.InvalidInput="INVALID_INPUT",e.UserNotFound="USER_NOT_FOUND"}(Vd||(Vd={})),function(e){e.Table="TABLE"}(Ud||(Ud={})),function(e){e.Column="COLUMN",e.Function="FUNCTION"}(jd||(jd={})),function(e){e.Average="AVERAGE",e.Between="BETWEEN",e.Case="CASE",e.Color="COLOR",e.Count="COUNT",e.CountDistinct="COUNT_DISTINCT",e.CountItems="COUNT_ITEMS",e.CountKeys="COUNT_KEYS",e.CountSubitems="COUNT_SUBITEMS",e.Date="DATE",e.DateTruncDay="DATE_TRUNC_DAY",e.DateTruncMonth="DATE_TRUNC_MONTH",e.DateTruncQuarter="DATE_TRUNC_QUARTER",e.DateTruncWeek="DATE_TRUNC_WEEK",e.DateTruncYear="DATE_TRUNC_YEAR",e.DurationRunning="DURATION_RUNNING",e.EndDate="END_DATE",e.Equals="EQUALS",e.First="FIRST",e.Flatten="FLATTEN",e.Hour="HOUR",e.Id="ID",e.IsDone="IS_DONE",e.Label="LABEL",e.Left="LEFT",e.Length="LENGTH",e.Lower="LOWER",e.Max="MAX",e.Median="MEDIAN",e.Min="MIN",e.MinMax="MIN_MAX",e.None="NONE",e.Order="ORDER",e.Person="PERSON",e.PhoneCountryShortName="PHONE_COUNTRY_SHORT_NAME",e.Raw="RAW",e.StartDate="START_DATE",e.Sum="SUM",e.Trim="TRIM",e.Upper="UPPER"}(Md||(Md={})),function(e){e.ClientSideCode="CLIENT_SIDE_CODE",e.ExternalHosting="EXTERNAL_HOSTING",e.ServerSideCode="SERVER_SIDE_CODE"}(qd||(qd={})),function(e){e.AccountSettingsView="ACCOUNT_SETTINGS_VIEW",e.AdminView="ADMIN_VIEW",e.Ai="AI",e.AiAgent="AI_AGENT",e.AiAgentSkill="AI_AGENT_SKILL",e.AiBoardMainMenuHeader="AI_BOARD_MAIN_MENU_HEADER",e.AiDocContextualMenu="AI_DOC_CONTEXTUAL_MENU",e.AiDocQuickStart="AI_DOC_QUICK_START",e.AiDocSlashCommand="AI_DOC_SLASH_COMMAND",e.AiDocTopBar="AI_DOC_TOP_BAR",e.AiEmailsAndActivitiesHeaderActions="AI_EMAILS_AND_ACTIVITIES_HEADER_ACTIONS",e.AiFormula="AI_FORMULA",e.AiIcAssistantHelpCenter="AI_IC_ASSISTANT_HELP_CENTER",e.AiItemEmailsAndActivitiesActions="AI_ITEM_EMAILS_AND_ACTIVITIES_ACTIONS",e.AiItemUpdateActions="AI_ITEM_UPDATE_ACTIONS",e.AiPlatformAgent="AI_PLATFORM_AGENT",e.AppWizard="APP_WIZARD",e.Block="BLOCK",e.BoardColumnAction="BOARD_COLUMN_ACTION",e.BoardColumnExtension="BOARD_COLUMN_EXTENSION",e.BoardHeaderAction="BOARD_HEADER_ACTION",e.BoardView="BOARD_VIEW",e.Column="COLUMN",e.ColumnTemplate="COLUMN_TEMPLATE",e.Credentials="CREDENTIALS",e.DashboardWidget="DASHBOARD_WIDGET",e.DataEntity="DATA_ENTITY",e.Dialog="DIALOG",e.DigitalWorker="DIGITAL_WORKER",e.DocActions="DOC_ACTIONS",e.FieldType="FIELD_TYPE",e.GroupMenuAction="GROUP_MENU_ACTION",e.GrowthConfig="GROWTH_CONFIG",e.Integration="INTEGRATION",e.ItemBatchAction="ITEM_BATCH_ACTION",e.ItemMenuAction="ITEM_MENU_ACTION",e.ItemView="ITEM_VIEW",e.Modal="MODAL",e.NotificationKind="NOTIFICATION_KIND",e.NotificationSettingKind="NOTIFICATION_SETTING_KIND",e.Oauth="OAUTH",e.Object="OBJECT",e.PackagedBlock="PACKAGED_BLOCK",e.Product="PRODUCT",e.ProductView="PRODUCT_VIEW",e.Skill="SKILL",e.Solution="SOLUTION",e.SubWorkflow="SUB_WORKFLOW",e.SurfaceView="SURFACE_VIEW",e.SyncableResource="SYNCABLE_RESOURCE",e.Topbar="TOPBAR",e.VibeItemView="VIBE_ITEM_VIEW",e.VibeObject="VIBE_OBJECT",e.WorkflowTemplate="WORKFLOW_TEMPLATE",e.WorkspaceView="WORKSPACE_VIEW"}(Bd||(Bd={})),function(e){e.Private="PRIVATE",e.Public="PUBLIC"}(Hd||(Hd={})),function(e){e.AccountRead="ACCOUNT_READ",e.AssetsRead="ASSETS_READ",e.BoardsRead="BOARDS_READ",e.BoardsWrite="BOARDS_WRITE",e.DepartmentsRead="DEPARTMENTS_READ",e.DepartmentsWrite="DEPARTMENTS_WRITE",e.DocsRead="DOCS_READ",e.DocsWrite="DOCS_WRITE",e.MeRead="ME_READ",e.NotificationsWrite="NOTIFICATIONS_WRITE",e.TagsRead="TAGS_READ",e.TeamsRead="TEAMS_READ",e.TeamsWrite="TEAMS_WRITE",e.UpdatesRead="UPDATES_READ",e.UpdatesWrite="UPDATES_WRITE",e.UsersRead="USERS_READ",e.UsersWrite="USERS_WRITE",e.WebhooksRead="WEBHOOKS_READ",e.WebhooksWrite="WEBHOOKS_WRITE",e.WorkspacesRead="WORKSPACES_READ",e.WorkspacesWrite="WORKSPACES_WRITE"}(Gd||(Gd={})),function(e){e.Draft="DRAFT",e.Live="LIVE"}(Wd||(Wd={})),function(e){e.All="all",e.Columns="columns",e.Gallery="gallery"}(Qd||(Qd={})),function(e){e.CannotUpdateSelf="CANNOT_UPDATE_SELF",e.ExceedsBatchLimit="EXCEEDS_BATCH_LIMIT",e.Failed="FAILED",e.InvalidInput="INVALID_INPUT",e.UserNotFound="USER_NOT_FOUND",e.UserNotMemberOfTeam="USER_NOT_MEMBER_OF_TEAM",e.ViewersOrGuests="VIEWERS_OR_GUESTS"}(Yd||(Yd={})),function(e){e.Agent="AGENT"}(Kd||(Kd={})),function(e){e.Admin="ADMIN",e.Guest="GUEST",e.Member="MEMBER",e.ViewOnly="VIEW_ONLY"}(Jd||(Jd={})),function(e){e.Center="CENTER",e.Left="LEFT",e.Right="RIGHT"}(Xd||(Xd={})),function(e){e.Ltr="LTR",e.Rtl="RTL"}(Zd||(Zd={})),function(e){e.Edit="edit",e.View="view"}(ep||(ep={})),function(e){e.Communication="communication",e.Description="description",e.ItemNickname="item_nickname",e.Name="name"}(tp||(tp={})),function(e){e.AssignedContributor="assigned_contributor",e.Contributor="contributor",e.Editor="editor",e.Viewer="viewer"}(ap||(ap={})),function(e){e.Assignee="assignee",e.Collaborators="collaborators",e.Everyone="everyone",e.Owners="owners"}(rp||(rp={})),function(e){e.Classic="classic",e.MultiLevel="multi_level"}(ip||(ip={})),function(e){e.Private="private",e.Public="public",e.Share="share"}(op||(op={})),function(e){e.CurrentUserMuteAll="CURRENT_USER_MUTE_ALL",e.CustomSettings="CUSTOM_SETTINGS",e.MentionsAndAssignsOnly="MENTIONS_AND_ASSIGNS_ONLY",e.MuteAll="MUTE_ALL",e.NotMuted="NOT_MUTED"}(np||(np={})),function(e){e.Board="board",e.CustomObject="custom_object",e.Document="document",e.SubItemsBoard="sub_items_board"}(sp||(sp={})),function(e){e.Owner="owner",e.Subscriber="subscriber"}(dp||(dp={})),function(e){e.ConnectToPortfolio="CONNECT_TO_PORTFOLIO",e.ConvertToProject="CONVERT_TO_PROJECT"}(pp||(pp={})),function(e){e.Edit="edit",e.View="view"}(lp||(lp={})),function(e){e.CreatedAt="created_at",e.UsedAt="used_at"}(mp||(mp={})),function(e){e.AccountCapacityExceeded="ACCOUNT_CAPACITY_EXCEEDED",e.AuthorizationFailed="AUTHORIZATION_FAILED",e.BoardCapacityExceeded="BOARD_CAPACITY_EXCEEDED",e.InternalError="INTERNAL_ERROR",e.InvalidUpload="INVALID_UPLOAD",e.PermissionDenied="PERMISSION_DENIED"}(cp||(cp={})),function(e){e.Completed="COMPLETED",e.Failed="FAILED",e.Processing="PROCESSING",e.Rejected="REJECTED",e.UploadPending="UPLOAD_PENDING"}(up||(up={})),function(e){e.CountKeys="COUNT_KEYS",e.Max="MAX",e.Min="MIN",e.MinMax="MIN_MAX",e.None="NONE",e.Sum="SUM"}(hp||(hp={})),function(e){e.Description="description",e.Settings="settings",e.Title="title"}(fp||(fp={})),function(e){e.AllRelatedNotificationsDontHaveChannel="AllRelatedNotificationsDontHaveChannel",e.AlwaysEnabled="AlwaysEnabled",e.Editable="Editable"}(vp||(vp={})),function(e){e.Email="Email",e.Monday="Monday",e.Slack="Slack"}(gp||(gp={})),function(e){e.Calculated="CALCULATED",e.Visibility="VISIBILITY"}(_p||(_p={})),function(e){e.Description="description",e.Title="title"}(yp||(yp={})),function(e){e.AutoNumber="auto_number",e.BoardRelation="board_relation",e.Button="button",e.Checkbox="checkbox",e.ColorPicker="color_picker",e.Country="country",e.CreationLog="creation_log",e.Date="date",e.Dependency="dependency",e.DirectDoc="direct_doc",e.Doc="doc",e.Dropdown="dropdown",e.Email="email",e.File="file",e.Formula="formula",e.Group="group",e.Hour="hour",e.Integration="integration",e.ItemAssignees="item_assignees",e.ItemId="item_id",e.LastUpdated="last_updated",e.Link="link",e.Location="location",e.LongText="long_text",e.Mirror="mirror",e.Name="name",e.Numbers="numbers",e.People="people",e.Person="person",e.Phone="phone",e.Progress="progress",e.Rating="rating",e.Status="status",e.Subtasks="subtasks",e.Tags="tags",e.Team="team",e.Text="text",e.TimeTracking="time_tracking",e.Timeline="timeline",e.Unsupported="unsupported",e.Vote="vote",e.Week="week",e.WorldClock="world_clock"}(bp||(bp={})),function(e){e.And="AND",e.Or="OR"}(wp||(wp={})),function(e){e.BrinkPink="BRINK_PINK",e.CelticBlue="CELTIC_BLUE",e.CornflowerBlue="CORNFLOWER_BLUE",e.DingyDungeon="DINGY_DUNGEON",e.GoGreen="GO_GREEN",e.Gray="GRAY",e.LightDeepPink="LIGHT_DEEP_PINK",e.LightHotPink="LIGHT_HOT_PINK",e.MayaBlue="MAYA_BLUE",e.MediumTurquoise="MEDIUM_TURQUOISE",e.ParadisePink="PARADISE_PINK",e.PhilippineGreen="PHILIPPINE_GREEN",e.PhilippineYellow="PHILIPPINE_YELLOW",e.SlateBlue="SLATE_BLUE",e.VividCerulean="VIVID_CERULEAN",e.YankeesBlue="YANKEES_BLUE",e.YellowGreen="YELLOW_GREEN",e.YellowOrange="YELLOW_ORANGE"}(Ip||(Ip={})),function(e){e.Ascending="ASCENDING",e.Camera="CAMERA",e.Conference="CONFERENCE",e.Flag="FLAG",e.Gift="GIFT",e.Headphones="HEADPHONES",e.Homekeys="HOMEKEYS",e.Location="LOCATION",e.Notebook="NOTEBOOK",e.Paperplane="PAPERPLANE",e.Plane="PLANE",e.Pliers="PLIERS",e.Tripod="TRIPOD",e.Twoflags="TWOFLAGS",e.Utencils="UTENCILS"}(Tp||(Tp={})),function(e){e.AutomationNotify="AUTOMATION_NOTIFY",e.ImAssigned="IM_ASSIGNED",e.ImMentioned="IM_MENTIONED"}(Ep||(Ep={})),function(e){e.Private="PRIVATE",e.Public="PUBLIC"}(Sp||(Sp={})),function(e){e.CannotUpdateSelf="CANNOT_UPDATE_SELF",e.ExceedsBatchLimit="EXCEEDS_BATCH_LIMIT",e.Failed="FAILED",e.InvalidInput="INVALID_INPUT",e.UserNotFound="USER_NOT_FOUND"}(Dp||(Dp={})),function(e){e.Ff="FF",e.Fs="FS",e.Sf="SF",e.Ss="SS"}(Np||(Np={})),function(e){e.JobRole="JOB_ROLE",e.Location="LOCATION",e.Skills="SKILLS"}(Ap||(Ap={})),function(e){e.Monthly="MONTHLY",e.Yearly="YEARLY"}(kp||(kp={})),function(e){e.BulletedList="bulleted_list",e.CheckList="check_list",e.Code="code",e.Divider="divider",e.Image="image",e.LargeTitle="large_title",e.Layout="layout",e.MediumTitle="medium_title",e.NormalText="normal_text",e.NoticeBox="notice_box",e.NumberedList="numbered_list",e.PageBreak="page_break",e.Quote="quote",e.SmallTitle="small_title",e.Table="table",e.Video="video"}(Op||(Op={})),function(e){e.Private="private",e.Public="public",e.Share="share"}($p||($p={})),function(e){e.Board="BOARD",e.Doc="DOC",e.User="USER"}(Rp||(Rp={})),function(e){e.CreatedAt="created_at",e.UsedAt="used_at"}(Pp||(Pp={})),function(e){e.DuplicateBoardWithPulses="duplicate_board_with_pulses",e.DuplicateBoardWithPulsesAndUpdates="duplicate_board_with_pulses_and_updates",e.DuplicateBoardWithStructure="duplicate_board_with_structure"}(Cp||(Cp={})),function(e){e.DuplicateDocWithContent="duplicate_doc_with_content",e.DuplicateDocWithContentAndUpdates="duplicate_doc_with_content_and_updates"}(xp||(xp={})),function(e){e.AppFeature="APP_FEATURE",e.Battery="BATTERY",e.Calendar="CALENDAR",e.Chart="CHART",e.Gantt="GANTT",e.Listview="LISTVIEW",e.Number="NUMBER"}(Fp||(Fp={})),function(e){e.Asset="asset",e.Box="box",e.Doc="doc",e.Dropbox="dropbox",e.GoogleDrive="google_drive",e.Link="link",e.Onedrive="onedrive"}(zp||(zp={})),function(e){e.Box="box",e.Dropbox="dropbox",e.GoogleDrive="google_drive",e.Link="link",e.Onedrive="onedrive"}(Lp||(Lp={})),function(e){e.Monday="monday",e.Sunday="sunday"}(Vp||(Vp={})),function(e){e.Aquamarine="AQUAMARINE",e.BrightBlue="BRIGHT_BLUE",e.BrightGreen="BRIGHT_GREEN",e.ChiliBlue="CHILI_BLUE",e.DarkOrange="DARK_ORANGE",e.DarkPurple="DARK_PURPLE",e.DarkRed="DARK_RED",e.DoneGreen="DONE_GREEN",e.Indigo="INDIGO",e.Lipstick="LIPSTICK",e.Null="NULL",e.Purple="PURPLE",e.SofiaPink="SOFIA_PINK",e.StuckRed="STUCK_RED",e.Sunset="SUNSET",e.WorkingOrange="WORKING_ORANGE"}(Up||(Up={})),function(e){e.Folder="FOLDER",e.Morebelow="MOREBELOW",e.Morebelowfilled="MOREBELOWFILLED",e.Null="NULL",e.Work="WORK"}(jp||(jp={})),function(e){e.FontWeightBold="FONT_WEIGHT_BOLD",e.FontWeightLight="FONT_WEIGHT_LIGHT",e.FontWeightNormal="FONT_WEIGHT_NORMAL",e.FontWeightVeryLight="FONT_WEIGHT_VERY_LIGHT",e.Null="NULL"}(Mp||(Mp={})),function(e){e.Center="Center",e.FullLeft="FullLeft",e.FullRight="FullRight",e.Left="Left",e.Right="Right"}(qp||(qp={})),function(e){e.Color="Color",e.Image="Image",e.None="None"}(Bp||(Bp={})),function(e){e.LtR="LtR",e.Rtl="Rtl"}(Hp||(Hp={})),function(e){e.Large="Large",e.Medium="Medium",e.Small="Small"}(Gp||(Gp={})),function(e){e.Classic="Classic",e.OneByOne="OneByOne"}(Wp||(Wp={})),function(e){e.Card="CARD",e.Flat="FLAT"}(Qp||(Qp={})),function(e){e.Auto="Auto",e.Center="Center",e.Left="Left",e.Right="Right"}(Yp||(Yp={})),function(e){e.ExtraLarge="ExtraLarge",e.Large="Large",e.Medium="Medium",e.Small="Small"}(Kp||(Kp={})),function(e){e.Account="Account",e.QueryParam="QueryParam"}(Jp||(Jp={})),function(e){e.Dropdown="Dropdown",e.Horizontal="Horizontal",e.Vertical="Vertical"}(Xp||(Xp={})),function(e){e.Alphabetical="Alphabetical",e.Custom="Custom",e.Random="Random"}(Zp||(Zp={})),function(e){e.Boolean="Boolean",e.ConnectedBoards="ConnectedBoards",e.Country="Country",e.DisplayText="DISPLAY_TEXT",e.Date="Date",e.DateRange="DateRange",e.Email="Email",e.File="File",e.Link="Link",e.Location="Location",e.LongText="LongText",e.MultiSelect="MultiSelect",e.Name="Name",e.Number="Number",e.PageBlock="PAGE_BLOCK",e.People="People",e.Phone="Phone",e.Rating="Rating",e.ShortText="ShortText",e.Signature="Signature",e.SingleSelect="SingleSelect",e.Subitems="Subitems",e.Updates="Updates"}(el||(el={})),function(e){e.Board="Board",e.Dashboard="Dashboard",e.Folder="Folder",e.Workspace="Workspace"}(tl||(tl={})),function(e){e.Color="color",e.Position="position",e.RelativePositionAfter="relative_position_after",e.RelativePositionBefore="relative_position_before",e.Title="title"}(al||(al={})),function(e){e.And="AND",e.Or="OR"}(rl||(rl={})),function(e){e.ApiUserCreation="API_USER_CREATION",e.AuthDomain="AUTH_DOMAIN",e.Consolidation="CONSOLIDATION",e.FirstUser="FIRST_USER",e.InternalCreation="INTERNAL_CREATION",e.Scim="SCIM",e.ServicePortalAuthDomain="SERVICE_PORTAL_AUTH_DOMAIN",e.ServicePortalUserInvitation="SERVICE_PORTAL_USER_INVITATION",e.Sso="SSO",e.Unknown="UNKNOWN",e.User="USER"}(il||(il={})),function(e){e.Error="ERROR"}(ol||(ol={})),function(e){e.Asc="asc",e.Desc="desc"}(nl||(nl={})),function(e){e.And="and",e.Or="or"}(sl||(sl={})),function(e){e.AnyOf="any_of",e.Between="between",e.ContainsTerms="contains_terms",e.ContainsText="contains_text",e.EndsWith="ends_with",e.GreaterThan="greater_than",e.GreaterThanOrEquals="greater_than_or_equals",e.IsEmpty="is_empty",e.IsNotEmpty="is_not_empty",e.LowerThan="lower_than",e.LowerThanOrEqual="lower_than_or_equal",e.NotAnyOf="not_any_of",e.NotContainsText="not_contains_text",e.StartsWith="starts_with",e.WithinTheLast="within_the_last",e.WithinTheNext="within_the_next"}(dl||(dl={})),function(e){e.Agent="agent",e.Person="person",e.Team="team"}(pl||(pl={})),function(e){e.BulletedList="BULLETED_LIST",e.CheckList="CHECK_LIST",e.NumberedList="NUMBERED_LIST"}(ll||(ll={})),function(e){e.Active="active",e.Deleted="deleted",e.Inactive="inactive"}(ml||(ml={})),function(e){e.Dropdown="dropdown",e.Status="status"}(cl||(cl={})),function(e){e.Own="OWN",e.SharedWithAccount="SHARED_WITH_ACCOUNT",e.SharedWithMe="SHARED_WITH_ME"}(ul||(ul={})),function(e){e.All="ALL",e.Own="OWN",e.SharedWithAccount="SHARED_WITH_ACCOUNT",e.SharedWithMe="SHARED_WITH_ME"}(hl||(hl={})),function(e){e.Agent="Agent",e.Board="Board",e.Project="Project",e.Team="Team",e.User="User"}(fl||(fl={})),function(e){e.General="GENERAL",e.Info="INFO",e.Tips="TIPS",e.Warning="WARNING"}(vl||(vl={})),function(e){e.Post="Post",e.Project="Project"}(gl||(gl={})),function(e){e.Left="left",e.Right="right"}(_l||(_l={})),function(e){e.Active="ACTIVE",e.Archived="ARCHIVED",e.Deleted="DELETED"}(yl||(yl={})),function(e){e.Board="Board",e.Folder="Folder",e.Overview="Overview"}(bl||(bl={})),function(e){e.Skip="SKIP",e.Upsert="UPSERT"}(wl||(wl={})),function(e){e.CreatedAt="CREATED_AT",e.UsedAt="USED_AT"}(Il||(Il={})),function(e){e.AfterAt="after_at",e.BeforeAt="before_at"}(Tl||(Tl={})),function(e){e.Private="PRIVATE",e.Public="PUBLIC"}(El||(El={})),function(e){e.Crm="crm",e.Dev="dev",e.Forms="forms",e.Knowledge="knowledge",e.Service="service",e.Whiteboard="whiteboard",e.WorkManagement="work_management",e.Workflows="workflows"}(Sl||(Sl={})),function(e){e.Incoming="INCOMING",e.Outgoing="OUTGOING"}(Dl||(Dl={})),function(e){e.Alias="ALIAS",e.Dependency="DEPENDENCY"}(Nl||(Nl={})),function(e){e.CannotUpdateSelf="CANNOT_UPDATE_SELF",e.ExceedsBatchLimit="EXCEEDS_BATCH_LIMIT",e.Failed="FAILED",e.InvalidInput="INVALID_INPUT",e.UserNotFound="USER_NOT_FOUND",e.UserNotMemberOfTeam="USER_NOT_MEMBER_OF_TEAM",e.ViewersOrGuests="VIEWERS_OR_GUESTS"}(Al||(Al={})),function(e){e.AnyOf="ANY_OF",e.Between="BETWEEN",e.ContainsText="CONTAINS_TEXT",e.Equals="EQUALS",e.GreaterThan="GREATER_THAN",e.GreaterThanOrEquals="GREATER_THAN_OR_EQUALS",e.IsEmpty="IS_EMPTY",e.IsNotEmpty="IS_NOT_EMPTY",e.LowerThan="LOWER_THAN",e.LowerThanOrEqual="LOWER_THAN_OR_EQUAL",e.NotAnyOf="NOT_ANY_OF",e.NotContainsText="NOT_CONTAINS_TEXT",e.NotEquals="NOT_EQUALS",e.StartsWithText="STARTS_WITH_TEXT"}(kl||(kl={})),function(e){e.AccountNewUserDefaults="AccountNewUserDefaults",e.User="User"}(Ol||(Ol={})),function(e){e.Board="BOARD"}($l||($l={})),function(e){e.Active="ACTIVE",e.Deleted="DELETED",e.Inactive="INACTIVE",e.MissingConfig="MISSING_CONFIG"}(Rl||(Rl={})),function(e){e.Asc="ASC",e.Desc="DESC"}(Pl||(Pl={})),function(e){e.Complete="COMPLETE",e.Start="START"}(Cl||(Cl={})),function(e){e.Active="ACTIVE",e.Completed="COMPLETED",e.Planned="PLANNED"}(xl||(xl={})),function(e){e.Active="active",e.All="all",e.Archived="archived",e.Deleted="deleted"}(Fl||(Fl={})),function(e){e.CountKeys="COUNT_KEYS"}(zl||(zl={})),function(e){e.AmericanGray="american_gray",e.Aquamarine="aquamarine",e.Berry="berry",e.Blackish="blackish",e.BrightBlue="bright_blue",e.BrightGreen="bright_green",e.Brown="brown",e.Bubble="bubble",e.ChiliBlue="chili_blue",e.Coffee="coffee",e.DarkBlue="dark_blue",e.DarkIndigo="dark_indigo",e.DarkOrange="dark_orange",e.DarkPurple="dark_purple",e.DarkRed="dark_red",e.DoneGreen="done_green",e.EggYolk="egg_yolk",e.Explosive="explosive",e.GrassGreen="grass_green",e.Indigo="indigo",e.Lavender="lavender",e.Lilac="lilac",e.Lipstick="lipstick",e.Navy="navy",e.Orchid="orchid",e.Peach="peach",e.Pecan="pecan",e.Purple="purple",e.River="river",e.Royal="royal",e.Saladish="saladish",e.Sky="sky",e.SofiaPink="sofia_pink",e.Steel="steel",e.StuckRed="stuck_red",e.Sunset="sunset",e.Tan="tan",e.Teal="teal",e.Winter="winter",e.WorkingOrange="working_orange"}(Ll||(Ll={})),function(e){e.Owner="OWNER",e.Subscriber="SUBSCRIBER"}(Vl||(Vl={})),function(e){e.Nominal="nominal",e.Percent="percent"}(Ul||(Ul={})),function(e){e.OneTime="one_time",e.Recurring="recurring"}(jl||(jl={})),function(e){e.Monthly="monthly",e.Yearly="yearly"}(Ml||(Ml={})),function(e){e.Active="active",e.Inactive="inactive"}(ql||(ql={})),function(e){e.Board="BOARD",e.Dashboard="DASHBOARD"}(Bl||(Bl={})),function(e){e.Code="CODE",e.LargeTitle="LARGE_TITLE",e.MediumTitle="MEDIUM_TITLE",e.NormalText="NORMAL_TEXT",e.Quote="QUOTE",e.SmallTitle="SMALL_TITLE"}(Hl||(Hl={})),function(e){e.Exhausted="exhausted",e.Failure="failure",e.Success="success"}(Gl||(Gl={})),function(e){e.CannotUpdateSelf="CANNOT_UPDATE_SELF",e.ExceedsBatchLimit="EXCEEDS_BATCH_LIMIT",e.Failed="FAILED",e.InvalidInput="INVALID_INPUT",e.UpdateEmailDomainError="UPDATE_EMAIL_DOMAIN_ERROR",e.UserNotFound="USER_NOT_FOUND"}(Wl||(Wl={})),function(e){e.InvalidField="INVALID_FIELD"}(Ql||(Ql={})),function(e){e.CannotUpdateSelf="CANNOT_UPDATE_SELF",e.ExceedsBatchLimit="EXCEEDS_BATCH_LIMIT",e.Failed="FAILED",e.InvalidInput="INVALID_INPUT",e.UserNotFound="USER_NOT_FOUND"}(Yl||(Yl={})),function(e){e.All="all",e.Guests="guests",e.NonGuests="non_guests",e.NonPending="non_pending"}(Kl||(Kl={})),function(e){e.Admin="ADMIN",e.AiPlatformAgentApiUser="AI_PLATFORM_AGENT_API_USER",e.Basic="BASIC",e.CampaignsApiUser="CAMPAIGNS_API_USER",e.CrmCommerceApiUser="CRM_COMMERCE_API_USER",e.DataRetentionApiUser="DATA_RETENTION_API_USER",e.DependenciesApiUser="DEPENDENCIES_API_USER",e.GoalsApiUser="GOALS_API_USER",e.Guest="GUEST",e.HistoricalTrackingBackfillApiUser="HISTORICAL_TRACKING_BACKFILL_API_USER",e.Member="MEMBER",e.MondayServiceApiUser="MONDAY_SERVICE_API_USER",e.NexusApiUser="NEXUS_API_USER",e.OmnichannelApiUser="OMNICHANNEL_API_USER",e.Portal="PORTAL",e.PortfolioApiUser="PORTFOLIO_API_USER",e.ProjectsApiUser="PROJECTS_API_USER",e.ResourceDirectoryApiUser="RESOURCE_DIRECTORY_API_USER",e.SprintManagementApiUser="SPRINT_MANAGEMENT_API_USER",e.ViewOnly="VIEW_ONLY"}(Jl||(Jl={})),function(e){e.Admin="ADMIN",e.Guest="GUEST",e.Member="MEMBER",e.ViewOnly="VIEW_ONLY"}(Xl||(Xl={})),function(e){e.Active="ACTIVE",e.Inactive="INACTIVE",e.Pending="PENDING"}(Zl||(Zl={})),function(e){e.Asc="ASC",e.Desc="DESC"}(em||(em={})),function(e){e.CreatedAt="CREATED_AT"}(tm||(tm={})),function(e){e.Board="board"}(am||(am={})),function(e){e.Current="current",e.Deprecated="deprecated",e.Dev="dev",e.Maintenance="maintenance",e.OldMaintenance="old__maintenance",e.OldPreviousMaintenance="old_previous_maintenance",e.PreviousMaintenance="previous_maintenance",e.ReleaseCandidate="release_candidate"}(rm||(rm={})),function(e){e.App="APP",e.Dashboard="DASHBOARD",e.Form="FORM",e.Table="TABLE"}(im||(im={})),function(e){e.Create="CREATE",e.Update="UPDATE"}(om||(om={})),function(e){e.ChangeColumnValue="change_column_value",e.ChangeName="change_name",e.ChangeSpecificColumnValue="change_specific_column_value",e.ChangeStatusColumnValue="change_status_column_value",e.ChangeSubitemColumnValue="change_subitem_column_value",e.ChangeSubitemName="change_subitem_name",e.CreateColumn="create_column",e.CreateItem="create_item",e.CreateSubitem="create_subitem",e.CreateSubitemUpdate="create_subitem_update",e.CreateUpdate="create_update",e.DeleteUpdate="delete_update",e.EditUpdate="edit_update",e.ItemArchived="item_archived",e.ItemDeleted="item_deleted",e.ItemMovedToAnyGroup="item_moved_to_any_group",e.ItemMovedToSpecificGroup="item_moved_to_specific_group",e.ItemRestored="item_restored",e.MoveSubitem="move_subitem",e.SubitemArchived="subitem_archived",e.SubitemDeleted="subitem_deleted"}(nm||(nm={})),function(e){e.BoardView="BOARD_VIEW",e.Dashboard="DASHBOARD"}(sm||(sm={})),function(e){e.Closed="closed",e.Open="open",e.Template="template"}(dm||(dm={})),function(e){e.All="all",e.Member="member"}(pm||(pm={})),function(e){e.Owner="owner",e.Subscriber="subscriber"}(lm||(lm={})),function(e){e.CreatedAt="created_at"}(mm||(mm={})),function(e){e.Core="core",e.Crm="crm",e.Forms="forms",e.Marketing="marketing",e.ProjectManagement="project_management",e.Service="service",e.Software="software",e.Whiteboard="whiteboard"}(cm||(cm={})),function(e){e.Scalar="SCALAR",e.Object="OBJECT",e.Interface="INTERFACE",e.Union="UNION",e.Enum="ENUM",e.InputObject="INPUT_OBJECT",e.List="LIST",e.NonNull="NON_NULL"}(um||(um={})),function(e){e.Query="QUERY",e.Mutation="MUTATION",e.Subscription="SUBSCRIPTION",e.Field="FIELD",e.FragmentDefinition="FRAGMENT_DEFINITION",e.FragmentSpread="FRAGMENT_SPREAD",e.InlineFragment="INLINE_FRAGMENT",e.VariableDefinition="VARIABLE_DEFINITION",e.Schema="SCHEMA",e.Scalar="SCALAR",e.Object="OBJECT",e.FieldDefinition="FIELD_DEFINITION",e.ArgumentDefinition="ARGUMENT_DEFINITION",e.Interface="INTERFACE",e.Union="UNION",e.Enum="ENUM",e.EnumValue="ENUM_VALUE",e.InputObject="INPUT_OBJECT",e.InputFieldDefinition="INPUT_FIELD_DEFINITION"}(hm||(hm={}));var fm={exports:{}},vm={},gm={exports:{}},_m={},ym=_m;function bm(e){return e<0?-1:1}function wm(e,t){t.unsigned||--e;const a=t.unsigned?0:-Math.pow(2,e),r=Math.pow(2,e)-1,i=t.moduloBitLength?Math.pow(2,t.moduloBitLength):Math.pow(2,e),o=t.moduloBitLength?Math.pow(2,t.moduloBitLength-1):Math.pow(2,e-1);return function(e,n){n||(n={});let s=+e;if(n.enforceRange){if(!Number.isFinite(s))throw new TypeError("Argument is not a finite number");if(s=bm(s)*Math.floor(Math.abs(s)),s<a||s>r)throw new TypeError("Argument is not in byte range");return s}if(!isNaN(s)&&n.clamp)return s=function(e){return e%1!=.5||1&e?Math.round(e):Math.floor(e)}(s),s<a&&(s=a),s>r&&(s=r),s;if(!Number.isFinite(s)||0===s)return 0;if(s=bm(s)*Math.floor(Math.abs(s)),s%=i,!t.unsigned&&s>=o)return s-i;if(t.unsigned)if(s<0)s+=i;else if(-0===s)return 0;return s}}_m.void=function(){},_m.boolean=function(e){return!!e},_m.byte=wm(8,{unsigned:!1}),_m.octet=wm(8,{unsigned:!0}),_m.short=wm(16,{unsigned:!1}),_m["unsigned short"]=wm(16,{unsigned:!0}),_m.long=wm(32,{unsigned:!1}),_m["unsigned long"]=wm(32,{unsigned:!0}),_m["long long"]=wm(32,{unsigned:!1,moduloBitLength:64}),_m["unsigned long long"]=wm(32,{unsigned:!0,moduloBitLength:64}),_m.double=function(e){const t=+e;if(!Number.isFinite(t))throw new TypeError("Argument is not a finite floating-point value");return t},_m["unrestricted double"]=function(e){const t=+e;if(isNaN(t))throw new TypeError("Argument is NaN");return t},_m.float=_m.double,_m["unrestricted float"]=_m["unrestricted double"],_m.DOMString=function(e,t){return t||(t={}),t.treatNullAsEmptyString&&null===e?"":String(e)},_m.ByteString=function(e,t){const a=String(e);let r;for(let e=0;void 0!==(r=a.codePointAt(e));++e)if(r>255)throw new TypeError("Argument is not a valid bytestring");return a},_m.USVString=function(e){const t=String(e),a=t.length,r=[];for(let e=0;e<a;++e){const i=t.charCodeAt(e);if(i<55296||i>57343)r.push(String.fromCodePoint(i));else if(56320<=i&&i<=57343)r.push(String.fromCodePoint(65533));else if(e===a-1)r.push(String.fromCodePoint(65533));else{const a=t.charCodeAt(e+1);if(56320<=a&&a<=57343){const t=1023&i,o=1023&a;r.push(String.fromCodePoint(65536+1024*t+o)),++e}else r.push(String.fromCodePoint(65533))}}return r.join("")},_m.Date=function(e,t){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e},_m.RegExp=function(e,t){return e instanceof RegExp||(e=new RegExp(e)),e};var Im,Tm={exports:{}};(Im=Tm).exports.mixin=function(e,t){const a=Object.getOwnPropertyNames(t);for(let r=0;r<a.length;++r)Object.defineProperty(e,a[r],Object.getOwnPropertyDescriptor(t,a[r]))},Im.exports.wrapperSymbol=Symbol("wrapper"),Im.exports.implSymbol=Symbol("impl"),Im.exports.wrapperForImpl=function(e){return e[Im.exports.wrapperSymbol]},Im.exports.implForWrapper=function(e){return e[Im.exports.implSymbol]};var Em=Tm.exports,Sm={},Dm={exports:{}},Nm={},Am=S.default,km=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]],Om={TRANSITIONAL:0,NONTRANSITIONAL:1};function $m(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function Rm(e){for(var t=0,a=km.length-1;t<=a;){var r=Math.floor((t+a)/2),i=km[r];if(i[0][0]<=e&&i[0][1]>=e)return i;i[0][0]>e?a=r-1:t=r+1}return null}var Pm=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function Cm(e){return e.replace(Pm,"_").length}var xm=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function Fm(e,t){"xn--"===e.substr(0,4)&&(e=Am.toUnicode(e));var a=!1;($m(e)!==e||"-"===e[3]&&"-"===e[4]||"-"===e[0]||"-"===e[e.length-1]||-1!==e.indexOf(".")||0===e.search(xm))&&(a=!0);for(var r=Cm(e),i=0;i<r;++i){var o=Rm(e.codePointAt(i));if(zm===Om.TRANSITIONAL&&"valid"!==o[1]||zm===Om.NONTRANSITIONAL&&"valid"!==o[1]&&"deviation"!==o[1]){a=!0;break}}return{label:e,error:a}}function zm(e,t,a){var r=function(e,t,a){for(var r=!1,i="",o=Cm(e),n=0;n<o;++n){var s=e.codePointAt(n),d=Rm(s);switch(d[1]){case"disallowed":r=!0,i+=String.fromCodePoint(s);break;case"ignored":break;case"mapped":i+=String.fromCodePoint.apply(String,d[2]);break;case"deviation":i+=a===Om.TRANSITIONAL?String.fromCodePoint.apply(String,d[2]):String.fromCodePoint(s);break;case"valid":i+=String.fromCodePoint(s);break;case"disallowed_STD3_mapped":t?(r=!0,i+=String.fromCodePoint(s)):i+=String.fromCodePoint.apply(String,d[2]);break;case"disallowed_STD3_valid":t&&(r=!0),i+=String.fromCodePoint(s)}}return{string:i,error:r}}(e,t,a);r.string=$m(r.string);for(var i=r.string.split("."),o=0;o<i.length;++o)try{var n=Fm(i[o]);i[o]=n.label,r.error=r.error||n.error}catch(e){r.error=!0}return{string:i.join("."),error:r.error}}Nm.toASCII=function(e,t,a,r){var i=zm(e,t,a),o=i.string.split(".");if(o=o.map((function(e){try{return Am.toASCII(e)}catch(t){return i.error=!0,e}})),r){var n=o.slice(0,o.length-1).join(".").length;(n.length>253||0===n.length)&&(i.error=!0);for(var s=0;s<o.length;++s)if(o.length>63||0===o.length){i.error=!0;break}}return i.error?null:o.join(".")},Nm.toUnicode=function(e,t){var a=zm(e,t,Om.NONTRANSITIONAL);return{domain:a.string,error:a.error}},Nm.PROCESSING_OPTIONS=Om,function(e){const t=S.default,a=Nm,r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},i=Symbol("failure");function o(e){return t.ucs2.decode(e).length}function n(e,t){const a=e[t];return isNaN(a)?void 0:String.fromCodePoint(a)}function s(e){return e>=48&&e<=57}function d(e){return e>=65&&e<=90||e>=97&&e<=122}function p(e){return s(e)||e>=65&&e<=70||e>=97&&e<=102}function l(e){return"."===e||"%2e"===e.toLowerCase()}function m(e){return 2===e.length&&d(e.codePointAt(0))&&(":"===e[1]||"|"===e[1])}function c(e){return void 0!==r[e]}function u(e){return c(e.scheme)}function h(e){let t=e.toString(16).toUpperCase();return 1===t.length&&(t="0"+t),"%"+t}function f(e){return e<=31||e>126}const v=new Set([32,34,35,60,62,63,96,123,125]);function g(e){return f(e)||v.has(e)}const _=new Set([47,58,59,61,64,91,92,93,94,124]);function y(e){return g(e)||_.has(e)}function b(e,t){const a=String.fromCodePoint(e);return t(e)?function(e){const t=new Buffer(e);let a="";for(let e=0;e<t.length;++e)a+=h(t[e]);return a}(a):a}function w(e){let t=10;if(e.length>=2&&"0"===e.charAt(0)&&"x"===e.charAt(1).toLowerCase()?(e=e.substring(2),t=16):e.length>=2&&"0"===e.charAt(0)&&(e=e.substring(1),t=8),""===e)return 0;return(10===t?/[^0-9]/:16===t?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?i:parseInt(e,t)}function I(e,r){if("["===e[0])return"]"!==e[e.length-1]?i:function(e){const a=[0,0,0,0,0,0,0,0];let r=0,o=null,d=0;if(58===(e=t.ucs2.decode(e))[d]){if(58!==e[d+1])return i;d+=2,++r,o=r}for(;d<e.length;){if(8===r)return i;if(58===e[d]){if(null!==o)return i;++d,++r,o=r;continue}let t=0,l=0;for(;l<4&&p(e[d]);)t=16*t+parseInt(n(e,d),16),++d,++l;if(46===e[d]){if(0===l)return i;if(d-=l,r>6)return i;let t=0;for(;void 0!==e[d];){let o=null;if(t>0){if(!(46===e[d]&&t<4))return i;++d}if(!s(e[d]))return i;for(;s(e[d]);){const t=parseInt(n(e,d));if(null===o)o=t;else{if(0===o)return i;o=10*o+t}if(o>255)return i;++d}a[r]=256*a[r]+o,++t,2!==t&&4!==t||++r}if(4!==t)return i;break}if(58===e[d]){if(++d,void 0===e[d])return i}else if(void 0!==e[d])return i;a[r]=t,++r}if(null!==o){let e=r-o;for(r=7;0!==r&&e>0;){const t=a[o+e-1];a[o+e-1]=a[r],a[r]=t,--r,--e}}else if(null===o&&8!==r)return i;return a}(e.substring(1,e.length-1));if(!r)return function(e){if(a=e,-1!==a.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/))return i;var a;let r="";const o=t.ucs2.decode(e);for(let e=0;e<o.length;++e)r+=b(o[e],f);return r}(e);const o=function(e){const t=new Buffer(e),a=[];for(let e=0;e<t.length;++e)37!==t[e]?a.push(t[e]):37===t[e]&&p(t[e+1])&&p(t[e+2])?(a.push(parseInt(t.slice(e+1,e+3).toString(),16)),e+=2):a.push(t[e]);return new Buffer(a).toString()}(e),d=a.toASCII(o,!1,a.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(null===d)return i;if(-1!==d.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/))return i;const l=function(e){const t=e.split(".");if(""===t[t.length-1]&&t.length>1&&t.pop(),t.length>4)return e;const a=[];for(const r of t){if(""===r)return e;const t=w(r);if(t===i)return e;a.push(t)}for(let e=0;e<a.length-1;++e)if(a[e]>255)return i;if(a[a.length-1]>=Math.pow(256,5-a.length))return i;let r=a.pop(),o=0;for(const e of a)r+=e*Math.pow(256,3-o),++o;return r}(d);return"number"==typeof l||l===i?l:d}function T(e){return"number"==typeof e?function(e){let t="",a=e;for(let e=1;e<=4;++e)t=String(a%256)+t,4!==e&&(t="."+t),a=Math.floor(a/256);return t}(e):e instanceof Array?"["+function(e){let t="";const a=function(e){let t=null,a=1,r=null,i=0;for(let o=0;o<e.length;++o)0!==e[o]?(i>a&&(t=r,a=i),r=null,i=0):(null===r&&(r=o),++i);return i>a&&(t=r,a=i),{idx:t,len:a}}(e).idx;let r=!1;for(let i=0;i<=7;++i)r&&0===e[i]||(r&&(r=!1),a!==i?(t+=e[i].toString(16),7!==i&&(t+=":")):(t+=0===i?"::":":",r=!0));return t}(e)+"]":e}function E(e){const t=e.path;var a;0!==t.length&&("file"===e.scheme&&1===t.length&&(a=t[0],/^[A-Za-z]:$/.test(a))||t.pop())}function D(e){return""!==e.username||""!==e.password}function N(e,a,r,o,n){if(this.pointer=0,this.input=e,this.base=a||null,this.encodingOverride=r||"utf-8",this.stateOverride=n,this.url=o,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};const e=function(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}(this.input);e!==this.input&&(this.parseError=!0),this.input=e}const s=function(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}(this.input);for(s!==this.input&&(this.parseError=!0),this.input=s,this.state=n||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=t.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer],t=isNaN(e)?void 0:String.fromCodePoint(e),a=this["parse "+this.state](e,t);if(!a)break;if(a===i){this.failure=!0;break}}}N.prototype["parse scheme start"]=function(e,t){if(d(e))this.buffer+=t.toLowerCase(),this.state="scheme";else{if(this.stateOverride)return this.parseError=!0,i;this.state="no scheme",--this.pointer}return!0},N.prototype["parse scheme"]=function(e,t){if(function(e){return d(e)||s(e)}(e)||43===e||45===e||46===e)this.buffer+=t.toLowerCase();else if(58===e){if(this.stateOverride){if(u(this.url)&&!c(this.buffer))return!1;if(!u(this.url)&&c(this.buffer))return!1;if((D(this.url)||null!==this.url.port)&&"file"===this.buffer)return!1;if("file"===this.url.scheme&&(""===this.url.host||null===this.url.host))return!1}if(this.url.scheme=this.buffer,this.buffer="",this.stateOverride)return!1;"file"===this.url.scheme?(47===this.input[this.pointer+1]&&47===this.input[this.pointer+2]||(this.parseError=!0),this.state="file"):u(this.url)&&null!==this.base&&this.base.scheme===this.url.scheme?this.state="special relative or authority":u(this.url)?this.state="special authority slashes":47===this.input[this.pointer+1]?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else{if(this.stateOverride)return this.parseError=!0,i;this.buffer="",this.state="no scheme",this.pointer=-1}return!0},N.prototype["parse no scheme"]=function(e){return null===this.base||this.base.cannotBeABaseURL&&35!==e?i:(this.base.cannotBeABaseURL&&35===e?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):"file"===this.base.scheme?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)},N.prototype["parse special relative or authority"]=function(e){return 47===e&&47===this.input[this.pointer+1]?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0},N.prototype["parse path or authority"]=function(e){return 47===e?this.state="authority":(this.state="path",--this.pointer),!0},N.prototype["parse relative"]=function(e){return this.url.scheme=this.base.scheme,isNaN(e)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):47===e?this.state="relative slash":63===e?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):35===e?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):u(this.url)&&92===e?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0},N.prototype["parse relative slash"]=function(e){return!u(this.url)||47!==e&&92!==e?47===e?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer):(92===e&&(this.parseError=!0),this.state="special authority ignore slashes"),!0},N.prototype["parse special authority slashes"]=function(e){return 47===e&&47===this.input[this.pointer+1]?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0},N.prototype["parse special authority ignore slashes"]=function(e){return 47!==e&&92!==e?(this.state="authority",--this.pointer):this.parseError=!0,!0},N.prototype["parse authority"]=function(e,t){if(64===e){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;const e=o(this.buffer);for(let t=0;t<e;++t){const e=this.buffer.codePointAt(t);if(58===e&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}const a=b(e,y);this.passwordTokenSeenFlag?this.url.password+=a:this.url.username+=a}this.buffer=""}else if(isNaN(e)||47===e||63===e||35===e||u(this.url)&&92===e){if(this.atFlag&&""===this.buffer)return this.parseError=!0,i;this.pointer-=o(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=t;return!0},N.prototype["parse hostname"]=N.prototype["parse host"]=function(e,t){if(this.stateOverride&&"file"===this.url.scheme)--this.pointer,this.state="file host";else if(58!==e||this.arrFlag)if(isNaN(e)||47===e||63===e||35===e||u(this.url)&&92===e){if(--this.pointer,u(this.url)&&""===this.buffer)return this.parseError=!0,i;if(this.stateOverride&&""===this.buffer&&(D(this.url)||null!==this.url.port))return this.parseError=!0,!1;const e=I(this.buffer,u(this.url));if(e===i)return i;if(this.url.host=e,this.buffer="",this.state="path start",this.stateOverride)return!1}else 91===e?this.arrFlag=!0:93===e&&(this.arrFlag=!1),this.buffer+=t;else{if(""===this.buffer)return this.parseError=!0,i;const e=I(this.buffer,u(this.url));if(e===i)return i;if(this.url.host=e,this.buffer="",this.state="port","hostname"===this.stateOverride)return!1}return!0},N.prototype["parse port"]=function(e,t){if(s(e))this.buffer+=t;else{if(!(isNaN(e)||47===e||63===e||35===e||u(this.url)&&92===e||this.stateOverride))return this.parseError=!0,i;if(""!==this.buffer){const e=parseInt(this.buffer);if(e>Math.pow(2,16)-1)return this.parseError=!0,i;this.url.port=e===(a=this.url.scheme,r[a])?null:e,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}var a;return!0};const A=new Set([47,92,63,35]);N.prototype["parse file"]=function(e){var t,a;return this.url.scheme="file",47===e||92===e?(92===e&&(this.parseError=!0),this.state="file slash"):null!==this.base&&"file"===this.base.scheme?isNaN(e)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):63===e?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):35===e?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1==0||(t=e,a=this.input[this.pointer+1],!d(t)||58!==a&&124!==a)||this.input.length-this.pointer-1>=2&&!A.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),E(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0},N.prototype["parse file slash"]=function(e){var t;return 47===e||92===e?(92===e&&(this.parseError=!0),this.state="file host"):(null!==this.base&&"file"===this.base.scheme&&(2===(t=this.base.path[0]).length&&d(t.codePointAt(0))&&":"===t[1]?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0},N.prototype["parse file host"]=function(e,t){if(isNaN(e)||47===e||92===e||63===e||35===e)if(--this.pointer,!this.stateOverride&&m(this.buffer))this.parseError=!0,this.state="path";else if(""===this.buffer){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let e=I(this.buffer,u(this.url));if(e===i)return i;if("localhost"===e&&(e=""),this.url.host=e,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=t;return!0},N.prototype["parse path start"]=function(e){return u(this.url)?(92===e&&(this.parseError=!0),this.state="path",47!==e&&92!==e&&--this.pointer):this.stateOverride||63!==e?this.stateOverride||35!==e?void 0!==e&&(this.state="path",47!==e&&--this.pointer):(this.url.fragment="",this.state="fragment"):(this.url.query="",this.state="query"),!0},N.prototype["parse path"]=function(e){if(isNaN(e)||47===e||u(this.url)&&92===e||!this.stateOverride&&(63===e||35===e)){if(u(this.url)&&92===e&&(this.parseError=!0),".."===(t=(t=this.buffer).toLowerCase())||"%2e."===t||".%2e"===t||"%2e%2e"===t?(E(this.url),47===e||u(this.url)&&92===e||this.url.path.push("")):!l(this.buffer)||47===e||u(this.url)&&92===e?l(this.buffer)||("file"===this.url.scheme&&0===this.url.path.length&&m(this.buffer)&&(""!==this.url.host&&null!==this.url.host&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)):this.url.path.push(""),this.buffer="","file"===this.url.scheme&&(void 0===e||63===e||35===e))for(;this.url.path.length>1&&""===this.url.path[0];)this.parseError=!0,this.url.path.shift();63===e&&(this.url.query="",this.state="query"),35===e&&(this.url.fragment="",this.state="fragment")}else 37!==e||p(this.input[this.pointer+1])&&p(this.input[this.pointer+2])||(this.parseError=!0),this.buffer+=b(e,g);var t;return!0},N.prototype["parse cannot-be-a-base-URL path"]=function(e){return 63===e?(this.url.query="",this.state="query"):35===e?(this.url.fragment="",this.state="fragment"):(isNaN(e)||37===e||(this.parseError=!0),37!==e||p(this.input[this.pointer+1])&&p(this.input[this.pointer+2])||(this.parseError=!0),isNaN(e)||(this.url.path[0]=this.url.path[0]+b(e,f))),!0},N.prototype["parse query"]=function(e,t){if(isNaN(e)||!this.stateOverride&&35===e){u(this.url)&&"ws"!==this.url.scheme&&"wss"!==this.url.scheme||(this.encodingOverride="utf-8");const t=new Buffer(this.buffer);for(let e=0;e<t.length;++e)t[e]<33||t[e]>126||34===t[e]||35===t[e]||60===t[e]||62===t[e]?this.url.query+=h(t[e]):this.url.query+=String.fromCodePoint(t[e]);this.buffer="",35===e&&(this.url.fragment="",this.state="fragment")}else 37!==e||p(this.input[this.pointer+1])&&p(this.input[this.pointer+2])||(this.parseError=!0),this.buffer+=t;return!0},N.prototype["parse fragment"]=function(e){return isNaN(e)||(0===e?this.parseError=!0:(37!==e||p(this.input[this.pointer+1])&&p(this.input[this.pointer+2])||(this.parseError=!0),this.url.fragment+=b(e,f))),!0},e.exports.serializeURL=function(e,t){let a=e.scheme+":";if(null!==e.host?(a+="//",""===e.username&&""===e.password||(a+=e.username,""!==e.password&&(a+=":"+e.password),a+="@"),a+=T(e.host),null!==e.port&&(a+=":"+e.port)):null===e.host&&"file"===e.scheme&&(a+="//"),e.cannotBeABaseURL)a+=e.path[0];else for(const t of e.path)a+="/"+t;return null!==e.query&&(a+="?"+e.query),t||null===e.fragment||(a+="#"+e.fragment),a},e.exports.serializeURLOrigin=function(t){switch(t.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(t.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return function(e){let t=e.scheme+"://";return t+=T(e.host),null!==e.port&&(t+=":"+e.port),t}({scheme:t.scheme,host:t.host,port:t.port});case"file":return"file://";default:return"null"}},e.exports.basicURLParse=function(e,t){void 0===t&&(t={});const a=new N(e,t.baseURL,t.encodingOverride,t.url,t.stateOverride);return a.failure?"failure":a.url},e.exports.setTheUsername=function(e,a){e.username="";const r=t.ucs2.decode(a);for(let t=0;t<r.length;++t)e.username+=b(r[t],y)},e.exports.setThePassword=function(e,a){e.password="";const r=t.ucs2.decode(a);for(let t=0;t<r.length;++t)e.password+=b(r[t],y)},e.exports.serializeHost=T,e.exports.cannotHaveAUsernamePasswordPort=function(e){return null===e.host||""===e.host||e.cannotBeABaseURL||"file"===e.scheme},e.exports.serializeInteger=function(e){return String(e)},e.exports.parseURL=function(t,a){return void 0===a&&(a={}),e.exports.basicURLParse(t,{baseURL:a.baseURL,encodingOverride:a.encodingOverride})}}(Dm);var Lm=Dm.exports;const Vm=Lm;Sm.implementation=class{constructor(e){const t=e[0],a=e[1];let r=null;if(void 0!==a&&(r=Vm.basicURLParse(a),"failure"===r))throw new TypeError("Invalid base URL");const i=Vm.basicURLParse(t,{baseURL:r});if("failure"===i)throw new TypeError("Invalid URL");this._url=i}get href(){return Vm.serializeURL(this._url)}set href(e){const t=Vm.basicURLParse(e);if("failure"===t)throw new TypeError("Invalid URL");this._url=t}get origin(){return Vm.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){Vm.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){Vm.cannotHaveAUsernamePasswordPort(this._url)||Vm.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){Vm.cannotHaveAUsernamePasswordPort(this._url)||Vm.setThePassword(this._url,e)}get host(){const e=this._url;return null===e.host?"":null===e.port?Vm.serializeHost(e.host):Vm.serializeHost(e.host)+":"+Vm.serializeInteger(e.port)}set host(e){this._url.cannotBeABaseURL||Vm.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){return null===this._url.host?"":Vm.serializeHost(this._url.host)}set hostname(e){this._url.cannotBeABaseURL||Vm.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){return null===this._url.port?"":Vm.serializeInteger(this._url.port)}set port(e){Vm.cannotHaveAUsernamePasswordPort(this._url)||(""===e?this._url.port=null:Vm.basicURLParse(e,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:0===this._url.path.length?"":"/"+this._url.path.join("/")}set pathname(e){this._url.cannotBeABaseURL||(this._url.path=[],Vm.basicURLParse(e,{url:this._url,stateOverride:"path start"}))}get search(){return null===this._url.query||""===this._url.query?"":"?"+this._url.query}set search(e){const t=this._url;if(""===e)return void(t.query=null);const a="?"===e[0]?e.substring(1):e;t.query="",Vm.basicURLParse(a,{url:t,stateOverride:"query"})}get hash(){return null===this._url.fragment||""===this._url.fragment?"":"#"+this._url.fragment}set hash(e){if(""===e)return void(this._url.fragment=null);const t="#"===e[0]?e.substring(1):e;this._url.fragment="",Vm.basicURLParse(t,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}},function(e){const t=ym,a=Em,r=Sm,i=a.implSymbol;function o(a){if(!this||this[i]||!(this instanceof o))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");const r=[];for(let e=0;e<arguments.length&&e<2;++e)r[e]=arguments[e];r[0]=t.USVString(r[0]),void 0!==r[1]&&(r[1]=t.USVString(r[1])),e.exports.setup(this,r)}o.prototype.toJSON=function(){if(!this||!e.exports.is(this))throw new TypeError("Illegal invocation");const t=[];for(let e=0;e<arguments.length&&e<0;++e)t[e]=arguments[e];return this[i].toJSON.apply(this[i],t)},Object.defineProperty(o.prototype,"href",{get(){return this[i].href},set(e){e=t.USVString(e),this[i].href=e},enumerable:!0,configurable:!0}),o.prototype.toString=function(){if(!this||!e.exports.is(this))throw new TypeError("Illegal invocation");return this.href},Object.defineProperty(o.prototype,"origin",{get(){return this[i].origin},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"protocol",{get(){return this[i].protocol},set(e){e=t.USVString(e),this[i].protocol=e},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"username",{get(){return this[i].username},set(e){e=t.USVString(e),this[i].username=e},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"password",{get(){return this[i].password},set(e){e=t.USVString(e),this[i].password=e},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"host",{get(){return this[i].host},set(e){e=t.USVString(e),this[i].host=e},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"hostname",{get(){return this[i].hostname},set(e){e=t.USVString(e),this[i].hostname=e},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"port",{get(){return this[i].port},set(e){e=t.USVString(e),this[i].port=e},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"pathname",{get(){return this[i].pathname},set(e){e=t.USVString(e),this[i].pathname=e},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"search",{get(){return this[i].search},set(e){e=t.USVString(e),this[i].search=e},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"hash",{get(){return this[i].hash},set(e){e=t.USVString(e),this[i].hash=e},enumerable:!0,configurable:!0}),e.exports={is:e=>!!e&&e[i]instanceof r.implementation,create(e,t){let a=Object.create(o.prototype);return this.setup(a,e,t),a},setup(e,t,o){o||(o={}),o.wrapper=e,e[i]=new r.implementation(t,o),e[i][a.wrapperSymbol]=e},interface:o,expose:{Window:{URL:o},Worker:{URL:o}}}}(gm);var Um=gm.exports;vm.URL=Um.interface,vm.serializeURL=Lm.serializeURL,vm.serializeURLOrigin=Lm.serializeURLOrigin,vm.basicURLParse=Lm.basicURLParse,vm.setTheUsername=Lm.setTheUsername,vm.setThePassword=Lm.setThePassword,vm.serializeHost=Lm.serializeHost,vm.serializeInteger=Lm.serializeInteger,vm.parseURL=Lm.parseURL;const jm=I.default.Readable,Mm=Symbol("buffer"),qm=Symbol("type");class Bm{constructor(){this[qm]="";const e=arguments[0],t=arguments[1],a=[];let r=0;if(e){const t=e,i=Number(t.length);for(let e=0;e<i;e++){const i=t[e];let o;o=i instanceof Buffer?i:ArrayBuffer.isView(i)?Buffer.from(i.buffer,i.byteOffset,i.byteLength):i instanceof ArrayBuffer?Buffer.from(i):i instanceof Bm?i[Mm]:Buffer.from("string"==typeof i?i:String(i)),r+=o.length,a.push(o)}}this[Mm]=Buffer.concat(a);let i=t&&void 0!==t.type&&String(t.type).toLowerCase();i&&!/[^\u0020-\u007E]/.test(i)&&(this[qm]=i)}get size(){return this[Mm].length}get type(){return this[qm]}text(){return Promise.resolve(this[Mm].toString())}arrayBuffer(){const e=this[Mm],t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return Promise.resolve(t)}stream(){const e=new jm;return e._read=function(){},e.push(this[Mm]),e.push(null),e}toString(){return"[object Blob]"}slice(){const e=this.size,t=arguments[0],a=arguments[1];let r,i;r=void 0===t?0:t<0?Math.max(e+t,0):Math.min(t,e),i=void 0===a?e:a<0?Math.max(e+a,0):Math.min(a,e);const o=Math.max(i-r,0),n=this[Mm].slice(r,r+o),s=new Bm([],{type:arguments[2]});return s[Mm]=n,s}}function Hm(e,t,a){Error.call(this,e),this.message=e,this.type=t,a&&(this.code=this.errno=a.code),Error.captureStackTrace(this,this.constructor)}let Gm;Object.defineProperties(Bm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}}),Object.defineProperty(Bm.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0}),Hm.prototype=Object.create(Error.prototype),Hm.prototype.constructor=Hm,Hm.prototype.name="FetchError";try{Gm=require("encoding").convert}catch(e){}const Wm=Symbol("Body internals"),Qm=I.default.PassThrough;function Ym(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=a.size;let i=void 0===r?0:r;var o=a.timeout;let n=void 0===o?0:o;null==e?e=null:Jm(e)?e=Buffer.from(e.toString()):Xm(e)||Buffer.isBuffer(e)||("[object ArrayBuffer]"===Object.prototype.toString.call(e)?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof I.default||(e=Buffer.from(String(e)))),this[Wm]={body:e,disturbed:!1,error:null},this.size=i,this.timeout=n,e instanceof I.default&&e.on("error",(function(e){const a="AbortError"===e.name?e:new Hm(`Invalid response body while trying to fetch ${t.url}: ${e.message}`,"system",e);t[Wm].error=a}))}function Km(){var e=this;if(this[Wm].disturbed)return Ym.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[Wm].disturbed=!0,this[Wm].error)return Ym.Promise.reject(this[Wm].error);let t=this.body;if(null===t)return Ym.Promise.resolve(Buffer.alloc(0));if(Xm(t)&&(t=t.stream()),Buffer.isBuffer(t))return Ym.Promise.resolve(t);if(!(t instanceof I.default))return Ym.Promise.resolve(Buffer.alloc(0));let a=[],r=0,i=!1;return new Ym.Promise((function(o,n){let s;e.timeout&&(s=setTimeout((function(){i=!0,n(new Hm(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)),t.on("error",(function(t){"AbortError"===t.name?(i=!0,n(t)):n(new Hm(`Invalid response body while trying to fetch ${e.url}: ${t.message}`,"system",t))})),t.on("data",(function(t){if(!i&&null!==t){if(e.size&&r+t.length>e.size)return i=!0,void n(new Hm(`content size at ${e.url} over limit: ${e.size}`,"max-size"));r+=t.length,a.push(t)}})),t.on("end",(function(){if(!i){clearTimeout(s);try{o(Buffer.concat(a,r))}catch(t){n(new Hm(`Could not create Buffer from response body for ${e.url}: ${t.message}`,"system",t))}}}))}))}function Jm(e){return"object"==typeof e&&"function"==typeof e.append&&"function"==typeof e.delete&&"function"==typeof e.get&&"function"==typeof e.getAll&&"function"==typeof e.has&&"function"==typeof e.set&&("URLSearchParams"===e.constructor.name||"[object URLSearchParams]"===Object.prototype.toString.call(e)||"function"==typeof e.sort)}function Xm(e){return"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&"function"==typeof e.constructor&&"string"==typeof e.constructor.name&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function Zm(e){let t,a,r=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return r instanceof I.default&&"function"!=typeof r.getBoundary&&(t=new Qm,a=new Qm,r.pipe(t),r.pipe(a),e[Wm].body=t,r=a),r}function ec(e){return null===e?null:"string"==typeof e?"text/plain;charset=UTF-8":Jm(e)?"application/x-www-form-urlencoded;charset=UTF-8":Xm(e)?e.type||null:Buffer.isBuffer(e)||"[object ArrayBuffer]"===Object.prototype.toString.call(e)||ArrayBuffer.isView(e)?null:"function"==typeof e.getBoundary?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof I.default?null:"text/plain;charset=UTF-8"}function tc(e){const t=e.body;return null===t?0:Xm(t)?t.size:Buffer.isBuffer(t)?t.length:t&&"function"==typeof t.getLengthSync&&(t._lengthRetrievers&&0==t._lengthRetrievers.length||t.hasKnownLength&&t.hasKnownLength())?t.getLengthSync():null}Ym.prototype={get body(){return this[Wm].body},get bodyUsed(){return this[Wm].disturbed},arrayBuffer(){return Km.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return Km.call(this).then((function(t){return Object.assign(new Bm([],{type:e.toLowerCase()}),{[Mm]:t})}))},json(){var e=this;return Km.call(this).then((function(t){try{return JSON.parse(t.toString())}catch(t){return Ym.Promise.reject(new Hm(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}}))},text(){return Km.call(this).then((function(e){return e.toString()}))},buffer(){return Km.call(this)},textConverted(){var e=this;return Km.call(this).then((function(t){return function(e,t){if("function"!=typeof Gm)throw new Error("The package `encoding` must be installed to use the textConverted() function");const a=t.get("content-type");let r,i,o="utf-8";a&&(r=/charset=([^;]*)/i.exec(a));i=e.slice(0,1024).toString(),!r&&i&&(r=/<meta.+?charset=(['"])(.+?)\1/i.exec(i));!r&&i&&(r=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(i),r||(r=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(i),r&&r.pop()),r&&(r=/charset=(.*)/i.exec(r.pop())));!r&&i&&(r=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(i));r&&(o=r.pop(),"gb2312"!==o&&"gbk"!==o||(o="gb18030"));return Gm(e,"UTF-8",o).toString()}(t,e.headers)}))}},Object.defineProperties(Ym.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}}),Ym.mixIn=function(e){for(const t of Object.getOwnPropertyNames(Ym.prototype))if(!(t in e)){const a=Object.getOwnPropertyDescriptor(Ym.prototype,t);Object.defineProperty(e,t,a)}},Ym.Promise=global.Promise;const ac=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,rc=/[^\t\x20-\x7e\x80-\xff]/;function ic(e){if(e=`${e}`,ac.test(e)||""===e)throw new TypeError(`${e} is not a legal HTTP header name`)}function oc(e){if(e=`${e}`,rc.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function nc(e,t){t=t.toLowerCase();for(const a in e)if(a.toLowerCase()===t)return a}const sc=Symbol("map");class dc{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if(this[sc]=Object.create(null),e instanceof dc){const t=e.raw(),a=Object.keys(t);for(const e of a)for(const a of t[e])this.append(e,a)}else if(null==e);else{if("object"!=typeof e)throw new TypeError("Provided initializer must be an object");{const t=e[Symbol.iterator];if(null!=t){if("function"!=typeof t)throw new TypeError("Header pairs must be iterable");const a=[];for(const t of e){if("object"!=typeof t||"function"!=typeof t[Symbol.iterator])throw new TypeError("Each header pair must be iterable");a.push(Array.from(t))}for(const e of a){if(2!==e.length)throw new TypeError("Each header pair must be a name/value tuple");this.append(e[0],e[1])}}else for(const t of Object.keys(e)){const a=e[t];this.append(t,a)}}}}get(e){ic(e=`${e}`);const t=nc(this[sc],e);return void 0===t?null:this[sc][t].join(", ")}forEach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,a=pc(this),r=0;for(;r<a.length;){var i=a[r];const o=i[0],n=i[1];e.call(t,n,o,this),a=pc(this),r++}}set(e,t){t=`${t}`,ic(e=`${e}`),oc(t);const a=nc(this[sc],e);this[sc][void 0!==a?a:e]=[t]}append(e,t){t=`${t}`,ic(e=`${e}`),oc(t);const a=nc(this[sc],e);void 0!==a?this[sc][a].push(t):this[sc][e]=[t]}has(e){return ic(e=`${e}`),void 0!==nc(this[sc],e)}delete(e){ic(e=`${e}`);const t=nc(this[sc],e);void 0!==t&&delete this[sc][t]}raw(){return this[sc]}keys(){return mc(this,"key")}values(){return mc(this,"value")}[Symbol.iterator](){return mc(this,"key+value")}}function pc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"key+value";return Object.keys(e[sc]).sort().map("key"===t?function(e){return e.toLowerCase()}:"value"===t?function(t){return e[sc][t].join(", ")}:function(t){return[t.toLowerCase(),e[sc][t].join(", ")]})}dc.prototype.entries=dc.prototype[Symbol.iterator],Object.defineProperty(dc.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(dc.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});const lc=Symbol("internal");function mc(e,t){const a=Object.create(cc);return a[lc]={target:e,kind:t,index:0},a}const cc=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==cc)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[lc];const t=e.target,a=e.kind,r=e.index,i=pc(t,a);return r>=i.length?{value:void 0,done:!0}:(this[lc].index=r+1,{value:i[r],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));function uc(e){const t=Object.assign({__proto__:null},e[sc]),a=nc(e[sc],"Host");return void 0!==a&&(t[a]=t[a][0]),t}Object.defineProperty(cc,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});const hc=Symbol("Response internals"),fc=T.default.STATUS_CODES;class vc{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ym.call(this,e,t);const a=t.status||200,r=new dc(t.headers);if(null!=e&&!r.has("Content-Type")){const t=ec(e);t&&r.append("Content-Type",t)}this[hc]={url:t.url,status:a,statusText:t.statusText||fc[a],headers:r,counter:t.counter}}get url(){return this[hc].url||""}get status(){return this[hc].status}get ok(){return this[hc].status>=200&&this[hc].status<300}get redirected(){return this[hc].counter>0}get statusText(){return this[hc].statusText}get headers(){return this[hc].headers}clone(){return new vc(Zm(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Ym.mixIn(vc.prototype),Object.defineProperties(vc.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),Object.defineProperty(vc.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});const gc=Symbol("Request internals"),_c=E.default.URL||vm.URL,yc=E.default.parse,bc=E.default.format;function wc(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new _c(e).toString()),yc(e)}const Ic="destroy"in I.default.Readable.prototype;function Tc(e){return"object"==typeof e&&"object"==typeof e[gc]}class Ec{constructor(e){let t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Tc(e)?t=wc(e.url):(t=e&&e.href?wc(e.href):wc(`${e}`),e={});let r=a.method||e.method||"GET";if(r=r.toUpperCase(),(null!=a.body||Tc(e)&&null!==e.body)&&("GET"===r||"HEAD"===r))throw new TypeError("Request with GET/HEAD method cannot have body");let i=null!=a.body?a.body:Tc(e)&&null!==e.body?Zm(e):null;Ym.call(this,i,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const o=new dc(a.headers||e.headers||{});if(null!=i&&!o.has("Content-Type")){const e=ec(i);e&&o.append("Content-Type",e)}let n=Tc(e)?e.signal:null;if("signal"in a&&(n=a.signal),null!=n&&!function(e){const t=e&&"object"==typeof e&&Object.getPrototypeOf(e);return!(!t||"AbortSignal"!==t.constructor.name)}(n))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[gc]={method:r,redirect:a.redirect||e.redirect||"follow",headers:o,parsedURL:t,signal:n},this.follow=void 0!==a.follow?a.follow:void 0!==e.follow?e.follow:20,this.compress=void 0!==a.compress?a.compress:void 0===e.compress||e.compress,this.counter=a.counter||e.counter||0,this.agent=a.agent||e.agent}get method(){return this[gc].method}get url(){return bc(this[gc].parsedURL)}get headers(){return this[gc].headers}get redirect(){return this[gc].redirect}get signal(){return this[gc].signal}clone(){return new Ec(this)}}function Sc(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}Ym.mixIn(Ec.prototype),Object.defineProperty(Ec.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(Ec.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}}),Sc.prototype=Object.create(Error.prototype),Sc.prototype.constructor=Sc,Sc.prototype.name="AbortError";const Dc=E.default.URL||vm.URL,Nc=I.default.PassThrough;function Ac(e,t){if(!Ac.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return Ym.Promise=Ac.Promise,new Ac.Promise((function(a,r){const i=new Ec(e,t),o=function(e){const t=e[gc].parsedURL,a=new dc(e[gc].headers);if(a.has("Accept")||a.set("Accept","*/*"),!t.protocol||!t.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(t.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof I.default.Readable&&!Ic)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let r=null;if(null==e.body&&/^(POST|PUT)$/i.test(e.method)&&(r="0"),null!=e.body){const t=tc(e);"number"==typeof t&&(r=String(t))}r&&a.set("Content-Length",r),a.has("User-Agent")||a.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!a.has("Accept-Encoding")&&a.set("Accept-Encoding","gzip,deflate");let i=e.agent;return"function"==typeof i&&(i=i(t)),Object.assign({},t,{method:e.method,headers:uc(a),agent:i})}(i),n=("https:"===o.protocol?b.default:T.default).request,s=i.signal;let d=null;const p=function(){let e=new Sc("The user aborted a request.");r(e),i.body&&i.body instanceof I.default.Readable&&kc(i.body,e),d&&d.body&&d.body.emit("error",e)};if(s&&s.aborted)return void p();const l=function(){p(),u()},m=n(o);let c;function u(){m.abort(),s&&s.removeEventListener("abort",l),clearTimeout(c)}s&&s.addEventListener("abort",l),i.timeout&&m.once("socket",(function(e){c=setTimeout((function(){r(new Hm(`network timeout at: ${i.url}`,"request-timeout")),u()}),i.timeout)})),m.on("error",(function(e){r(new Hm(`request to ${i.url} failed, reason: ${e.message}`,"system",e)),d&&d.body&&kc(d.body,e),u()})),function(e,t){let a;e.on("socket",(function(e){a=e})),e.on("response",(function(e){const r=e.headers;"chunked"!==r["transfer-encoding"]||r["content-length"]||e.once("close",(function(e){if(a&&a.listenerCount("data")>0&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE",t(e)}}))}))}(m,(function(e){s&&s.aborted||d&&d.body&&kc(d.body,e)})),parseInt(process.version.substring(1))<14&&m.on("socket",(function(e){e.addListener("close",(function(t){const a=e.listenerCount("data")>0;if(d&&a&&!t&&(!s||!s.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",e)}}))})),m.on("response",(function(e){clearTimeout(c);const t=function(e){const t=new dc;for(const a of Object.keys(e))if(!ac.test(a))if(Array.isArray(e[a]))for(const r of e[a])rc.test(r)||(void 0===t[sc][a]?t[sc][a]=[r]:t[sc][a].push(r));else rc.test(e[a])||(t[sc][a]=[e[a]]);return t}(e.headers);if(Ac.isRedirect(e.statusCode)){const n=t.get("Location");let s=null;try{s=null===n?null:new Dc(n,i.url).toString()}catch(e){if("manual"!==i.redirect)return r(new Hm(`uri requested responds with an invalid redirect URL: ${n}`,"invalid-redirect")),void u()}switch(i.redirect){case"error":return r(new Hm(`uri requested responds with a redirect, redirect mode is set to error: ${i.url}`,"no-redirect")),void u();case"manual":if(null!==s)try{t.set("Location",s)}catch(e){r(e)}break;case"follow":if(null===s)break;if(i.counter>=i.follow)return r(new Hm(`maximum redirect reached at: ${i.url}`,"max-redirect")),void u();const n={headers:new dc(i.headers),follow:i.follow,counter:i.counter+1,agent:i.agent,compress:i.compress,method:i.method,body:i.body,signal:i.signal,timeout:i.timeout,size:i.size};if(!function(e,t){const a=new Dc(t).hostname,r=new Dc(e).hostname;return a===r||"."===a[a.length-r.length-1]&&a.endsWith(r)}(i.url,s)||(o=i.url,new Dc(s).protocol!==new Dc(o).protocol))for(const e of["authorization","www-authenticate","cookie","cookie2"])n.headers.delete(e);return 303!==e.statusCode&&i.body&&null===tc(i)?(r(new Hm("Cannot follow redirect with body being a readable stream","unsupported-redirect")),void u()):(303!==e.statusCode&&(301!==e.statusCode&&302!==e.statusCode||"POST"!==i.method)||(n.method="GET",n.body=void 0,n.headers.delete("content-length")),a(Ac(new Ec(s,n))),void u())}}var o;e.once("end",(function(){s&&s.removeEventListener("abort",l)}));let n=e.pipe(new Nc);const p={url:i.url,status:e.statusCode,statusText:e.statusMessage,headers:t,size:i.size,timeout:i.timeout,counter:i.counter},m=t.get("Content-Encoding");if(!i.compress||"HEAD"===i.method||null===m||204===e.statusCode||304===e.statusCode)return d=new vc(n,p),void a(d);const h={flush:D.default.Z_SYNC_FLUSH,finishFlush:D.default.Z_SYNC_FLUSH};if("gzip"==m||"x-gzip"==m)return n=n.pipe(D.default.createGunzip(h)),d=new vc(n,p),void a(d);if("deflate"==m||"x-deflate"==m){const t=e.pipe(new Nc);return t.once("data",(function(e){n=8==(15&e[0])?n.pipe(D.default.createInflate()):n.pipe(D.default.createInflateRaw()),d=new vc(n,p),a(d)})),void t.on("end",(function(){d||(d=new vc(n,p),a(d))}))}if("br"==m&&"function"==typeof D.default.createBrotliDecompress)return n=n.pipe(D.default.createBrotliDecompress()),d=new vc(n,p),void a(d);d=new vc(n,p),a(d)})),function(e,t){const a=t.body;null===a?e.end():Xm(a)?a.stream().pipe(e):Buffer.isBuffer(a)?(e.write(a),e.end()):a.pipe(e)}(m,i)}))}function kc(e,t){e.destroy?e.destroy(t):(e.emit("error",t),e.end())}Ac.isRedirect=function(e){return 301===e||302===e||303===e||307===e||308===e},Ac.Promise=global.Promise;var Oc=ft(Object.freeze({__proto__:null,default:Ac,Headers:dc,Request:Ec,Response:vc,FetchError:Hm,AbortError:Sc}));!function(e,t){const a=Oc,r=a.default||a,i=function(e,t){return/^\/\//.test(e)&&(e="https:"+e),r.call(this,e,t)};i.ponyfill=!0,e.exports=t=i,t.fetch=i,t.Headers=a.Headers,t.Request=a.Request,t.Response=a.Response,t.default=i}(fm,fm.exports);const $c=(e,...t)=>e.reduce(((e,a,r)=>`${e}${a}${r in t?String(t[r]):""}`),""),Rc=$c`
|
|
3
3
|
query readDocs(
|
|
4
4
|
$ids: [ID!]
|
|
@@ -2068,7 +2068,7 @@
|
|
|
2068
2068
|
}
|
|
2069
2069
|
}
|
|
2070
2070
|
}
|
|
2071
|
-
`,Y_=10485760,K_=5e4,J_=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico"]),X_=new Set([".pdf"]),Z_=new Set([".docx"]),ey=new Set([".xlsx",".xls"]),
|
|
2071
|
+
`,Y_=10485760,K_=5e4,J_=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico"]),X_=new Set([".pdf"]),Z_=new Set([".docx"]),ey=new Set([".xlsx"]),ty=new Set([".xls"]),ay=new Set([".txt",".md",".csv",".json"]),ry={item_id:e.z.string().describe("The ID of the item that contains the file. Obtained from get_board_items_page results."),column_id:e.z.string().describe("The ID of the files column containing the file. Obtained from the board schema."),file_name:e.z.string().optional().describe('Optional file name hint used to determine the file type when the asset name is ambiguous. Include the extension (e.g. "report.pdf").'),offset:e.z.number().int().min(0).optional().describe("Character offset to start reading from. Use when a previous response indicated the content was truncated (has_more: true). Defaults to 0.")};function iy(e){const t=e.lastIndexOf(".");return-1===t?"":e.slice(t).toLowerCase()}function oy(e){if(null==e)return"";if("number"==typeof e||"boolean"==typeof e||"string"==typeof e)return String(e);if(e instanceof Date)return e.toISOString();if("object"==typeof e){if("result"in e)return oy(e.result);if("richText"in e)return e.richText.map((e=>e.text)).join("");if("hyperlink"in e)return e.text??""}return""}async function ny(e,t,a){const r=function(e,t){if(t){const e=iy(t);if(e)return e}return e.file_extension?e.file_extension.startsWith(".")?e.file_extension.toLowerCase():`.${e.file_extension.toLowerCase()}`:iy(e.name)}(e,a);try{if(J_.has(r))return{file_name:e.name,file_extension:r,content_type:"image",public_url:e.public_url,message:"Image file — use the public_url to view or analyze its content."};if(ty.has(r))return{file_name:e.name,file_extension:r,message:"Legacy .xls format is not supported. Please convert the file to .xlsx and re-upload."};const a=await async function(e){const t=await fetch(e,{signal:AbortSignal.timeout(3e4)});if(!t.ok)throw new Error(`Failed to download file: HTTP ${t.status}`);const a=t.headers.get("content-length");if(a&&parseInt(a,10)>Y_)throw new Error(`File exceeds the 10 MB size limit (Content-Length: ${a} bytes)`);if(!t.body)throw new Error("Response body is empty");const r=t.body.getReader(),i=[];let o=0;try{let e=await r.read();for(;!e.done;){const{value:t}=e;if(o+=t.byteLength,o>Y_)throw await r.cancel().catch((()=>{})),new Error("File exceeds the 10 MB size limit");i.push(t),e=await r.read()}}catch(e){throw await r.cancel().catch((()=>{})),e}return Buffer.concat(i)}(e.public_url);let i,o;X_.has(r)?(i=await async function(e){const t=await h.getDocumentProxy(new Uint8Array(e)),{text:a}=await h.extractText(t,{mergePages:!0});return a}(a),o="pdf"):Z_.has(r)?(i=await async function(e){return(await N.default.extractRawText({buffer:e})).value}(a),o="word"):ey.has(r)?(i=await async function(e){const t=new A.default.Workbook;await t.xlsx.load(e);const a=[];return t.eachSheet((e=>{const t=[];e.eachRow((e=>{const a=e.values.slice(1);t.push(a.map(oy).join(","))})),a.push(`=== Sheet: ${e.name} ===\n${t.join("\n")}`)})),a.join("\n\n")}(a),o="excel"):ay.has(r)?(i=a.toString("utf-8"),o="text"):(i=a.toString("utf-8"),o="unknown");const n=i.slice(t,t+K_),s=i.length>t+K_;return{file_name:e.name,file_extension:r,content_type:o,text:n,total_length:i.length,...X_.has(r)&&{public_url:e.public_url},...s&&{has_more:!0,next_offset:t+K_}}}catch(t){return{message:`Failed to fetch file content: ${t instanceof Error?t.message:String(t)}`,file_name:e.name,file_extension:r}}}const sy={action:e.z.enum(["enable","disable","status","list","detailed","reset"]).describe('Action to perform: "list" or "detailed" to discover available tools, "status" to check current states, "enable" to activate needed tools, "disable" to deactivate tools, "reset" to restore defaults'),toolName:e.z.string().optional().describe("Name of the tool to manage (required for enable/disable/status/reset)")};class dy{constructor(){this.name="manage_tools",this.type=Yr.READ,this.enabledByDefault=!0,this.annotations={title:"Discover & Manage monday.com Tools",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1}}setToolkitManager(e){this.toolkitManager=e}getDescription(){return"Discover and manage available monday.com tools. Use this tool first to see what tools are available, check which ones are active/inactive, and enable any tools you need for your tasks. When enabling a tool, you will be asked for confirmation first. Essential for understanding your monday.com toolkit capabilities."}getInputSchema(){return sy}async execute(e){if(!this.toolkitManager)throw new Error("Toolkit manager not initialized");if(!e)throw new Error("Input parameters are required");const{action:t,toolName:a}=e;switch(t){case"enable":{if(!a)throw new Error("Tool name is required for enable action");if(this.toolkitManager.isToolEnabled(a))return{content:{action:"enable",tool_name:a,success:!0,message:`Tool '${a}' is already enabled`,enabled:!0}};const e=this.toolkitManager.enableTool(a);return{content:{action:"enable",tool_name:a,success:e,message:e?`Tool '${a}' has been enabled and is now available for use`:`Failed to enable tool '${a}' (tool not found)`,enabled:e}}}case"disable":{if(!a)throw new Error("Tool name is required for disable action");const e=this.toolkitManager.disableTool(a);return{content:{action:"disable",tool_name:a,success:e,message:e?`Tool '${a}' has been disabled`:`Failed to disable tool '${a}' (tool not found)`,enabled:!e}}}case"status":if(a){return{content:{action:"status",tool_name:a,enabled:this.toolkitManager.isToolEnabled(a)}}}return{content:{action:"status",tools:this.toolkitManager.getToolsStatus()}};case"detailed":{const e=this.toolkitManager.getDetailedToolsStatus();return{content:{action:"detailed",active_tools:Object.entries(e).filter((([,e])=>e.enabled)).map((([e,t])=>({name:e,enabled_by_default:t.enabledByDefault}))),inactive_tools:Object.entries(e).filter((([,e])=>!e.enabled)).map((([e,t])=>({name:e,enabled_by_default:t.enabledByDefault,activate_hint:`{"action": "enable", "toolName": "${e}"}`})))}}}case"reset":{if(!a)throw new Error("Tool name is required for reset action");const e=this.toolkitManager.resetToolToDefault(a);return{content:{action:"reset",tool_name:a,success:e,message:e?`Tool '${a}' has been reset to its default state`:`Failed to reset tool '${a}' (tool not found)`,default_state:this.toolkitManager.isToolEnabledByDefault(a)}}}case"list":return{content:{action:"list",tools:this.toolkitManager.getToolsStatus()}};default:throw new Error("Invalid action. Use: enable, disable, status, list, detailed, or reset")}}}const py=$c`
|
|
2072
2072
|
query getSprintsByIds($ids: [ID!]) {
|
|
2073
2073
|
items(ids: $ids) {
|
|
2074
2074
|
id
|
|
@@ -2103,7 +2103,7 @@
|
|
|
2103
2103
|
}
|
|
2104
2104
|
}
|
|
2105
2105
|
}
|
|
2106
|
-
`,
|
|
2106
|
+
`,ly={SPRINT_TASKS:"sprint_tasks",SPRINT_TIMELINE:"sprint_timeline",SPRINT_COMPLETION:"sprint_completion",SPRINT_START_DATE:"sprint_start_date",SPRINT_END_DATE:"sprint_end_date",SPRINT_ACTIVATION:"sprint_activation"},my={...ly,SPRINT_SUMMARY:"sprint_summary",SPRINT_CAPACITY:"sprint_capacity"},cy="BOARD_NOT_FOUND:",uy="SPRINT_NOT_FOUND:",hy="DOCUMENT_NOT_FOUND:",fy="DOCUMENT_INVALID:",vy="DOCUMENT_EMPTY:",gy="EXPORT_FAILED:",_y="INTERNAL_ERROR:",yy="VALIDATION_ERROR:",by="task_sprint",wy={[my.SPRINT_TASKS]:"Sprint Tasks",[my.SPRINT_TIMELINE]:"Sprint Timeline",[my.SPRINT_COMPLETION]:"Sprint Completion",[my.SPRINT_START_DATE]:"Sprint Start Date",[my.SPRINT_END_DATE]:"Sprint End Date",[my.SPRINT_ACTIVATION]:"Sprint Activation",[my.SPRINT_SUMMARY]:"Sprint Summary",[my.SPRINT_CAPACITY]:"Sprint Capacity"},Iy=xl,Ty={TASK_SPRINT:"task_sprint",TASK_STATUS:"task_status"},Ey=(e,t)=>e.column_values?.find((e=>e.id===t)),Sy=(e,t)=>{const a=Ey(e,t);return"CheckboxValue"===a?.__typename?a.checked??!1:null},Dy=(e,t)=>{const a=Ey(e,t);return"DateValue"===a?.__typename?a.date??null:null},Ny=(e,t)=>{const a=Ey(e,t);return"DocValue"===a?.__typename&&a.file?.doc?.object_id?a.file.doc.object_id:null},Ay=(e,t)=>{const a=t.filter((t=>!e.has(t)));return{isValid:0===a.length,missingColumns:a}},ky=(e,t)=>{if(!e.columns)return!1;const a=new Set(e.columns.filter((e=>null!==e)).map((e=>e.id)));return t.every((e=>a.has(e)))},Oy=e=>ky(e,Object.values(ly)),$y=e=>ky(e,Object.values(Ty)),Ry=e=>{if(!e?.settings)return null;const t=e.settings;return t.boardIds&&Array.isArray(t.boardIds)&&t.boardIds[0]?.toString()||t.boardId?.toString()||null},Py=(e,t)=>e.columns&&e.columns.filter((e=>null!==e)).find((e=>e.id===t&&e.type===_f.BoardRelation))||null,Cy={sprintId:e.z.number().describe('The ID of the sprint to get the summary for (e.g., "9123456789")')};const xy=$c`
|
|
2107
2107
|
query GetSprintsBoardItemsWithColumns($boardId: ID!, $limit: Int) {
|
|
2108
2108
|
boards(ids: [$boardId]) {
|
|
2109
2109
|
items_page(limit: $limit) {
|
|
@@ -2139,7 +2139,7 @@
|
|
|
2139
2139
|
}
|
|
2140
2140
|
}
|
|
2141
2141
|
}
|
|
2142
|
-
`,
|
|
2142
|
+
`,Fy={sprintsBoardId:e.z.number().describe("The ID of the monday-dev board containing the sprints"),limit:e.z.number().min(1).max(100).optional().default(25).describe("The number of sprints to retrieve (default: 25, max: 100)")};const zy=$c`
|
|
2143
2143
|
query GetRecentBoards($limit: Int) {
|
|
2144
2144
|
boards(limit: $limit, order_by: used_at, state: active) {
|
|
2145
2145
|
id
|
|
@@ -2155,7 +2155,7 @@
|
|
|
2155
2155
|
}
|
|
2156
2156
|
}
|
|
2157
2157
|
}
|
|
2158
|
-
`,Fy={};const zy=[class extends Ci{constructor(){super(...arguments),this.name="get_monday_dev_sprints_boards",this.type=Yr.READ,this.annotations=Pi({title:"monday-dev: Get Sprints Boards",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Discover monday-dev sprints boards and their associated tasks boards in your account.\n\n## Purpose:\nIdentifies and returns monday-dev sprints board IDs and tasks board IDs that you need to use with other monday-dev tools. \nThis tool scans your recently used boards (up to 100) to find valid monday-dev sprint management boards.\n\n## What it Returns:\n- Pairs of sprints boards and their corresponding tasks boards\n- Board IDs, names, and workspace information for each pair\n- The bidirectional relationship between each sprints board and its tasks board\n\n## Note:\nSearches recently used boards (up to 100). If none found, ask user to provide board IDs manually."}getInputSchema(){return Fy}async executeInternal(e){try{const e={limit:100},t=((await this.mondayApi.request(xy,e)).boards||[]).filter((e=>null!==e));if(0===t.length)return{content:`${ly} No boards found in your account. Please verify you have access to monday.com boards.`};const a=this.extractBoardPairs(t);return 0===a.length?{content:{message:"No monday-dev sprints board pairs found. ### Possible Reasons:\n1. Boards exist but not accessed recently by your account\n2. Missing access permissions to sprint/task boards\n3. Monday-dev product was not set up in account\n### Next Steps:\n1. Ask user to access monday-dev boards in UI to refresh recent boards list\n2. Ask user to verify permissions to view sprint and task boards\n3. Ask user to provide board IDs manually if known`;",boards_checked:t.length,pairs:[]}}:{content:{message:`Found ${a.length} matched pair(s)`,...a.length>1?{warning:"Multiple board pairs detected. Confirm with user which pair and workspace to use before any operation."}:{},pairs:a.map((e=>({sprints_board:{id:e.sprintsBoard.id,name:e.sprintsBoard.name,workspace_id:e.sprintsBoard.workspaceId,workspace_name:e.sprintsBoard.workspaceName},tasks_board:{id:e.tasksBoard.id,name:e.tasksBoard.name,workspace_id:e.tasksBoard.workspaceId,workspace_name:e.tasksBoard.workspaceName}}))),technical_reference:"Sprint Operations (all require correct board pair): Add to Sprint: Update `task_sprint` column with sprint item ID. Remove from Sprint: Clear `task_sprint` column (set to null). Search in Sprint: Filter where `task_sprint` equals sprint item ID. Move Between Sprints: Update `task_sprint` with new sprint item ID. Backlog Tasks: `task_sprint` is empty/null. Critical: `task_sprint` column references ONLY its paired sprints board. Cross-pair operations WILL FAIL."}}}catch(e){return{content:`${vy} Error retrieving sprints boards: ${e instanceof Error?e.message:"Unknown error"}`}}}createBoardInfo(e,t,a){return{id:e,name:t?.name||a,workspaceId:t?.workspace?.id||"unknown",workspaceName:t?.workspace?.name||"Unknown"}}processSprintsBoard(e,t,a){const r=$y(e,dy.SPRINT_TASKS);if(!r)return;const i=Oy(r);if(!i)return;const o=`${e.id}:${i}`;if(a.has(o))return;const n=t.get(i);a.set(o,{sprintsBoard:this.createBoardInfo(e.id,e,`Sprints Board ${e.id}`),tasksBoard:this.createBoardInfo(i,n,`Tasks Board ${i}`)})}processTasksBoard(e,t,a){const r=$y(e,_y);if(!r)return;const i=Oy(r);if(!i)return;const o=`${i}:${e.id}`;if(a.has(o))return;const n=t.get(i);a.set(o,{sprintsBoard:this.createBoardInfo(i,n,`Sprints Board ${i}`),tasksBoard:this.createBoardInfo(e.id,e,`Tasks Board ${e.id}`)})}extractBoardPairs(e){const t=new Map,a=new Map(e.map((e=>[e.id,e])));for(const r of e)r.columns&&(Ay(r)&&this.processSprintsBoard(r,a,t),ky(r)&&this.processTasksBoard(r,a,t));return Array.from(t.values())}},class extends Ci{constructor(){super(...arguments),this.name="get_sprints_metadata",this.type=Yr.READ,this.annotations=Pi({title:"monday-dev: Get Sprints Metadata",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get comprehensive sprint metadata from a monday-dev sprints board including:\n\n## Data Retrieved:\nA table of sprints with the following information:\n- Sprint ID\n- Sprint Name\n- Sprint timeline (planned from/to dates)\n- Sprint completion status (completed/in-progress/planned)\n- Sprint start date (actual)\n- Sprint end date (actual)\n- Sprint activation status\n- Sprint summary document object ID\n\n## Parameters:\n- **limit**: Number of sprints to retrieve (default: 25, max: 100)\n\nRequires the Main Sprints board ID of the monday-dev containing your sprints."}getInputSchema(){return Cy}async executeInternal(e){try{const t=await this.validateBoardSchema(e.sprintsBoardId.toString());if(!t.success)return{content:t.error||"Board schema validation failed"};const a={boardId:e.sprintsBoardId.toString(),limit:e.limit},r=await this.mondayApi.request(Py,a),i=r.boards?.[0],o=i?.items_page?.items||[],n=this.buildSprintsMetadata(o);return{content:{message:"Sprints metadata retrieved",board_id:e.sprintsBoardId,total:o.length,data:n}}}catch(e){return{content:`${vy} Error retrieving sprints metadata: ${e instanceof Error?e.message:"Unknown error"}`}}}async validateBoardSchema(e){try{const t={boardId:e.toString()},a=await this.mondayApi.request(Lc,t),r=a.boards?.[0];if(!r)return{success:!1,error:`${ly} Board with ID ${e} not found. Please verify the board ID is correct and you have access to it.`};const i=r.columns||[],o=this.validateSprintsBoardSchemaFromColumns(i);return o.isValid?{success:!0}:{success:!1,error:`${gy} ${o.errorMessage}`}}catch(e){return{success:!1,error:`${vy} Error validating board schema: ${e instanceof Error?e.message:"Unknown error"}`}}}validateSprintsBoardSchemaFromColumns(e){const t=new Set(e.filter((e=>null!==e)).map((e=>e.id))),a=Object.values(dy),r=Dy(t,a);if(!r.isValid){let e="BoardID provided is not a valid sprints board. Missing required columns:\n\n";return r.missingColumns.forEach((t=>{const a=(e=>yy[e]||e)(t);e+=`- ${a}\n`})),{isValid:!1,errorMessage:e}}return{isValid:!0,errorMessage:""}}buildSprintsMetadata(e){return e.map((e=>{const t=Ty(e,py.SPRINT_ACTIVATION),a=Ty(e,py.SPRINT_COMPLETION),r=Ey(e,py.SPRINT_START_DATE),i=Ey(e,py.SPRINT_END_DATE),o=((e,t)=>{const a=Iy(e,t);if("TimelineValue"===a?.__typename&&a.from&&a.to)return{from:a.from.split("T")[0],to:a.to.split("T")[0]};return null})(e,py.SPRINT_TIMELINE),n=Sy(e,py.SPRINT_SUMMARY);let s=by.Planned;return a?s=by.Completed:(t||r)&&(s=by.Active),{id:e.id,name:e.name||"Unknown",status:s,timeline:o?{from:o.from,to:o.to}:null,start_date:r||null,end_date:i||null,is_completed:a,document_object_id:n||null}}))}},class extends Ci{constructor(){super(...arguments),this.name="get_sprint_summary",this.type=Yr.READ,this.annotations=Pi({title:"monday-dev: Get Sprint Summary",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return'Get the complete summary and analysis of a sprint.\n\n## Purpose:\nUnlock deep insights into completed sprint performance. \n\nThe sprint summary content including:\n- **Scope Management**: Analysis of planned vs. unplanned tasks, scope creep\n- **Velocity & Performance**: Individual velocity, task completion rates, workload distribution per team member\n- **Task Distribution**: Breakdown of completed tasks by type (Feature, Bug, Tech Debt, Infrastructure, etc.)\n- **AI Recommendations**: Action items, process improvements, retrospective focus areas\n\n## Requirements:\n- Sprint must be completed and must be created after 1/1/2025 \n\n## Important Note:\nWhen viewing the section "Completed by Assignee", you\'ll see user IDs in the format "@user-12345678". the 8 digits after the @is the user ID. To retrieve the actual owner names, use the list_users_and_teams tool with the user ID and set includeTeams=false for optimal performance.\n\n'}getInputSchema(){return Ry}async executeInternal(e){try{const t=await this.getSprintMetadata(e.sprintId);if(!t.success)return{content:t.error||`${vy} Unknown error occurred while getting sprint metadata`};const a=await this.readSprintSummaryDocument(t.documentObjectId);return a.success?{content:{message:"Sprint summary retrieved",sprint_id:e.sprintId,sprint_name:t.sprintName,markdown:a.content}}:{content:a.error||`${vy} Unknown error occurred while reading document content`}}catch(e){return{content:`${vy} Error retrieving sprint summary: ${e instanceof Error?e.message:"Unknown error"}`}}}async getSprintMetadata(e){try{const t={ids:[String(e)]},a=(await this.mondayApi.request(sy,t)).items||[];if(0===a.length)return{success:!1,error:`${my} Sprint with ID ${e} not found. Please verify the sprint ID is correct.`};const r=a[0];if(!r)return{success:!1,error:`${my} Sprint with ID ${e} not found.`};const i=((e,t=[])=>{const a=new Set((e.column_values||[]).map((e=>e.id))),r=[...Object.values(dy),...t];return Dy(a,r)})(r,[py.SPRINT_SUMMARY]);if(!i.isValid)return{success:!1,error:`${gy} Sprint item is missing required columns: ${i.missingColumns.join(", ")}. This may not be a valid sprint board item.`};const o=Sy(r,py.SPRINT_SUMMARY);return o?{success:!0,documentObjectId:o,sprintName:r.name}:{success:!1,error:`${cy} No sprint summary document found for sprint "${r.name}" (ID: ${e}). Sprint summary is only available for completed sprints that have analysis documents.`}}catch(e){return{success:!1,error:`${vy} Error getting sprint item: ${e instanceof Error?e.message:"Unknown error"}`}}}async readSprintSummaryDocument(e){try{const t={object_ids:[e],limit:1},a=(await this.mondayApi.request(Rc,t)).docs||[];if(0===a.length)return{success:!1,error:`${cy} Document with object ID ${e} not found or not accessible.`};const r=a[0];if(!r||!r.id)return{success:!1,error:`${uy} Document data is invalid for object ID ${e}.`};const i={docId:r.id,blockIds:[]},o=await this.mondayApi.request(Yc,i);if(!o.export_markdown_from_doc?.success)return{success:!1,error:`${fy} Failed to export markdown from document: ${o.export_markdown_from_doc?.error||"Unknown error"}`};const n=o.export_markdown_from_doc.markdown;return n?{success:!0,content:n}:{success:!1,error:`${hy} Document content is empty or could not be retrieved.`}}catch(e){return{success:!1,error:`${vy} Error reading document: ${e instanceof Error?e.message:"Unknown error"}`}}}}],Ly=[class extends Ci{constructor(){super(...arguments),this.name="delete_item",this.type=Yr.WRITE,this.annotations=Pi({title:"Delete Item",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return"Delete an item"}getInputSchema(){return qf}async executeInternal(e){const t={id:e.itemId.toString()},a=await this.mondayApi.request(Fc,t);return{content:{message:`Item ${a.delete_item?.id} successfully deleted`,item_id:a.delete_item?.id}}}},class extends Ci{constructor(){super(...arguments),this.name="get_board_items_page",this.type=Yr.READ,this.annotations=Pi({title:"Get Board Items Page",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return'Get all items from a monday.com board with pagination support and optional column values and item descriptions. Returns structured JSON with item details, creation/update timestamps, and pagination info. Use the nextCursor parameter from the response to get the next page of results when has_more is true. To retrieve an item description (the rich-text body/details of a monday.com item), set includeItemDescription to true — the response will include the item description document blocks with their content, type, and id. Use this whenever the user asks about an item description, body, details, or notes. [REQUIRED PRECONDITION]: Before using this tool, if new columns were added to the board or if you are not familiar with the board structure (column IDs, column types, status labels, etc.), first use get_board_info to understand the board metadata. This is essential for constructing proper filters and knowing which columns are available. VIEW-BASED FILTERING: If the user refers to a board view by name (e.g. "show me items in the Overdue view"), first call get_board_info to get the board views, find the matching view by name, then extract its filter field and pass it as the filters argument here.'}getInputSchema(){return dv}async executeInternal(e){const t=!e.cursor;if(t&&e.searchTerm)try{if(e.itemIds=await this.getItemIdsFromSmartSearchAsync(e),0===e.itemIds.length)return{content:"No items found matching the specified searchTerm"}}catch(t){df(t),e.filters=this.rebuildFiltersWithManualSearch(e.searchTerm,e.filters)}const a={boardId:e.boardId.toString(),limit:e.limit,cursor:e.cursor||void 0,includeColumns:e.includeColumns,columnIds:e.columnIds,includeSubItems:e.includeSubItems,includeDescription:e.includeItemDescription};t&&(e.itemIds||e.filters||e.orderBy)&&(a.queryParams={ids:e.itemIds?.map((e=>e.toString())),operator:e.filtersOperator,rules:e.filters?.map((e=>({column_id:e.columnId.toString(),compare_value:e.compareValue,operator:e.operator,compare_attribute:e.compareAttribute}))),order_by:e.orderBy?.map((e=>({column_id:e.columnId,direction:e.direction})))});const r=await this.mondayApi.request(nv,a);return{content:this.mapResult(r,e)}}rebuildFiltersWithManualSearch(e,t){return(t=(t=t??[]).filter((e=>"name"!==e.columnId))).push({columnId:"name",operator:dl.ContainsText,compareValue:e}),t}mapResult(e,t){const a=e.boards?.[0],r=a?.items_page,i=r?.items||[];return{board:{id:a?.id,name:a?.name},items:i.map((e=>this.mapItem(e,t))),pagination:{has_more:!!r?.cursor,nextCursor:r?.cursor||null,count:i.length}}}mapItem(e,t){const a={id:e.id,name:e.name,url:e.url,created_at:e.created_at,updated_at:e.updated_at};if(t.includeColumns&&e.column_values){a.column_values={};for(const t of e.column_values)a.column_values[t.id]=this.getColumnValueData(t)}if(t.includeItemDescription&&"description"in e&&e.description){const t=(e.description.blocks??[]).filter((e=>!!e)).map((e=>({id:e.id,type:e.type,content:e.content})));a.item_description={id:e.description.id,blocks:t}}return t.includeSubItems&&"subitems"in e&&e.subitems&&(a.subitems=e.subitems.slice(0,t.subItemLimit).map((e=>this.mapItem(e,t)))),a}getColumnValueData(e){switch(e.type){case _f.BoardRelation:return e.linked_items;case _f.Formula:return e.display_value;case _f.Mirror:return"Column value type is not supported"}if(e.text)return e.text;try{return JSON.parse(e.value)}catch{return e.value||null}}async getItemIdsFromSmartSearchAsync(e){const t={query:e.searchTerm,limit:20,boardIds:[e.boardId.toString()]},a=(await this.mondayApi.request(sv,t,{versionOverride:"dev",timeout:nf})).search.items.results.map((e=>Number(e.id)));if(0===a.length)throw new Error("No items found for search term or new search is not enabled for this account");const r=e.itemIds??[];if(0===r.length)return a;const i=new Set(r);return a.filter((e=>i.has(e)))}},class extends Ci{constructor(){super(...arguments),this.name="create_item",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Item",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new item with provided values, create a subitem under a parent item, or duplicate an existing item and update it with new values. Use parentItemId when creating a subitem under an existing item. Use duplicateFromItemId when copying an existing item with modifications.[REQUIRED PRECONDITION]: Before using this tool, if new columns were added to the board or if you are not familiar with the board's structure (column IDs, column types, status labels, etc.), first use get_board_info to understand the board metadata. This is essential for constructing proper column values and knowing which columns are available."}getInputSchema(){return this.context?.boardId?kf:Of}async executeInternal(e){const t=this.context?.boardId??e.boardId;if(e.duplicateFromItemId&&e.parentItemId)throw new Error("Cannot specify both parentItemId and duplicateFromItemId. Please provide only one of these parameters.");return e.duplicateFromItemId?await this.duplicateAndUpdateItem(e,t):e.parentItemId?await this.createSubitem(e):await this.createNewItem(e,t)}async duplicateAndUpdateItem(e,t){try{const a={boardId:t.toString(),itemId:e.duplicateFromItemId.toString()},r=await this.mondayApi.request(Nf,a);if(!r.duplicate_item?.id)throw new Error("Failed to duplicate item: no item duplicated");let i;try{i=JSON.parse(e.columnValues)}catch(e){throw new Error("Invalid JSON in columnValues")}const o={...i,name:e.name},n=new tu(this.mondayApi,{boardId:t});return await n.execute({itemId:parseInt(r.duplicate_item.id),columnValues:JSON.stringify(o)}),{content:{message:`Item ${r.duplicate_item.id} duplicated from ${e.duplicateFromItemId}`,item_id:r.duplicate_item.id,item_name:r.duplicate_item.name,item_url:r.duplicate_item.url,board_id:t}}}catch(e){sf(e,"duplicate item")}}async createSubitem(e){const t={parentItemId:e.parentItemId.toString(),itemName:e.name,columnValues:e.columnValues};try{const a=await this.mondayApi.request(Af,t);if(!a.create_subitem?.id)throw new Error("Failed to create subitem: no subitem created");return{content:{message:`Subitem ${a.create_subitem.id} created under ${e.parentItemId}`,item_id:a.create_subitem.id,item_name:a.create_subitem.name,item_url:a.create_subitem.url}}}catch(e){sf(e,"create subitem")}}async createNewItem(e,t){try{const a={boardId:t.toString(),itemName:e.name,groupId:e.groupId,columnValues:e.columnValues},r=await this.mondayApi.request(zc,a);return{content:{message:`Item ${r.create_item?.id} successfully created`,item_id:r.create_item?.id,item_name:r.create_item?.name,item_url:r.create_item?.url,board_id:t}}}catch(e){sf(e,"create item")}}},class extends Ci{constructor(){super(...arguments),this.name="create_update",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Update",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new update (comment/post) on a monday.com item. Updates can be used to add comments, notes, or discussions to items. You can optionally mention users, teams, or boards in the update. You can also reply to an existing update by using the parentId parameter."}getInputSchema(){return xf}async executeInternal(e){let t;if(e.mentionsList)try{const a=JSON.parse(e.mentionsList),r=Cf.safeParse(a);if(!r.success)throw new Error(`Invalid mentionsList format: ${r.error.message}`);t=r.data}catch(e){throw new Error(`Invalid mentionsList JSON format: ${e.message}`)}try{const a={itemId:e.itemId.toString(),body:e.body,mentionsList:t,parentId:e.parentId?.toString()},r=await this.mondayApi.request(Rf,a);if(!r.create_update?.id)throw new Error("Failed to create update: no update created");return{content:{message:`Update ${r.create_update.id} created on item ${e.itemId}`,update_id:r.create_update.id,item_id:e.itemId,item_name:r.create_update.item?.name,item_url:r.create_update.item?.url}}}catch(e){sf(e,"create update")}}},class extends Ci{constructor(){super(...arguments),this.name="get_updates",this.type=Yr.READ,this.annotations=Pi({title:"Get Updates",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get updates (comments/posts) from a monday.com item or board. Specify objectId and objectType (Item or Board) to retrieve updates. For Board queries, you can filter by date range using fromDate and toDate (both required together, ISO8601 format). By default, Board queries return only board discussion. Set includeItemUpdates to true to also include updates on individual items. Returns update text, creator info, timestamps, and optionally replies and assets."}getInputSchema(){return Vf}async executeInternal(e){try{const t=void 0!==e.fromDate,a=void 0!==e.toDate;if(t!==a)throw new Error("Both fromDate and toDate must be provided together for date range filtering");if((t||a)&&e.objectType===Lf.Item)throw new Error("Date range filtering (fromDate/toDate) is only supported for Board objectType");const r={limit:e.limit??25,page:e.page??1,includeReplies:e.includeReplies??!1,includeAssets:e.includeAssets??!1};let i;i=e.objectType===Lf.Item?await this.mondayApi.request(Ff,{...r,itemId:e.objectId}):await this.mondayApi.request(zf,{...r,boardId:e.objectId,boardUpdatesOnly:!e.includeItemUpdates,...e.fromDate&&e.toDate?{fromDate:Uf(e.fromDate),toDate:Uf(e.toDate)}:{}});const o=e.objectType===Lf.Item?i.items?.[0]?.updates:i.boards?.[0]?.updates;if(!o||0===o.length)return{content:`No updates found for ${e.objectType.toLowerCase()} with id ${e.objectId}`};const n=o.map((t=>{const a={id:t.id,text_body:t.text_body,created_at:t.created_at,updated_at:t.updated_at,creator:t.creator?{id:t.creator.id,name:t.creator.name}:null,item_id:t.item_id};return e.includeReplies&&t.replies&&(a.replies=t.replies.map((e=>({id:e.id,text_body:e.text_body,created_at:e.created_at,updated_at:e.updated_at,creator:e.creator?{id:e.creator.id,name:e.creator.name}:null})))),e.includeAssets&&t.assets&&(a.assets=t.assets.filter((e=>!!e)).map((e=>({id:e.id,name:e.name,url:e.url,file_extension:e.file_extension,file_size:e.file_size,created_at:e.created_at})))),a})),s=e.objectType===Lf.Item?i.items?.[0]?.url:i.boards?.[0]?.url;return{content:{message:"Updates retrieved",[`${e.objectType.toLowerCase()}_id`]:e.objectId,url:s,updates:n,pagination:{page:e.page??1,limit:e.limit??25,count:n.length}}}}catch(e){sf(e,"get updates")}}},class extends Ci{constructor(){super(...arguments),this.name="create_update_in_monday",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Update in Monday, after calling this tool you should",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new update (comment/post) on a monday.com item. Updates can be used to add comments, notes, or discussions to items. You can optionally mention users, teams, or boards in the update. After calling this tool you should call the full board data tool to get data, and immediately after that call the show table tool to show the data from that tool. IMPORTANT: You MUST use the COMPLETE data from the full board data tool - do NOT cut, truncate, or omit any data. Pass the entire dataset to the show table tool."}getInputSchema(){return R_}async executeInternal(e){let t;if(e.mentionsList)try{const a=JSON.parse(e.mentionsList),r=$_.safeParse(a);if(!r.success)throw new Error(`Invalid mentionsList format: ${r.error.message}`);t=r.data}catch(e){throw new Error(`Invalid mentionsList JSON format: ${e.message}`)}try{const a={itemId:e.itemId.toString(),body:e.body,mentionsList:t},r=await this.mondayApi.request(Rf,a);if(!r.create_update?.id)throw new Error("Failed to create update: no update created");return{content:{message:`Update ${r.create_update.id} successfully created on item ${e.itemId}`,update_id:r.create_update.id,item_id:e.itemId,next_steps:"Now call the full board data tool to get data, then immediately call the show table tool to show that data. CRITICAL: You MUST pass the COMPLETE and FULL data from the full board data tool to the show table tool - do NOT cut, summarize, truncate, or omit ANY data. Use the entire dataset exactly as received."}}}catch(e){sf(e,"create update")}}},class extends Ci{constructor(){super(...arguments),this.name="get_board_schema",this.type=Yr.READ,this.annotations=Pi({title:"Get Board Schema",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get board schema (columns and groups) by board id"}getInputSchema(){if(!this.context?.boardId)return pv}async executeInternal(e){const t=this.context?.boardId??e.boardId,a={boardId:t.toString()},r=await this.mondayApi.request(Lc,a);return{content:{message:"Board schema retrieved",board_id:t,columns:r.boards?.[0]?.columns?.map((e=>({id:e?.id,title:e?.title,type:e?.type})))??[],groups:r.boards?.[0]?.groups?.map((e=>({id:e?.id,title:e?.title})))??[]}}}},class extends Ci{constructor(){super(...arguments),this.name="get_board_activity",this.type=Yr.READ,this.annotations=Pi({title:"Get Board Activity",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}),this.defaultLimit=1e3}getDescription(){return"Get board activity logs for a specified time range (defaults to last 30 days)"}getInputSchema(){return Jf}async executeInternal(e){const t=new Date,a=new Date(t.getTime()-of.MONTH30Days),r=e?.fromDate||a.toISOString(),i=e?.toDate||t.toISOString(),o={boardId:e.boardId.toString(),fromDate:r,toDate:i,limit:this.defaultLimit,page:1,includeData:e.includeData??!1},n=await this.mondayApi.request(Kf,o),s=n.boards?.[0]?.activity_logs;if(!s||0===s.length)return{content:`No activity found for board ${e.boardId} in the specified time range (${r} to ${i}).`};const d=n.boards?.[0],p=e.includeData??!1;return{content:{message:"Board activity retrieved",board_id:e.boardId,board_name:d?.name,board_url:d?.url,data:s.filter((e=>null!=e)).map((e=>({created_at:e.created_at,event:e.event,entity:e.entity,user_id:e.user_id,...p&&e.data?{data:e.data}:{}})))}}}},class extends Ci{constructor(){super(...arguments),this.name="get_board_info",this.type=Yr.READ,this.annotations=Pi({title:"Get Board Info",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get comprehensive board information including metadata, structure, owners, and configuration. Also returns the board's views (e.g. table views, filter views) — each view includes its id, name, type, and a structured filter object. "}getInputSchema(){return ov}async executeInternal(e){const t={boardId:e.boardId.toString()},a=await this.mondayApi.request(Xf,t),r=a.boards?.[0];if(!r)return{content:`Board with id ${e.boardId} not found or you don't have access to it.`};const i=await this.getSubItemsBoardAsync(r);return{content:ev(r,i)}}async getSubItemsBoardAsync(e){const t=e.columns?.find((e=>e?.type===_f.Subtasks));if(!t)return null;const a=t.settings.boardIds[0],r=await this.mondayApi.request(Zf,{boardId:a});return r.boards?.[0]??null}},class extends Ci{constructor(){super(...arguments),this.name="get_full_board_data",this.type=Yr.READ,this.annotations=Pi({title:"Get Full Board Data",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"INTERNAL USE ONLY - DO NOT CALL THIS TOOL DIRECTLY. This tool is exclusively triggered by UI components and should never be invoked directly by the agent."}getInputSchema(){return Yf}async executeInternal(e){try{const t={boardId:e.boardId,itemsLimit:7};e.filters&&(t.queryParams={operator:e.filtersOperator,rules:e.filters.map((e=>({column_id:e.columnId.toString(),compare_value:e.compareValue,operator:e.operator,compare_attribute:e.compareAttribute})))});const a=await this.mondayApi.request(Hf,t);if(!a.boards||0===a.boards.length||!a.boards[0])throw new Error(`Board with ID ${e.boardId} not found`);const r=a.boards[0],i=new Set;r.items_page.items.forEach((e=>{e.updates?.forEach((e=>{e.creator_id&&i.add(e.creator_id),e.replies?.forEach((e=>{e.creator_id&&i.add(e.creator_id)}))})),e.column_values.forEach((e=>{if("persons_and_teams"in e){const t=e;t.persons_and_teams?.forEach((e=>{"person"===e.kind&&e.id&&i.add(e.id)}))}}))}));const o=Array.from(i).filter((e=>!(Number(e)<0)));let n=[];if(o.length>0){const e={userIds:o},t=await this.mondayApi.request(Gf,e);n=t.users?.filter((e=>null!==e))||[]}const s=new Map(n.map((e=>[e.id,e])));return{content:{board:{id:r.id,name:r.name,columns:r.columns,items:r.items_page.items.map((e=>({id:e.id,name:e.name,column_values:e.column_values,updates:e.updates?.map((e=>({id:e.id,creator_id:e.creator_id||"",creator:e.creator_id&&s.get(e.creator_id)||null,text_body:e.text_body,created_at:e.created_at,replies:e.replies?.map((e=>({id:e.id,creator_id:e.creator_id||"",creator:e.creator_id&&s.get(e.creator_id)||null,text_body:e.text_body,created_at:e.created_at})))||[]})))||[]})))},users:n,stats:{total_items:r.items_page.items.length,total_updates:r.items_page.items.reduce(((e,t)=>e+(t.updates?.length||0)),0),total_unique_creators:n.length}}}}catch(e){sf(e,"get full board data")}}},class extends Ci{constructor(){super(...arguments),this.name="list_users_and_teams",this.type=Yr.READ,this.annotations=Pi({title:"List Users and Teams",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Tool to fetch users and/or teams data. \n\n MANDATORY BEST PRACTICES:\n 1. ALWAYS use specific IDs or names when available\n 2. If no ids available, use name search if possible (USERS ONLY)\n 3. Use 'getMe: true' to get current user information\n 4. AVOID broad queries (no parameters) - use only as last resort\n\n REQUIRED PARAMETER PRIORITY (use in this order):\n 1. getMe - STANDALONE\n 2. userIds\n 3. name - STANDALONE (USERS ONLY, NOT for teams)\n 4. teamIds + teamsOnly\n 5. No parameters - LAST RESORT\n\n CRITICAL USAGE RULES:\n • userIds + teamIds requires explicit includeTeams: true flag\n • includeTeams: true fetches both users and teams, do not use this to fetch a specific user's teams rather fetch that user by id and you will get their team memberships.\n • name parameter is for USER search ONLY - it cannot be used to search for teams. Use teamIds to fetch specific teams."}getInputSchema(){return Vv}async executeInternal(e){const t=e.userIds&&e.userIds.length>0,a=e.teamIds&&e.teamIds.length>0,r=e.includeTeams||!1,i=e.teamsOnly||!1,o=e.includeTeamMembers||!1,n=!!e.name;if(e.getMe||!1){if(t||a||r||i||o||n)return{content:"PARAMETER_CONFLICT: getMe is STANDALONE only. Remove all other parameters when using getMe: true for current user lookup."};const e=await this.mondayApi.request(kv);if(!e.me)return{content:"AUTHENTICATION_ERROR: Current user fetch failed. Verify API token and user permissions."};const s={users:[e.me]},d=Rv(s),p=await zv(this.mondayApi);return{content:{data:d,action_name:"Users and teams",url:p?`https://${p}.monday.com/teams/all`:void 0}}}if(n){if(t||a||r||i||o)return{content:"PARAMETER_CONFLICT: name is STANDALONE only. Remove userIds, teamIds, includeTeams, teamsOnly, and includeTeamMembers when using name search."};const n={name:e.name},s=await this.mondayApi.request(Av,n);if(!s.users||0===s.users.length)return{content:`NAME_SEARCH_EMPTY: No users found matching "${e.name}". Try broader search terms or verify user exists in account.`};const d=s.users.filter((e=>null!==e)).map((e=>`• **${e.name}** (ID: ${e.id})${e.title?` - ${e.title}`:""}`)).join("\n"),p=`Found ${s.users.length} user(s) matching "${e.name}":\n\n${d}`,l=await zv(this.mondayApi);return{content:{data:p,action_name:"Users and teams",url:l?`https://${l}.monday.com/teams/all`:void 0}}}if(i&&r)return{content:"PARAMETER_CONFLICT: Cannot use teamsOnly: true with includeTeams: true. Use teamsOnly for teams-only queries or includeTeams for combined data."};if(t&&e.userIds&&e.userIds.length>Pv)return{content:`LIMIT_EXCEEDED: userIds array too large (${e.userIds.length}/500). Split into batches of max 500 IDs and make multiple calls.`};if(a&&e.teamIds&&e.teamIds.length>Cv)return{content:`LIMIT_EXCEEDED: teamIds array too large (${e.teamIds.length}/500). Split into batches of max 500 IDs and make multiple calls.`};let s;if(i||!t&&a&&!r)if(o){const t={teamIds:e.teamIds};s=await this.mondayApi.request(Nv,t)}else{const t={teamIds:e.teamIds};s=await this.mondayApi.request(Dv,t)}else if(r){const t={userIds:e.userIds,teamIds:e.teamIds,limit:xv};s=await this.mondayApi.request(Sv,t)}else if(t){const t={userIds:e.userIds,limit:xv};s=await this.mondayApi.request(Tv,t)}else{const e={userIds:void 0,limit:xv};s=await this.mondayApi.request(Ev,e)}const d=Rv(s),p=await zv(this.mondayApi);return{content:{data:d,action_name:"Users and teams",url:p?`https://${p}.monday.com/teams/all`:void 0}}}},tu,class extends Ci{constructor(){super(...arguments),this.name="move_item_to_group",this.type=Yr.WRITE,this.annotations=Pi({title:"Move Item to Group",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Move an item to a group in a monday.com board"}getInputSchema(){return Uv}async executeInternal(e){const t={itemId:e.itemId.toString(),groupId:e.groupId},a=await this.mondayApi.request(Uc,t);return{content:`Item ${a.move_item_to_group?.id} successfully moved to group ${e.groupId}`}}},class extends Ci{constructor(){super(...arguments),this.name="create_board",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Board",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a monday.com board"}getInputSchema(){return $u}async executeInternal(e){const t={boardName:e.boardName,boardKind:e.boardKind,boardDescription:e.boardDescription,workspaceId:e.workspaceId},a=await this.mondayApi.request(jc,t);return{content:{message:`Board ${a.create_board?.id} successfully created`,board_id:a.create_board?.id,board_name:a.create_board?.name,board_url:a.create_board?.url}}}},class extends Ci{constructor(){super(...arguments),this.name="create_form",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Form",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a monday.com form. Also creates a backing board to store responses. Returns the formToken for future mutations."}getInputSchema(){return lh}async executeInternal(e){const t={destination_workspace_id:e.destination_workspace_id,destination_folder_id:e.destination_folder_id,destination_folder_name:e.destination_folder_name,board_kind:e.board_kind,destination_name:e.destination_name,board_owner_ids:e.board_owner_ids,board_owner_team_ids:e.board_owner_team_ids,board_subscriber_ids:e.board_subscriber_ids,board_subscriber_teams_ids:e.board_subscriber_teams_ids},a=await this.mondayApi.request(Mu,t);return{content:{message:"Form created successfully",board_id:a.create_form?.boardId,form_token:a.create_form?.token}}}},class extends Ci{constructor(){super(...arguments),this.name="update_form",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Form",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0}),this.helpers=new ef(this.mondayApi),this.actionHandlers=new Map([[Oh.setFormPassword,this.helpers.setFormPassword.bind(this.helpers)],[Oh.shortenFormUrl,this.helpers.shortenFormUrl.bind(this.helpers)],[Oh.deactivate,this.helpers.deactivateForm.bind(this.helpers)],[Oh.activate,this.helpers.activateForm.bind(this.helpers)],[Oh.createTag,this.helpers.createTag.bind(this.helpers)],[Oh.deleteTag,this.helpers.deleteTag.bind(this.helpers)],[Oh.updateTag,this.helpers.updateTag.bind(this.helpers)],[Oh.updateAppearance,this.helpers.updateAppearance.bind(this.helpers)],[Oh.updateAccessibility,this.helpers.updateAccessibility.bind(this.helpers)],[Oh.updateFeatures,this.helpers.updateFeatures.bind(this.helpers)],[Oh.updateQuestionOrder,this.helpers.updateQuestionOrder.bind(this.helpers)],[Oh.updateFormHeader,this.helpers.updateFormHeader.bind(this.helpers)]])}getDescription(){return"Update a monday.com form. Use the action field to specify the operation."}getInputSchema(){return Zh}async executeInternal(e){const t=this.actionHandlers.get(e.action);return t?await t(e):{content:"Received an invalid action for the update form tool."}}},class extends Ci{constructor(){super(...arguments),this.name="get_form",this.type=Yr.READ,this.annotations=Pi({title:"Get Form",readOnlyHint:!0,destructiveHint:!1})}getDescription(){return"Get a monday.com form by its form token. Form tokens can be extracted from the form's url. Given a form url, such as https://forms.monday.com/forms/abc123def456ghi789?r=use1, the formToken is the alphanumeric string that appears right after /forms/ and before the ?. In the example, the formToken is abc123def456ghi789."}getInputSchema(){return tf}async executeInternal(e){const t={formToken:e.formToken},a=await this.mondayApi.request(qu,t);return a.form?{content:{message:"Form retrieved",form_token:e.formToken,data:a.form}}:{content:`Form with token ${e.formToken} not found or you don't have access to it.`}}},class extends Ci{constructor(){super(...arguments),this.name="form_questions_editor",this.type=Yr.WRITE,this.annotations=Pi({title:"Form Questions Editor",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1}),this.helpers=new kh(this.mondayApi),this.actionHandlers=new Map([[Dh.Delete,this.helpers.deleteQuestion.bind(this.helpers)],[Dh.Update,this.helpers.updateQuestion.bind(this.helpers)],[Dh.Create,this.helpers.createQuestion.bind(this.helpers)]])}getDescription(){return"Create, update, or delete a question in a monday.com form"}getInputSchema(){return Ah}async executeInternal(e){const t=this.actionHandlers.get(e.action);return t?await t(e):{content:`Unknown action: ${e.action}`}}},class extends Ci{constructor(){super(...arguments),this.name="create_form_submission",this.type=Yr.WRITE,this.annotations=Pi({title:"Create WorkForm Submission",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Submit a response to a monday.com WorkForm. Use get_form first to retrieve the WorkForm, then:\n- Inspect each question's showIfRules to determine which questions are conditionally shown based on previous answers.\n- Inspect each question's settings for any answer constraints (e.g. rating limits, select options, label limits).\n- Take note of any titles, descriptions, and content blocks to present the form naturally as you walk the user through it.\n- Take note of pages and question order to present questions in the correct sequence.\nGather all answers upfront before calling this tool — do not submit one question at a time. Accepts a bare form token, a full WorkForm URL (e.g. https://forms.monday.com/forms/{form_token}?r=use1), or a shortened wkf.ms URL (e.g. https://wkf.ms/4tqP28t) — shortened URLs are automatically resolved by following the redirect. Returns the submission ID."}getInputSchema(){return gf}extractTokenFromUrl(e){const t=e.match(/\/forms\/([^/?]+)/);return t?t[1]:null}async resolveFormToken(e){if(e.includes("wkf.ms")){const t=(await g.default.head(e,{maxRedirects:0,validateStatus:e=>e<400})).headers.location;return t?this.extractTokenFromUrl(t):null}return e.startsWith("http://")||e.startsWith("https://")?this.extractTokenFromUrl(e):e}async executeInternal(e){const t=await this.resolveFormToken(e.form_token);if(!t)return{content:`Could not resolve a WorkForm token from "${e.form_token}". Please provide a valid WorkForm token or full WorkForm URL (e.g. https://forms.monday.com/forms/abc123).`};const a={form_token:t,answers:e.answers,form_timezone_offset:e.form_timezone_offset,password:e.password,tags:e.tags};try{const e=await this.mondayApi.request(pf,a,{versionOverride:"dev"});return e.create_form_submission?{content:{message:"WorkForm submitted successfully",submission_id:e.create_form_submission.id}}:{content:`WorkForm with token ${t} was not found or is not accepting submissions. Verify the WorkForm token is correct, the WorkForm is active, and any required password was provided.`}}catch(e){sf(e,"submit form")}}},class extends Ci{constructor(){super(...arguments),this.name="create_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Column",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new column in a monday.com board"}getInputSchema(){return this.context?.boardId?yf:bf}async executeInternal(e){const t=this.context?.boardId??e.boardId,a={boardId:t?.toString()??"",columnType:e.columnType,columnTitle:e.columnTitle,columnDescription:e.columnDescription,columnSettings:"string"==typeof e.columnSettings?JSON.parse(e.columnSettings):e.columnSettings},r=await this.mondayApi.request(Mc,a);return{content:{message:"Column successfully created",column_id:r.create_column?.id,column_title:r.create_column?.title}}}},class extends Ci{constructor(){super(...arguments),this.name="create_group",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Group",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new group in a monday.com board. Groups are sections that organize related items. Use when users want to add structure, categorize items, or create workflow phases. Groups can be positioned relative to existing groups and assigned predefined colors. Items will always be created in the top group and so the top group should be the most relevant one for new item creation"}getInputSchema(){return Df}async executeInternal(e){const t={boardId:e.boardId,groupName:e.groupName,groupColor:e.groupColor,relativeTo:e.relativeTo,positionRelativeMethod:e.positionRelativeMethod},a=await this.mondayApi.request(Ef,t);return{content:{message:"Group created successfully",group_id:a.create_group?.id,group_title:a.create_group?.title,board_id:e.boardId,group_name:e.groupName}}}},class extends Ci{constructor(){super(...arguments),this.name="delete_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Delete Column",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return"Delete a column from a monday.com board"}getInputSchema(){return this.context?.boardId?jf:Mf}async executeInternal(e){const t={boardId:(this.context?.boardId??e.boardId).toString(),columnId:e.columnId},a=await this.mondayApi.request(qc,t);return{content:{message:`Column ${a.delete_column?.id} successfully deleted`,column_id:a.delete_column?.id}}}},Xc,class extends Ci{constructor(){super(...arguments),this.name="get_graphql_schema",this.type=Yr.ALL_API,this.annotations=Pi({title:"Get GraphQL Schema",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Fetch the monday.com GraphQL schema structure including query and mutation definitions. This tool returns available query fields, mutation fields, and a list of GraphQL types in the schema. You can filter results by operation type (read/write) to focus on either queries or mutations."}getInputSchema(){return uv}async executeInternal(e){try{const t=await this.mondayApi.request(Bc),a=e?.operationType,r=t.__schema,i="write"!==a?t.queryType?.fields?.map((e=>({name:e.name,description:e.description??null})))??[]:void 0,o="read"!==a?t.mutationType?.fields?.map((e=>({name:e.name,description:e.description??null})))??[]:void 0,n=r?.types?.filter((e=>e.name&&!e.name.startsWith("__"))).map((e=>({name:e.name,kind:e.kind??"unknown"})))??[];return{content:{message:"GraphQL schema retrieved",...void 0!==i&&{query_fields:i},...void 0!==o&&{mutation_fields:o},types:n}}}catch(e){return{content:`Error fetching GraphQL schema: ${e instanceof Error?e.message:"Unknown error"}`}}}},class extends Ci{constructor(){super(...arguments),this.name="get_column_type_info",this.type=Yr.READ,this.annotations=Pi({title:"Get Column Type Info",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Retrieves comprehensive information about a specific column type, including JSON schema definition and other metadata. Use this before creating columns with the create_column tool to understand the structure, validation rules, and available properties for column settings."}getInputSchema(){return cv}async executeInternal(e){const t={type:e.columnType},a=await this.mondayApi.request(lv,t);if(!a?.get_column_type_schema)return{content:`Information for column type "${e.columnType}" not found or not available.`};const r={schema:a.get_column_type_schema};return{content:{message:`Column type info for ${e.columnType}`,data:r,url:mv}}}},class extends Ci{constructor(){super(...arguments),this.name="get_type_details",this.type=Yr.ALL_API,this.annotations=Pi({title:"Get Type Details",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get detailed information about a specific GraphQL type from the monday.com API schema"}getInputSchema(){return hv}async executeInternal(e){try{if(!e.typeName)return{content:"Error: typeName is required. Please provide a valid GraphQL type name."};const a=(t=e.typeName,$c`
|
|
2158
|
+
`,Ly={};const Vy=[class extends Ci{constructor(){super(...arguments),this.name="get_monday_dev_sprints_boards",this.type=Yr.READ,this.annotations=Pi({title:"monday-dev: Get Sprints Boards",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Discover monday-dev sprints boards and their associated tasks boards in your account.\n\n## Purpose:\nIdentifies and returns monday-dev sprints board IDs and tasks board IDs that you need to use with other monday-dev tools. \nThis tool scans your recently used boards (up to 100) to find valid monday-dev sprint management boards.\n\n## What it Returns:\n- Pairs of sprints boards and their corresponding tasks boards\n- Board IDs, names, and workspace information for each pair\n- The bidirectional relationship between each sprints board and its tasks board\n\n## Note:\nSearches recently used boards (up to 100). If none found, ask user to provide board IDs manually."}getInputSchema(){return Ly}async executeInternal(e){try{const e={limit:100},t=((await this.mondayApi.request(zy,e)).boards||[]).filter((e=>null!==e));if(0===t.length)return{content:`${cy} No boards found in your account. Please verify you have access to monday.com boards.`};const a=this.extractBoardPairs(t);return 0===a.length?{content:{message:"No monday-dev sprints board pairs found. ### Possible Reasons:\n1. Boards exist but not accessed recently by your account\n2. Missing access permissions to sprint/task boards\n3. Monday-dev product was not set up in account\n### Next Steps:\n1. Ask user to access monday-dev boards in UI to refresh recent boards list\n2. Ask user to verify permissions to view sprint and task boards\n3. Ask user to provide board IDs manually if known`;",boards_checked:t.length,pairs:[]}}:{content:{message:`Found ${a.length} matched pair(s)`,...a.length>1?{warning:"Multiple board pairs detected. Confirm with user which pair and workspace to use before any operation."}:{},pairs:a.map((e=>({sprints_board:{id:e.sprintsBoard.id,name:e.sprintsBoard.name,workspace_id:e.sprintsBoard.workspaceId,workspace_name:e.sprintsBoard.workspaceName},tasks_board:{id:e.tasksBoard.id,name:e.tasksBoard.name,workspace_id:e.tasksBoard.workspaceId,workspace_name:e.tasksBoard.workspaceName}}))),technical_reference:"Sprint Operations (all require correct board pair): Add to Sprint: Update `task_sprint` column with sprint item ID. Remove from Sprint: Clear `task_sprint` column (set to null). Search in Sprint: Filter where `task_sprint` equals sprint item ID. Move Between Sprints: Update `task_sprint` with new sprint item ID. Backlog Tasks: `task_sprint` is empty/null. Critical: `task_sprint` column references ONLY its paired sprints board. Cross-pair operations WILL FAIL."}}}catch(e){return{content:`${_y} Error retrieving sprints boards: ${e instanceof Error?e.message:"Unknown error"}`}}}createBoardInfo(e,t,a){return{id:e,name:t?.name||a,workspaceId:t?.workspace?.id||"unknown",workspaceName:t?.workspace?.name||"Unknown"}}processSprintsBoard(e,t,a){const r=Py(e,ly.SPRINT_TASKS);if(!r)return;const i=Ry(r);if(!i)return;const o=`${e.id}:${i}`;if(a.has(o))return;const n=t.get(i);a.set(o,{sprintsBoard:this.createBoardInfo(e.id,e,`Sprints Board ${e.id}`),tasksBoard:this.createBoardInfo(i,n,`Tasks Board ${i}`)})}processTasksBoard(e,t,a){const r=Py(e,by);if(!r)return;const i=Ry(r);if(!i)return;const o=`${i}:${e.id}`;if(a.has(o))return;const n=t.get(i);a.set(o,{sprintsBoard:this.createBoardInfo(i,n,`Sprints Board ${i}`),tasksBoard:this.createBoardInfo(e.id,e,`Tasks Board ${e.id}`)})}extractBoardPairs(e){const t=new Map,a=new Map(e.map((e=>[e.id,e])));for(const r of e)r.columns&&(Oy(r)&&this.processSprintsBoard(r,a,t),$y(r)&&this.processTasksBoard(r,a,t));return Array.from(t.values())}},class extends Ci{constructor(){super(...arguments),this.name="get_sprints_metadata",this.type=Yr.READ,this.annotations=Pi({title:"monday-dev: Get Sprints Metadata",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get comprehensive sprint metadata from a monday-dev sprints board including:\n\n## Data Retrieved:\nA table of sprints with the following information:\n- Sprint ID\n- Sprint Name\n- Sprint timeline (planned from/to dates)\n- Sprint completion status (completed/in-progress/planned)\n- Sprint start date (actual)\n- Sprint end date (actual)\n- Sprint activation status\n- Sprint summary document object ID\n\n## Parameters:\n- **limit**: Number of sprints to retrieve (default: 25, max: 100)\n\nRequires the Main Sprints board ID of the monday-dev containing your sprints."}getInputSchema(){return Fy}async executeInternal(e){try{const t=await this.validateBoardSchema(e.sprintsBoardId.toString());if(!t.success)return{content:t.error||"Board schema validation failed"};const a={boardId:e.sprintsBoardId.toString(),limit:e.limit},r=await this.mondayApi.request(xy,a),i=r.boards?.[0],o=i?.items_page?.items||[],n=this.buildSprintsMetadata(o);return{content:{message:"Sprints metadata retrieved",board_id:e.sprintsBoardId,total:o.length,data:n}}}catch(e){return{content:`${_y} Error retrieving sprints metadata: ${e instanceof Error?e.message:"Unknown error"}`}}}async validateBoardSchema(e){try{const t={boardId:e.toString()},a=await this.mondayApi.request(Lc,t),r=a.boards?.[0];if(!r)return{success:!1,error:`${cy} Board with ID ${e} not found. Please verify the board ID is correct and you have access to it.`};const i=r.columns||[],o=this.validateSprintsBoardSchemaFromColumns(i);return o.isValid?{success:!0}:{success:!1,error:`${yy} ${o.errorMessage}`}}catch(e){return{success:!1,error:`${_y} Error validating board schema: ${e instanceof Error?e.message:"Unknown error"}`}}}validateSprintsBoardSchemaFromColumns(e){const t=new Set(e.filter((e=>null!==e)).map((e=>e.id))),a=Object.values(ly),r=Ay(t,a);if(!r.isValid){let e="BoardID provided is not a valid sprints board. Missing required columns:\n\n";return r.missingColumns.forEach((t=>{const a=(e=>wy[e]||e)(t);e+=`- ${a}\n`})),{isValid:!1,errorMessage:e}}return{isValid:!0,errorMessage:""}}buildSprintsMetadata(e){return e.map((e=>{const t=Sy(e,my.SPRINT_ACTIVATION),a=Sy(e,my.SPRINT_COMPLETION),r=Dy(e,my.SPRINT_START_DATE),i=Dy(e,my.SPRINT_END_DATE),o=((e,t)=>{const a=Ey(e,t);if("TimelineValue"===a?.__typename&&a.from&&a.to)return{from:a.from.split("T")[0],to:a.to.split("T")[0]};return null})(e,my.SPRINT_TIMELINE),n=Ny(e,my.SPRINT_SUMMARY);let s=Iy.Planned;return a?s=Iy.Completed:(t||r)&&(s=Iy.Active),{id:e.id,name:e.name||"Unknown",status:s,timeline:o?{from:o.from,to:o.to}:null,start_date:r||null,end_date:i||null,is_completed:a,document_object_id:n||null}}))}},class extends Ci{constructor(){super(...arguments),this.name="get_sprint_summary",this.type=Yr.READ,this.annotations=Pi({title:"monday-dev: Get Sprint Summary",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return'Get the complete summary and analysis of a sprint.\n\n## Purpose:\nUnlock deep insights into completed sprint performance. \n\nThe sprint summary content including:\n- **Scope Management**: Analysis of planned vs. unplanned tasks, scope creep\n- **Velocity & Performance**: Individual velocity, task completion rates, workload distribution per team member\n- **Task Distribution**: Breakdown of completed tasks by type (Feature, Bug, Tech Debt, Infrastructure, etc.)\n- **AI Recommendations**: Action items, process improvements, retrospective focus areas\n\n## Requirements:\n- Sprint must be completed and must be created after 1/1/2025 \n\n## Important Note:\nWhen viewing the section "Completed by Assignee", you\'ll see user IDs in the format "@user-12345678". the 8 digits after the @is the user ID. To retrieve the actual owner names, use the list_users_and_teams tool with the user ID and set includeTeams=false for optimal performance.\n\n'}getInputSchema(){return Cy}async executeInternal(e){try{const t=await this.getSprintMetadata(e.sprintId);if(!t.success)return{content:t.error||`${_y} Unknown error occurred while getting sprint metadata`};const a=await this.readSprintSummaryDocument(t.documentObjectId);return a.success?{content:{message:"Sprint summary retrieved",sprint_id:e.sprintId,sprint_name:t.sprintName,markdown:a.content}}:{content:a.error||`${_y} Unknown error occurred while reading document content`}}catch(e){return{content:`${_y} Error retrieving sprint summary: ${e instanceof Error?e.message:"Unknown error"}`}}}async getSprintMetadata(e){try{const t={ids:[String(e)]},a=(await this.mondayApi.request(py,t)).items||[];if(0===a.length)return{success:!1,error:`${uy} Sprint with ID ${e} not found. Please verify the sprint ID is correct.`};const r=a[0];if(!r)return{success:!1,error:`${uy} Sprint with ID ${e} not found.`};const i=((e,t=[])=>{const a=new Set((e.column_values||[]).map((e=>e.id))),r=[...Object.values(ly),...t];return Ay(a,r)})(r,[my.SPRINT_SUMMARY]);if(!i.isValid)return{success:!1,error:`${yy} Sprint item is missing required columns: ${i.missingColumns.join(", ")}. This may not be a valid sprint board item.`};const o=Ny(r,my.SPRINT_SUMMARY);return o?{success:!0,documentObjectId:o,sprintName:r.name}:{success:!1,error:`${hy} No sprint summary document found for sprint "${r.name}" (ID: ${e}). Sprint summary is only available for completed sprints that have analysis documents.`}}catch(e){return{success:!1,error:`${_y} Error getting sprint item: ${e instanceof Error?e.message:"Unknown error"}`}}}async readSprintSummaryDocument(e){try{const t={object_ids:[e],limit:1},a=(await this.mondayApi.request(Rc,t)).docs||[];if(0===a.length)return{success:!1,error:`${hy} Document with object ID ${e} not found or not accessible.`};const r=a[0];if(!r||!r.id)return{success:!1,error:`${fy} Document data is invalid for object ID ${e}.`};const i={docId:r.id,blockIds:[]},o=await this.mondayApi.request(Yc,i);if(!o.export_markdown_from_doc?.success)return{success:!1,error:`${gy} Failed to export markdown from document: ${o.export_markdown_from_doc?.error||"Unknown error"}`};const n=o.export_markdown_from_doc.markdown;return n?{success:!0,content:n}:{success:!1,error:`${vy} Document content is empty or could not be retrieved.`}}catch(e){return{success:!1,error:`${_y} Error reading document: ${e instanceof Error?e.message:"Unknown error"}`}}}}],Uy=[class extends Ci{constructor(){super(...arguments),this.name="delete_item",this.type=Yr.WRITE,this.annotations=Pi({title:"Delete Item",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return"Delete an item"}getInputSchema(){return qf}async executeInternal(e){const t={id:e.itemId.toString()},a=await this.mondayApi.request(Fc,t);return{content:{message:`Item ${a.delete_item?.id} successfully deleted`,item_id:a.delete_item?.id}}}},class extends Ci{constructor(){super(...arguments),this.name="get_board_items_page",this.type=Yr.READ,this.annotations=Pi({title:"Get Board Items Page",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return'Get all items from a monday.com board with pagination support and optional column values and item descriptions. Returns structured JSON with item details, creation/update timestamps, and pagination info. Use the nextCursor parameter from the response to get the next page of results when has_more is true. To retrieve an item description (the rich-text body/details of a monday.com item), set includeItemDescription to true — the response will include the item description document blocks with their content, type, and id. Use this whenever the user asks about an item description, body, details, or notes. [REQUIRED PRECONDITION]: Before using this tool, if new columns were added to the board or if you are not familiar with the board structure (column IDs, column types, status labels, etc.), first use get_board_info to understand the board metadata. This is essential for constructing proper filters and knowing which columns are available. VIEW-BASED FILTERING: If the user refers to a board view by name (e.g. "show me items in the Overdue view"), first call get_board_info to get the board views, find the matching view by name, then extract its filter field and pass it as the filters argument here.'}getInputSchema(){return dv}async executeInternal(e){const t=!e.cursor;if(t&&e.searchTerm)try{if(e.itemIds=await this.getItemIdsFromSmartSearchAsync(e),0===e.itemIds.length)return{content:"No items found matching the specified searchTerm"}}catch(t){df(t),e.filters=this.rebuildFiltersWithManualSearch(e.searchTerm,e.filters)}const a={boardId:e.boardId.toString(),limit:e.limit,cursor:e.cursor||void 0,includeColumns:e.includeColumns,columnIds:e.columnIds,includeSubItems:e.includeSubItems,includeDescription:e.includeItemDescription};t&&(e.itemIds||e.filters||e.orderBy)&&(a.queryParams={ids:e.itemIds?.map((e=>e.toString())),operator:e.filtersOperator,rules:e.filters?.map((e=>({column_id:e.columnId.toString(),compare_value:e.compareValue,operator:e.operator,compare_attribute:e.compareAttribute}))),order_by:e.orderBy?.map((e=>({column_id:e.columnId,direction:e.direction})))});const r=await this.mondayApi.request(nv,a);return{content:this.mapResult(r,e)}}rebuildFiltersWithManualSearch(e,t){return(t=(t=t??[]).filter((e=>"name"!==e.columnId))).push({columnId:"name",operator:dl.ContainsText,compareValue:e}),t}mapResult(e,t){const a=e.boards?.[0],r=a?.items_page,i=r?.items||[];return{board:{id:a?.id,name:a?.name},items:i.map((e=>this.mapItem(e,t))),pagination:{has_more:!!r?.cursor,nextCursor:r?.cursor||null,count:i.length}}}mapItem(e,t){const a={id:e.id,name:e.name,url:e.url,created_at:e.created_at,updated_at:e.updated_at};if(t.includeColumns&&e.column_values){a.column_values={};for(const t of e.column_values)a.column_values[t.id]=this.getColumnValueData(t)}if(t.includeItemDescription&&"description"in e&&e.description){const t=(e.description.blocks??[]).filter((e=>!!e)).map((e=>({id:e.id,type:e.type,content:e.content})));a.item_description={id:e.description.id,blocks:t}}return t.includeSubItems&&"subitems"in e&&e.subitems&&(a.subitems=e.subitems.slice(0,t.subItemLimit).map((e=>this.mapItem(e,t)))),a}getColumnValueData(e){switch(e.type){case _f.BoardRelation:return e.linked_items;case _f.Formula:return e.display_value;case _f.Mirror:return"Column value type is not supported"}if(e.text)return e.text;try{return JSON.parse(e.value)}catch{return e.value||null}}async getItemIdsFromSmartSearchAsync(e){const t={query:e.searchTerm,limit:20,boardIds:[e.boardId.toString()]},a=(await this.mondayApi.request(sv,t,{versionOverride:"dev",timeout:nf})).search.items.results.map((e=>Number(e.id)));if(0===a.length)throw new Error("No items found for search term or new search is not enabled for this account");const r=e.itemIds??[];if(0===r.length)return a;const i=new Set(r);return a.filter((e=>i.has(e)))}},class extends Ci{constructor(){super(...arguments),this.name="create_item",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Item",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new item with provided values, create a subitem under a parent item, or duplicate an existing item and update it with new values. Use parentItemId when creating a subitem under an existing item. Use duplicateFromItemId when copying an existing item with modifications.[REQUIRED PRECONDITION]: Before using this tool, if new columns were added to the board or if you are not familiar with the board's structure (column IDs, column types, status labels, etc.), first use get_board_info to understand the board metadata. This is essential for constructing proper column values and knowing which columns are available."}getInputSchema(){return this.context?.boardId?kf:Of}async executeInternal(e){const t=this.context?.boardId??e.boardId;if(e.duplicateFromItemId&&e.parentItemId)throw new Error("Cannot specify both parentItemId and duplicateFromItemId. Please provide only one of these parameters.");return e.duplicateFromItemId?await this.duplicateAndUpdateItem(e,t):e.parentItemId?await this.createSubitem(e):await this.createNewItem(e,t)}async duplicateAndUpdateItem(e,t){try{const a={boardId:t.toString(),itemId:e.duplicateFromItemId.toString()},r=await this.mondayApi.request(Nf,a);if(!r.duplicate_item?.id)throw new Error("Failed to duplicate item: no item duplicated");let i;try{i=JSON.parse(e.columnValues)}catch(e){throw new Error("Invalid JSON in columnValues")}const o={...i,name:e.name},n=new tu(this.mondayApi,{boardId:t});return await n.execute({itemId:parseInt(r.duplicate_item.id),columnValues:JSON.stringify(o)}),{content:{message:`Item ${r.duplicate_item.id} duplicated from ${e.duplicateFromItemId}`,item_id:r.duplicate_item.id,item_name:r.duplicate_item.name,item_url:r.duplicate_item.url,board_id:t}}}catch(e){sf(e,"duplicate item")}}async createSubitem(e){const t={parentItemId:e.parentItemId.toString(),itemName:e.name,columnValues:e.columnValues};try{const a=await this.mondayApi.request(Af,t);if(!a.create_subitem?.id)throw new Error("Failed to create subitem: no subitem created");return{content:{message:`Subitem ${a.create_subitem.id} created under ${e.parentItemId}`,item_id:a.create_subitem.id,item_name:a.create_subitem.name,item_url:a.create_subitem.url}}}catch(e){sf(e,"create subitem")}}async createNewItem(e,t){try{const a={boardId:t.toString(),itemName:e.name,groupId:e.groupId,columnValues:e.columnValues},r=await this.mondayApi.request(zc,a);return{content:{message:`Item ${r.create_item?.id} successfully created`,item_id:r.create_item?.id,item_name:r.create_item?.name,item_url:r.create_item?.url,board_id:t}}}catch(e){sf(e,"create item")}}},class extends Ci{constructor(){super(...arguments),this.name="create_update",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Update",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new update (comment/post) on a monday.com item. Updates can be used to add comments, notes, or discussions to items. You can optionally mention users, teams, or boards in the update. You can also reply to an existing update by using the parentId parameter."}getInputSchema(){return xf}async executeInternal(e){let t;if(e.mentionsList)try{const a=JSON.parse(e.mentionsList),r=Cf.safeParse(a);if(!r.success)throw new Error(`Invalid mentionsList format: ${r.error.message}`);t=r.data}catch(e){throw new Error(`Invalid mentionsList JSON format: ${e.message}`)}try{const a={itemId:e.itemId.toString(),body:e.body,mentionsList:t,parentId:e.parentId?.toString()},r=await this.mondayApi.request(Rf,a);if(!r.create_update?.id)throw new Error("Failed to create update: no update created");return{content:{message:`Update ${r.create_update.id} created on item ${e.itemId}`,update_id:r.create_update.id,item_id:e.itemId,item_name:r.create_update.item?.name,item_url:r.create_update.item?.url}}}catch(e){sf(e,"create update")}}},class extends Ci{constructor(){super(...arguments),this.name="get_updates",this.type=Yr.READ,this.annotations=Pi({title:"Get Updates",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get updates (comments/posts) from a monday.com item or board. Specify objectId and objectType (Item or Board) to retrieve updates. For Board queries, you can filter by date range using fromDate and toDate (both required together, ISO8601 format). By default, Board queries return only board discussion. Set includeItemUpdates to true to also include updates on individual items. Returns update text, creator info, timestamps, and optionally replies and assets."}getInputSchema(){return Vf}async executeInternal(e){try{const t=void 0!==e.fromDate,a=void 0!==e.toDate;if(t!==a)throw new Error("Both fromDate and toDate must be provided together for date range filtering");if((t||a)&&e.objectType===Lf.Item)throw new Error("Date range filtering (fromDate/toDate) is only supported for Board objectType");const r={limit:e.limit??25,page:e.page??1,includeReplies:e.includeReplies??!1,includeAssets:e.includeAssets??!1};let i;i=e.objectType===Lf.Item?await this.mondayApi.request(Ff,{...r,itemId:e.objectId}):await this.mondayApi.request(zf,{...r,boardId:e.objectId,boardUpdatesOnly:!e.includeItemUpdates,...e.fromDate&&e.toDate?{fromDate:Uf(e.fromDate),toDate:Uf(e.toDate)}:{}});const o=e.objectType===Lf.Item?i.items?.[0]?.updates:i.boards?.[0]?.updates;if(!o||0===o.length)return{content:`No updates found for ${e.objectType.toLowerCase()} with id ${e.objectId}`};const n=o.map((t=>{const a={id:t.id,text_body:t.text_body,created_at:t.created_at,updated_at:t.updated_at,creator:t.creator?{id:t.creator.id,name:t.creator.name}:null,item_id:t.item_id};return e.includeReplies&&t.replies&&(a.replies=t.replies.map((e=>({id:e.id,text_body:e.text_body,created_at:e.created_at,updated_at:e.updated_at,creator:e.creator?{id:e.creator.id,name:e.creator.name}:null})))),e.includeAssets&&t.assets&&(a.assets=t.assets.filter((e=>!!e)).map((e=>({id:e.id,name:e.name,url:e.url,file_extension:e.file_extension,file_size:e.file_size,created_at:e.created_at})))),a})),s=e.objectType===Lf.Item?i.items?.[0]?.url:i.boards?.[0]?.url;return{content:{message:"Updates retrieved",[`${e.objectType.toLowerCase()}_id`]:e.objectId,url:s,updates:n,pagination:{page:e.page??1,limit:e.limit??25,count:n.length}}}}catch(e){sf(e,"get updates")}}},class extends Ci{constructor(){super(...arguments),this.name="create_update_in_monday",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Update in Monday, after calling this tool you should",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new update (comment/post) on a monday.com item. Updates can be used to add comments, notes, or discussions to items. You can optionally mention users, teams, or boards in the update. After calling this tool you should call the full board data tool to get data, and immediately after that call the show table tool to show the data from that tool. IMPORTANT: You MUST use the COMPLETE data from the full board data tool - do NOT cut, truncate, or omit any data. Pass the entire dataset to the show table tool."}getInputSchema(){return R_}async executeInternal(e){let t;if(e.mentionsList)try{const a=JSON.parse(e.mentionsList),r=$_.safeParse(a);if(!r.success)throw new Error(`Invalid mentionsList format: ${r.error.message}`);t=r.data}catch(e){throw new Error(`Invalid mentionsList JSON format: ${e.message}`)}try{const a={itemId:e.itemId.toString(),body:e.body,mentionsList:t},r=await this.mondayApi.request(Rf,a);if(!r.create_update?.id)throw new Error("Failed to create update: no update created");return{content:{message:`Update ${r.create_update.id} successfully created on item ${e.itemId}`,update_id:r.create_update.id,item_id:e.itemId,next_steps:"Now call the full board data tool to get data, then immediately call the show table tool to show that data. CRITICAL: You MUST pass the COMPLETE and FULL data from the full board data tool to the show table tool - do NOT cut, summarize, truncate, or omit ANY data. Use the entire dataset exactly as received."}}}catch(e){sf(e,"create update")}}},class extends Ci{constructor(){super(...arguments),this.name="get_board_schema",this.type=Yr.READ,this.annotations=Pi({title:"Get Board Schema",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get board schema (columns and groups) by board id"}getInputSchema(){if(!this.context?.boardId)return pv}async executeInternal(e){const t=this.context?.boardId??e.boardId,a={boardId:t.toString()},r=await this.mondayApi.request(Lc,a);return{content:{message:"Board schema retrieved",board_id:t,columns:r.boards?.[0]?.columns?.map((e=>({id:e?.id,title:e?.title,type:e?.type})))??[],groups:r.boards?.[0]?.groups?.map((e=>({id:e?.id,title:e?.title})))??[]}}}},class extends Ci{constructor(){super(...arguments),this.name="get_board_activity",this.type=Yr.READ,this.annotations=Pi({title:"Get Board Activity",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}),this.defaultLimit=1e3}getDescription(){return"Get board activity logs for a specified time range (defaults to last 30 days)"}getInputSchema(){return Jf}async executeInternal(e){const t=new Date,a=new Date(t.getTime()-of.MONTH30Days),r=e?.fromDate||a.toISOString(),i=e?.toDate||t.toISOString(),o={boardId:e.boardId.toString(),fromDate:r,toDate:i,limit:this.defaultLimit,page:1,includeData:e.includeData??!1},n=await this.mondayApi.request(Kf,o),s=n.boards?.[0]?.activity_logs;if(!s||0===s.length)return{content:`No activity found for board ${e.boardId} in the specified time range (${r} to ${i}).`};const d=n.boards?.[0],p=e.includeData??!1;return{content:{message:"Board activity retrieved",board_id:e.boardId,board_name:d?.name,board_url:d?.url,data:s.filter((e=>null!=e)).map((e=>({created_at:e.created_at,event:e.event,entity:e.entity,user_id:e.user_id,...p&&e.data?{data:e.data}:{}})))}}}},class extends Ci{constructor(){super(...arguments),this.name="get_board_info",this.type=Yr.READ,this.annotations=Pi({title:"Get Board Info",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get comprehensive board information including metadata, structure, owners, and configuration. Also returns the board's views (e.g. table views, filter views) — each view includes its id, name, type, and a structured filter object. "}getInputSchema(){return ov}async executeInternal(e){const t={boardId:e.boardId.toString()},a=await this.mondayApi.request(Xf,t),r=a.boards?.[0];if(!r)return{content:`Board with id ${e.boardId} not found or you don't have access to it.`};const i=await this.getSubItemsBoardAsync(r);return{content:ev(r,i)}}async getSubItemsBoardAsync(e){const t=e.columns?.find((e=>e?.type===_f.Subtasks));if(!t)return null;const a=t.settings.boardIds[0],r=await this.mondayApi.request(Zf,{boardId:a});return r.boards?.[0]??null}},class extends Ci{constructor(){super(...arguments),this.name="get_full_board_data",this.type=Yr.READ,this.annotations=Pi({title:"Get Full Board Data",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"INTERNAL USE ONLY - DO NOT CALL THIS TOOL DIRECTLY. This tool is exclusively triggered by UI components and should never be invoked directly by the agent."}getInputSchema(){return Yf}async executeInternal(e){try{const t={boardId:e.boardId,itemsLimit:7};e.filters&&(t.queryParams={operator:e.filtersOperator,rules:e.filters.map((e=>({column_id:e.columnId.toString(),compare_value:e.compareValue,operator:e.operator,compare_attribute:e.compareAttribute})))});const a=await this.mondayApi.request(Hf,t);if(!a.boards||0===a.boards.length||!a.boards[0])throw new Error(`Board with ID ${e.boardId} not found`);const r=a.boards[0],i=new Set;r.items_page.items.forEach((e=>{e.updates?.forEach((e=>{e.creator_id&&i.add(e.creator_id),e.replies?.forEach((e=>{e.creator_id&&i.add(e.creator_id)}))})),e.column_values.forEach((e=>{if("persons_and_teams"in e){const t=e;t.persons_and_teams?.forEach((e=>{"person"===e.kind&&e.id&&i.add(e.id)}))}}))}));const o=Array.from(i).filter((e=>!(Number(e)<0)));let n=[];if(o.length>0){const e={userIds:o},t=await this.mondayApi.request(Gf,e);n=t.users?.filter((e=>null!==e))||[]}const s=new Map(n.map((e=>[e.id,e])));return{content:{board:{id:r.id,name:r.name,columns:r.columns,items:r.items_page.items.map((e=>({id:e.id,name:e.name,column_values:e.column_values,updates:e.updates?.map((e=>({id:e.id,creator_id:e.creator_id||"",creator:e.creator_id&&s.get(e.creator_id)||null,text_body:e.text_body,created_at:e.created_at,replies:e.replies?.map((e=>({id:e.id,creator_id:e.creator_id||"",creator:e.creator_id&&s.get(e.creator_id)||null,text_body:e.text_body,created_at:e.created_at})))||[]})))||[]})))},users:n,stats:{total_items:r.items_page.items.length,total_updates:r.items_page.items.reduce(((e,t)=>e+(t.updates?.length||0)),0),total_unique_creators:n.length}}}}catch(e){sf(e,"get full board data")}}},class extends Ci{constructor(){super(...arguments),this.name="list_users_and_teams",this.type=Yr.READ,this.annotations=Pi({title:"List Users and Teams",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Tool to fetch users and/or teams data. \n\n MANDATORY BEST PRACTICES:\n 1. ALWAYS use specific IDs or names when available\n 2. If no ids available, use name search if possible (USERS ONLY)\n 3. Use 'getMe: true' to get current user information\n 4. AVOID broad queries (no parameters) - use only as last resort\n\n REQUIRED PARAMETER PRIORITY (use in this order):\n 1. getMe - STANDALONE\n 2. userIds\n 3. name - STANDALONE (USERS ONLY, NOT for teams)\n 4. teamIds + teamsOnly\n 5. No parameters - LAST RESORT\n\n CRITICAL USAGE RULES:\n • userIds + teamIds requires explicit includeTeams: true flag\n • includeTeams: true fetches both users and teams, do not use this to fetch a specific user's teams rather fetch that user by id and you will get their team memberships.\n • name parameter is for USER search ONLY - it cannot be used to search for teams. Use teamIds to fetch specific teams."}getInputSchema(){return Vv}async executeInternal(e){const t=e.userIds&&e.userIds.length>0,a=e.teamIds&&e.teamIds.length>0,r=e.includeTeams||!1,i=e.teamsOnly||!1,o=e.includeTeamMembers||!1,n=!!e.name;if(e.getMe||!1){if(t||a||r||i||o||n)return{content:"PARAMETER_CONFLICT: getMe is STANDALONE only. Remove all other parameters when using getMe: true for current user lookup."};const e=await this.mondayApi.request(kv);if(!e.me)return{content:"AUTHENTICATION_ERROR: Current user fetch failed. Verify API token and user permissions."};const s={users:[e.me]},d=Rv(s),p=await zv(this.mondayApi);return{content:{data:d,action_name:"Users and teams",url:p?`https://${p}.monday.com/teams/all`:void 0}}}if(n){if(t||a||r||i||o)return{content:"PARAMETER_CONFLICT: name is STANDALONE only. Remove userIds, teamIds, includeTeams, teamsOnly, and includeTeamMembers when using name search."};const n={name:e.name},s=await this.mondayApi.request(Av,n);if(!s.users||0===s.users.length)return{content:`NAME_SEARCH_EMPTY: No users found matching "${e.name}". Try broader search terms or verify user exists in account.`};const d=s.users.filter((e=>null!==e)).map((e=>`• **${e.name}** (ID: ${e.id})${e.title?` - ${e.title}`:""}`)).join("\n"),p=`Found ${s.users.length} user(s) matching "${e.name}":\n\n${d}`,l=await zv(this.mondayApi);return{content:{data:p,action_name:"Users and teams",url:l?`https://${l}.monday.com/teams/all`:void 0}}}if(i&&r)return{content:"PARAMETER_CONFLICT: Cannot use teamsOnly: true with includeTeams: true. Use teamsOnly for teams-only queries or includeTeams for combined data."};if(t&&e.userIds&&e.userIds.length>Pv)return{content:`LIMIT_EXCEEDED: userIds array too large (${e.userIds.length}/500). Split into batches of max 500 IDs and make multiple calls.`};if(a&&e.teamIds&&e.teamIds.length>Cv)return{content:`LIMIT_EXCEEDED: teamIds array too large (${e.teamIds.length}/500). Split into batches of max 500 IDs and make multiple calls.`};let s;if(i||!t&&a&&!r)if(o){const t={teamIds:e.teamIds};s=await this.mondayApi.request(Nv,t)}else{const t={teamIds:e.teamIds};s=await this.mondayApi.request(Dv,t)}else if(r){const t={userIds:e.userIds,teamIds:e.teamIds,limit:xv};s=await this.mondayApi.request(Sv,t)}else if(t){const t={userIds:e.userIds,limit:xv};s=await this.mondayApi.request(Tv,t)}else{const e={userIds:void 0,limit:xv};s=await this.mondayApi.request(Ev,e)}const d=Rv(s),p=await zv(this.mondayApi);return{content:{data:d,action_name:"Users and teams",url:p?`https://${p}.monday.com/teams/all`:void 0}}}},tu,class extends Ci{constructor(){super(...arguments),this.name="move_item_to_group",this.type=Yr.WRITE,this.annotations=Pi({title:"Move Item to Group",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Move an item to a group in a monday.com board"}getInputSchema(){return Uv}async executeInternal(e){const t={itemId:e.itemId.toString(),groupId:e.groupId},a=await this.mondayApi.request(Uc,t);return{content:`Item ${a.move_item_to_group?.id} successfully moved to group ${e.groupId}`}}},class extends Ci{constructor(){super(...arguments),this.name="create_board",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Board",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a monday.com board"}getInputSchema(){return $u}async executeInternal(e){const t={boardName:e.boardName,boardKind:e.boardKind,boardDescription:e.boardDescription,workspaceId:e.workspaceId},a=await this.mondayApi.request(jc,t);return{content:{message:`Board ${a.create_board?.id} successfully created`,board_id:a.create_board?.id,board_name:a.create_board?.name,board_url:a.create_board?.url}}}},class extends Ci{constructor(){super(...arguments),this.name="create_form",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Form",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a monday.com form. Also creates a backing board to store responses. Returns the formToken for future mutations."}getInputSchema(){return lh}async executeInternal(e){const t={destination_workspace_id:e.destination_workspace_id,destination_folder_id:e.destination_folder_id,destination_folder_name:e.destination_folder_name,board_kind:e.board_kind,destination_name:e.destination_name,board_owner_ids:e.board_owner_ids,board_owner_team_ids:e.board_owner_team_ids,board_subscriber_ids:e.board_subscriber_ids,board_subscriber_teams_ids:e.board_subscriber_teams_ids},a=await this.mondayApi.request(Mu,t);return{content:{message:"Form created successfully",board_id:a.create_form?.boardId,form_token:a.create_form?.token}}}},class extends Ci{constructor(){super(...arguments),this.name="update_form",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Form",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0}),this.helpers=new ef(this.mondayApi),this.actionHandlers=new Map([[Oh.setFormPassword,this.helpers.setFormPassword.bind(this.helpers)],[Oh.shortenFormUrl,this.helpers.shortenFormUrl.bind(this.helpers)],[Oh.deactivate,this.helpers.deactivateForm.bind(this.helpers)],[Oh.activate,this.helpers.activateForm.bind(this.helpers)],[Oh.createTag,this.helpers.createTag.bind(this.helpers)],[Oh.deleteTag,this.helpers.deleteTag.bind(this.helpers)],[Oh.updateTag,this.helpers.updateTag.bind(this.helpers)],[Oh.updateAppearance,this.helpers.updateAppearance.bind(this.helpers)],[Oh.updateAccessibility,this.helpers.updateAccessibility.bind(this.helpers)],[Oh.updateFeatures,this.helpers.updateFeatures.bind(this.helpers)],[Oh.updateQuestionOrder,this.helpers.updateQuestionOrder.bind(this.helpers)],[Oh.updateFormHeader,this.helpers.updateFormHeader.bind(this.helpers)]])}getDescription(){return"Update a monday.com form. Use the action field to specify the operation."}getInputSchema(){return Zh}async executeInternal(e){const t=this.actionHandlers.get(e.action);return t?await t(e):{content:"Received an invalid action for the update form tool."}}},class extends Ci{constructor(){super(...arguments),this.name="get_form",this.type=Yr.READ,this.annotations=Pi({title:"Get Form",readOnlyHint:!0,destructiveHint:!1})}getDescription(){return"Get a monday.com form by its form token. Form tokens can be extracted from the form's url. Given a form url, such as https://forms.monday.com/forms/abc123def456ghi789?r=use1, the formToken is the alphanumeric string that appears right after /forms/ and before the ?. In the example, the formToken is abc123def456ghi789."}getInputSchema(){return tf}async executeInternal(e){const t={formToken:e.formToken},a=await this.mondayApi.request(qu,t);return a.form?{content:{message:"Form retrieved",form_token:e.formToken,data:a.form}}:{content:`Form with token ${e.formToken} not found or you don't have access to it.`}}},class extends Ci{constructor(){super(...arguments),this.name="form_questions_editor",this.type=Yr.WRITE,this.annotations=Pi({title:"Form Questions Editor",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1}),this.helpers=new kh(this.mondayApi),this.actionHandlers=new Map([[Dh.Delete,this.helpers.deleteQuestion.bind(this.helpers)],[Dh.Update,this.helpers.updateQuestion.bind(this.helpers)],[Dh.Create,this.helpers.createQuestion.bind(this.helpers)]])}getDescription(){return"Create, update, or delete a question in a monday.com form"}getInputSchema(){return Ah}async executeInternal(e){const t=this.actionHandlers.get(e.action);return t?await t(e):{content:`Unknown action: ${e.action}`}}},class extends Ci{constructor(){super(...arguments),this.name="create_form_submission",this.type=Yr.WRITE,this.annotations=Pi({title:"Create WorkForm Submission",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Submit a response to a monday.com WorkForm. Use get_form first to retrieve the WorkForm, then:\n- Inspect each question's showIfRules to determine which questions are conditionally shown based on previous answers.\n- Inspect each question's settings for any answer constraints (e.g. rating limits, select options, label limits).\n- Take note of any titles, descriptions, and content blocks to present the form naturally as you walk the user through it.\n- Take note of pages and question order to present questions in the correct sequence.\nGather all answers upfront before calling this tool — do not submit one question at a time. Accepts a bare form token, a full WorkForm URL (e.g. https://forms.monday.com/forms/{form_token}?r=use1), or a shortened wkf.ms URL (e.g. https://wkf.ms/4tqP28t) — shortened URLs are automatically resolved by following the redirect. Returns the submission ID."}getInputSchema(){return gf}extractTokenFromUrl(e){const t=e.match(/\/forms\/([^/?]+)/);return t?t[1]:null}async resolveFormToken(e){if(e.includes("wkf.ms")){const t=(await g.default.head(e,{maxRedirects:0,validateStatus:e=>e<400})).headers.location;return t?this.extractTokenFromUrl(t):null}return e.startsWith("http://")||e.startsWith("https://")?this.extractTokenFromUrl(e):e}async executeInternal(e){const t=await this.resolveFormToken(e.form_token);if(!t)return{content:`Could not resolve a WorkForm token from "${e.form_token}". Please provide a valid WorkForm token or full WorkForm URL (e.g. https://forms.monday.com/forms/abc123).`};const a={form_token:t,answers:e.answers,form_timezone_offset:e.form_timezone_offset,password:e.password,tags:e.tags};try{const e=await this.mondayApi.request(pf,a,{versionOverride:"dev"});return e.create_form_submission?{content:{message:"WorkForm submitted successfully",submission_id:e.create_form_submission.id}}:{content:`WorkForm with token ${t} was not found or is not accepting submissions. Verify the WorkForm token is correct, the WorkForm is active, and any required password was provided.`}}catch(e){sf(e,"submit form")}}},class extends Ci{constructor(){super(...arguments),this.name="create_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Column",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new column in a monday.com board"}getInputSchema(){return this.context?.boardId?yf:bf}async executeInternal(e){const t=this.context?.boardId??e.boardId,a={boardId:t?.toString()??"",columnType:e.columnType,columnTitle:e.columnTitle,columnDescription:e.columnDescription,columnSettings:"string"==typeof e.columnSettings?JSON.parse(e.columnSettings):e.columnSettings},r=await this.mondayApi.request(Mc,a);return{content:{message:"Column successfully created",column_id:r.create_column?.id,column_title:r.create_column?.title}}}},class extends Ci{constructor(){super(...arguments),this.name="create_group",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Group",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new group in a monday.com board. Groups are sections that organize related items. Use when users want to add structure, categorize items, or create workflow phases. Groups can be positioned relative to existing groups and assigned predefined colors. Items will always be created in the top group and so the top group should be the most relevant one for new item creation"}getInputSchema(){return Df}async executeInternal(e){const t={boardId:e.boardId,groupName:e.groupName,groupColor:e.groupColor,relativeTo:e.relativeTo,positionRelativeMethod:e.positionRelativeMethod},a=await this.mondayApi.request(Ef,t);return{content:{message:"Group created successfully",group_id:a.create_group?.id,group_title:a.create_group?.title,board_id:e.boardId,group_name:e.groupName}}}},class extends Ci{constructor(){super(...arguments),this.name="delete_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Delete Column",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return"Delete a column from a monday.com board"}getInputSchema(){return this.context?.boardId?jf:Mf}async executeInternal(e){const t={boardId:(this.context?.boardId??e.boardId).toString(),columnId:e.columnId},a=await this.mondayApi.request(qc,t);return{content:{message:`Column ${a.delete_column?.id} successfully deleted`,column_id:a.delete_column?.id}}}},Xc,class extends Ci{constructor(){super(...arguments),this.name="get_graphql_schema",this.type=Yr.ALL_API,this.annotations=Pi({title:"Get GraphQL Schema",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Fetch the monday.com GraphQL schema structure including query and mutation definitions. This tool returns available query fields, mutation fields, and a list of GraphQL types in the schema. You can filter results by operation type (read/write) to focus on either queries or mutations."}getInputSchema(){return uv}async executeInternal(e){try{const t=await this.mondayApi.request(Bc),a=e?.operationType,r=t.__schema,i="write"!==a?t.queryType?.fields?.map((e=>({name:e.name,description:e.description??null})))??[]:void 0,o="read"!==a?t.mutationType?.fields?.map((e=>({name:e.name,description:e.description??null})))??[]:void 0,n=r?.types?.filter((e=>e.name&&!e.name.startsWith("__"))).map((e=>({name:e.name,kind:e.kind??"unknown"})))??[];return{content:{message:"GraphQL schema retrieved",...void 0!==i&&{query_fields:i},...void 0!==o&&{mutation_fields:o},types:n}}}catch(e){return{content:`Error fetching GraphQL schema: ${e instanceof Error?e.message:"Unknown error"}`}}}},class extends Ci{constructor(){super(...arguments),this.name="get_column_type_info",this.type=Yr.READ,this.annotations=Pi({title:"Get Column Type Info",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Retrieves comprehensive information about a specific column type, including JSON schema definition and other metadata. Use this before creating columns with the create_column tool to understand the structure, validation rules, and available properties for column settings."}getInputSchema(){return cv}async executeInternal(e){const t={type:e.columnType},a=await this.mondayApi.request(lv,t);if(!a?.get_column_type_schema)return{content:`Information for column type "${e.columnType}" not found or not available.`};const r={schema:a.get_column_type_schema};return{content:{message:`Column type info for ${e.columnType}`,data:r,url:mv}}}},class extends Ci{constructor(){super(...arguments),this.name="get_type_details",this.type=Yr.ALL_API,this.annotations=Pi({title:"Get Type Details",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get detailed information about a specific GraphQL type from the monday.com API schema"}getInputSchema(){return hv}async executeInternal(e){try{if(!e.typeName)return{content:"Error: typeName is required. Please provide a valid GraphQL type name."};const a=(t=e.typeName,$c`
|
|
2159
2159
|
query getTypeDetails {
|
|
2160
2160
|
__type(name: "${t}") {
|
|
2161
2161
|
name
|
|
@@ -2243,5 +2243,5 @@
|
|
|
2243
2243
|
}
|
|
2244
2244
|
}
|
|
2245
2245
|
}
|
|
2246
|
-
`),r=await this.mondayApi.request(a);return r.__type?{content:{message:"Type details retrieved",data:{name:r.__type.name,kind:r.__type.kind,description:r.__type.description??null,fields:r.__type.fields??[],inputFields:r.__type.inputFields??[],interfaces:r.__type.interfaces??[],enumValues:r.__type.enumValues??[],possibleTypes:r.__type.possibleTypes??[]}}}:{content:`Type '${e.typeName}' not found in the GraphQL schema. Please check the type name and try again.`}}catch(e){const t=e instanceof Error?e.message:"Unknown error",a=t.includes("JSON");return{content:`Error fetching type details: ${t}${a?"\n\nThis could be because the type name is incorrect or the GraphQL query format is invalid. Please check the type name and try again.":""}`}}var t}},class extends Ci{constructor(){super(...arguments),this.name="create_custom_activity",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Custom Activity",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new custom activity in the E&A app"}getInputSchema(){return wf}async executeInternal(e){const t={color:e.color,icon_id:e.icon_id,name:e.name};return await this.mondayApi.request(Gc,t),{content:{message:`Custom activity '${e.name}' with color ${e.color} and icon ${e.icon_id} successfully created`,name:e.name,color:e.color,icon_id:e.icon_id}}}},class extends Ci{constructor(){super(...arguments),this.name="create_notification",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Notification",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return'Send a notification to a user via the bell icon and optionally by email. Use target_type "Post" for updates/replies or "Project" for items/boards.'}getInputSchema(){return Tf}async executeInternal(e){const t={user_id:e.user_id,target_id:e.target_id,text:e.text,target_type:e.target_type};try{await this.mondayApi.request(If,t);return{content:{message:"Notification sent",user_id:e.user_id,text:e.text}}}catch(t){return{content:`Failed to send notification to user ${e.user_id}`}}}},class extends Ci{constructor(){super(...arguments),this.name="create_timeline_item",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Timeline Item",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new timeline item in the E&A app"}getInputSchema(){return $f}async executeInternal(e){const t={item_id:e.item_id.toString(),custom_activity_id:e.custom_activity_id,title:e.title,timestamp:e.timestamp,summary:e.summary,content:e.content,location:e.location,phone:e.phone,url:e.url};e.start_timestamp&&e.end_timestamp&&(t.time_range={start_timestamp:e.start_timestamp,end_timestamp:e.end_timestamp});const a=await this.mondayApi.request(Wc,t);return{content:{message:`Timeline item '${e.title}' with ID ${a.create_timeline_item?.id} successfully created on item ${e.item_id}`,timeline_item_id:a.create_timeline_item?.id,item_id:e.item_id,title:e.title}}}},class extends Ci{constructor(){super(...arguments),this.name="fetch_custom_activity",this.type=Yr.READ,this.annotations=Pi({title:"Fetch Custom Activities",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get custom activities from the E&A app"}getInputSchema(){return Bf}async executeInternal(e){const t=await this.mondayApi.request(Qc);if(!t.custom_activity||0===t.custom_activity.length)return{content:{message:"No custom activities found",data:[]}};const a=t.custom_activity.map((e=>({id:e.id,name:e.name,color:e.color,icon_id:e.icon_id,type:e.type})));return{content:{message:`Found ${a.length} custom activities`,data:a}}}},class extends Ci{constructor(){super(...arguments),this.name="read_docs",this.type=Yr.READ,this.annotations=Pi({title:"Read Documents",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return'Get information about monday.com documents. Supports two modes:\n\nMODE: "content" (default) — Fetch documents with their full markdown content.\n- Requires: type ("ids" | "object_ids" | "workspace_ids") and ids array\n- Supports pagination via page/limit. Check has_more_pages in response.\n- If type "ids" returns no results, automatically retries with object_ids.\n- Set include_blocks: true to include block IDs, types, and positions in the response — required before calling update_doc.\n- Set include_comments: true to fetch all comments and replies on the document. Use comments_limit to control how many comments per item (default 50).\n\nMODE: "version_history" — Fetch the edit history of a single document.\n- Requires: ids with the document\'s object_id (use the object_id field from content mode results, NOT the id field).\n- The object_id is the numeric ID visible in the document URL.\n- Returns restoring points sorted newest-first. Use version_history_limit to cap results (e.g., "last 3 changes" → version_history_limit: 3).\n- Use since/until to filter by time range. If omitted, returns full history.\n- Set include_diff: true to see what content changed between versions (fetches up to 10 diffs, may be slower).\n- Examples:\n - { mode: "version_history", ids: ["5001466606"], version_history_limit: 3 }\n - { mode: "version_history", ids: ["5001466606"], since: "2026-03-11T00:00:00Z", include_diff: true }'}getInputSchema(){return Bv}async executeInternal(e){return e.mode===Mv?this.executeVersionHistory(e):this.executeContent(e)}async executeContent(e){try{if(!e.type||!e.ids||0===e.ids.length)return{content:'Error: type and ids are required when mode is "content".'};let t,a,r;switch(this.sessionContext.metadata={...this.sessionContext.metadata,mode:e.mode??jv,include_comments:e.include_comments??!1,include_blocks:e.include_blocks??!1},e.type){case"ids":t=e.ids;break;case"object_ids":a=e.ids;break;case"workspace_ids":r=e.ids}const i=e.include_blocks??!1,o={ids:t,object_ids:a,limit:e.limit||25,order_by:e.order_by,page:e.page,workspace_ids:r,includeBlocks:i};let n=await this.mondayApi.request(Rc,o);if((!n.docs||0===n.docs.length)&&t){const a={ids:void 0,object_ids:t,limit:e.limit||25,order_by:e.order_by,page:e.page,workspace_ids:r,includeBlocks:i};n=await this.mondayApi.request(Rc,a)}if(!n.docs||0===n.docs.length){return{content:`No documents found matching the specified criteria${e.page?` (page ${e.page})`:""}.`}}const s=e.include_comments??!1,d=e.comments_limit??50;return this.sessionContext.metadata={...this.sessionContext.metadata,doc_ids:n.docs.flatMap((e=>e?[e.id]:[])),object_ids:n.docs.flatMap((e=>e?.object_id?[e.object_id]:[]))},this.enrichDocsWithMarkdown(n.docs,o,i,s,d)}catch(e){return{content:`Error reading documents: ${e instanceof Error?e.message:"Unknown error occurred"}`}}}async executeVersionHistory(e){const{include_diff:t,since:a,until:r,version_history_limit:i}=e,o=e.ids?.[0];if(!o)return{content:'Error: ids is required when mode is "version_history". Provide the document object_id.'};this.sessionContext.metadata={...this.sessionContext.metadata,mode:Mv,object_ids:[o]};try{const e={docId:o,since:a,until:r},n=await this.mondayApi.request(Pc,e);let s=n?.doc_version_history?.restoring_points;if(!s||0===s.length)return{content:`No version history found for document ${o}${a?` from ${a}`:""}.`};if(!t)return i&&(s=s.slice(0,i)),{content:{doc_id:o,since:a,until:r,restoring_points:s}};const d=Math.min(i??10,10),p=s.slice(0,d+1),l=s.length>d,m=(await Promise.allSettled(p.map((async(e,t)=>{if(t===p.length-1||!e.date)return e;const a=p[t+1];if(!a?.date)return e;const r={docId:o,date:e.date,prevDate:a.date},i=await this.mondayApi.request(xc,r);return{...e,diff:i?.doc_version_diff?.blocks??[]}}))).then((e=>e.map(((e,t)=>"fulfilled"===e.status?e.value:p[t]))))).slice(0,d);return{content:{doc_id:o,since:a,until:r,restoring_points:m,...l&&{truncated:!0,total_count:s.length}}}}catch(e){return{content:`Error fetching version history for document ${o}: ${e instanceof Error?e.message:"Unknown error"}`}}}async fetchDocComments(e,t){try{const a={boardId:e,itemsLimit:100,updatesLimit:t},r=await this.mondayApi.request(Cc,a),i=r.boards?.[0]?.items_page?.items;if(!i)return[];const o=[];for(const e of i)if(e.updates&&0!==e.updates.length)for(const t of e.updates)o.push({id:t.id,text_body:t.text_body,body:t.body,created_at:t.created_at,creator:t.creator?{id:t.creator.id,name:t.creator.name}:null,item_id:e.id,item_name:e.name,replies:(t.replies??[]).map((e=>({id:e.id,text_body:e.text_body,body:e.body,created_at:e.created_at,creator:e.creator?{id:e.creator.id,name:e.creator.name}:null})))});return o}catch(e){return`Error fetching comments: ${e instanceof Error?e.message:"Unknown error"}`}}async enrichDocsWithMarkdown(e,t,a,r=!1,i=50){const o=await Promise.all(e.filter((e=>null!==e)).map((async e=>{let t,o="";try{const t={docId:e.id},a=await this.mondayApi.request(Yc,t);o=a.export_markdown_from_doc.success&&a.export_markdown_from_doc.markdown?a.export_markdown_from_doc.markdown:`Error getting markdown: ${a.export_markdown_from_doc.error||"Unknown error"}`}catch(e){o=`Error getting markdown: ${e instanceof Error?e.message:"Unknown error"}`}return r&&e.object_id&&(t=await this.fetchDocComments(e.object_id,i)),{id:e.id,object_id:e.object_id,name:e.name,doc_kind:e.doc_kind,created_at:e.created_at,created_by:e.created_by?.name||"Unknown",url:e.url,relative_url:e.relative_url,workspace:e.workspace?.name||"Unknown",workspace_id:e.workspace_id,doc_folder_id:e.doc_folder_id,settings:e.settings,...a&&{blocks:(e.blocks??[]).filter((e=>null!=e)).map((e=>({id:e.id,type:e.type,parent_block_id:e.parent_block_id,position:e.position,content:e.content})))},blocks_as_markdown:o,...r&&{comments:t}}}))),n=t.page||1,s=t.limit||25,d=o.length,p=d===s;return{content:{message:`Documents retrieved (${o.length})`,pagination:{current_page:n,limit:s,count:d,has_more_pages:p},data:o}}}},class extends Ci{constructor(){super(...arguments),this.name="workspace_info",this.type=Yr.READ,this.annotations=Pi({title:"Get Workspace Information",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"This tool returns the boards, docs and folders in a workspace and which folder they are in. It returns up to 100 of each object type, if you receive 100 assume there are additional objects of that type in the workspace."}getInputSchema(){return Hv}async executeInternal(e){const t={workspace_id:e.workspace_id},a=await this.mondayApi.request(Kc,t);if(!a.workspaces||0===a.workspaces.length)return{content:`No workspace found with ID ${e.workspace_id}`};const r=function(e,t){const{workspaces:a,boards:r,docs:i,folders:o}=e,n=a?.[0];if(!n)throw new Error("No workspace found");const s=new Map((o||[]).filter((e=>null!=e&&null!=e.id&&null!=e.name)).map((e=>[e.id,{id:e.id,name:e.name,boards:[],docs:[]}]))),d=[];(r||[]).filter((e=>null!=e&&null!=e.id&&null!=e.name)).forEach((e=>{const t={id:e.id,name:e.name};e.board_folder_id&&s.has(e.board_folder_id)?s.get(e.board_folder_id).boards.push(t):d.push(t)}));const p=[];return(i||[]).filter((e=>null!=e&&null!=e.id&&null!=e.name)).forEach((e=>{const t={id:e.id,name:e.name};e.doc_folder_id&&s.has(e.doc_folder_id)?s.get(e.doc_folder_id).docs.push(t):p.push(t)})),{workspace:{id:n.id,name:n.name,url:t?Lv(t,n.id):void 0,description:n.description||"",kind:n.kind||"",created_at:n.created_at||"",state:n.state||"",is_default_workspace:n.is_default_workspace||!1,owners_subscribers:(n.owners_subscribers||[]).filter((e=>null!=e&&null!=e.id&&null!=e.name&&null!=e.email)).map((e=>({id:e.id,name:e.name,email:e.email})))},folders:Array.from(s.values()),root_items:{boards:d,docs:p}}}(a,await zv(this.mondayApi));return{content:{message:"Workspace info retrieved",data:r}}}},class extends Ci{constructor(){super(...arguments),this.name="list_workspaces",this.type=Yr.READ,this.annotations=Pi({title:"List Workspaces",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"List all workspaces available to the user. Returns up to 500 workspaces with their ID, name, and description."}getInputSchema(){return Jv}async executeInternal(e){const t=e.searchTerm?1e4:e.limit,a=e.searchTerm?1:e.page;let r=null;if(e.searchTerm&&(r=Qv(e.searchTerm),0===r.length))throw new Error("Search term did not include any alphanumeric characters. Please provide a valid search term.");const i=e=>({limit:t,page:a,membershipKind:e}),o=Yv(await this.mondayApi.request(Gv,i(pm.Member))),n=!Kv(o)||r&&!function(e,t){return t.some((t=>Qv(t.name).includes(e)))}(r,o);let s=o;if(n){s=Yv(await this.mondayApi.request(Gv,i(pm.All)))}if(!Kv(s))return{content:{message:"No workspaces found.",data:[]}};const d=r&&s?.length<=Wv,p=function(e,t,a,r){if(!e||t.length<=Wv)return t;const i=(a-1)*r,o=i+r;return t.filter((t=>Qv(t.name).includes(e))).slice(i,o)}(r,s,e.page,e.limit);if(!Kv(p))return{content:{message:"No workspaces found matching the search term. Try using the tool without a search term",data:[]}};const l=p.length===e.limit,m=await zv(this.mondayApi),c=p.map((e=>({id:e.id,name:e.name,description:e.description||void 0,url:m&&e.id?Lv(m,e.id):void 0})));return{content:{message:"Workspaces retrieved",...d?{disclaimer:"Search term not applied - returning all workspaces. Perform the filtering manually."}:{},...l?{next_page:e.page+1}:{},data:c}}}},class extends Ci{constructor(){super(...arguments),this.name="create_doc",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Document",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return'Create a new monday.com doc either inside a workspace or attached to an item (via a doc column). After creation, the provided markdown will be appended to the document.\n\nLOCATION TYPES:\n- workspace: Creates a document in a workspace (requires workspace_id, optional doc_kind, optional folder_id)\n- item: Creates a document attached to an item (requires item_id, optional column_id)\n\nUSAGE EXAMPLES:\n- Workspace doc: { location: "workspace", workspace_id: 123, doc_kind: "private" , markdown: "..." }\n- Workspace doc in folder: { location: "workspace", workspace_id: 123, folder_id: 17264196 , markdown: "..." }\n- Item doc: { location: "item", item_id: 456, column_id: "doc_col_1" , markdown: "..." }'}getInputSchema(){return ig}async executeInternal(e){const t=rg.safeParse({...e,type:e.location});if(!t.success)return{content:`Required parameters were not provided for location parameter of ${e.location}`};const a=t.data;try{let t,r,i;if(a.type===ag.enum.workspace){const o={location:{workspace:{workspace_id:a.workspace_id.toString(),name:e.doc_name,kind:a.doc_kind||op.Public,folder_id:a.folder_id?.toString()}}},n=await this.mondayApi.request(Zv,o);t=n?.create_doc?.id??void 0,r=n?.create_doc?.object_id??void 0,i=n?.create_doc?.url??void 0}else if(a.type===ag.enum.item){const o={itemId:a.item_id.toString()},n=await this.mondayApi.request(Xv,o),s=n.items?.[0];if(!s)return{content:`Error: Item with id ${a.item_id} not found.`};const d=s.board?.id,p=s.board?.columns?.find((e=>e&&e.type===_f.Doc));let l=a.column_id;if(!l)if(p)l=p.id;else{const e={boardId:d.toString(),columnType:_f.Doc,columnTitle:"Doc"},t=await this.mondayApi.request(Mc,e);if(l=t?.create_column?.id,!l)return{content:"Error: Failed to create doc column."}}const m={location:{board:{item_id:a.item_id.toString(),column_id:l}}},c=await this.mondayApi.request(Zv,m);if(t=c.create_doc?.id??void 0,r=c.create_doc?.object_id??void 0,i=c.create_doc?.url??void 0,e.doc_name&&t)try{const a={docId:t,name:e.doc_name};await this.mondayApi.request(tg,a)}catch(e){console.warn("Failed to update doc name:",e)}}if(!t)return{content:"Error: Failed to create document."};const o={docId:t,markdown:e.markdown},n=await this.mondayApi.request(eg,o),s=n?.add_content_to_doc_from_markdown?.success,d=n?.add_content_to_doc_from_markdown?.error;return s?(this.sessionContext.metadata={...this.sessionContext.metadata,location:e.location,...t&&{doc_id:t},...r&&{object_id:r}},{content:{message:"Document successfully created",doc_id:t,object_id:r,doc_url:i,doc_name:e.doc_name}}):{content:`Document ${t} created, but failed to add markdown content: ${d||"Unknown error"}`}}catch(e){return{content:`Error creating document: ${e instanceof Error?e.message:"Unknown error"}`}}}},class extends Ci{constructor(){super(...arguments),this.name="add_content_to_doc",this.type=Yr.WRITE,this.annotations=Pi({title:"Add Content to Document",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return'Add markdown content to an existing monday.com document.\n\nIDENTIFICATION: Provide either doc_id or object_id to identify the document:\n- doc_id: The document ID (the id field returned by read_docs). Takes priority if both provided.\n- object_id: The document object ID (the object_id field from read_docs, also visible in the document URL). Will be resolved to a doc_id.\n\nUSAGE EXAMPLES:\n- By doc_id: { doc_id: "123", markdown: "# New Section\\nContent here" }\n- By object_id: { object_id: "456", markdown: "# New Section\\nContent here" }\n- Insert after block: { doc_id: "123", markdown: "Inserted content", after_block_id: "block_789" }'}getInputSchema(){return dg}async executeInternal(e){if(!e.doc_id&&!e.object_id)return{content:"Error: Either doc_id or object_id must be provided."};try{let t=null;if(e.doc_id){const a=await this.mondayApi.request(sg,{docId:[e.doc_id]});t=a.docs?.[0]??null}else{const a=await this.mondayApi.request(ng,{objectId:[e.object_id]});t=a.docs?.[0]??null}if(!t){return{content:`Error: No document found for ${e.doc_id?`doc_id ${e.doc_id}`:`object_id ${e.object_id}`}.`}}this.sessionContext.metadata={...this.sessionContext.metadata,doc_id:t.id,...e.object_id&&{object_id:e.object_id}};const a={docId:t.id,markdown:e.markdown,afterBlockId:e.after_block_id},r=await this.mondayApi.request(og,a);if(!r?.add_content_to_doc_from_markdown)return{content:"Error: Failed to add content to document — no response from API."};const{success:i,block_ids:o,error:n}=r.add_content_to_doc_from_markdown;if(!i)return{content:`Error adding content to document: ${n||"Unknown error"}`};const s=o?.length??0;return{content:{message:`Successfully added content to document ${t.id}. ${s} block${1===s?"":"s"} created.`,doc_id:t.id,block_ids:o,doc_name:t.name,doc_url:t.url}}}catch(e){return{content:`Error adding content to document: ${e instanceof Error?e.message:"Unknown error"}`}}}},class extends Ci{constructor(){super(...arguments),this.name="update_doc",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Document",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return'Update an existing monday.com document. Provide doc_id (preferred) or object_id, plus an ordered operations array (executed sequentially, stops on first failure).\n\nOPERATIONS:\n- set_name: Rename the document.\n- add_markdown_content: Append markdown as blocks (or insert after a block). Best for text, headings, lists, simple tables — no block IDs needed.\n- update_block: Update content of an existing text, code, or list_item block in-place.\n- create_block: Create a new block at a precise position. Use parent_block_id to nest inside notice_box, table cell, or layout cell.\n- delete_block: Remove any block. The ONLY option for BOARD, WIDGET, DOC embed, and GIPHY blocks.\n- replace_block: Delete a block and create a new one in its place (use when update_block is not supported).\n- add_comment: Create a new comment or reply on the document (doc-level, block-level, or text-selection).\n\nWHEN TO USE EACH OPERATION:\n- text / code / list_item → update_block. Use replace_block to change subtype (e.g. NORMAL_TEXT→LARGE_TITLE)\n- divider / table / image / video / notice_box / layout → replace_block (properties immutable after creation)\n- BOARD / WIDGET / DOC / GIPHY → delete_block only\n\nGETTING BLOCK IDs: Call read_docs with include_blocks: true — returns id, type, position, and content per block.\n\nBLOCK CONTENT (delta_format): Array of insert ops. Last op MUST be {insert: {text: "\\n"}}.\n- Plain: [{insert: {text: "Hello"}}, {insert: {text: "\\n"}}]\n- Bold: [{insert: {text: "Hi"}, attributes: {bold: true}}, {insert: {text: "\\n"}}]\n- Mention user/doc/board: [{insert: {text: "Hey "}}, {insert: {mention: {id: 12345, type: "USER"}}}, {insert: {text: "\\n"}}] — type is USER, DOC, or BOARD. id is numeric (user IDs from list_users_and_teams)\n- Inline column value: [{insert: {column_value: {item_id: 111, column_id: "status"}}}, {insert: {text: "\\n"}}]\n- Supported attributes: bold, italic, underline, strike, code, link, color, background (not applicable to mention/column_value ops)\n\nIMAGE WITH ASSET: For asset-based images, use create_block with block_type "image" and asset_id (instead of public_url). add_markdown_content does NOT support asset images — for mixed content, alternate add_markdown_content (text) and create_block (image) operations in sequence.\n\nCOMMENTS:\n- add_comment: Create a new comment or reply on the document. Three scopes:\n - Doc-level (no block_id): comment appears on the doc as a whole.\n - Block-level (block_id only): comment is anchored to a specific block. The block shows a comment indicator in the UI.\n - Text-selection (block_id + selection_from + selection_length): comment is anchored to a specific character range inside a text/code/list_item block. That text is highlighted with a comment marker.\n Block-level and text-selection comments only work on blocks with text content (text, code, list_item, title, quote). They do NOT work on: divider, page_break, table, layout, notice_box, image, video, or giphy blocks.\n Get block IDs from read_docs with include_blocks: true. Format body with HTML, not markdown. Use mentions_list for @mentions.'}getInputSchema(){return Zg}async executeInternal(e){if(!e.doc_id&&!e.object_id)return{content:"Error: Either doc_id or object_id must be provided."};this.sessionContext.metadata={...this.sessionContext.metadata,operation_types:e.operations?.map((e=>e.operation_type)),operation_count:e.operations?.length??0,...e.object_id&&{object_id:e.object_id}};try{let t=e.doc_id;if(!t){const a=await this.mondayApi.request(mg,{objectId:[e.object_id]}),r=a.docs?.[0];if(!r)return{content:`Error: No document found for object_id ${e.object_id}.`};t=r.id}const a=[];let r=null;for(let i=0;i<e.operations.length;i++){const o=e.operations[i];try{const r=await this.executeOperation(t,o,e.object_id);a.push(`- [OK] ${o.operation_type}${r?`: ${r}`:""}`)}catch(e){const t=e instanceof Error?e.message:"Unknown error";a.push(`- [FAILED] ${o.operation_type}: ${t}`),r=i;break}}const i=null!==r?r:e.operations.length,o=e.operations.length,n=`Completed ${i}/${o} operation${1===o?"":"s"} on doc ${t}.`;return this.sessionContext.metadata={...this.sessionContext.metadata,doc_id:t},{content:`${n}\n\nResults:\n${a.join("\n")}\n\nDoc ID: ${t}`}}catch(e){return{content:`Error: ${e instanceof Error?e.message:String(e)}`}}}async executeOperation(e,t,a){switch(t.operation_type){case"set_name":return this.executeSetName(e,t.name);case"add_markdown_content":return this.executeAddMarkdown(e,t.markdown,t.after_block_id);case"update_block":return this.executeUpdateBlock(t.block_id,t.content);case"create_block":return this.executeCreateBlock(e,t.block,t.after_block_id,t.parent_block_id);case"delete_block":return this.executeDeleteBlock(t.block_id);case"replace_block":return this.executeReplaceBlock(e,t.block_id,t.block,t.after_block_id,t.parent_block_id);case"add_comment":return this.executeAddComment(e,a,t.body,t.parent_update_id,t.mentions_list,t.block_id,t.selection_from,t.selection_length);default:{const e=t.operation_type;throw new Error(`Unsupported operation type: "${e}"`)}}}async executeSetName(e,t){const a={docId:e,name:t},r=await this.mondayApi.request(pg,a);if(!r?.update_doc_name)throw new Error(`No confirmation from update_doc_name — rename to "${t}" may not have applied`);return`Renamed to "${t}"`}async executeAddMarkdown(e,t,a){if(!t.trim())throw new Error("markdown must not be empty");const r={docId:e,markdown:t,afterBlockId:a},i=await this.mondayApi.request(lg,r),o=i?.add_content_to_doc_from_markdown;if(!o?.success)throw new Error(o?.error||"Failed to add markdown content");const n=o.block_ids?.length??0;return`${n} block${1===n?"":"s"} added${o.block_ids?.length?`. Block IDs: ${o.block_ids.join(", ")}`:""}`}async executeUpdateBlock(e,t){const a=function(e){switch(e.block_content_type){case"text":return{deltaFormat:Tg(e.delta_format),alignment:e.alignment,direction:e.direction};case"code":return{deltaFormat:Tg(e.delta_format),language:e.language};case"list_item":return{deltaFormat:Tg(e.delta_format),checked:e.checked,indentation:e.indentation};default:{const t=e.block_content_type;throw new Error(`Unsupported block_content_type: "${t}"`)}}}(t),r={blockId:e,content:JSON.stringify(a)},i=await this.mondayApi.request(cg,r);if(!i?.update_doc_block)throw new Error("No response from update_doc_block");return`Block ${e} updated`}async executeCreateBlock(e,t,a,r){const i=function(e){switch(e.block_type){case"text":return{text_block:{delta_format:Ig(e.delta_format),text_block_type:e.text_block_type?e.text_block_type:void 0,alignment:yg(e.alignment),direction:bg(e.direction)}};case"list_item":return{list_block:{delta_format:Ig(e.delta_format),list_block_type:e.list_block_type?e.list_block_type:void 0,indentation:e.indentation}};case"code":return{text_block:{delta_format:Ig(e.delta_format),text_block_type:Hl.Code}};case"divider":return{divider_block:{}};case"page_break":return{page_break_block:{}};case"image":if(null==e.asset_id&&!e.public_url)throw new Error("image block requires either asset_id or public_url");return{image_block:null!=e.asset_id?{asset_id:String(e.asset_id),width:e.width}:{public_url:e.public_url,width:e.width}};case"video":return{video_block:{raw_url:e.raw_url,width:e.width}};case"notice_box":return{notice_box_block:{theme:e.theme}};case"table":return{table_block:{row_count:e.row_count,column_count:e.column_count,width:e.width,column_style:e.column_style?.map((e=>({width:e.width})))}};case"layout":return{layout_block:{column_count:e.column_count,column_style:e.column_style?.map((e=>({width:e.width})))}};default:{const t=e.block_type;throw new Error(`Unsupported block_type: "${t}"`)}}}(t);if(r){const e=Object.keys(i);if(1!==e.length)throw new Error(`Cannot inject parent_block_id: expected exactly 1 key in block input, got: ${e.join(", ")}`);const t=e[0],a=i[t];if(!a||"object"!=typeof a)throw new Error(`Cannot inject parent_block_id into block type "${t}" — block value is not an object`);a.parent_block_id=r}const o={docId:e,afterBlockId:a,blocksInput:[i]},n=await this.mondayApi.request(_g,o),s=n?.create_doc_blocks;if(!s||0===s.length)throw new Error("No blocks returned from create_doc_blocks");return`Block created (ID: ${s.map((e=>e.id)).join(", ")})`}async executeDeleteBlock(e){const t={blockId:e},a=await this.mondayApi.request(ug,t);if(!a?.delete_doc_block)throw new Error("No response from delete_doc_block");return`Block ${e} deleted`}async resolveObjectId(e,t){if(t)return t;const a=await this.mondayApi.request(hg,{docId:[e]}),r=a.docs?.[0];if(!r?.object_id)throw new Error(`Could not resolve object_id for doc ${e}`);return r.object_id}async resolveDocItemId(e){const t=await this.mondayApi.request(fg,{boardId:e}),a=t.boards?.[0]?.items_page?.items?.[0]?.id;if(!a)throw new Error(`No item found on the document backing board (object_id: ${e})`);return a}async fetchAllBlockContent(e){const t=await this.mondayApi.request(vg,{docId:[e]});return(t.docs?.[0]?.blocks??[]).filter((e=>null!=e)).map((t=>{let a;if("string"==typeof t.content)try{a=JSON.parse(t.content)}catch{throw new Error(`Failed to parse content of block ${t.id} in doc ${e} as JSON`)}else a=t.content??{};return{id:t.id??"",type:t.type??"",content:a}}))}async executeAddComment(e,t,a,r,i,o,n,s){if((null!=n||null!=s)&&!o)throw new Error("selection_from and selection_length require block_id");if(null!=n!=(null!=s))throw new Error("selection_from and selection_length must both be provided together");const d=o?Array.isArray(o)?o:[o]:[];if((null!=n||null!=s)&&d.length>1)throw new Error("selection_from and selection_length are only supported with a single block_id");const p=await this.resolveObjectId(e,t),l=await this.resolveDocItemId(p);let m;if(i){const e=JSON.parse(i),t=Cf.safeParse(e);if(!t.success)throw new Error(`Invalid mentions_list format: ${t.error.message}`);m=t.data}const c={itemId:l,body:a,parentId:r?.toString(),mentionsList:m},u=await this.mondayApi.request(gg,c);if(!u.create_update?.id)throw new Error("Failed to create comment: no update returned");const h=u.create_update.id,f=Number(h),v=r?`Reply to update ${r}`:"Comment";if(d.length>0){if(Number.isNaN(f))throw new Error(`${v} created (update ID: ${h}) but block annotation aborted: comment ID is not numeric and cannot be used as a delta reference`);const t=await this.fetchAllBlockContent(e);for(const a of d){const r=t.find((e=>e.id===a));if(!r)throw new Error(`${v} created (update ID: ${h}) but block annotation failed: block ${a} not found in doc ${e}`);const i=r.content.deltaFormat;if(!i)throw new Error(`${v} created (update ID: ${h}) but block annotation failed: block ${a} has no deltaFormat — only text, code, and list_item blocks are supported`);let o=0;for(const e of i)o+="string"==typeof e.insert?e.insert.length:1;if(0===o)throw new Error(`${v} created (update ID: ${h}) but block annotation failed: block ${a} has an empty deltaFormat and cannot be annotated`);const d=n??0,p=s??o;if(d+p>o)throw new Error(`${v} created (update ID: ${h}) but block annotation failed: selection [${d}, ${d+p}) is out of range for block ${a} (total length ${o})`);let l;try{l=Sg(i,f,d,p)}catch(e){const t=e instanceof Error?e.message:String(e);throw new Error(`${v} created (update ID: ${h}) but delta annotation failed for block ${a}: ${t}`)}const m={...r.content,deltaFormat:l},c=await this.mondayApi.request(cg,{blockId:a,content:JSON.stringify(m)});if(!c?.update_doc_block)throw new Error(`${v} created (update ID: ${h}) but block annotation write returned no confirmation for block ${a}`)}}const g=d.length;return`${v} created${g>1?` across ${g} blocks`:1===g?" on block":""} (update ID: ${h})`}async executeReplaceBlock(e,t,a,r,i){await this.executeDeleteBlock(t);try{return`Block ${t} replaced. ${await this.executeCreateBlock(e,a,r,i)}`}catch(e){const a=e instanceof Error?e.message:String(e);throw new Error(`Original block ${t} was deleted, but replacement creation failed: ${a}. The original block is gone.`)}}},class extends Ci{constructor(){super(...arguments),this.name="update_workspace",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Workspace",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Update an existing workspace in monday.com"}getInputSchema(){return n_}async executeInternal(e){const t={id:e.id,attributes:{account_product_id:e.attributeAccountProductId,description:e.attributeDescription,kind:e.attributeKind,name:e.attributeName}},a=await this.mondayApi.request(o_,t),r=await zv(this.mondayApi),i=r?Lv(r,a.update_workspace?.id):void 0;return{content:{message:`Workspace ${a.update_workspace?.id} updated`,workspace_id:a.update_workspace?.id,workspace_name:a.update_workspace?.name,workspace_url:i}}}},class extends Ci{constructor(){super(...arguments),this.name="update_folder",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Folder",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Update an existing folder in monday.com"}getInputSchema(){return d_}async executeInternal(e){const{position_object_id:t,position_object_type:a,position_is_after:r}=e;if(!!t!=!!a)throw new Error("position_object_id and position_object_type must be provided together");const i={folderId:e.folderId,name:e.name,color:e.color,fontWeight:e.fontWeight,customIcon:e.customIcon,parentFolderId:e.parentFolderId,workspaceId:e.workspaceId,accountProductId:e.accountProductId,position:t?{position_is_after:r,position_object_id:t,position_object_type:a}:void 0},o=await this.mondayApi.request(s_,i);return{content:{message:`Folder ${o.update_folder?.id} updated`,folder_id:o.update_folder?.id,folder_name:o.update_folder?.name}}}},class extends Ci{constructor(){super(...arguments),this.name="create_workspace",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Workspace",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new workspace in monday.com"}getInputSchema(){return l_}async executeInternal(e){const t={name:e.name,workspaceKind:e.workspaceKind,description:e.description,accountProductId:e.accountProductId},a=await this.mondayApi.request(p_,t),r=await zv(this.mondayApi),i=r&&a.create_workspace?.id?Lv(r,a.create_workspace.id):void 0;return{content:{message:`Workspace ${a.create_workspace?.id} successfully created`,workspace_id:a.create_workspace?.id,workspace_name:a.create_workspace?.name,workspace_url:i}}}},class extends Ci{constructor(){super(...arguments),this.name="create_folder",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Folder",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new folder in a monday.com workspace"}getInputSchema(){return c_}async executeInternal(e){const t={workspaceId:e.workspaceId,name:e.name,color:e.color,fontWeight:e.fontWeight,customIcon:e.customIcon,parentFolderId:e.parentFolderId},a=await this.mondayApi.request(m_,t);return{content:{message:`Folder ${a.create_folder?.id} successfully created`,folder_id:a.create_folder?.id,folder_name:a.create_folder?.name}}}},class extends Ci{constructor(){super(...arguments),this.name="move_object",this.type=Yr.WRITE,this.annotations=Pi({title:"Move Object",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Move a folder, board, or overview in monday.com. Use position for relative placement based on another object, parentFolderId for folder changes, workspaceId for workspace moves, and accountProductId for account product changes."}getInputSchema(){return f_}async executeUpdateFolder(e){const{id:t,position_object_id:a,position_object_type:r,position_is_after:i,parentFolderId:o,workspaceId:n,accountProductId:s}=e;if(!!a!=!!r)throw new Error("position_object_id and position_object_type must be provided together");const d={folderId:t,position:a?{position_is_after:i,position_object_id:a,position_object_type:r}:void 0,parentFolderId:o,workspaceId:n,accountProductId:s},p=await this.mondayApi.request(s_,d);return{content:{message:"Object moved",object_id:p.update_folder?.id}}}async executeUpdateBoardHierarchy(e){const{id:t,position_object_id:a,position_object_type:r,position_is_after:i,parentFolderId:o,workspaceId:n,accountProductId:s}=e;if(!!a!=!!r)throw new Error("position_object_id and position_object_type must be provided together");const d={boardId:t,attributes:{position:a?{position_is_after:i,position_object_id:a,position_object_type:r}:void 0,folder_id:o,workspace_id:n,account_product_id:s}},p=await this.mondayApi.request(u_,d);return p.update_board_hierarchy?.success?{content:{message:"Board position updated",object_id:p.update_board_hierarchy?.board?.id,action_name:"move_board"}}:{content:`Board position update failed: ${p.update_board_hierarchy?.message}`}}async executeUpdateOverviewHierarchy(e){const{id:t,position_object_id:a,position_object_type:r,position_is_after:i,parentFolderId:o,workspaceId:n,accountProductId:s}=e;if(!!a!=!!r)throw new Error("position_object_id and position_object_type must be provided together");const d={overviewId:t,attributes:{position:a?{position_is_after:i,position_object_id:a,position_object_type:r}:void 0,folder_id:o,workspace_id:n,account_product_id:s}},p=await this.mondayApi.request(h_,d);return p.update_overview_hierarchy?.success?{content:{message:"Overview position updated",object_id:p.update_overview_hierarchy?.overview?.id}}:{content:`Overview position update failed: ${p.update_overview_hierarchy?.message}`}}async executeInternal(e){const{objectType:t}=e;switch(t){case bl.Folder:return this.executeUpdateFolder(e);case bl.Board:return this.executeUpdateBoardHierarchy(e);case bl.Overview:return this.executeUpdateOverviewHierarchy(e);default:throw new Error(`Unsupported object type: ${t}`)}}},class extends Ci{constructor(){super(...arguments),this.name="create_dashboard",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Dashboard",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Use this tool to create a new monday.com dashboard that aggregates data from one or more boards. \n Dashboards provide visual representations of board data through widgets and charts.\n \n Use this tool when users want to:\n - Create a dashboard to visualize board data\n - Aggregate information from multiple boards\n - Set up a data visualization container for widgets"}getInputSchema(){return r_}async executeInternal(e){try{const t={name:e.name,workspace_id:e.workspace_id.toString(),board_ids:e.board_ids,kind:e.kind,board_folder_id:e.board_folder_id?.toString()},a=await this.mondayApi.request(e_,t);if(!a.create_dashboard)throw new Error("Failed to create dashboard");const r=a.create_dashboard;return{content:{message:`Dashboard ${r.id} successfully created`,dashboard_id:r.id,dashboard_name:r.name}}}catch(e){const t=e instanceof Error?e.message:String(e);throw new Error(`Failed to create dashboard: ${t}`)}}},class extends Ci{constructor(){super(...arguments),this.name="all_widgets_schema",this.type=Yr.READ,this.annotations=Pi({title:"Get All Widget Schemas",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Fetch complete JSON Schema 7 definitions for all available widget types in monday.com.\n \n This tool is essential before creating widgets as it provides:\n - Complete schema definitions for all supported widgets\n - Required and optional fields for each widget type\n - Data type specifications and validation rules\n - Detailed descriptions of widget capabilities\n \n Use this tool when you need to:\n - Understand widget configuration requirements before creating widgets\n - Validate widget settings against official schemas\n - Plan widget implementations with proper data structures\n \n The response includes JSON Schema 7 definitions that describe exactly what settings each widget type accepts."}getInputSchema(){return{}}async executeInternal(){try{const e={},t=await this.mondayApi.request(t_,e);if(!t.all_widgets_schema||0===t.all_widgets_schema.length)throw new Error("No widget schemas found - API returned empty response");const a={};let r=0;for(const e of t.all_widgets_schema)if(e?.widget_type&&e?.schema){const t="string"==typeof e.schema?JSON.parse(e.schema):e.schema,i=t?.description||t?.title||`${e.widget_type} widget for data visualization`;a[e.widget_type]={type:e.widget_type,description:i,schema:e.schema},r++}if(0===r)throw new Error("No valid widget schemas found in API response");Object.keys(a).map((e=>`• **${e}**: ${a[e].description}`)).join("\n");return{content:{message:"Widgets schema",data:a,url:mv}}}catch(e){const t=e instanceof Error?e.message:String(e);throw new Error(`Failed to fetch widget schemas: ${t}`)}}},class extends Ci{constructor(){super(...arguments),this.name="create_widget",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Widget",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new widget in a dashboard or board view with specific configuration settings.\n \n This tool creates data visualization widgets that display information from monday.com boards:\n **Parent Containers:**\n - **DASHBOARD**: Place widget in a dashboard (most common use case)\n - **BOARD_VIEW**: Place widget in a specific board view\n \n **Critical Requirements:**\n 1. **Schema Compliance**: Widget settings MUST conform to the JSON schema for the specific widget type\n 2. **Use all_widgets_schema first**: Always fetch widget schemas before creating widgets\n 3. **Validate settings**: Ensure all required fields are provided and data types match\n \n **Workflow:**\n 1. Use 'all_widgets_schema' to get schema definitions\n 2. Prepare widget settings according to the schema\n 3. Use this tool to create the widget"}getInputSchema(){return i_}async executeInternal(e){if(!e.settings)throw new Error("You must pass the settings parameter");try{const t={parent:{kind:e.parent_container_type,id:e.parent_container_id.toString()},kind:e.widget_kind,name:e.widget_name,settings:e.settings},a=await this.mondayApi.request(a_,t);if(!a.create_widget)throw new Error("Failed to create widget");const r=a.create_widget;r.parent?.kind===sm.Dashboard?r.parent.id:r.parent;return{content:{message:`Widget ${r.id} created`,widget_id:r.id,widget_name:r.name,dashboard_id:r.parent?.id}}}catch(t){const a=t instanceof Error?t.message:String(t);throw new Error(`Failed to create ${e.widget_kind} widget: ${a}`)}}},class extends Ci{constructor(){super(...arguments),this.name="board_insights",this.type=Yr.READ,this.annotations=Pi({title:"Get Board Insights",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"This tool allows you to calculate insights about board's data by filtering, grouping and aggregating columns. For example, you can get the total number of items in a board, the number of items in each status, the number of items in each column, etc. Use this tool when you need to get a summary of the board's data, for example, you want to know the total number of items in a board, the number of items in each status, the number of items in each column, etc.[REQUIRED PRECONDITION]: Before using this tool, if new columns were added to the board or if you are not familiar with the board's structure (column IDs, column types, status labels, etc.), first use get_board_info to understand the board metadata. This is essential for constructing proper filters and knowing which columns are available.[IMPORTANT]: For some columns, human-friendly label is returned inside 'LABEL_<column_id' field. E.g. for column with id 'status_123' the label is returned inside 'LABEL_status_123' field."}getInputSchema(){return w_}async executeInternal(e){if(!e.aggregations)return{content:'Input must contain the "aggregations" field.'};const{selectElements:t,groupByElements:a}=function(e){const t={},a=e.groupBy?.map((e=>({column_id:e})))||[],r=new Set(e.aggregations.filter((e=>e.function===Md.Label)).map((e=>e.columnId))),i=e.groupBy?.filter((e=>!r.has(e))).map((e=>({function:Md.Label,columnId:e})))??[],o=e.aggregations.concat(i).map((e=>{if(e.function){const o=`${e.function}_${e.columnId}`,n=t[o]||0;t[o]=n+1;const s=`${o}_${n}`;return y_.has(e.function)&&(a.some((e=>e.column_id===s))||a.push({column_id:s})),{type:jd.Function,function:(r=e.function,i=e.columnId,{function:r,params:r===Md.CountItems?[]:[{type:jd.Column,column:b_(i),as:i}]}),as:s}}var r,i;const o={type:jd.Column,column:b_(e.columnId),as:e.columnId};return a.some((t=>t.column_id===e.columnId))||a.push({column_id:e.columnId}),o}));return a.forEach((e=>{o.some((t=>t.as===e.column_id))||o.push({type:jd.Column,column:b_(e.column_id),as:e.column_id})})),{selectElements:o,groupByElements:a}}(e),r=function(e){if(!e.filters&&!e.orderBy)return;const t={};return e.filters&&(t.rules=e.filters.map((e=>({column_id:e.columnId,compare_value:e.compareValue,operator:e.operator,compare_attribute:e.compareAttribute}))),t.operator=e.filtersOperator),e.orderBy&&(t.order_by=function(e){return e.orderBy?.map((e=>({column_id:e.columnId,direction:e.direction})))}(e)),t}(e),i=function(e){return{id:e.boardId.toString(),type:Ud.Table}}(e),o={query:{from:i,query:r,select:t,group_by:a,limit:e.limit},boardId:String(e.boardId)},n=await this.mondayApi.request(v_,o),s=(n.aggregate?.results??[]).map((e=>{const t={};return(e.entries??[]).forEach((e=>{const a=e.alias??"";if(!a)return;const r=e.value;if(!r)return void(t[a]=null);const i=r.result??r.value??null;t[a]=i})),t}));return s.length?{content:{message:"Board insights retrieved",board_name:n.boards?.[0]?.name,board_url:n.boards?.[0]?.url,data:s}}:{content:"No board insights found for the given query."}}},class extends Ci{constructor(){super(...arguments),this.name="search",this.type=Yr.READ,this.annotations=Pi({title:"Search",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Search within monday.com platform. Can search for boards, documents, forms, folders.\nFor users and teams, use list_users_and_teams tool.\nFor workspaces, use list_workspaces tool.\nFor items and groups, use get_board_items_page tool.\nFor groups, use get_board_info tool.\nIMPORTANT: ids returned by this tool are prefixed with the type of the object (e.g doc-123, board-456, folder-789). When passing the ids to other tools, you need to remove the prefix and just pass the number.\n "}getInputSchema(){return k_}async executeInternal(e){if(e.searchType!==A_.FOLDERS&&e.searchTerm)try{return{content:{message:"Search results",data:(await this.searchWithDevEndpointAsync(e)).items}}}catch(e){df(e)}const t={[A_.BOARD]:this.searchBoardsAsync.bind(this),[A_.DOCUMENTS]:this.searchDocsAsync.bind(this),[A_.FOLDERS]:this.searchFoldersAsync.bind(this)}[e.searchType];if(!t)throw new Error(`Unsupported search type: ${e.searchType}`);const a=await t(e);return{content:{message:"Search results",disclaimer:a.wasFiltered||!e.searchTerm?void 0:"[IMPORTANT]Items were not filtered. Please perform the filtering.",data:a.items}}}async searchWithDevEndpointAsync(e){if(e.page>1)throw new Error("Pagination is not supported for search, increase the limit parameter instead");const t=e.workspaceIds?.map((e=>e.toString()));if(e.searchType===A_.BOARD)return this.searchBoardsWithDevEndpointAsync(e.searchTerm,e.limit,t);if(e.searchType===A_.DOCUMENTS)return this.searchDocsWithDevEndpointAsync(e.searchTerm,e.limit,t);throw new Error(`Unsupported search type for dev endpoint: ${e.searchType}`)}async searchBoardsWithDevEndpointAsync(e,t,a){const r={query:e,limit:t,workspaceIds:a};return{items:(await this.mondayApi.request(S_,r,{versionOverride:"dev",timeout:nf})).search.boards.results.map((e=>({id:N_.BOARD+e.indexed_data.id,title:e.indexed_data.name,url:e.indexed_data.url}))),wasFiltered:!0}}async searchDocsWithDevEndpointAsync(e,t,a){const r={query:e,limit:t,workspaceIds:a};return{items:(await this.mondayApi.request(D_,r,{versionOverride:"dev",timeout:nf})).search.docs.results.map((e=>({id:N_.DOCUMENT+e.indexed_data.id,title:e.indexed_data.name}))),wasFiltered:!0}}async searchFoldersAsync(e){const t={...this.getPagingParamsForSearch(e,100),workspace_ids:e.workspaceIds?.map((e=>e.toString()))};t.workspace_ids??=[],0===t.workspace_ids.length&&sf(new Error("Searching for folders require specifying workspace ids"),"search folders");const a=await this.mondayApi.request(E_,t),r=this.searchAndVirtuallyPaginate(e,a.folders||[],(e=>e.name));return{items:r.items.map((e=>({id:N_.FOLDER+e.id,title:e.name}))),wasFiltered:r.wasFiltered}}async searchDocsAsync(e){const t={...this.getPagingParamsForSearch(e),workspace_ids:e.workspaceIds?.map((e=>e.toString()))},a=await this.mondayApi.request(T_,t),r=this.searchAndVirtuallyPaginate(e,a.docs||[],(e=>e.name));return{items:r.items.map((e=>({id:N_.DOCUMENT+e.id,title:e.name,url:e.url||void 0}))),wasFiltered:r.wasFiltered}}async searchBoardsAsync(e){const t={...this.getPagingParamsForSearch(e),workspace_ids:e.workspaceIds?.map((e=>e.toString()))},a=await this.mondayApi.request(I_,t),r=this.searchAndVirtuallyPaginate(e,a.boards||[],(e=>e.name));return{items:r.items.map((e=>({id:N_.BOARD+e.id,title:e.name,url:e.url}))),wasFiltered:r.wasFiltered}}getPagingParamsForSearch(e,t=1e3){return{page:e.searchTerm?1:e.page,limit:e.searchTerm?Math.min(1e3,t):e.limit}}searchAndVirtuallyPaginate(e,t,a){if(t.length<=20)return{items:t,wasFiltered:!1};const r=Qv(e.searchTerm??""),i=(e.page-1)*e.limit,o=i+e.limit;return{items:t.filter((e=>Qv(a(e)).includes(r))).slice(i,o),wasFiltered:!0}}},class extends Ci{constructor(){super(...arguments),this.name="get_user_context",this.type=Yr.READ,this.annotations=Pi({title:"Get User Context",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Fetch current user information and their relevant items (boards, folders, workspaces, dashboards).\n \n Use this tool at the beginning of conversations to:\n - Get context about who the current user is (id, name, title)\n - Discover user's favorite boards, folders, workspaces, and dashboards\n - Get user's most relevant boards based on visit frequency and recency\n - Get user's most relevant people based on interaction frequency and recency\n - Reduce the need for search requests by knowing user's commonly accessed items\n "}getInputSchema(){}async executeInternal(){const{me:e,favorites:t,intelligence:a}=await this.mondayApi.request(L_,{},{versionOverride:"dev"});if(!e)return{content:"AUTHENTICATION_ERROR: Unable to fetch current user. Verify API token and user permissions."};return{content:{message:"User context",...{user:e,favorites:await this.fetchFavorites(t||[]),relevantBoards:this.extractRelevantBoards(a),relevantPeople:this.extractRelevantPeople(a)}}}}async fetchFavorites(e){const t=this.groupByType(e),a=Object.keys(t);if(0===a.length)return[];const r={};for(const e of a)r[U_[e]]=t[e];const i=await this.mondayApi.request(V_,r),o=[];for(const e of a){const t=j_[e];for(const a of i[t]??[])a?.id&&o.push({id:a.id,name:a.name,type:e})}return o}extractRelevantBoards(e){if(!e?.relevant_boards)return[];const t=[];for(const a of e.relevant_boards)a?.id&&a?.board?.name&&t.push({id:a.id,name:a.board.name});return t}extractRelevantPeople(e){if(!e?.relevant_people)return[];const t=[];for(const a of e.relevant_people)a?.id&&a?.user?.name&&t.push({id:a.id,name:a.user.name});return t}groupByType(e){const t={};for(const a of e){const e=a?.object;e?.id&&e?.type&&(t[e.type]??=[]).push(e.id)}return t}},class extends Ci{constructor(){super(...arguments),this.name="update_assets_on_item",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Assets On Item",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Update a file or doc column value on an item using existing assets, docs, or links. Sets the column to the provided list of files, adding new ones and removing any not in the list."}getInputSchema(){return x_}async executeInternal(e){const t={boardId:e.boardId,itemId:e.itemId,columnId:e.columnId,files:e.files},a=await this.mondayApi.request(P_,t);return{content:`Item ${a.update_assets_on_item?.id} (${a.update_assets_on_item?.name}) assets successfully updated`}}},class extends Ci{constructor(){super(...arguments),this.name="get_assets",this.type=Yr.READ,this.annotations=Pi({title:"Get Assets",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get assets (files) by their IDs. Returns file metadata including name, extension, size, public URL (valid for 1 hour), thumbnail URL, upload date, and who uploaded it."}getInputSchema(){return z_}async executeInternal(e){const t=await this.mondayApi.request(F_,{ids:e.ids}),a=t.assets?.filter(Boolean);if(!a||0===a.length)return{content:`No assets found for the provided IDs: ${e.ids.join(", ")}`};return{content:{results:a.map((e=>({id:e.id,name:e.name,file_extension:e.file_extension,file_size:e.file_size,public_url:e.public_url,url:e.url,url_thumbnail:e.url_thumbnail??null,created_at:e.created_at??null,original_geometry:e.original_geometry??null,uploaded_by:e.uploaded_by})))}}}},class extends Ci{constructor(){super(...arguments),this.name="get_notetaker_meetings",this.type=Yr.READ,this.annotations=Pi({title:"Get Notetaker Meetings",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Retrieve notetaker meetings with optional detailed fields. Use include_summary, include_topics, include_action_items, and include_transcript flags to control which details are returned. Use access to filter by meeting access level (OWN, SHARED_WITH_ME, SHARED_WITH_ACCOUNT, ALL). Defaults to OWN. Supports filtering by ids, search term, and cursor-based pagination."}getInputSchema(){return q_}async executeInternal(e){const t={access:e.access};e.ids&&e.ids.length>0&&(t.ids=e.ids),e.search&&(t.search=e.search);const a={limit:e.limit,cursor:e.cursor||void 0,filters:t,includeSummary:e.include_summary,includeTopics:e.include_topics,includeActionItems:e.include_action_items,includeTranscript:e.include_transcript},r=await this.mondayApi.request(M_,a,{versionOverride:"2026-04"}),i=r.notetaker?.meetings;if(!i?.meetings||0===i.meetings.length)return{content:"No notetaker meetings found matching the specified criteria."};return{content:{message:"Meetings retrieved",data:{meetings:i.meetings,pagination:{has_next_page:i.page_info?.has_next_page??!1,cursor:i.page_info?.cursor??null,count:i.meetings.length}}}}}},class extends Ci{constructor(){super(...arguments),this.name="create_view",this.type=Yr.WRITE,this.annotations=Pi({title:"Create View",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return'Create a new board view (tab) with optional filters and sorting. This creates a saved view on a monday.com board that users can switch to.\n\nFilter operators: any_of, not_any_of, is_empty, is_not_empty, greater_than, lower_than, between, contains_text, not_contains_text\n\nExample filter for people column: { "rules": [{ "column_id": "people", "compare_value": ["person-12345"], "operator": "any_of" }] }\nExample filter for status column: { "rules": [{ "column_id": "status", "compare_value": [1], "operator": "any_of" }] }'}getInputSchema(){return Pu}async executeInternal(e){const t={boardId:e.boardId,type:e.type,name:e.name,filter:e.filter,sort:e.sort},a=await this.mondayApi.request(Ru,t);return a.create_view?{content:`View "${a.create_view.name}" (ID: ${a.create_view.id}, type: ${a.create_view.type}) successfully created`}:{content:"Failed to create view - no response from API"}}},class extends Ci{constructor(){super(...arguments),this.name="undo_action",this.type=Yr.WRITE,this.annotations=Pi({title:"Undo Action",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return"Undo a previous action on a board using its action_record_uuid. Supports undoing column changes, deletes, archives, moves, duplicates, and more. Use get_board_activity with includeData=true to find the action_record_uuid."}getInputSchema(){return H_}async executeInternal(e){return await this.mondayApi.request(B_,{boardId:e.boardId.toString(),undoRecordId:e.undoRecordId},{versionOverride:"dev"}),{content:`Successfully undid action "${e.undoRecordId}" on board ${e.boardId}.`}}},class extends Ci{constructor(){super(...arguments),this.name="link_board_items_workflow",this.type=Yr.READ,this.annotations=Pi({title:"Link Board Items Workflow",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"When to use: **link** or **connect** items **across boards** (board-relation / “connect boards” / mirror link). The returned text is the rule: whenever **get_board_items_page** returns **has_more: true**, your only next step is the **next** get_board_items_page (**cursor=nextCursor**) — not a user message, not matching, not writing. This tool is read-only (no API)."}getInputSchema(){return W_}async executeInternal(e){return{content:G_}}},class extends Ci{constructor(){super(...arguments),this.name="create_schema",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Schema",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new account-level schema. Schemas define the structure and columns of boards."}getInputSchema(){return ru}async executeInternal(e){const t=await this.mondayApi.request(au,{name:e.name,parentId:e.parentId,description:e.description},{versionOverride:"dev"});return{content:{message:`Schema "${t.create_schema?.name}" successfully created`,schema_id:t.create_schema?.id,schema_name:t.create_schema?.name}}}},class extends Ci{constructor(){super(...arguments),this.name="get_schemas",this.type=Yr.READ,this.annotations=Pi({title:"Get Schemas",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Retrieve account-level schemas by their IDs or names. Schemas define the structure and columns of boards. Provide ids or names to filter specific schemas. Omit both to list all schemas (paginated)."}getInputSchema(){return ou}async executeInternal(e){const t={ids:e.ids,names:e.names,limit:e.limit,page:e.page},a=(await this.mondayApi.request(iu,t,{versionOverride:"dev"})).get_schemas??[];return{content:{message:`Retrieved ${a.length} schema(s)`,schemas:a}}}},class extends Ci{constructor(){super(...arguments),this.name="update_schema",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Schema",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Update an account-level schema. Requires the current revision number for optimistic locking — retrieve it first via get_schemas."}getInputSchema(){return su}async executeInternal(e){const t={id:e.id,revision:e.revision,parentId:e.parentId,description:e.description},a=await this.mondayApi.request(nu,t,{versionOverride:"dev"});return{content:{message:`Schema "${a.update_schema?.name}" successfully updated`,schema_id:a.update_schema?.id,schema_name:a.update_schema?.name,revision:a.update_schema?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="delete_schema",this.type=Yr.WRITE,this.annotations=Pi({title:"Delete Schema",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return"Delete an account-level schema. Only allowed when no boards are connected to the schema. Provide either id or name."}getInputSchema(){return pu}async executeInternal(e){if(!e.id&&!e.name)throw new Error("Either id or name must be provided");const t={id:e.id,name:e.name},a=await this.mondayApi.request(du,t,{versionOverride:"dev"});return{content:{message:`Schema "${a.delete_schema?.name}" successfully deleted`,schema_id:a.delete_schema?.id,schema_name:a.delete_schema?.name}}}},class extends Ci{constructor(){super(...arguments),this.name="connect_board_to_schema",this.type=Yr.WRITE,this.annotations=Pi({title:"Connect Board to Schema",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Connect a board to an account-level schema. Provide either schemaId or schemaName to identify the schema."}getInputSchema(){return mu}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={boardId:e.boardId,schemaId:e.schemaId,schemaName:e.schemaName},a=await this.mondayApi.request(lu,t,{versionOverride:"dev"});return{content:{message:"Board successfully connected to schema",connection_id:a.connect_board_to_schema?.id,schema_id:a.connect_board_to_schema?.entity_id}}}},class extends Ci{constructor(){super(...arguments),this.name="detach_boards_from_schema",this.type=Yr.WRITE,this.annotations=Pi({title:"Detach Boards from Schema",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Detach one or more boards from their account-level schemas."}getInputSchema(){return uu}async executeInternal(e){const t={boardIds:e.boardIds},a=(await this.mondayApi.request(cu,t,{versionOverride:"dev"})).detach_boards_from_schema??[],r=a.filter((e=>e.success)).length,i=a.filter((e=>!e.success));return{content:{message:`Detached ${r}/${a.length} board(s) from schema`,results:a,...i.length>0&&{failures:i}}}}},class extends Ci{constructor(){super(...arguments),this.name="create_schema_columns",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Schema Columns",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Add columns to an account-level schema. Columns added to a schema are propagated to all boards connected to that schema. IMPORTANT: Before calling this tool, call get_column_type_info for each column type you intend to create to understand the valid structure for the defaults field."}getInputSchema(){return gu}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t=e.columns.map((e=>({type:e.type,title:e.title,description:e.description,defaults:e.defaults,opt_out_by_default:e.opt_out_by_default,policy:{can_override:e.policy?.can_override??[],cannot_delete:e.policy?.cannot_delete??!1}}))),a={schemaId:e.schemaId,schemaName:e.schemaName,columns:t},r=await this.mondayApi.request(hu,a,{versionOverride:"dev"});return{content:{message:`Columns successfully added to schema "${r.create_schema_columns?.name}"`,schema_id:r.create_schema_columns?.id,schema_name:r.create_schema_columns?.name,revision:r.create_schema_columns?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="update_schema_columns",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Schema Columns",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Update columns on an account-level schema. Changes are propagated to all boards connected to the schema. You can send only the columns you want to modify — other columns are unaffected. IMPORTANT: Before calling this tool, call get_column_type_info for each column type whose defaults you intend to modify."}getInputSchema(){return bu}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={schemaId:e.schemaId,schemaName:e.schemaName,columns:e.columns},a=await this.mondayApi.request(_u,t,{versionOverride:"dev"});return{content:{message:`Columns successfully updated on schema "${a.update_schema_columns?.name}"`,schema_id:a.update_schema_columns?.id,schema_name:a.update_schema_columns?.name,revision:a.update_schema_columns?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="deactivate_schema_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Deactivate Schema Column",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Deprecate (soft-disable) a column on an account-level schema. The column is marked as inactive but not deleted. Use reactivate_schema_column to undo."}getInputSchema(){return Iu}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={schemaId:e.schemaId,schemaName:e.schemaName,columnId:e.columnId},a=await this.mondayApi.request(wu,t,{versionOverride:"dev"});return{content:{message:`Column "${e.columnId}" successfully deactivated on schema "${a.deactivate_schema_column?.name}"`,schema_id:a.deactivate_schema_column?.id,schema_name:a.deactivate_schema_column?.name,revision:a.deactivate_schema_column?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="reactivate_schema_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Reactivate Schema Column",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Reactivate a previously deactivated (deprecated) column on an account-level schema."}getInputSchema(){return Eu}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={schemaId:e.schemaId,schemaName:e.schemaName,columnId:e.columnId},a=await this.mondayApi.request(Tu,t,{versionOverride:"dev"});return{content:{message:`Column "${e.columnId}" successfully reactivated on schema "${a.reactivate_schema_column?.name}"`,schema_id:a.reactivate_schema_column?.id,schema_name:a.reactivate_schema_column?.name,revision:a.reactivate_schema_column?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="opt_out_schema_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Opt Out Schema Column",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Set a schema column to opt-out by default. The column will not be automatically added to boards connected to this schema. Use opt_in_schema_column to reverse."}getInputSchema(){return Du}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={schemaId:e.schemaId,schemaName:e.schemaName,columnId:e.columnId},a=await this.mondayApi.request(Su,t,{versionOverride:"dev"});return{content:{message:`Column "${e.columnId}" set to opt-out by default on schema "${a.opt_out_schema_column?.name}"`,schema_id:a.opt_out_schema_column?.id,schema_name:a.opt_out_schema_column?.name,revision:a.opt_out_schema_column?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="opt_in_schema_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Opt In Schema Column",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Set a schema column to opt-in by default. The column will be automatically added to boards connected to this schema. Use opt_out_schema_column to reverse."}getInputSchema(){return Au}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={schemaId:e.schemaId,schemaName:e.schemaName,columnId:e.columnId},a=await this.mondayApi.request(Nu,t,{versionOverride:"dev"});return{content:{message:`Column "${e.columnId}" set to opt-in by default on schema "${a.opt_in_schema_column?.name}"`,schema_id:a.opt_in_schema_column?.id,schema_name:a.opt_in_schema_column?.name,revision:a.opt_in_schema_column?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="delete_schema_columns",this.type=Yr.WRITE,this.annotations=Pi({title:"Delete Schema Columns",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return"Permanently delete columns from an account-level schema. Only allowed when no boards are connected to the schema. Use deactivate_schema_column for a reversible alternative."}getInputSchema(){return Ou}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={entityId:e.schemaId,entityName:e.schemaName,columnIds:e.columnIds},a=await this.mondayApi.request(ku,t,{versionOverride:"dev"});return{content:{message:`${e.columnIds.length} column(s) successfully deleted from schema "${a.delete_entity_columns?.name}"`,schema_id:a.delete_entity_columns?.id,schema_name:a.delete_entity_columns?.name,revision:a.delete_entity_columns?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="fetch_file_content",this.type=Yr.READ,this.annotations=Pi({title:"Fetch File Content",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Fetch and extract the text content from a file stored in a monday.com files column.\n\nUse this tool when you need to read, summarize, or analyze the content of files attached to board items. Provide the item ID and column ID from the get_board_items_page response — the column value will be a URL like \"https://monday.com/protected_static/...\" indicating a file is present (null means no file).\n\nPROACTIVE USE: If you retrieve board items and notice a files column with a non-null value (a URL), consider fetching its content if it could help answer the user's question — don't wait to be explicitly asked.\n\nSupported file types and what is returned:\n- Text files (.txt, .md, .csv, .json): raw text content\n- Word documents (.docx): extracted text content\n- PDF files (.pdf): extracted text content\n- Excel files (.xlsx, .xls): extracted text content per sheet\n- Images (.png, .jpg, .gif, .webp, .svg, .bmp, .ico): returns the public URL so you can view or analyze the image directly\n\nText responses include a total_length field. If has_more is true, the content was truncated — you can call this tool again with next_offset if you need the remaining content.\n\nWhen to use:\n- User asks to summarize, read, or analyze the content of a file in a files column\n- User asks questions about what is inside a file (e.g., \"what does the PDF say?\")\n- User wants to extract data from a CSV or Excel file attached to a board item\n- A board item has a files column with a non-null value and the user's question may be answered by its content — even if the user didn't explicitly ask to read the file\n\nWhen NOT to use:\n- The files column value is null (no file uploaded for that item)"}getInputSchema(){return ay}async executeInternal(e){const{item_id:t,column_id:a,file_name:r,offset:i=0}=e,o=await this.mondayApi.request(Q_,{itemId:[t],columnId:[a]}),n=o?.items?.[0]?.assets;if(!n||0===n.length)return{content:{message:`No file found for item ${t} in column ${a}. The column may be empty or the column ID may be incorrect.`}};return{content:{files:await Promise.all(n.map((e=>iy(e,i,r))))}}}}];var Vy;!function(e){e.API="api",e.APPS="apps",e.ATP="atp"}(Vy||(Vy={}));const Uy=(e,t)=>{let a=[];t?.mode===Vy.APPS?a=[...Ri]:t?.mode!==Vy.API&&t?.mode||(a=[...Ly,...zy]);const r=a.map((t=>((e,t)=>e.prototype instanceof Ci?new e(t.apiClient,t.apiToken,t.context):e.prototype instanceof li?new e(t.apiToken):new e)(t,e)));return r.filter((e=>{if(!t)return e.type!==Yr.ALL_API;if(t.mode===Vy.API&&"only"===t.enableDynamicApiTools)return e.type===Yr.ALL_API;let a=!1;return t.mode===Vy.API&&!1===t.enableDynamicApiTools&&(a=a||e.type===Yr.ALL_API),t.readOnlyMode&&(a=a||e.type!==Yr.READ),t.include?a=a||!t.include?.includes(e.name):t.exclude&&(a=a||t.exclude?.includes(e.name)),!a}))};class jy{constructor(){this.dynamicTools=new Map}registerTool(e,t){const a=e.enabledByDefault??!0,r=a;this.dynamicTools.set(e.name,{instance:e,mcpTool:t,enabled:r,enabledByDefault:a}),a||t.disable()}enableTool(e){const t=this.dynamicTools.get(e);return!!t&&(t.enabled||(t.mcpTool.enable(),t.enabled=!0),!0)}disableTool(e){const t=this.dynamicTools.get(e);return!!t&&(t.enabled&&(t.mcpTool.disable(),t.enabled=!1),!0)}isToolEnabled(e){const t=this.dynamicTools.get(e);return!!t&&t.enabled}isToolEnabledByDefault(e){const t=this.dynamicTools.get(e);return!t||t.enabledByDefault}getToolsStatus(){const e={};return this.dynamicTools.forEach(((t,a)=>{e[a]=t.enabled})),e}getDynamicToolNames(){return Array.from(this.dynamicTools.keys())}getDetailedToolsStatus(){const e={};return this.dynamicTools.forEach(((t,a)=>{e[a]={enabled:t.enabled,enabledByDefault:t.enabledByDefault}})),e}resetToolToDefault(e){const t=this.dynamicTools.get(e);return!!t&&(t.enabledByDefault&&!t.enabled?(t.mcpTool.enable(),t.enabled=!0,!0):!(!t.enabledByDefault&&t.enabled)||(t.mcpTool.disable(),t.enabled=!1,!0))}getAllDynamicTools(){return this.dynamicTools}clear(){this.dynamicTools.clear()}}exports.DynamicToolManager=jy,exports.MondayAgentToolkit=class extends qr{constructor(e){super({name:"monday.com",version:"1.0.0"},{capabilities:{tools:{listChanged:!0}}}),this.dynamicToolManager=new jy,this.toolInstances=[],this.managementTool=null,this.mondayApiClient=this.createApiClient(e),this.mondayApiToken=e.mondayApiToken,this.context={...e.context,apiVersion:e.mondayApiVersion??di},this.registerTools(e)}createApiClient(e){return new a.ApiClient({token:e.mondayApiToken,apiVersion:e.mondayApiVersion??di,endpoint:e.mondayApiEndpoint,requestConfig:{...e.mondayApiRequestConfig,headers:{...e.mondayApiRequestConfig?.headers||{},"user-agent":"monday-api-mcp"}}})}registerTools(e){try{this.toolInstances=this.initializeTools(e),this.toolInstances.forEach((e=>this.registerSingleTool(e))),!0===e.toolsConfiguration?.enableToolManager&&this.registerManagementTool()}catch(e){throw new Error(`Failed to initialize Monday Agent Toolkit: ${e instanceof Error?e.message:String(e)}`)}}registerManagementTool(){const e=new ny;e.setToolkitManager(this.dynamicToolManager),this.managementTool=e,this.registerSingleTool(this.managementTool)}initializeTools(e){const t={apiClient:this.mondayApiClient,apiToken:this.mondayApiToken,context:this.context};return Uy(t,e.toolsConfiguration)}registerSingleTool(t){const a=t.getInputSchema(),r=this.registerTool(t.name,{...t,title:t.annotations?.title,description:t.getDescription(),inputSchema:a,annotations:t.annotations},(async(r,i)=>{try{let i;if(a){const o=e.z.object(a).safeParse(r);if(!o.success)throw new Error(`Invalid arguments: ${o.error.message}`);i=await t.execute(o.data)}else i=await t.execute();return this.formatToolResult(i.content)}catch(e){return this.handleToolError(e,t.name)}}));this.dynamicToolManager.registerTool(t,r)}enableTool(e){return this.dynamicToolManager.enableTool(e)}disableTool(e){return this.dynamicToolManager.disableTool(e)}isToolEnabled(e){return this.dynamicToolManager.isToolEnabled(e)}getToolsStatus(){return this.dynamicToolManager.getToolsStatus()}getDynamicToolNames(){return this.dynamicToolManager.getDynamicToolNames()}getServer(){return this}getTools(e){const t=[...this.toolInstances];return this.managementTool&&t.push(this.managementTool),t.map((t=>({name:t.name,description:t.getDescription(),schema:this.getSchemaForTool(t,e),annotations:t.annotations,handler:this.createToolHandler(t)})))}getToolsForMcp(e){const t=[...this.toolInstances];return this.managementTool&&t.push(this.managementTool),t.map((t=>({name:t.name,description:t.getDescription(),schema:this.getSchemaForTool(t,e),annotations:t.annotations,handler:this.createMcpToolHandler(t)})))}createToolHandler(t){return async a=>{const r=t.getInputSchema();if(r){const i=e.z.object(r).safeParse(a);if(!i.success)throw new Error(`Invalid arguments: ${i.error.message}`);return(await t.execute(i.data)).content}return(await t.execute()).content}}createMcpToolHandler(t){return async(a,r)=>{try{const i=t.getInputSchema();if(i){const o=e.z.object(i).safeParse(a);if(!o.success)throw new Error(`Invalid arguments: ${o.error.message}`);const n=await t.execute(o.data,r);return this.formatToolResult(n.content)}{const e=await t.execute(void 0,r);return this.formatToolResult(e.content)}}catch(e){return{content:[{type:"text",text:`Error: ${e instanceof Error?e.message:String(e)}`}],isError:!0}}}}getSchemaForTool(a,r){const i=a.getInputSchema();if(i)return"json"===r?.schemaFormat?t.zodToJsonSchema(e.z.object(i)):i}formatToolResult(e){return"string"==typeof e?{content:[{type:"text",text:e}]}:{structuredContent:e,content:[{type:"text",text:JSON.stringify(e)}]}}handleToolError(e,t){return{content:[{type:"text",text:`Failed to execute tool ${t}: ${e instanceof Error?e.message:String(e)}`}],isError:!0}}};
|
|
2246
|
+
`),r=await this.mondayApi.request(a);return r.__type?{content:{message:"Type details retrieved",data:{name:r.__type.name,kind:r.__type.kind,description:r.__type.description??null,fields:r.__type.fields??[],inputFields:r.__type.inputFields??[],interfaces:r.__type.interfaces??[],enumValues:r.__type.enumValues??[],possibleTypes:r.__type.possibleTypes??[]}}}:{content:`Type '${e.typeName}' not found in the GraphQL schema. Please check the type name and try again.`}}catch(e){const t=e instanceof Error?e.message:"Unknown error",a=t.includes("JSON");return{content:`Error fetching type details: ${t}${a?"\n\nThis could be because the type name is incorrect or the GraphQL query format is invalid. Please check the type name and try again.":""}`}}var t}},class extends Ci{constructor(){super(...arguments),this.name="create_custom_activity",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Custom Activity",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new custom activity in the E&A app"}getInputSchema(){return wf}async executeInternal(e){const t={color:e.color,icon_id:e.icon_id,name:e.name};return await this.mondayApi.request(Gc,t),{content:{message:`Custom activity '${e.name}' with color ${e.color} and icon ${e.icon_id} successfully created`,name:e.name,color:e.color,icon_id:e.icon_id}}}},class extends Ci{constructor(){super(...arguments),this.name="create_notification",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Notification",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return'Send a notification to a user via the bell icon and optionally by email. Use target_type "Post" for updates/replies or "Project" for items/boards.'}getInputSchema(){return Tf}async executeInternal(e){const t={user_id:e.user_id,target_id:e.target_id,text:e.text,target_type:e.target_type};try{await this.mondayApi.request(If,t);return{content:{message:"Notification sent",user_id:e.user_id,text:e.text}}}catch(t){return{content:`Failed to send notification to user ${e.user_id}`}}}},class extends Ci{constructor(){super(...arguments),this.name="create_timeline_item",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Timeline Item",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new timeline item in the E&A app"}getInputSchema(){return $f}async executeInternal(e){const t={item_id:e.item_id.toString(),custom_activity_id:e.custom_activity_id,title:e.title,timestamp:e.timestamp,summary:e.summary,content:e.content,location:e.location,phone:e.phone,url:e.url};e.start_timestamp&&e.end_timestamp&&(t.time_range={start_timestamp:e.start_timestamp,end_timestamp:e.end_timestamp});const a=await this.mondayApi.request(Wc,t);return{content:{message:`Timeline item '${e.title}' with ID ${a.create_timeline_item?.id} successfully created on item ${e.item_id}`,timeline_item_id:a.create_timeline_item?.id,item_id:e.item_id,title:e.title}}}},class extends Ci{constructor(){super(...arguments),this.name="fetch_custom_activity",this.type=Yr.READ,this.annotations=Pi({title:"Fetch Custom Activities",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get custom activities from the E&A app"}getInputSchema(){return Bf}async executeInternal(e){const t=await this.mondayApi.request(Qc);if(!t.custom_activity||0===t.custom_activity.length)return{content:{message:"No custom activities found",data:[]}};const a=t.custom_activity.map((e=>({id:e.id,name:e.name,color:e.color,icon_id:e.icon_id,type:e.type})));return{content:{message:`Found ${a.length} custom activities`,data:a}}}},class extends Ci{constructor(){super(...arguments),this.name="read_docs",this.type=Yr.READ,this.annotations=Pi({title:"Read Documents",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return'Get information about monday.com documents. Supports two modes:\n\nMODE: "content" (default) — Fetch documents with their full markdown content.\n- Requires: type ("ids" | "object_ids" | "workspace_ids") and ids array\n- Supports pagination via page/limit. Check has_more_pages in response.\n- If type "ids" returns no results, automatically retries with object_ids.\n- Set include_blocks: true to include block IDs, types, and positions in the response — required before calling update_doc.\n- Set include_comments: true to fetch all comments and replies on the document. Use comments_limit to control how many comments per item (default 50).\n\nMODE: "version_history" — Fetch the edit history of a single document.\n- Requires: ids with the document\'s object_id (use the object_id field from content mode results, NOT the id field).\n- The object_id is the numeric ID visible in the document URL.\n- Returns restoring points sorted newest-first. Use version_history_limit to cap results (e.g., "last 3 changes" → version_history_limit: 3).\n- Use since/until to filter by time range. If omitted, returns full history.\n- Set include_diff: true to see what content changed between versions (fetches up to 10 diffs, may be slower).\n- Examples:\n - { mode: "version_history", ids: ["5001466606"], version_history_limit: 3 }\n - { mode: "version_history", ids: ["5001466606"], since: "2026-03-11T00:00:00Z", include_diff: true }'}getInputSchema(){return Bv}async executeInternal(e){return e.mode===Mv?this.executeVersionHistory(e):this.executeContent(e)}async executeContent(e){try{if(!e.type||!e.ids||0===e.ids.length)return{content:'Error: type and ids are required when mode is "content".'};let t,a,r;switch(this.sessionContext.metadata={...this.sessionContext.metadata,mode:e.mode??jv,include_comments:e.include_comments??!1,include_blocks:e.include_blocks??!1},e.type){case"ids":t=e.ids;break;case"object_ids":a=e.ids;break;case"workspace_ids":r=e.ids}const i=e.include_blocks??!1,o={ids:t,object_ids:a,limit:e.limit||25,order_by:e.order_by,page:e.page,workspace_ids:r,includeBlocks:i};let n=await this.mondayApi.request(Rc,o);if((!n.docs||0===n.docs.length)&&t){const a={ids:void 0,object_ids:t,limit:e.limit||25,order_by:e.order_by,page:e.page,workspace_ids:r,includeBlocks:i};n=await this.mondayApi.request(Rc,a)}if(!n.docs||0===n.docs.length){return{content:`No documents found matching the specified criteria${e.page?` (page ${e.page})`:""}.`}}const s=e.include_comments??!1,d=e.comments_limit??50;return this.sessionContext.metadata={...this.sessionContext.metadata,doc_ids:n.docs.flatMap((e=>e?[e.id]:[])),object_ids:n.docs.flatMap((e=>e?.object_id?[e.object_id]:[]))},this.enrichDocsWithMarkdown(n.docs,o,i,s,d)}catch(e){return{content:`Error reading documents: ${e instanceof Error?e.message:"Unknown error occurred"}`}}}async executeVersionHistory(e){const{include_diff:t,since:a,until:r,version_history_limit:i}=e,o=e.ids?.[0];if(!o)return{content:'Error: ids is required when mode is "version_history". Provide the document object_id.'};this.sessionContext.metadata={...this.sessionContext.metadata,mode:Mv,object_ids:[o]};try{const e={docId:o,since:a,until:r},n=await this.mondayApi.request(Pc,e);let s=n?.doc_version_history?.restoring_points;if(!s||0===s.length)return{content:`No version history found for document ${o}${a?` from ${a}`:""}.`};if(!t)return i&&(s=s.slice(0,i)),{content:{doc_id:o,since:a,until:r,restoring_points:s}};const d=Math.min(i??10,10),p=s.slice(0,d+1),l=s.length>d,m=(await Promise.allSettled(p.map((async(e,t)=>{if(t===p.length-1||!e.date)return e;const a=p[t+1];if(!a?.date)return e;const r={docId:o,date:e.date,prevDate:a.date},i=await this.mondayApi.request(xc,r);return{...e,diff:i?.doc_version_diff?.blocks??[]}}))).then((e=>e.map(((e,t)=>"fulfilled"===e.status?e.value:p[t]))))).slice(0,d);return{content:{doc_id:o,since:a,until:r,restoring_points:m,...l&&{truncated:!0,total_count:s.length}}}}catch(e){return{content:`Error fetching version history for document ${o}: ${e instanceof Error?e.message:"Unknown error"}`}}}async fetchDocComments(e,t){try{const a={boardId:e,itemsLimit:100,updatesLimit:t},r=await this.mondayApi.request(Cc,a),i=r.boards?.[0]?.items_page?.items;if(!i)return[];const o=[];for(const e of i)if(e.updates&&0!==e.updates.length)for(const t of e.updates)o.push({id:t.id,text_body:t.text_body,body:t.body,created_at:t.created_at,creator:t.creator?{id:t.creator.id,name:t.creator.name}:null,item_id:e.id,item_name:e.name,replies:(t.replies??[]).map((e=>({id:e.id,text_body:e.text_body,body:e.body,created_at:e.created_at,creator:e.creator?{id:e.creator.id,name:e.creator.name}:null})))});return o}catch(e){return`Error fetching comments: ${e instanceof Error?e.message:"Unknown error"}`}}async enrichDocsWithMarkdown(e,t,a,r=!1,i=50){const o=await Promise.all(e.filter((e=>null!==e)).map((async e=>{let t,o="";try{const t={docId:e.id},a=await this.mondayApi.request(Yc,t);o=a.export_markdown_from_doc.success&&a.export_markdown_from_doc.markdown?a.export_markdown_from_doc.markdown:`Error getting markdown: ${a.export_markdown_from_doc.error||"Unknown error"}`}catch(e){o=`Error getting markdown: ${e instanceof Error?e.message:"Unknown error"}`}return r&&e.object_id&&(t=await this.fetchDocComments(e.object_id,i)),{id:e.id,object_id:e.object_id,name:e.name,doc_kind:e.doc_kind,created_at:e.created_at,created_by:e.created_by?.name||"Unknown",url:e.url,relative_url:e.relative_url,workspace:e.workspace?.name||"Unknown",workspace_id:e.workspace_id,doc_folder_id:e.doc_folder_id,settings:e.settings,...a&&{blocks:(e.blocks??[]).filter((e=>null!=e)).map((e=>({id:e.id,type:e.type,parent_block_id:e.parent_block_id,position:e.position,content:e.content})))},blocks_as_markdown:o,...r&&{comments:t}}}))),n=t.page||1,s=t.limit||25,d=o.length,p=d===s;return{content:{message:`Documents retrieved (${o.length})`,pagination:{current_page:n,limit:s,count:d,has_more_pages:p},data:o}}}},class extends Ci{constructor(){super(...arguments),this.name="workspace_info",this.type=Yr.READ,this.annotations=Pi({title:"Get Workspace Information",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"This tool returns the boards, docs and folders in a workspace and which folder they are in. It returns up to 100 of each object type, if you receive 100 assume there are additional objects of that type in the workspace."}getInputSchema(){return Hv}async executeInternal(e){const t={workspace_id:e.workspace_id},a=await this.mondayApi.request(Kc,t);if(!a.workspaces||0===a.workspaces.length)return{content:`No workspace found with ID ${e.workspace_id}`};const r=function(e,t){const{workspaces:a,boards:r,docs:i,folders:o}=e,n=a?.[0];if(!n)throw new Error("No workspace found");const s=new Map((o||[]).filter((e=>null!=e&&null!=e.id&&null!=e.name)).map((e=>[e.id,{id:e.id,name:e.name,boards:[],docs:[]}]))),d=[];(r||[]).filter((e=>null!=e&&null!=e.id&&null!=e.name)).forEach((e=>{const t={id:e.id,name:e.name};e.board_folder_id&&s.has(e.board_folder_id)?s.get(e.board_folder_id).boards.push(t):d.push(t)}));const p=[];return(i||[]).filter((e=>null!=e&&null!=e.id&&null!=e.name)).forEach((e=>{const t={id:e.id,name:e.name};e.doc_folder_id&&s.has(e.doc_folder_id)?s.get(e.doc_folder_id).docs.push(t):p.push(t)})),{workspace:{id:n.id,name:n.name,url:t?Lv(t,n.id):void 0,description:n.description||"",kind:n.kind||"",created_at:n.created_at||"",state:n.state||"",is_default_workspace:n.is_default_workspace||!1,owners_subscribers:(n.owners_subscribers||[]).filter((e=>null!=e&&null!=e.id&&null!=e.name&&null!=e.email)).map((e=>({id:e.id,name:e.name,email:e.email})))},folders:Array.from(s.values()),root_items:{boards:d,docs:p}}}(a,await zv(this.mondayApi));return{content:{message:"Workspace info retrieved",data:r}}}},class extends Ci{constructor(){super(...arguments),this.name="list_workspaces",this.type=Yr.READ,this.annotations=Pi({title:"List Workspaces",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"List all workspaces available to the user. Returns up to 500 workspaces with their ID, name, and description."}getInputSchema(){return Jv}async executeInternal(e){const t=e.searchTerm?1e4:e.limit,a=e.searchTerm?1:e.page;let r=null;if(e.searchTerm&&(r=Qv(e.searchTerm),0===r.length))throw new Error("Search term did not include any alphanumeric characters. Please provide a valid search term.");const i=e=>({limit:t,page:a,membershipKind:e}),o=Yv(await this.mondayApi.request(Gv,i(pm.Member))),n=!Kv(o)||r&&!function(e,t){return t.some((t=>Qv(t.name).includes(e)))}(r,o);let s=o;if(n){s=Yv(await this.mondayApi.request(Gv,i(pm.All)))}if(!Kv(s))return{content:{message:"No workspaces found.",data:[]}};const d=r&&s?.length<=Wv,p=function(e,t,a,r){if(!e||t.length<=Wv)return t;const i=(a-1)*r,o=i+r;return t.filter((t=>Qv(t.name).includes(e))).slice(i,o)}(r,s,e.page,e.limit);if(!Kv(p))return{content:{message:"No workspaces found matching the search term. Try using the tool without a search term",data:[]}};const l=p.length===e.limit,m=await zv(this.mondayApi),c=p.map((e=>({id:e.id,name:e.name,description:e.description||void 0,url:m&&e.id?Lv(m,e.id):void 0})));return{content:{message:"Workspaces retrieved",...d?{disclaimer:"Search term not applied - returning all workspaces. Perform the filtering manually."}:{},...l?{next_page:e.page+1}:{},data:c}}}},class extends Ci{constructor(){super(...arguments),this.name="create_doc",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Document",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return'Create a new monday.com doc either inside a workspace or attached to an item (via a doc column). After creation, the provided markdown will be appended to the document.\n\nLOCATION TYPES:\n- workspace: Creates a document in a workspace (requires workspace_id, optional doc_kind, optional folder_id)\n- item: Creates a document attached to an item (requires item_id, optional column_id)\n\nUSAGE EXAMPLES:\n- Workspace doc: { location: "workspace", workspace_id: 123, doc_kind: "private" , markdown: "..." }\n- Workspace doc in folder: { location: "workspace", workspace_id: 123, folder_id: 17264196 , markdown: "..." }\n- Item doc: { location: "item", item_id: 456, column_id: "doc_col_1" , markdown: "..." }'}getInputSchema(){return ig}async executeInternal(e){const t=rg.safeParse({...e,type:e.location});if(!t.success)return{content:`Required parameters were not provided for location parameter of ${e.location}`};const a=t.data;try{let t,r,i;if(a.type===ag.enum.workspace){const o={location:{workspace:{workspace_id:a.workspace_id.toString(),name:e.doc_name,kind:a.doc_kind||op.Public,folder_id:a.folder_id?.toString()}}},n=await this.mondayApi.request(Zv,o);t=n?.create_doc?.id??void 0,r=n?.create_doc?.object_id??void 0,i=n?.create_doc?.url??void 0}else if(a.type===ag.enum.item){const o={itemId:a.item_id.toString()},n=await this.mondayApi.request(Xv,o),s=n.items?.[0];if(!s)return{content:`Error: Item with id ${a.item_id} not found.`};const d=s.board?.id,p=s.board?.columns?.find((e=>e&&e.type===_f.Doc));let l=a.column_id;if(!l)if(p)l=p.id;else{const e={boardId:d.toString(),columnType:_f.Doc,columnTitle:"Doc"},t=await this.mondayApi.request(Mc,e);if(l=t?.create_column?.id,!l)return{content:"Error: Failed to create doc column."}}const m={location:{board:{item_id:a.item_id.toString(),column_id:l}}},c=await this.mondayApi.request(Zv,m);if(t=c.create_doc?.id??void 0,r=c.create_doc?.object_id??void 0,i=c.create_doc?.url??void 0,e.doc_name&&t)try{const a={docId:t,name:e.doc_name};await this.mondayApi.request(tg,a)}catch(e){console.warn("Failed to update doc name:",e)}}if(!t)return{content:"Error: Failed to create document."};const o={docId:t,markdown:e.markdown},n=await this.mondayApi.request(eg,o),s=n?.add_content_to_doc_from_markdown?.success,d=n?.add_content_to_doc_from_markdown?.error;return s?(this.sessionContext.metadata={...this.sessionContext.metadata,location:e.location,...t&&{doc_id:t},...r&&{object_id:r}},{content:{message:"Document successfully created",doc_id:t,object_id:r,doc_url:i,doc_name:e.doc_name}}):{content:`Document ${t} created, but failed to add markdown content: ${d||"Unknown error"}`}}catch(e){return{content:`Error creating document: ${e instanceof Error?e.message:"Unknown error"}`}}}},class extends Ci{constructor(){super(...arguments),this.name="add_content_to_doc",this.type=Yr.WRITE,this.annotations=Pi({title:"Add Content to Document",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return'Add markdown content to an existing monday.com document.\n\nIDENTIFICATION: Provide either doc_id or object_id to identify the document:\n- doc_id: The document ID (the id field returned by read_docs). Takes priority if both provided.\n- object_id: The document object ID (the object_id field from read_docs, also visible in the document URL). Will be resolved to a doc_id.\n\nUSAGE EXAMPLES:\n- By doc_id: { doc_id: "123", markdown: "# New Section\\nContent here" }\n- By object_id: { object_id: "456", markdown: "# New Section\\nContent here" }\n- Insert after block: { doc_id: "123", markdown: "Inserted content", after_block_id: "block_789" }'}getInputSchema(){return dg}async executeInternal(e){if(!e.doc_id&&!e.object_id)return{content:"Error: Either doc_id or object_id must be provided."};try{let t=null;if(e.doc_id){const a=await this.mondayApi.request(sg,{docId:[e.doc_id]});t=a.docs?.[0]??null}else{const a=await this.mondayApi.request(ng,{objectId:[e.object_id]});t=a.docs?.[0]??null}if(!t){return{content:`Error: No document found for ${e.doc_id?`doc_id ${e.doc_id}`:`object_id ${e.object_id}`}.`}}this.sessionContext.metadata={...this.sessionContext.metadata,doc_id:t.id,...e.object_id&&{object_id:e.object_id}};const a={docId:t.id,markdown:e.markdown,afterBlockId:e.after_block_id},r=await this.mondayApi.request(og,a);if(!r?.add_content_to_doc_from_markdown)return{content:"Error: Failed to add content to document — no response from API."};const{success:i,block_ids:o,error:n}=r.add_content_to_doc_from_markdown;if(!i)return{content:`Error adding content to document: ${n||"Unknown error"}`};const s=o?.length??0;return{content:{message:`Successfully added content to document ${t.id}. ${s} block${1===s?"":"s"} created.`,doc_id:t.id,block_ids:o,doc_name:t.name,doc_url:t.url}}}catch(e){return{content:`Error adding content to document: ${e instanceof Error?e.message:"Unknown error"}`}}}},class extends Ci{constructor(){super(...arguments),this.name="update_doc",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Document",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return'Update an existing monday.com document. Provide doc_id (preferred) or object_id, plus an ordered operations array (executed sequentially, stops on first failure).\n\nOPERATIONS:\n- set_name: Rename the document.\n- add_markdown_content: Append markdown as blocks (or insert after a block). Best for text, headings, lists, simple tables — no block IDs needed.\n- update_block: Update content of an existing text, code, or list_item block in-place.\n- create_block: Create a new block at a precise position. Use parent_block_id to nest inside notice_box, table cell, or layout cell.\n- delete_block: Remove any block. The ONLY option for BOARD, WIDGET, DOC embed, and GIPHY blocks.\n- replace_block: Delete a block and create a new one in its place (use when update_block is not supported).\n- add_comment: Create a new comment or reply on the document (doc-level, block-level, or text-selection).\n\nWHEN TO USE EACH OPERATION:\n- text / code / list_item → update_block. Use replace_block to change subtype (e.g. NORMAL_TEXT→LARGE_TITLE)\n- divider / table / image / video / notice_box / layout → replace_block (properties immutable after creation)\n- BOARD / WIDGET / DOC / GIPHY → delete_block only\n\nGETTING BLOCK IDs: Call read_docs with include_blocks: true — returns id, type, position, and content per block.\n\nBLOCK CONTENT (delta_format): Array of insert ops. Last op MUST be {insert: {text: "\\n"}}.\n- Plain: [{insert: {text: "Hello"}}, {insert: {text: "\\n"}}]\n- Bold: [{insert: {text: "Hi"}, attributes: {bold: true}}, {insert: {text: "\\n"}}]\n- Mention user/doc/board: [{insert: {text: "Hey "}}, {insert: {mention: {id: 12345, type: "USER"}}}, {insert: {text: "\\n"}}] — type is USER, DOC, or BOARD. id is numeric (user IDs from list_users_and_teams)\n- Inline column value: [{insert: {column_value: {item_id: 111, column_id: "status"}}}, {insert: {text: "\\n"}}]\n- Supported attributes: bold, italic, underline, strike, code, link, color, background (not applicable to mention/column_value ops)\n\nIMAGE WITH ASSET: For asset-based images, use create_block with block_type "image" and asset_id (instead of public_url). add_markdown_content does NOT support asset images — for mixed content, alternate add_markdown_content (text) and create_block (image) operations in sequence.\n\nCOMMENTS:\n- add_comment: Create a new comment or reply on the document. Three scopes:\n - Doc-level (no block_id): comment appears on the doc as a whole.\n - Block-level (block_id only): comment is anchored to a specific block. The block shows a comment indicator in the UI.\n - Text-selection (block_id + selection_from + selection_length): comment is anchored to a specific character range inside a text/code/list_item block. That text is highlighted with a comment marker.\n Block-level and text-selection comments only work on blocks with text content (text, code, list_item, title, quote). They do NOT work on: divider, page_break, table, layout, notice_box, image, video, or giphy blocks.\n Get block IDs from read_docs with include_blocks: true. Format body with HTML, not markdown. Use mentions_list for @mentions.'}getInputSchema(){return Zg}async executeInternal(e){if(!e.doc_id&&!e.object_id)return{content:"Error: Either doc_id or object_id must be provided."};this.sessionContext.metadata={...this.sessionContext.metadata,operation_types:e.operations?.map((e=>e.operation_type)),operation_count:e.operations?.length??0,...e.object_id&&{object_id:e.object_id}};try{let t=e.doc_id;if(!t){const a=await this.mondayApi.request(mg,{objectId:[e.object_id]}),r=a.docs?.[0];if(!r)return{content:`Error: No document found for object_id ${e.object_id}.`};t=r.id}const a=[];let r=null;for(let i=0;i<e.operations.length;i++){const o=e.operations[i];try{const r=await this.executeOperation(t,o,e.object_id);a.push(`- [OK] ${o.operation_type}${r?`: ${r}`:""}`)}catch(e){const t=e instanceof Error?e.message:"Unknown error";a.push(`- [FAILED] ${o.operation_type}: ${t}`),r=i;break}}const i=null!==r?r:e.operations.length,o=e.operations.length,n=`Completed ${i}/${o} operation${1===o?"":"s"} on doc ${t}.`;return this.sessionContext.metadata={...this.sessionContext.metadata,doc_id:t},{content:`${n}\n\nResults:\n${a.join("\n")}\n\nDoc ID: ${t}`}}catch(e){return{content:`Error: ${e instanceof Error?e.message:String(e)}`}}}async executeOperation(e,t,a){switch(t.operation_type){case"set_name":return this.executeSetName(e,t.name);case"add_markdown_content":return this.executeAddMarkdown(e,t.markdown,t.after_block_id);case"update_block":return this.executeUpdateBlock(t.block_id,t.content);case"create_block":return this.executeCreateBlock(e,t.block,t.after_block_id,t.parent_block_id);case"delete_block":return this.executeDeleteBlock(t.block_id);case"replace_block":return this.executeReplaceBlock(e,t.block_id,t.block,t.after_block_id,t.parent_block_id);case"add_comment":return this.executeAddComment(e,a,t.body,t.parent_update_id,t.mentions_list,t.block_id,t.selection_from,t.selection_length);default:{const e=t.operation_type;throw new Error(`Unsupported operation type: "${e}"`)}}}async executeSetName(e,t){const a={docId:e,name:t},r=await this.mondayApi.request(pg,a);if(!r?.update_doc_name)throw new Error(`No confirmation from update_doc_name — rename to "${t}" may not have applied`);return`Renamed to "${t}"`}async executeAddMarkdown(e,t,a){if(!t.trim())throw new Error("markdown must not be empty");const r={docId:e,markdown:t,afterBlockId:a},i=await this.mondayApi.request(lg,r),o=i?.add_content_to_doc_from_markdown;if(!o?.success)throw new Error(o?.error||"Failed to add markdown content");const n=o.block_ids?.length??0;return`${n} block${1===n?"":"s"} added${o.block_ids?.length?`. Block IDs: ${o.block_ids.join(", ")}`:""}`}async executeUpdateBlock(e,t){const a=function(e){switch(e.block_content_type){case"text":return{deltaFormat:Tg(e.delta_format),alignment:e.alignment,direction:e.direction};case"code":return{deltaFormat:Tg(e.delta_format),language:e.language};case"list_item":return{deltaFormat:Tg(e.delta_format),checked:e.checked,indentation:e.indentation};default:{const t=e.block_content_type;throw new Error(`Unsupported block_content_type: "${t}"`)}}}(t),r={blockId:e,content:JSON.stringify(a)},i=await this.mondayApi.request(cg,r);if(!i?.update_doc_block)throw new Error("No response from update_doc_block");return`Block ${e} updated`}async executeCreateBlock(e,t,a,r){const i=function(e){switch(e.block_type){case"text":return{text_block:{delta_format:Ig(e.delta_format),text_block_type:e.text_block_type?e.text_block_type:void 0,alignment:yg(e.alignment),direction:bg(e.direction)}};case"list_item":return{list_block:{delta_format:Ig(e.delta_format),list_block_type:e.list_block_type?e.list_block_type:void 0,indentation:e.indentation}};case"code":return{text_block:{delta_format:Ig(e.delta_format),text_block_type:Hl.Code}};case"divider":return{divider_block:{}};case"page_break":return{page_break_block:{}};case"image":if(null==e.asset_id&&!e.public_url)throw new Error("image block requires either asset_id or public_url");return{image_block:null!=e.asset_id?{asset_id:String(e.asset_id),width:e.width}:{public_url:e.public_url,width:e.width}};case"video":return{video_block:{raw_url:e.raw_url,width:e.width}};case"notice_box":return{notice_box_block:{theme:e.theme}};case"table":return{table_block:{row_count:e.row_count,column_count:e.column_count,width:e.width,column_style:e.column_style?.map((e=>({width:e.width})))}};case"layout":return{layout_block:{column_count:e.column_count,column_style:e.column_style?.map((e=>({width:e.width})))}};default:{const t=e.block_type;throw new Error(`Unsupported block_type: "${t}"`)}}}(t);if(r){const e=Object.keys(i);if(1!==e.length)throw new Error(`Cannot inject parent_block_id: expected exactly 1 key in block input, got: ${e.join(", ")}`);const t=e[0],a=i[t];if(!a||"object"!=typeof a)throw new Error(`Cannot inject parent_block_id into block type "${t}" — block value is not an object`);a.parent_block_id=r}const o={docId:e,afterBlockId:a,blocksInput:[i]},n=await this.mondayApi.request(_g,o),s=n?.create_doc_blocks;if(!s||0===s.length)throw new Error("No blocks returned from create_doc_blocks");return`Block created (ID: ${s.map((e=>e.id)).join(", ")})`}async executeDeleteBlock(e){const t={blockId:e},a=await this.mondayApi.request(ug,t);if(!a?.delete_doc_block)throw new Error("No response from delete_doc_block");return`Block ${e} deleted`}async resolveObjectId(e,t){if(t)return t;const a=await this.mondayApi.request(hg,{docId:[e]}),r=a.docs?.[0];if(!r?.object_id)throw new Error(`Could not resolve object_id for doc ${e}`);return r.object_id}async resolveDocItemId(e){const t=await this.mondayApi.request(fg,{boardId:e}),a=t.boards?.[0]?.items_page?.items?.[0]?.id;if(!a)throw new Error(`No item found on the document backing board (object_id: ${e})`);return a}async fetchAllBlockContent(e){const t=await this.mondayApi.request(vg,{docId:[e]});return(t.docs?.[0]?.blocks??[]).filter((e=>null!=e)).map((t=>{let a;if("string"==typeof t.content)try{a=JSON.parse(t.content)}catch{throw new Error(`Failed to parse content of block ${t.id} in doc ${e} as JSON`)}else a=t.content??{};return{id:t.id??"",type:t.type??"",content:a}}))}async executeAddComment(e,t,a,r,i,o,n,s){if((null!=n||null!=s)&&!o)throw new Error("selection_from and selection_length require block_id");if(null!=n!=(null!=s))throw new Error("selection_from and selection_length must both be provided together");const d=o?Array.isArray(o)?o:[o]:[];if((null!=n||null!=s)&&d.length>1)throw new Error("selection_from and selection_length are only supported with a single block_id");const p=await this.resolveObjectId(e,t),l=await this.resolveDocItemId(p);let m;if(i){const e=JSON.parse(i),t=Cf.safeParse(e);if(!t.success)throw new Error(`Invalid mentions_list format: ${t.error.message}`);m=t.data}const c={itemId:l,body:a,parentId:r?.toString(),mentionsList:m},u=await this.mondayApi.request(gg,c);if(!u.create_update?.id)throw new Error("Failed to create comment: no update returned");const h=u.create_update.id,f=Number(h),v=r?`Reply to update ${r}`:"Comment";if(d.length>0){if(Number.isNaN(f))throw new Error(`${v} created (update ID: ${h}) but block annotation aborted: comment ID is not numeric and cannot be used as a delta reference`);const t=await this.fetchAllBlockContent(e);for(const a of d){const r=t.find((e=>e.id===a));if(!r)throw new Error(`${v} created (update ID: ${h}) but block annotation failed: block ${a} not found in doc ${e}`);const i=r.content.deltaFormat;if(!i)throw new Error(`${v} created (update ID: ${h}) but block annotation failed: block ${a} has no deltaFormat — only text, code, and list_item blocks are supported`);let o=0;for(const e of i)o+="string"==typeof e.insert?e.insert.length:1;if(0===o)throw new Error(`${v} created (update ID: ${h}) but block annotation failed: block ${a} has an empty deltaFormat and cannot be annotated`);const d=n??0,p=s??o;if(d+p>o)throw new Error(`${v} created (update ID: ${h}) but block annotation failed: selection [${d}, ${d+p}) is out of range for block ${a} (total length ${o})`);let l;try{l=Sg(i,f,d,p)}catch(e){const t=e instanceof Error?e.message:String(e);throw new Error(`${v} created (update ID: ${h}) but delta annotation failed for block ${a}: ${t}`)}const m={...r.content,deltaFormat:l},c=await this.mondayApi.request(cg,{blockId:a,content:JSON.stringify(m)});if(!c?.update_doc_block)throw new Error(`${v} created (update ID: ${h}) but block annotation write returned no confirmation for block ${a}`)}}const g=d.length;return`${v} created${g>1?` across ${g} blocks`:1===g?" on block":""} (update ID: ${h})`}async executeReplaceBlock(e,t,a,r,i){await this.executeDeleteBlock(t);try{return`Block ${t} replaced. ${await this.executeCreateBlock(e,a,r,i)}`}catch(e){const a=e instanceof Error?e.message:String(e);throw new Error(`Original block ${t} was deleted, but replacement creation failed: ${a}. The original block is gone.`)}}},class extends Ci{constructor(){super(...arguments),this.name="update_workspace",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Workspace",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Update an existing workspace in monday.com"}getInputSchema(){return n_}async executeInternal(e){const t={id:e.id,attributes:{account_product_id:e.attributeAccountProductId,description:e.attributeDescription,kind:e.attributeKind,name:e.attributeName}},a=await this.mondayApi.request(o_,t),r=await zv(this.mondayApi),i=r?Lv(r,a.update_workspace?.id):void 0;return{content:{message:`Workspace ${a.update_workspace?.id} updated`,workspace_id:a.update_workspace?.id,workspace_name:a.update_workspace?.name,workspace_url:i}}}},class extends Ci{constructor(){super(...arguments),this.name="update_folder",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Folder",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Update an existing folder in monday.com"}getInputSchema(){return d_}async executeInternal(e){const{position_object_id:t,position_object_type:a,position_is_after:r}=e;if(!!t!=!!a)throw new Error("position_object_id and position_object_type must be provided together");const i={folderId:e.folderId,name:e.name,color:e.color,fontWeight:e.fontWeight,customIcon:e.customIcon,parentFolderId:e.parentFolderId,workspaceId:e.workspaceId,accountProductId:e.accountProductId,position:t?{position_is_after:r,position_object_id:t,position_object_type:a}:void 0},o=await this.mondayApi.request(s_,i);return{content:{message:`Folder ${o.update_folder?.id} updated`,folder_id:o.update_folder?.id,folder_name:o.update_folder?.name}}}},class extends Ci{constructor(){super(...arguments),this.name="create_workspace",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Workspace",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new workspace in monday.com"}getInputSchema(){return l_}async executeInternal(e){const t={name:e.name,workspaceKind:e.workspaceKind,description:e.description,accountProductId:e.accountProductId},a=await this.mondayApi.request(p_,t),r=await zv(this.mondayApi),i=r&&a.create_workspace?.id?Lv(r,a.create_workspace.id):void 0;return{content:{message:`Workspace ${a.create_workspace?.id} successfully created`,workspace_id:a.create_workspace?.id,workspace_name:a.create_workspace?.name,workspace_url:i}}}},class extends Ci{constructor(){super(...arguments),this.name="create_folder",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Folder",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new folder in a monday.com workspace"}getInputSchema(){return c_}async executeInternal(e){const t={workspaceId:e.workspaceId,name:e.name,color:e.color,fontWeight:e.fontWeight,customIcon:e.customIcon,parentFolderId:e.parentFolderId},a=await this.mondayApi.request(m_,t);return{content:{message:`Folder ${a.create_folder?.id} successfully created`,folder_id:a.create_folder?.id,folder_name:a.create_folder?.name}}}},class extends Ci{constructor(){super(...arguments),this.name="move_object",this.type=Yr.WRITE,this.annotations=Pi({title:"Move Object",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Move a folder, board, or overview in monday.com. Use position for relative placement based on another object, parentFolderId for folder changes, workspaceId for workspace moves, and accountProductId for account product changes."}getInputSchema(){return f_}async executeUpdateFolder(e){const{id:t,position_object_id:a,position_object_type:r,position_is_after:i,parentFolderId:o,workspaceId:n,accountProductId:s}=e;if(!!a!=!!r)throw new Error("position_object_id and position_object_type must be provided together");const d={folderId:t,position:a?{position_is_after:i,position_object_id:a,position_object_type:r}:void 0,parentFolderId:o,workspaceId:n,accountProductId:s},p=await this.mondayApi.request(s_,d);return{content:{message:"Object moved",object_id:p.update_folder?.id}}}async executeUpdateBoardHierarchy(e){const{id:t,position_object_id:a,position_object_type:r,position_is_after:i,parentFolderId:o,workspaceId:n,accountProductId:s}=e;if(!!a!=!!r)throw new Error("position_object_id and position_object_type must be provided together");const d={boardId:t,attributes:{position:a?{position_is_after:i,position_object_id:a,position_object_type:r}:void 0,folder_id:o,workspace_id:n,account_product_id:s}},p=await this.mondayApi.request(u_,d);return p.update_board_hierarchy?.success?{content:{message:"Board position updated",object_id:p.update_board_hierarchy?.board?.id,action_name:"move_board"}}:{content:`Board position update failed: ${p.update_board_hierarchy?.message}`}}async executeUpdateOverviewHierarchy(e){const{id:t,position_object_id:a,position_object_type:r,position_is_after:i,parentFolderId:o,workspaceId:n,accountProductId:s}=e;if(!!a!=!!r)throw new Error("position_object_id and position_object_type must be provided together");const d={overviewId:t,attributes:{position:a?{position_is_after:i,position_object_id:a,position_object_type:r}:void 0,folder_id:o,workspace_id:n,account_product_id:s}},p=await this.mondayApi.request(h_,d);return p.update_overview_hierarchy?.success?{content:{message:"Overview position updated",object_id:p.update_overview_hierarchy?.overview?.id}}:{content:`Overview position update failed: ${p.update_overview_hierarchy?.message}`}}async executeInternal(e){const{objectType:t}=e;switch(t){case bl.Folder:return this.executeUpdateFolder(e);case bl.Board:return this.executeUpdateBoardHierarchy(e);case bl.Overview:return this.executeUpdateOverviewHierarchy(e);default:throw new Error(`Unsupported object type: ${t}`)}}},class extends Ci{constructor(){super(...arguments),this.name="create_dashboard",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Dashboard",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Use this tool to create a new monday.com dashboard that aggregates data from one or more boards. \n Dashboards provide visual representations of board data through widgets and charts.\n \n Use this tool when users want to:\n - Create a dashboard to visualize board data\n - Aggregate information from multiple boards\n - Set up a data visualization container for widgets"}getInputSchema(){return r_}async executeInternal(e){try{const t={name:e.name,workspace_id:e.workspace_id.toString(),board_ids:e.board_ids,kind:e.kind,board_folder_id:e.board_folder_id?.toString()},a=await this.mondayApi.request(e_,t);if(!a.create_dashboard)throw new Error("Failed to create dashboard");const r=a.create_dashboard;return{content:{message:`Dashboard ${r.id} successfully created`,dashboard_id:r.id,dashboard_name:r.name}}}catch(e){const t=e instanceof Error?e.message:String(e);throw new Error(`Failed to create dashboard: ${t}`)}}},class extends Ci{constructor(){super(...arguments),this.name="all_widgets_schema",this.type=Yr.READ,this.annotations=Pi({title:"Get All Widget Schemas",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Fetch complete JSON Schema 7 definitions for all available widget types in monday.com.\n \n This tool is essential before creating widgets as it provides:\n - Complete schema definitions for all supported widgets\n - Required and optional fields for each widget type\n - Data type specifications and validation rules\n - Detailed descriptions of widget capabilities\n \n Use this tool when you need to:\n - Understand widget configuration requirements before creating widgets\n - Validate widget settings against official schemas\n - Plan widget implementations with proper data structures\n \n The response includes JSON Schema 7 definitions that describe exactly what settings each widget type accepts."}getInputSchema(){return{}}async executeInternal(){try{const e={},t=await this.mondayApi.request(t_,e);if(!t.all_widgets_schema||0===t.all_widgets_schema.length)throw new Error("No widget schemas found - API returned empty response");const a={};let r=0;for(const e of t.all_widgets_schema)if(e?.widget_type&&e?.schema){const t="string"==typeof e.schema?JSON.parse(e.schema):e.schema,i=t?.description||t?.title||`${e.widget_type} widget for data visualization`;a[e.widget_type]={type:e.widget_type,description:i,schema:e.schema},r++}if(0===r)throw new Error("No valid widget schemas found in API response");Object.keys(a).map((e=>`• **${e}**: ${a[e].description}`)).join("\n");return{content:{message:"Widgets schema",data:a,url:mv}}}catch(e){const t=e instanceof Error?e.message:String(e);throw new Error(`Failed to fetch widget schemas: ${t}`)}}},class extends Ci{constructor(){super(...arguments),this.name="create_widget",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Widget",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new widget in a dashboard or board view with specific configuration settings.\n \n This tool creates data visualization widgets that display information from monday.com boards:\n **Parent Containers:**\n - **DASHBOARD**: Place widget in a dashboard (most common use case)\n - **BOARD_VIEW**: Place widget in a specific board view\n \n **Critical Requirements:**\n 1. **Schema Compliance**: Widget settings MUST conform to the JSON schema for the specific widget type\n 2. **Use all_widgets_schema first**: Always fetch widget schemas before creating widgets\n 3. **Validate settings**: Ensure all required fields are provided and data types match\n \n **Workflow:**\n 1. Use 'all_widgets_schema' to get schema definitions\n 2. Prepare widget settings according to the schema\n 3. Use this tool to create the widget"}getInputSchema(){return i_}async executeInternal(e){if(!e.settings)throw new Error("You must pass the settings parameter");try{const t={parent:{kind:e.parent_container_type,id:e.parent_container_id.toString()},kind:e.widget_kind,name:e.widget_name,settings:e.settings},a=await this.mondayApi.request(a_,t);if(!a.create_widget)throw new Error("Failed to create widget");const r=a.create_widget;r.parent?.kind===sm.Dashboard?r.parent.id:r.parent;return{content:{message:`Widget ${r.id} created`,widget_id:r.id,widget_name:r.name,dashboard_id:r.parent?.id}}}catch(t){const a=t instanceof Error?t.message:String(t);throw new Error(`Failed to create ${e.widget_kind} widget: ${a}`)}}},class extends Ci{constructor(){super(...arguments),this.name="board_insights",this.type=Yr.READ,this.annotations=Pi({title:"Get Board Insights",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"This tool allows you to calculate insights about board's data by filtering, grouping and aggregating columns. For example, you can get the total number of items in a board, the number of items in each status, the number of items in each column, etc. Use this tool when you need to get a summary of the board's data, for example, you want to know the total number of items in a board, the number of items in each status, the number of items in each column, etc.[REQUIRED PRECONDITION]: Before using this tool, if new columns were added to the board or if you are not familiar with the board's structure (column IDs, column types, status labels, etc.), first use get_board_info to understand the board metadata. This is essential for constructing proper filters and knowing which columns are available.[IMPORTANT]: For some columns, human-friendly label is returned inside 'LABEL_<column_id' field. E.g. for column with id 'status_123' the label is returned inside 'LABEL_status_123' field."}getInputSchema(){return w_}async executeInternal(e){if(!e.aggregations)return{content:'Input must contain the "aggregations" field.'};const{selectElements:t,groupByElements:a}=function(e){const t={},a=e.groupBy?.map((e=>({column_id:e})))||[],r=new Set(e.aggregations.filter((e=>e.function===Md.Label)).map((e=>e.columnId))),i=e.groupBy?.filter((e=>!r.has(e))).map((e=>({function:Md.Label,columnId:e})))??[],o=e.aggregations.concat(i).map((e=>{if(e.function){const o=`${e.function}_${e.columnId}`,n=t[o]||0;t[o]=n+1;const s=`${o}_${n}`;return y_.has(e.function)&&(a.some((e=>e.column_id===s))||a.push({column_id:s})),{type:jd.Function,function:(r=e.function,i=e.columnId,{function:r,params:r===Md.CountItems?[]:[{type:jd.Column,column:b_(i),as:i}]}),as:s}}var r,i;const o={type:jd.Column,column:b_(e.columnId),as:e.columnId};return a.some((t=>t.column_id===e.columnId))||a.push({column_id:e.columnId}),o}));return a.forEach((e=>{o.some((t=>t.as===e.column_id))||o.push({type:jd.Column,column:b_(e.column_id),as:e.column_id})})),{selectElements:o,groupByElements:a}}(e),r=function(e){if(!e.filters&&!e.orderBy)return;const t={};return e.filters&&(t.rules=e.filters.map((e=>({column_id:e.columnId,compare_value:e.compareValue,operator:e.operator,compare_attribute:e.compareAttribute}))),t.operator=e.filtersOperator),e.orderBy&&(t.order_by=function(e){return e.orderBy?.map((e=>({column_id:e.columnId,direction:e.direction})))}(e)),t}(e),i=function(e){return{id:e.boardId.toString(),type:Ud.Table}}(e),o={query:{from:i,query:r,select:t,group_by:a,limit:e.limit},boardId:String(e.boardId)},n=await this.mondayApi.request(v_,o),s=(n.aggregate?.results??[]).map((e=>{const t={};return(e.entries??[]).forEach((e=>{const a=e.alias??"";if(!a)return;const r=e.value;if(!r)return void(t[a]=null);const i=r.result??r.value??null;t[a]=i})),t}));return s.length?{content:{message:"Board insights retrieved",board_name:n.boards?.[0]?.name,board_url:n.boards?.[0]?.url,data:s}}:{content:"No board insights found for the given query."}}},class extends Ci{constructor(){super(...arguments),this.name="search",this.type=Yr.READ,this.annotations=Pi({title:"Search",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Search within monday.com platform. Can search for boards, documents, forms, folders.\nFor users and teams, use list_users_and_teams tool.\nFor workspaces, use list_workspaces tool.\nFor items and groups, use get_board_items_page tool.\nFor groups, use get_board_info tool.\nIMPORTANT: ids returned by this tool are prefixed with the type of the object (e.g doc-123, board-456, folder-789). When passing the ids to other tools, you need to remove the prefix and just pass the number.\n "}getInputSchema(){return k_}async executeInternal(e){if(e.searchType!==A_.FOLDERS&&e.searchTerm)try{return{content:{message:"Search results",data:(await this.searchWithDevEndpointAsync(e)).items}}}catch(e){df(e)}const t={[A_.BOARD]:this.searchBoardsAsync.bind(this),[A_.DOCUMENTS]:this.searchDocsAsync.bind(this),[A_.FOLDERS]:this.searchFoldersAsync.bind(this)}[e.searchType];if(!t)throw new Error(`Unsupported search type: ${e.searchType}`);const a=await t(e);return{content:{message:"Search results",disclaimer:a.wasFiltered||!e.searchTerm?void 0:"[IMPORTANT]Items were not filtered. Please perform the filtering.",data:a.items}}}async searchWithDevEndpointAsync(e){if(e.page>1)throw new Error("Pagination is not supported for search, increase the limit parameter instead");const t=e.workspaceIds?.map((e=>e.toString()));if(e.searchType===A_.BOARD)return this.searchBoardsWithDevEndpointAsync(e.searchTerm,e.limit,t);if(e.searchType===A_.DOCUMENTS)return this.searchDocsWithDevEndpointAsync(e.searchTerm,e.limit,t);throw new Error(`Unsupported search type for dev endpoint: ${e.searchType}`)}async searchBoardsWithDevEndpointAsync(e,t,a){const r={query:e,limit:t,workspaceIds:a};return{items:(await this.mondayApi.request(S_,r,{versionOverride:"dev",timeout:nf})).search.boards.results.map((e=>({id:N_.BOARD+e.indexed_data.id,title:e.indexed_data.name,url:e.indexed_data.url}))),wasFiltered:!0}}async searchDocsWithDevEndpointAsync(e,t,a){const r={query:e,limit:t,workspaceIds:a};return{items:(await this.mondayApi.request(D_,r,{versionOverride:"dev",timeout:nf})).search.docs.results.map((e=>({id:N_.DOCUMENT+e.indexed_data.id,title:e.indexed_data.name}))),wasFiltered:!0}}async searchFoldersAsync(e){const t={...this.getPagingParamsForSearch(e,100),workspace_ids:e.workspaceIds?.map((e=>e.toString()))};t.workspace_ids??=[],0===t.workspace_ids.length&&sf(new Error("Searching for folders require specifying workspace ids"),"search folders");const a=await this.mondayApi.request(E_,t),r=this.searchAndVirtuallyPaginate(e,a.folders||[],(e=>e.name));return{items:r.items.map((e=>({id:N_.FOLDER+e.id,title:e.name}))),wasFiltered:r.wasFiltered}}async searchDocsAsync(e){const t={...this.getPagingParamsForSearch(e),workspace_ids:e.workspaceIds?.map((e=>e.toString()))},a=await this.mondayApi.request(T_,t),r=this.searchAndVirtuallyPaginate(e,a.docs||[],(e=>e.name));return{items:r.items.map((e=>({id:N_.DOCUMENT+e.id,title:e.name,url:e.url||void 0}))),wasFiltered:r.wasFiltered}}async searchBoardsAsync(e){const t={...this.getPagingParamsForSearch(e),workspace_ids:e.workspaceIds?.map((e=>e.toString()))},a=await this.mondayApi.request(I_,t),r=this.searchAndVirtuallyPaginate(e,a.boards||[],(e=>e.name));return{items:r.items.map((e=>({id:N_.BOARD+e.id,title:e.name,url:e.url}))),wasFiltered:r.wasFiltered}}getPagingParamsForSearch(e,t=1e3){return{page:e.searchTerm?1:e.page,limit:e.searchTerm?Math.min(1e3,t):e.limit}}searchAndVirtuallyPaginate(e,t,a){if(t.length<=20)return{items:t,wasFiltered:!1};const r=Qv(e.searchTerm??""),i=(e.page-1)*e.limit,o=i+e.limit;return{items:t.filter((e=>Qv(a(e)).includes(r))).slice(i,o),wasFiltered:!0}}},class extends Ci{constructor(){super(...arguments),this.name="get_user_context",this.type=Yr.READ,this.annotations=Pi({title:"Get User Context",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Fetch current user information and their relevant items (boards, folders, workspaces, dashboards).\n \n Use this tool at the beginning of conversations to:\n - Get context about who the current user is (id, name, title)\n - Discover user's favorite boards, folders, workspaces, and dashboards\n - Get user's most relevant boards based on visit frequency and recency\n - Get user's most relevant people based on interaction frequency and recency\n - Reduce the need for search requests by knowing user's commonly accessed items\n "}getInputSchema(){}async executeInternal(){const{me:e,favorites:t,intelligence:a}=await this.mondayApi.request(L_,{},{versionOverride:"dev"});if(!e)return{content:"AUTHENTICATION_ERROR: Unable to fetch current user. Verify API token and user permissions."};return{content:{message:"User context",...{user:e,favorites:await this.fetchFavorites(t||[]),relevantBoards:this.extractRelevantBoards(a),relevantPeople:this.extractRelevantPeople(a)}}}}async fetchFavorites(e){const t=this.groupByType(e),a=Object.keys(t);if(0===a.length)return[];const r={};for(const e of a)r[U_[e]]=t[e];const i=await this.mondayApi.request(V_,r),o=[];for(const e of a){const t=j_[e];for(const a of i[t]??[])a?.id&&o.push({id:a.id,name:a.name,type:e})}return o}extractRelevantBoards(e){if(!e?.relevant_boards)return[];const t=[];for(const a of e.relevant_boards)a?.id&&a?.board?.name&&t.push({id:a.id,name:a.board.name});return t}extractRelevantPeople(e){if(!e?.relevant_people)return[];const t=[];for(const a of e.relevant_people)a?.id&&a?.user?.name&&t.push({id:a.id,name:a.user.name});return t}groupByType(e){const t={};for(const a of e){const e=a?.object;e?.id&&e?.type&&(t[e.type]??=[]).push(e.id)}return t}},class extends Ci{constructor(){super(...arguments),this.name="update_assets_on_item",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Assets On Item",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Update a file or doc column value on an item using existing assets, docs, or links. Sets the column to the provided list of files, adding new ones and removing any not in the list."}getInputSchema(){return x_}async executeInternal(e){const t={boardId:e.boardId,itemId:e.itemId,columnId:e.columnId,files:e.files},a=await this.mondayApi.request(P_,t);return{content:`Item ${a.update_assets_on_item?.id} (${a.update_assets_on_item?.name}) assets successfully updated`}}},class extends Ci{constructor(){super(...arguments),this.name="get_assets",this.type=Yr.READ,this.annotations=Pi({title:"Get Assets",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Get assets (files) by their IDs. Returns file metadata including name, extension, size, public URL (valid for 1 hour), thumbnail URL, upload date, and who uploaded it."}getInputSchema(){return z_}async executeInternal(e){const t=await this.mondayApi.request(F_,{ids:e.ids}),a=t.assets?.filter(Boolean);if(!a||0===a.length)return{content:`No assets found for the provided IDs: ${e.ids.join(", ")}`};return{content:{results:a.map((e=>({id:e.id,name:e.name,file_extension:e.file_extension,file_size:e.file_size,public_url:e.public_url,url:e.url,url_thumbnail:e.url_thumbnail??null,created_at:e.created_at??null,original_geometry:e.original_geometry??null,uploaded_by:e.uploaded_by})))}}}},class extends Ci{constructor(){super(...arguments),this.name="get_notetaker_meetings",this.type=Yr.READ,this.annotations=Pi({title:"Get Notetaker Meetings",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Retrieve notetaker meetings with optional detailed fields. Use include_summary, include_topics, include_action_items, and include_transcript flags to control which details are returned. Use access to filter by meeting access level (OWN, SHARED_WITH_ME, SHARED_WITH_ACCOUNT, ALL). Defaults to OWN. Supports filtering by ids, search term, and cursor-based pagination."}getInputSchema(){return q_}async executeInternal(e){const t={access:e.access};e.ids&&e.ids.length>0&&(t.ids=e.ids),e.search&&(t.search=e.search);const a={limit:e.limit,cursor:e.cursor||void 0,filters:t,includeSummary:e.include_summary,includeTopics:e.include_topics,includeActionItems:e.include_action_items,includeTranscript:e.include_transcript},r=await this.mondayApi.request(M_,a,{versionOverride:"2026-04"}),i=r.notetaker?.meetings;if(!i?.meetings||0===i.meetings.length)return{content:"No notetaker meetings found matching the specified criteria."};return{content:{message:"Meetings retrieved",data:{meetings:i.meetings,pagination:{has_next_page:i.page_info?.has_next_page??!1,cursor:i.page_info?.cursor??null,count:i.meetings.length}}}}}},class extends Ci{constructor(){super(...arguments),this.name="create_view",this.type=Yr.WRITE,this.annotations=Pi({title:"Create View",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return'Create a new board view (tab) with optional filters and sorting. This creates a saved view on a monday.com board that users can switch to.\n\nFilter operators: any_of, not_any_of, is_empty, is_not_empty, greater_than, lower_than, between, contains_text, not_contains_text\n\nExample filter for people column: { "rules": [{ "column_id": "people", "compare_value": ["person-12345"], "operator": "any_of" }] }\nExample filter for status column: { "rules": [{ "column_id": "status", "compare_value": [1], "operator": "any_of" }] }'}getInputSchema(){return Pu}async executeInternal(e){const t={boardId:e.boardId,type:e.type,name:e.name,filter:e.filter,sort:e.sort},a=await this.mondayApi.request(Ru,t);return a.create_view?{content:`View "${a.create_view.name}" (ID: ${a.create_view.id}, type: ${a.create_view.type}) successfully created`}:{content:"Failed to create view - no response from API"}}},class extends Ci{constructor(){super(...arguments),this.name="undo_action",this.type=Yr.WRITE,this.annotations=Pi({title:"Undo Action",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return"Undo a previous action on a board using its action_record_uuid. Supports undoing column changes, deletes, archives, moves, duplicates, and more. Use get_board_activity with includeData=true to find the action_record_uuid."}getInputSchema(){return H_}async executeInternal(e){return await this.mondayApi.request(B_,{boardId:e.boardId.toString(),undoRecordId:e.undoRecordId},{versionOverride:"dev"}),{content:`Successfully undid action "${e.undoRecordId}" on board ${e.boardId}.`}}},class extends Ci{constructor(){super(...arguments),this.name="link_board_items_workflow",this.type=Yr.READ,this.annotations=Pi({title:"Link Board Items Workflow",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"When to use: **link** or **connect** items **across boards** (board-relation / “connect boards” / mirror link). The returned text is the rule: whenever **get_board_items_page** returns **has_more: true**, your only next step is the **next** get_board_items_page (**cursor=nextCursor**) — not a user message, not matching, not writing. This tool is read-only (no API)."}getInputSchema(){return W_}async executeInternal(e){return{content:G_}}},class extends Ci{constructor(){super(...arguments),this.name="create_schema",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Schema",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Create a new account-level schema. Schemas define the structure and columns of boards."}getInputSchema(){return ru}async executeInternal(e){const t=await this.mondayApi.request(au,{name:e.name,parentId:e.parentId,description:e.description},{versionOverride:"dev"});return{content:{message:`Schema "${t.create_schema?.name}" successfully created`,schema_id:t.create_schema?.id,schema_name:t.create_schema?.name}}}},class extends Ci{constructor(){super(...arguments),this.name="get_schemas",this.type=Yr.READ,this.annotations=Pi({title:"Get Schemas",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Retrieve account-level schemas by their IDs or names. Schemas define the structure and columns of boards. Provide ids or names to filter specific schemas. Omit both to list all schemas (paginated)."}getInputSchema(){return ou}async executeInternal(e){const t={ids:e.ids,names:e.names,limit:e.limit,page:e.page},a=(await this.mondayApi.request(iu,t,{versionOverride:"dev"})).get_schemas??[];return{content:{message:`Retrieved ${a.length} schema(s)`,schemas:a}}}},class extends Ci{constructor(){super(...arguments),this.name="update_schema",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Schema",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Update an account-level schema. Requires the current revision number for optimistic locking — retrieve it first via get_schemas."}getInputSchema(){return su}async executeInternal(e){const t={id:e.id,revision:e.revision,parentId:e.parentId,description:e.description},a=await this.mondayApi.request(nu,t,{versionOverride:"dev"});return{content:{message:`Schema "${a.update_schema?.name}" successfully updated`,schema_id:a.update_schema?.id,schema_name:a.update_schema?.name,revision:a.update_schema?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="delete_schema",this.type=Yr.WRITE,this.annotations=Pi({title:"Delete Schema",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return"Delete an account-level schema. Only allowed when no boards are connected to the schema. Provide either id or name."}getInputSchema(){return pu}async executeInternal(e){if(!e.id&&!e.name)throw new Error("Either id or name must be provided");const t={id:e.id,name:e.name},a=await this.mondayApi.request(du,t,{versionOverride:"dev"});return{content:{message:`Schema "${a.delete_schema?.name}" successfully deleted`,schema_id:a.delete_schema?.id,schema_name:a.delete_schema?.name}}}},class extends Ci{constructor(){super(...arguments),this.name="connect_board_to_schema",this.type=Yr.WRITE,this.annotations=Pi({title:"Connect Board to Schema",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Connect a board to an account-level schema. Provide either schemaId or schemaName to identify the schema."}getInputSchema(){return mu}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={boardId:e.boardId,schemaId:e.schemaId,schemaName:e.schemaName},a=await this.mondayApi.request(lu,t,{versionOverride:"dev"});return{content:{message:"Board successfully connected to schema",connection_id:a.connect_board_to_schema?.id,schema_id:a.connect_board_to_schema?.entity_id}}}},class extends Ci{constructor(){super(...arguments),this.name="detach_boards_from_schema",this.type=Yr.WRITE,this.annotations=Pi({title:"Detach Boards from Schema",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Detach one or more boards from their account-level schemas."}getInputSchema(){return uu}async executeInternal(e){const t={boardIds:e.boardIds},a=(await this.mondayApi.request(cu,t,{versionOverride:"dev"})).detach_boards_from_schema??[],r=a.filter((e=>e.success)).length,i=a.filter((e=>!e.success));return{content:{message:`Detached ${r}/${a.length} board(s) from schema`,results:a,...i.length>0&&{failures:i}}}}},class extends Ci{constructor(){super(...arguments),this.name="create_schema_columns",this.type=Yr.WRITE,this.annotations=Pi({title:"Create Schema Columns",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Add columns to an account-level schema. Columns added to a schema are propagated to all boards connected to that schema. IMPORTANT: Before calling this tool, call get_column_type_info for each column type you intend to create to understand the valid structure for the defaults field."}getInputSchema(){return gu}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t=e.columns.map((e=>({type:e.type,title:e.title,description:e.description,defaults:e.defaults,opt_out_by_default:e.opt_out_by_default,policy:{can_override:e.policy?.can_override??[],cannot_delete:e.policy?.cannot_delete??!1}}))),a={schemaId:e.schemaId,schemaName:e.schemaName,columns:t},r=await this.mondayApi.request(hu,a,{versionOverride:"dev"});return{content:{message:`Columns successfully added to schema "${r.create_schema_columns?.name}"`,schema_id:r.create_schema_columns?.id,schema_name:r.create_schema_columns?.name,revision:r.create_schema_columns?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="update_schema_columns",this.type=Yr.WRITE,this.annotations=Pi({title:"Update Schema Columns",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Update columns on an account-level schema. Changes are propagated to all boards connected to the schema. You can send only the columns you want to modify — other columns are unaffected. IMPORTANT: Before calling this tool, call get_column_type_info for each column type whose defaults you intend to modify."}getInputSchema(){return bu}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={schemaId:e.schemaId,schemaName:e.schemaName,columns:e.columns},a=await this.mondayApi.request(_u,t,{versionOverride:"dev"});return{content:{message:`Columns successfully updated on schema "${a.update_schema_columns?.name}"`,schema_id:a.update_schema_columns?.id,schema_name:a.update_schema_columns?.name,revision:a.update_schema_columns?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="deactivate_schema_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Deactivate Schema Column",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Deprecate (soft-disable) a column on an account-level schema. The column is marked as inactive but not deleted. Use reactivate_schema_column to undo."}getInputSchema(){return Iu}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={schemaId:e.schemaId,schemaName:e.schemaName,columnId:e.columnId},a=await this.mondayApi.request(wu,t,{versionOverride:"dev"});return{content:{message:`Column "${e.columnId}" successfully deactivated on schema "${a.deactivate_schema_column?.name}"`,schema_id:a.deactivate_schema_column?.id,schema_name:a.deactivate_schema_column?.name,revision:a.deactivate_schema_column?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="reactivate_schema_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Reactivate Schema Column",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Reactivate a previously deactivated (deprecated) column on an account-level schema."}getInputSchema(){return Eu}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={schemaId:e.schemaId,schemaName:e.schemaName,columnId:e.columnId},a=await this.mondayApi.request(Tu,t,{versionOverride:"dev"});return{content:{message:`Column "${e.columnId}" successfully reactivated on schema "${a.reactivate_schema_column?.name}"`,schema_id:a.reactivate_schema_column?.id,schema_name:a.reactivate_schema_column?.name,revision:a.reactivate_schema_column?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="opt_out_schema_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Opt Out Schema Column",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Set a schema column to opt-out by default. The column will not be automatically added to boards connected to this schema. Use opt_in_schema_column to reverse."}getInputSchema(){return Du}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={schemaId:e.schemaId,schemaName:e.schemaName,columnId:e.columnId},a=await this.mondayApi.request(Su,t,{versionOverride:"dev"});return{content:{message:`Column "${e.columnId}" set to opt-out by default on schema "${a.opt_out_schema_column?.name}"`,schema_id:a.opt_out_schema_column?.id,schema_name:a.opt_out_schema_column?.name,revision:a.opt_out_schema_column?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="opt_in_schema_column",this.type=Yr.WRITE,this.annotations=Pi({title:"Opt In Schema Column",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1})}getDescription(){return"Set a schema column to opt-in by default. The column will be automatically added to boards connected to this schema. Use opt_out_schema_column to reverse."}getInputSchema(){return Au}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={schemaId:e.schemaId,schemaName:e.schemaName,columnId:e.columnId},a=await this.mondayApi.request(Nu,t,{versionOverride:"dev"});return{content:{message:`Column "${e.columnId}" set to opt-in by default on schema "${a.opt_in_schema_column?.name}"`,schema_id:a.opt_in_schema_column?.id,schema_name:a.opt_in_schema_column?.name,revision:a.opt_in_schema_column?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="delete_schema_columns",this.type=Yr.WRITE,this.annotations=Pi({title:"Delete Schema Columns",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1})}getDescription(){return"Permanently delete columns from an account-level schema. Only allowed when no boards are connected to the schema. Use deactivate_schema_column for a reversible alternative."}getInputSchema(){return Ou}async executeInternal(e){if(!e.schemaId&&!e.schemaName)throw new Error("Either schemaId or schemaName must be provided");const t={entityId:e.schemaId,entityName:e.schemaName,columnIds:e.columnIds},a=await this.mondayApi.request(ku,t,{versionOverride:"dev"});return{content:{message:`${e.columnIds.length} column(s) successfully deleted from schema "${a.delete_entity_columns?.name}"`,schema_id:a.delete_entity_columns?.id,schema_name:a.delete_entity_columns?.name,revision:a.delete_entity_columns?.revision}}}},class extends Ci{constructor(){super(...arguments),this.name="fetch_file_content",this.type=Yr.READ,this.annotations=Pi({title:"Fetch File Content",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0})}getDescription(){return"Fetch and extract the text content from a file stored in a monday.com files column.\n\nUse this tool when you need to read, summarize, or analyze the content of files attached to board items. Provide the item ID and column ID from the get_board_items_page response — the column value will be a URL like \"https://monday.com/protected_static/...\" indicating a file is present (null means no file).\n\nPROACTIVE USE: If you retrieve board items and notice a files column with a non-null value (a URL), consider fetching its content if it could help answer the user's question — don't wait to be explicitly asked.\n\nSupported file types and what is returned:\n- Text files (.txt, .md, .csv, .json): raw text content\n- Word documents (.docx): extracted text content\n- PDF files (.pdf): extracted text content\n- Excel files (.xlsx, .xls): extracted text content per sheet\n- Images (.png, .jpg, .gif, .webp, .svg, .bmp, .ico): returns the public URL so you can view or analyze the image directly\n\nText responses include a total_length field. If has_more is true, the content was truncated — you can call this tool again with next_offset if you need the remaining content.\n\nWhen to use:\n- User asks to summarize, read, or analyze the content of a file in a files column\n- User asks questions about what is inside a file (e.g., \"what does the PDF say?\")\n- User wants to extract data from a CSV or Excel file attached to a board item\n- A board item has a files column with a non-null value and the user's question may be answered by its content — even if the user didn't explicitly ask to read the file\n\nWhen NOT to use:\n- The files column value is null (no file uploaded for that item)"}getInputSchema(){return ry}async executeInternal(e){const{item_id:t,column_id:a,file_name:r,offset:i=0}=e,o=await this.mondayApi.request(Q_,{itemId:[t],columnId:[a]}),n=o?.items?.[0]?.assets;if(!n||0===n.length)return{content:{message:`No file found for item ${t} in column ${a}. The column may be empty or the column ID may be incorrect.`}};return{content:{files:await Promise.all(n.map((e=>ny(e,i,r))))}}}}];var jy;!function(e){e.API="api",e.APPS="apps",e.ATP="atp"}(jy||(jy={}));const My=(e,t)=>{let a=[];t?.mode===jy.APPS?a=[...Ri]:t?.mode!==jy.API&&t?.mode||(a=[...Uy,...Vy]);const r=a.map((t=>((e,t)=>e.prototype instanceof Ci?new e(t.apiClient,t.apiToken,t.context):e.prototype instanceof li?new e(t.apiToken):new e)(t,e)));return r.filter((e=>{if(!t)return e.type!==Yr.ALL_API;if(t.mode===jy.API&&"only"===t.enableDynamicApiTools)return e.type===Yr.ALL_API;let a=!1;return t.mode===jy.API&&!1===t.enableDynamicApiTools&&(a=a||e.type===Yr.ALL_API),t.readOnlyMode&&(a=a||e.type!==Yr.READ),t.include?a=a||!t.include?.includes(e.name):t.exclude&&(a=a||t.exclude?.includes(e.name)),!a}))};class qy{constructor(){this.dynamicTools=new Map}registerTool(e,t){const a=e.enabledByDefault??!0,r=a;this.dynamicTools.set(e.name,{instance:e,mcpTool:t,enabled:r,enabledByDefault:a}),a||t.disable()}enableTool(e){const t=this.dynamicTools.get(e);return!!t&&(t.enabled||(t.mcpTool.enable(),t.enabled=!0),!0)}disableTool(e){const t=this.dynamicTools.get(e);return!!t&&(t.enabled&&(t.mcpTool.disable(),t.enabled=!1),!0)}isToolEnabled(e){const t=this.dynamicTools.get(e);return!!t&&t.enabled}isToolEnabledByDefault(e){const t=this.dynamicTools.get(e);return!t||t.enabledByDefault}getToolsStatus(){const e={};return this.dynamicTools.forEach(((t,a)=>{e[a]=t.enabled})),e}getDynamicToolNames(){return Array.from(this.dynamicTools.keys())}getDetailedToolsStatus(){const e={};return this.dynamicTools.forEach(((t,a)=>{e[a]={enabled:t.enabled,enabledByDefault:t.enabledByDefault}})),e}resetToolToDefault(e){const t=this.dynamicTools.get(e);return!!t&&(t.enabledByDefault&&!t.enabled?(t.mcpTool.enable(),t.enabled=!0,!0):!(!t.enabledByDefault&&t.enabled)||(t.mcpTool.disable(),t.enabled=!1,!0))}getAllDynamicTools(){return this.dynamicTools}clear(){this.dynamicTools.clear()}}exports.DynamicToolManager=qy,exports.MondayAgentToolkit=class extends qr{constructor(e){super({name:"monday.com",version:"1.0.0"},{capabilities:{tools:{listChanged:!0}}}),this.dynamicToolManager=new qy,this.toolInstances=[],this.managementTool=null,this.mondayApiClient=this.createApiClient(e),this.mondayApiToken=e.mondayApiToken,this.context={...e.context,apiVersion:e.mondayApiVersion??di},this.registerTools(e)}createApiClient(e){return new a.ApiClient({token:e.mondayApiToken,apiVersion:e.mondayApiVersion??di,endpoint:e.mondayApiEndpoint,requestConfig:{...e.mondayApiRequestConfig,headers:{...e.mondayApiRequestConfig?.headers||{},"user-agent":"monday-api-mcp"}}})}registerTools(e){try{this.toolInstances=this.initializeTools(e),this.toolInstances.forEach((e=>this.registerSingleTool(e))),!0===e.toolsConfiguration?.enableToolManager&&this.registerManagementTool()}catch(e){throw new Error(`Failed to initialize Monday Agent Toolkit: ${e instanceof Error?e.message:String(e)}`)}}registerManagementTool(){const e=new dy;e.setToolkitManager(this.dynamicToolManager),this.managementTool=e,this.registerSingleTool(this.managementTool)}initializeTools(e){const t={apiClient:this.mondayApiClient,apiToken:this.mondayApiToken,context:this.context};return My(t,e.toolsConfiguration)}registerSingleTool(t){const a=t.getInputSchema(),r=this.registerTool(t.name,{...t,title:t.annotations?.title,description:t.getDescription(),inputSchema:a,annotations:t.annotations},(async(r,i)=>{try{let i;if(a){const o=e.z.object(a).safeParse(r);if(!o.success)throw new Error(`Invalid arguments: ${o.error.message}`);i=await t.execute(o.data)}else i=await t.execute();return this.formatToolResult(i.content)}catch(e){return this.handleToolError(e,t.name)}}));this.dynamicToolManager.registerTool(t,r)}enableTool(e){return this.dynamicToolManager.enableTool(e)}disableTool(e){return this.dynamicToolManager.disableTool(e)}isToolEnabled(e){return this.dynamicToolManager.isToolEnabled(e)}getToolsStatus(){return this.dynamicToolManager.getToolsStatus()}getDynamicToolNames(){return this.dynamicToolManager.getDynamicToolNames()}getServer(){return this}getTools(e){const t=[...this.toolInstances];return this.managementTool&&t.push(this.managementTool),t.map((t=>({name:t.name,description:t.getDescription(),schema:this.getSchemaForTool(t,e),annotations:t.annotations,handler:this.createToolHandler(t)})))}getToolsForMcp(e){const t=[...this.toolInstances];return this.managementTool&&t.push(this.managementTool),t.map((t=>({name:t.name,description:t.getDescription(),schema:this.getSchemaForTool(t,e),annotations:t.annotations,handler:this.createMcpToolHandler(t)})))}createToolHandler(t){return async a=>{const r=t.getInputSchema();if(r){const i=e.z.object(r).safeParse(a);if(!i.success)throw new Error(`Invalid arguments: ${i.error.message}`);return(await t.execute(i.data)).content}return(await t.execute()).content}}createMcpToolHandler(t){return async(a,r)=>{try{const i=t.getInputSchema();if(i){const o=e.z.object(i).safeParse(a);if(!o.success)throw new Error(`Invalid arguments: ${o.error.message}`);const n=await t.execute(o.data,r);return this.formatToolResult(n.content)}{const e=await t.execute(void 0,r);return this.formatToolResult(e.content)}}catch(e){return{content:[{type:"text",text:`Error: ${e instanceof Error?e.message:String(e)}`}],isError:!0}}}}getSchemaForTool(a,r){const i=a.getInputSchema();if(i)return"json"===r?.schemaFormat?t.zodToJsonSchema(e.z.object(i)):i}formatToolResult(e){return"string"==typeof e?{content:[{type:"text",text:e}]}:{structuredContent:e,content:[{type:"text",text:JSON.stringify(e)}]}}handleToolError(e,t){return{content:[{type:"text",text:`Failed to execute tool ${t}: ${e instanceof Error?e.message:String(e)}`}],isError:!0}}};
|
|
2247
2247
|
//# sourceMappingURL=index.js.map
|